en:docs:dos:api:int21:3d

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:docs:dos:api:int21:3d [2021/04/30 03:30] – created prokusheven:docs:dos:api:int21:3d [2021/09/29 11:46] (current) prokushev
Line 13: Line 13:
 ===== Family API ===== ===== Family API =====
  
 +[[en:docs:fapi:DosOpen]]
  
 ===== Input ===== ===== Input =====
Line 23: Line 24:
 ===== Return ===== ===== Return =====
  
- CF clear if successful+   CF clear if successful
             AX = file handle             AX = file handle
         CF set on error         CF set on error
Line 30: Line 31:
 ===== Notes ===== ===== Notes =====
  
-Notes:  file pointer is set to start of file +file pointer is set to start of file 
-        if SHARE or a network is loaded, the file open may fail if the file + 
-          is already open, depending on the combination of sharing modes +if SHARE or a network is loaded, the file open may fail if the file is already open, depending on the combination of sharing modes (see #01403,#01404) 
-          (see #01403,#01404) + 
-        file handles which are inherited from a parent also inherit sharing +file handles which are inherited from a parent also inherit sharing and access restrictions 
-          and access restrictions + 
-        files may be opened even if given the hidden or system attributes +files may be opened even if given the hidden or system attributes 
-        under the FlashTek X-32 DOS extender, the pointer is in DS:EDX + 
-        DR DOS checks the system password or explicitly supplied password at +under the FlashTek X-32 DOS extender, the pointer is in DS:EDX 
-          the end of the filename (following a semicolon) against the reserved + 
-          field in the directory entry before allowing access +DR DOS checks the system password or explicitly supplied password at 
-        sharing modes are only effective on local drives if SHARE is loaded + 
-BUG:    Novell DOS 7 SHARE v1.00 would refuse file access in the cases in +the end of the filename (following a semicolon) against the reserved 
-          #01403 marked with [1] (read-only open of a read-only file + 
-          which had previously been opened in compatibility mode); this was +field in the directory entry before allowing access 
-          fixed in SHARE v1.01 of 09/29/94+ 
 +sharing modes are only effective on local drives if SHARE is loaded 
 + 
 +Novell DOS 7 SHARE v1.00 would refuse file access in the cases in #01403 marked with [1] (read-only open of a read-only file which had previously been opened in compatibility mode); this was fixed in SHARE v1.01 of 09/29/94
  
 Bitfields for access and sharing modes: Bitfields for access and sharing modes:
-Bit(s)  Description     (Table 01402) + 
- 2-0    access mode +Bit(s) Description ^    (Table 01402) 
-        000 read only +2-0  access mode | 
-        001 write only +| ::: | 000 read only | 
-        010 read/write +| ::: | 001 write only | 
-        011 (DOS 5+ internal) passed to redirector on EXEC to allow +| ::: | 010 read/write | 
-                case-sensitive filenames +| ::: | 011 (DOS 5+ internal) passed to redirector on EXEC to allow case-sensitive filenames | 
-      reserved (0) +|   reserved (0) | 
- 6-4    sharing mode (DOS 3.0+) (see #01403) +6-4 sharing mode (DOS 3.0+) (see #01403) | 
-        000 compatibility mode +| ::: | 000 compatibility mode | 
-        001 "DENYALL" prohibit both read and write access by others +| ::: | 001 "DENYALL" prohibit both read and write access by others | 
-        010 "DENYWRITE" prohibit write access by others +| ::: | 010 "DENYWRITE" prohibit write access by others | 
-        011 "DENYREAD" prohibit read access by others +| ::: | 011 "DENYREAD" prohibit read access by others | 
-        100 "DENYNONE" allow full access by others +| ::: | 100 "DENYNONE" allow full access by others | 
-        111 network FCB (only available during server call) +| ::: | 111 network FCB (only available during server call) | 
-      inheritance +  | inheritance | 
-        if set, file is private to current process and will not be inherited +| ::: | if set, file is private to current process and will not be inherited by child processes |
-          by child processes+
  
 (Table 01403) (Table 01403)
 Values of DOS 2-6.22 file sharing behavior: Values of DOS 2-6.22 file sharing behavior:
-          |     Second and subsequent Opens + 
- First    |Compat  Deny   Deny   Deny   Deny +^ First Open    ^^      Second and subsequent Opens         ^^^^^^^^^^^^^^^ 
- Open            All    Write  Read   None +^ :::           ^^ Compat ^^^ Deny All ^^^ Deny Write ^^^ Deny Read ^^^ Deny None ^^^ 
-          |R W RW R W RW R W RW R W RW R W RW +^ :::           ^^ RW ^  RW RW RW RW ^ 
- - - - - -| - - - - - - - - - - - - - - - - - +Compat     ^ R | Y | 
- Compat R |Y Y Y  N N N  1 N N  N N N  1 N N +^ :::        W | Y | 
-        W |Y Y Y  N N N  N N N  N N N  N N N +^ :::        RW| Y N | 
-        RW|Y Y Y  N N N  N N N  N N N  N N N +Deny All   R | C | 
- - - - - -+^ :::        ^ W | C | 
- Deny   R |C C C  N N N  N N N  N N N  N N N +^ :::        RW| C N | 
- All    W |C C C  N N N  N N N  N N N  N N N +Deny Write ^ R | 2 | 
-        RW|C C C  N N N  N N N  N N N  N N N +^ :::        ^ W | C | 
- - - - - -+^ :::        RW| C N | 
- Deny   R |2 C C  N N N  Y N N  N N N  Y N N +Deny Read  ^ R | C | 
- Write  W |C C C  N N N  N N N  Y N N  Y N N +^ :::        ^ W | C | 
-        RW|C C C  N N N  N N N  N N N  Y N N +^ :::        RW| C N | 
- - - - - -+Deny None  ^ R | 2 | 
- Deny   R |C C C  N N N  N Y N  N N N  N Y N +^ :::        ^ W | C | 
- Read   W |C C C  N N N  N N N  N Y N  N Y N +^ :::        RW| C 
-        RW|C C C  N N N  N N N  N N N  N Y N + 
- - - - - -+Legend: 
- Deny   R |2 C C  N N N  Y Y Y  N N N  Y Y Y +Y = open succeeds, N = open fails with error code 05h 
- None   W |C C C  N N N  N N N  Y Y Y  Y Y Y +C = open fails, INT 24 generated 
-        RW|C C C  N N N  N N N  N N N  Y Y Y +1 = open succeeds if file read-only, else fails with error code 
-Legend: Y = open succeeds, N = open fails with error code 05h +2 = open succeeds if file read-only, else fails with INT 24
-        C = open fails, INT 24 generated +
-        1 = open succeeds if file read-only, else fails with error code +
-        2 = open succeeds if file read-only, else fails with INT 24+
  
 (Table 01404) (Table 01404)
Line 136: Line 136:
 ===== See also ===== ===== See also =====
  
- AH=0Fh,AH=3Ch,AX=4301h,AX=5D00h,INT 2F/AX=1116h,INT 2F/AX=1226h+AH=0Fh,AH=3Ch,AX=4301h,AX=5D00h,INT 2F/AX=1116h,INT 2F/AX=1226h
  
 ===== Note ===== ===== Note =====