[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 21 Fn 3D  - DOS 2+ - "open" - Open Existing File                       [D]

   AH = 3Dh
   AL = access and sharing modes (see below)
   DS:DX -> ASCIZ filename
   CL = attribute mask of files to look for (server call only)

Return: CF clear if successful
       AX = file handle
   CF set on error
       AX = error code (01h,02h,03h,04h,05h,0Ch,56h) (see AH=59h)

Notes: file pointer is set to start of file
   file handles which are inherited from a parent also inherit sharing
     and access restrictions
   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
     the end of the filename against the reserved field in the directory
     entry before allowing access
   sharing modes are only effective on local drives if SHARE is loaded

See Also: AH=0Fh,AH=3Ch,AX=4301h,AX=5D00h,INT 2F/AX=1116h,INT 2F/AX=1226h

Bitfields for access and sharing modes:
 bits 2-0 access mode
   000 read only
   001 write only
   010 read/write
   011 (DOS 5+ internal) passed to redirector on EXEC to allow
       case-sensitive filenames
 bit 3 reserved (0)
 bits 6-4 sharing mode (DOS 3+)
   000 compatibility mode
   001 "DENYALL" prohibit both read and write access by others
   010 "DENYWRITE" prohibit write access by others
   011 "DENYREAD" prohibit read access by others
   100 "DENYNONE" allow full access by others
   111 network FCB (only available during server call)
 bit 7 inheritance
   if set, file is private to current process and will not be inherited
     by child processes

File sharing behavior:
     | Second and subsequent Opens
 First   |Compat  Deny   Deny   Deny   Deny
 Open    |    All    Write  Read   None
     |R W RW R W RW R W RW R W RW R W RW
 - - - - -| - - - - - - - - - - - - - - - - -
 Compat R |Y Y Y  N N N     1 N N  N N N  1 N N
   W |Y Y Y  N N N  N N N  N N N  N N N
   RW|Y Y Y  N N N  N N N  N N N  N N N
 - - - - -|
 Deny  R |C C C  N N N  N N N  N N N  N N N
 All   W |C C C  N N N  N N N  N N N  N N N
   RW|C C C  N N N  N N N  N N N  N N N
 - - - - -|
 Deny  R |2 C C  N N N  Y N N  N N N  Y N N
 Write W |C C C  N N N  N N N  Y N N  Y N N
   RW|C C C  N N N  N N N  N N N  Y N N
 - - - - -|
 Deny  R |C C C  N N N  N Y N  N N N  N Y N
 Read  W |C C C  N N N  N N N  N Y N  N Y N
   RW|C C C  N N N  N N N  N N N  N Y N
 - - - - -|
 Deny  R |2 C C  N N N  Y Y Y  N N N  Y Y Y
 None  W |C C C  N N N  N N N  Y Y Y  Y Y Y
   RW|C C C  N N N  N N N  N N N  Y Y Y
Legend: Y = open succeeds, N = open fails with error code 05h
   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

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson