http://www.ctyme.com/intr/int-21.htm

---------------------------------------------------------------------------

Int 21/AX=714Eh
   	Interrups	Categories	Contents

Windows95 - LONG FILENAME - FIND FIRST MATCHING FILE
AX = 714Eh
CL = allowable-attributes mask (see #01420 at AX=4301h)
(bits 0 and 5 ignored)
CH = required-attributes mask (see #01420)
SI = date/time format (see #01778)
DS:DX -> ASCIZ filespec (both "*" and "*.*" match any filename)
ES:DI -> FindData record (see #01779)


Return:
CF clear if successful
AX = filefind handle (needed to continue search)
CX = Unicode conversion flags (see #01780)
CF set on error
AX = error code
7100h if function not supported

  Notes: This function is only available when IFSMgr is running, not
under bare MS-DOS 7. The application should close the filefind handle
with AX=71A1h as soon as it has completed its search. For compatibility
with DOS versions prior to v7.00, the carry flag should be set on call
to ensure that it is set on exit

See Also: AH=4Eh - AX=714Fh - AX=71A1h 

(Table 01778)
Values for Windows95 date/time format:
0000h  use 64-bit file time format
0001h  use MS-DOS date/time values (see #01665,#01666) in low double-word of
file time QWORD (date is high word, time is low word of double-word)

See Also: #01779 

Format of Windows95 long filename FindData record:

Offset  Size    Description     (Table 01779)
00h    DWORD   file attributes
bits 0-6 standard DOS attributes (see #01420 at INT 21/AX=4301h)

bit 8:
Temporary file
04h    QWORD   file creation time (number of 100ns intervals since 1/1/1601)
0Ch    QWORD   last access time
14h    QWORD   last modification time
1Ch    DWORD   file size (high 32 bits)
20h    DWORD   file size (low 32 bits)
24h  8 BYTEs   reserved (apparently unused)
2Ch 260 BYTEs  ASCIZ full filename
130h 14 BYTEs   ASCIZ short filename (for backward compatibility)

  Note: Under Windows95B, the ASCIZ short filename will be the empty
string if the directory does not contain a long filename entry for the
file; in that case, the application should use the full filename

See Also: #01780 


Bitfields for Windows95 Unicode conversion flags:

Bit(s)  Description     (Table 01780)
0      the returned full filename contains underscores for un-convertable
Unicode characters
1      the returned short filename contains underscores for un-convertable
Unicode characters

See Also: #01779 

Category: DOS Kernel - Int 21h - W

---------------------------------------------------------------------------

Windows95 - LONG FILENAME - FIND NEXT MATCHING FILE
AX = 714Fh
BX = filefind handle (from AX=714Eh)
SI = date/time format (see #01778)
ES:DI -> buffer for FindData record (see #01779)


Return:
CF clear if successful
AH = 4Fh (undocumented)
AL destroyed (becomes low byte of filefind handle in Win95B)
CX = Unicode conversion flags (see #01780)
CF set on error
AX = error code
7100h if function not supported

  Notes: This function is only available when IFSMgr is running, not
under bare MS-DOS 7. For compatibility with DOS versions prior to v7.00,
the carry flag should be set on call to ensure that it is set on exit

See Also: AH=4Eh - AX=714Eh - AX=71A1h - AX=71A2h 

Category: DOS Kernel - Int 21h - W

---------------------------------------------------------------------------

Windows95 - LONG FILENAME - FindClose - TERMINATE DIRECTORY SEARCH
AX = 71A1h
BX = filefind handle (from AX=714Eh)


Return:
CF clear if successful
CF set on error
AX = error code
7100h if function not supported

  Notes: This function must be called after starting a search with
AX=714Eh, to indicate that the search handle returned by that function
will no longer be used. This function is only available when IFSMgr is
running, not under bare MS-DOS 7

See Also: AH=4Eh - AX=714Eh - AX=714Fh 

Category: DOS Kernel - Int 21h - W

---------------------------------------------------------------------------

DOS 2+ - CHMOD - SET FILE ATTRIBUTES
AX = 4301h
CX = new file attributes (see #01420)
DS:DX -> ASCIZ filename


Return:
CF clear if successful
AX destroyed
CF set on error
AX = error code (01h,02h,03h,05h) (see #01680 at AH=59h)

  Notes: Will not change volume label or directory attribute bits, but
will change the other attribute bits of a directory (the directory bit
must be cleared to successfully change the other attributes of a
directory, but the directory will not be changed to a normal file as a
result). MS-DOS 4.01 reportedly closes the file if it is currently open.
For security reasons, the Novell NetWare execute-only bit can never be
cleared; the file must be deleted and recreated. Under the FlashTek X-32
DOS extender, the filename pointer is in DS:EDX. DOS 5.0 SHARE will
close the file if it is currently open in sharing- compatibility mode,
otherwise a sharing violation critical error is generated if the file is
currently open. DR DOS 3.41/5.0 will silently ignore attempts to change
the 'directory' attribute bit

See Also: AX=4300h - AX=4311h - AX=7143h - INT 2F/AX=110E 


Bitfields for file attributes:

Bit(s)  Description     (Table 01420)
7      shareable (Novell NetWare)
7      pending deleted files (Novell DOS, OpenDOS)
6      unused
5      archive
4      directory
3      volume label.
Execute-only (Novell NetWare)
2      system
1      hidden
0      read-only

Category: DOS Kernel - Int 21h - D

---------------------------------------------------------------------------

<EOF>
