Note: This API call is for DOS and Win16 personality only. Use Family API for portability.
4 and higher
EXTENDED OPEN/CREATE
AX = 6C00h BL = open mode as in AL for normal open (see also AH=3Dh) bit 7: Inheritance bits 4-6: Sharing mode bit 3 reserved
bits 0-2: Access mode 100 read-only, do not modify file's last-access time (DOS 7.0). BH = flags bit 6 = auto commit on every write (see also AH=68h) bit 5 = return error rather than doing INT 24h bit 4 = (FAT32) extended size (allow 4GB files instead of 2GB). CX = create attribute (see #01769). DL = action if file exists/does not exist (see #01770). DH = 00h (reserved). DS:SI -> ASCIZ file name
CF set on error AX = error code (see #01680 at AH=59h/BX=0000h) CF clear if successful AX = file handle CX = status (see #01768)
The PC LAN Program only supports existence actions (in DL) of 01h, 10h with sharing=compatibility, and 12h. DR DOS reportedly does not support this function and does not return an “invalid function call” error when this function is used.. The documented bits of BX are stored in the SFT when the file is opened (see #01641,#01642)
BUG: This function has bugs (at least in DOS 5.0 and 6.2) when used with drives handled via the network redirector (INT 2F/AX=112Eh): - CX (attribute) is not passed to the redirector if DL=11h, - CX does not return the status, it is returned unchanged because DOS does a PUSH CX/POP CX when calling the redirector.
Text based on Ralf Brown Interrupt List Release 61
osFree Macro Library | |
---|---|
Video I/O | @SetMode @SetCurSz @SetCurPos @GetCur @SetPage @ScrollUp @ScrollDn @Scroll @GetChAtr @PutChAtr @PutCh @SetPalet @SetColor @SetDot @GetDot @WrtTTY @VideoState @GetMode @GetDisplay @GetVideoState @GetEGAInfo @Cls |
Hardware info | @Equipment @MemSize |
Serial I/O | @AuxInit @AuxSendChar @AuxRecieveChar @AuxStatus |
Tape I/O | @TapeOn @TapeOff @TapeRead @TapeWrite |
Keyboard I/O | @KbdStatus @CharIn @CharPeek |
Printer I/O | @PrnPrint @PrnInit @PrnStatus |
Disk I/O | @DskReset @DskStatus @DskRead @DskWrite @DskVerify @DskFormat |
Date and Time | @SetTime @GetTime |
Mouse | @MouInit @MouShowPointer @MouStatus @MouSetPos @MouSetMickey @MouRegion |
Memory manager | @ModBlok SET_BLOCK |