This is an old revision of the document!
Table of Contents
Note: This API call is for DOS and Win16 personality only. Use Family API for portability.
Int 21H, AH=43H, AL=00H
Version
2 and higher
Brief
GET FILE ATTRIBUTES
Family API
Input
- AX = 4300h
- DS:DX → ASCIZ filename
Return
- CF clear if successful
- CX = file attributes (see #01420)
- AX = CX (DR DOS 5.0)
- CF set on error
- AX = error code (01h,02h,03h,05h) (see #01680 at AH=59h)
Macro
Notes
Bitfields for file attributes:
Bit(s) | Description |
---|---|
7 | unused |
6 | unused |
5 | archive |
4 | directory |
3 | volume label |
2 | system |
1 | hidden |
0 | read-only |
under DR DOS 3.41 and 5.0, attempts to change the subdirectory bit are simply ignored without an error
BUG: Windows for Workgroups returns error code 05h (access denied) instead of error code 02h (file not found) when attempting to get the attributes of a nonexistent file. This causes open() with O_CREAT and fopen() with the “w” mode to fail in Borland C++.
See also
AX=4301h,AX=7143h/BL=00h
Note
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 |