Note: This API call is for DOS and Win16 personality only. Use Family API for portability.

Int 21H, AH=57H

Version

2 and higher

Brief

“GET FILE'S LAST-WRITTEN DATE AND TIME

Family API

Input

AX = 5700h
BX = file handle

Return

CF clear if successful

CX = file's time (see #01665)
DX = file's date (see #01666)
CF set on error
AX = error code (01h,06h) (see #01680)

Notes

under DR DOS 3.41 and 5.0, this function returns 0 (no date/time) for
character devices; MS-DOS returns date and time of opening

Bitfields for file time: Bit(s) Description (Table 01665) 15-11 hours (0-23) 10-5 minutes 4-0 seconds/2

Bitfields for file date: Bit(s) Description (Table 01666) 15-9 year - 1980 8-5 month 4-0 day

See also

AX=5701h,AX=5704h"Windows95"

Note

Text based on Ralf Brown Interrupt List Release 61

DOS API
Process manager	INT 20H, INT 21H: 00H, 25H, 26H, 31H, 34H, 35H, 4BH, 4CH, 4DH, 50H, 51H, 52H, 55H, 62H, INT 22H, INT 27H, INT 28H
File manager	INT 25H, INT 26H, INT 21H: 0DH, 0EH, 0FH, 10H, 11H, 12H, 13H, 14H, 15H, 16H, 17H, 19H, 1AH, 1BH, 1CH, 21H, 22H, 23H, 24H, 27H, 28H, 29H, 2EH, 2FH, 32H, 3305H, 36H, 39H, 3AH, 3BH, 3CH, 3DH, 3EH, 3FH, 40H, 41H, 42H, 4300H, 4301H, 45H, 45H, 46H, 4EH, 4FH, 54H, 56H, 5700H, 5701H, 5AH, 5BH, 5c00H, 5c01H, 60H, 67H, 68H, 6900H, 6901H, 6AH, 6CH
Character Device I/O	INT 29H, INT 21H: 01H, 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H, 0AH, 0BH, 0AH, 0CH, 5D07H, 5D08H, 5D09H, 5D0AH
Signals	INT 23H, INT 24H, INT 21H: 3300H, 3301H, 3302H
Memory manager	INT 21H: 48H, 49H, 4AH, 5800H, 5801H, 5802H, 5803H
Date and Time	INT 21H: 2AH, 2BH, 2CH, 2DH
Misc	INT 21H: 30H, 3306H, 3700H, 3701H, 3702H, 3703H, 59H
NLS	INT 21H: 3303H, 3304H, 3800H, 3801H, 6300H, 6301H, 6301H, 6500H, 6501H, 6502H, 6503H, 6504H, 6505H, 6506H, 6507H, 6520H, 6521H, 6522H, 6523H, 65A0H, 65A1H, 65A2H, 6601H, 6602H
Devices	INT 21H: 4400H, 4401H, 4402H, 4403H, 4404H, 4405H, 4406H, 4407H, 4408H, 4409H, 440AH, 440BH, 440CH, 440DH, 440EH, 440FH, 4410H, 4411H, 53H
Network	INT 21H: 5E00H, 5E01H, 5E02H, 5E03H, 5E04H, 5E05H, 5F00H, 5F01H, 5F02H, 5F03H, 5F04H, 5F05H, 5F07H, 5F08H
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
Family API
DOS	Process Manager	DosBeep DosExit DosSleep DosExecPgm
File Manager	DosChDir DosChgFilePtr DosClose DosDelete DosDupHandle DosMkDir DosMove DosQCurDir DosQCurDisk DosSetFileMode DosOpen DosQFileInfo DosRead DosQFileMode DosQFSInfo DosQVerify DosRmDir DosSelectDisk DosFindClose DosFindFirst DosFindNext DosSetFileInfo DosSetVerify DosWrite DosFileLocks DosSetFHandState DosNewSize DosBufReset DosQFHandState DosSetFSinfo DosShutdown
Memory Manager	DosFreeSeg DosSubAlloc DosSubFree DosSubSet DosAllocHuge DosAllocSeg DosReallocHuge DosReallocSeg DosGetHugeShift DosCreateCSAlias
NLS	DosCaseMap DosGetCtryInfo DosGetDBCSEv DosSetCtryCode DosGetCollate DosGetMessage DosInsMessage DosPutMessage
Date and Time	DosSetDateTime DosGetDateTime
Devices	DosDevConfig DosDevIOCtl DosDevIOCtl2
Signals	DosHoldSignal DosSetSigHandler
Misc	BadDynLink DosGetEnv DosGetMachineMode DosGetVersion DosError DosErrClass DosSetVec
KBD	KbdCharIn KbdFlushBuffer KbdGetStatus KbdSetStatus KbdStringIn KbdPeek
VIO	VioGetBuf VioGetConfig VioGetCurPos VioGetCurType VioGetPhysBuf VioReadCellStr VioReadCharStr VioScrollUp VioScrollDn VioScrollLf VioScrollRt VioScrUnLock VioSetCurPos VioSetCurType VioSetMode VioGetMode VioShowBuf VioWrtCellStr VioWrtCharStr VioWrtCharStrAtt VioWrtNAttr VioWrtNCell VioWrtNChar VioWrtTTY VioScrLock VioPopUp
Tools	BIND
Modules	DOSCALLS.DLL VIOCALLS.DLL KBDCALLS.DLL MSG.DLL
Libraries	API.LIB OS2386.LIB FAPI.LIB DOSCALLS.LIB SUBCALLS.LIB

INT 21 - DOS 2+ - SET FILE'S LAST-WRITTEN DATE AND TIME

AX = 5701h
BX = file handle
CX = new time (see #01665)
DX = new date (see #01666)

Return: CF clear if successful

CF set on error
AX = error code (01h,06h) (see #01680)

SeeAlso: AX=5700h,AX=5705h”Windows95“,AX=5707h”Windows95“ ——–D-215702—————————– INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTES FOR FILE

AX = 5702h
BX = file handle
CX = size of result buffer or 0000h
DS:SI -> EAP list (see #01667)
ES:DI -> buffer for returned EAV list (see #01670)

Return: CF clear if successful

CX = size of returned data
CF set on error
AX = error code (see #01680)

Desc: get the current value of one or more extended attributes Notes: if CX=0000h on entry, ES:DI is ignored and no data is actually

returned, only the amount of data which is available
the default DOS 4 behavior is to return a single word of 0000h (no
structures) in the result buffer if CX>=0002h on entry; this
functionality was apparently never released to the public

SeeAlso: AX=5703h,AX=5704h,AH=6Eh,INT 2F/AX=112Dh

Format of EAP (extended attribute properties) list: Offset Size Description (Table 01667) 00h WORD number of EAP structures following 02h var array of EAP structures (see #01668) SeeAlso: #01670

Format of EAP (extended attribute property) structure: Offset Size Description (Table 01668) 00h BYTE attribute type

01h boolean (either 00h or 01h)
02h number (BYTE, WORD, or DWORD)
03h string
04h date stamp
05h time stamp

01h WORD EAP flags (see #01669) 03h BYTE size of reference string (name) 04h N BYTEs reference string

Bitfields for EAP flags: Bit(s) Description (Table 01669) 12 unchangeable 13 ignore 14 unchangeable 15 used by COMMAND.COM for code page, but not understood by ATTRIB

Format of EAV (extended attribute value) list: Offset Size Description (Table 01670) 00h WORD number of EAV structures following 02h var array of Extended Attribute Value structures (see #01671) SeeAlso: #01667

Format of Extended Attribute Value structures: Offset Size Description (Table 01671) 00h 4 BYTEs ??? 04h BYTE size of reference string 05h WORD size of value 07h var reference string

var	value

——–O-215702—————————– INT 21 - OS/2 v1.1+ Family API - DosQFileInfo

AX = 5702h
BX = file handle
CX = size of buffer for information
DX = level of information
0001h standard file information (see #01672)
0002h Query EA Size (see #01672)
0003h Query EAs from List (see #01673)
0004h Query All EAs (see #01673)
ES:DI -> buffer for information (see #01672,#01673)

Return: CF clear if successful

CF set on error
AX = error code

SeeAlso: AX=5702h/BX=FFFFh,AX=5703h”OS/2“,AH=6Dh”OS/2“

Format of OS/2 DosQFileInfo: Offset Size Description (Table 01672) 00h WORD creation date 02h WORD creation time 04h WORD last access date 06h WORD last access time 08h WORD last write date 0Ah WORD last write time 0Ch DWORD file size in bytes 10h DWORD allocated space in bytes 14h WORD file attributes —level 2 only— 16h DWORD size of Extended Attributes in byte SeeAlso: #01673,#01676

Format of OS/2 DosQFileInfo, EAOP structure: Offset Size Description (Table 01673) 00h DWORD pointer to general EA list (see #01674) 04h DWORD pointer to buffer for full EA list, with length field set 08h DWORD (ret) error Note: for info level 3, the first pointer must contain the address of a

list of the Extended Attributes to be retrieved; for info level 4,
it should be 0000h:0000h

SeeAlso: #01672,#01676

Format of OS/2 DosQFileInfo, General EA List: Offset Size Description (Table 01674) 00h DWORD (call) total size of list in bytes (including this field)

(ret) number of bytes actually used (including this field)

04h var Extended Attribute entries (see #01675) [packed arrray]

Format of OS/2 DosQFileInfo, General EA entry: Offset Size Description (Table 01675) 00h BYTE length of Extended Attribute name (excluding terminating NUL) 01h N BYTEs EA name

BYTE	00h

SeeAlso: #01674

Format of OS/2 DosQFileInfo, Full EA List: Offset Size Description (Table 01676) 00h DWORD (call) total size of list in bytes (including this field)

(ret) number of bytes actually used (including this field)

04h var Extended Attribute data (see #01677) [packed array] SeeAlso: #01672,#01673

Format of OS/2 Extended Attribute data (struct FEA): Offset Size Description (Table 01677) 00h BYTE flags

bit 7: critical EA

01h BYTE length of Extended Attribute name (excluding terminating NUL) 02h WORD length of Extended Attribute value 04h N BYTEs EA name

BYTE	00h
M BYTEs	EA value

——–O-215702BXFFFF———————– INT 21 - OS/2 v1.1+ Compatibility Box Family API - DosQPathInfo

AX = 5702h
BX = FFFFh
CX = size of buffer for information
DX = level of information (0002h)
DS:SI -> filename
ES:DI -> buffer for FAPI path information (see #01678)

Return: CF clear if successful

AL = 00h
CF set on error
AX = error code

SeeAlso: AX=5702h”OS/2“,AX=5703h/BX=FFFFh

Format of FAPI path information: Offset Size Description (Table 01678) 00h 22 BYTEs ??? 16h DWORD extended attribute size (none present if less than 5) ——–D-215703—————————– INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTE PROPERTIES

AX = 5703h
BX = file handle
CX = size of result buffer or 0000h
ES:DI -> result buffer

Return: CF clear if successful

CX = size of returned data
CF set on error
AX = error code (see #01680)
ES:DI -> zero word (DOS 4.0) if CX >= 2 on entry

Desc: get a list of the extended attributes which are defined for the

specified file

Notes: if CX=0000h on entry, ES:DI is ignored and no data is actually

returned, only the amount of data which is available
the default DOS 4 behavior is to return a trivial EAP list consisting
of the single word 0000h (no EAP structures) if CX>=0002h on entry;
this functionality was apparently never released to the public

SeeAlso: AX=5702h,AX=5704h,AH=6Eh,INT 2F/AX=112Dh ——–O-215703—————————– INT 21 - OS/2 v1.1+ Family API - DosSetFileInfo

AX = 5703h
BX = file handle
CX = size of information buffer
DX = level of information
ES:DI -> information buffer

Return: CF clear if successful

CF set on error
AX = error code

SeeAlso: AX=5702h”OS/2“,AX=5703h/BX=FFFFh ——–O-215703BXFFFF———————– INT 21 - OS/2 v1.1+ Family API - DosSetPathInfo

AX = 5703h
BX = FFFFh
CX = size of information buffer
DX = level of information
DS:SI -> filename
ES:DI -> information buffer

Return: CF clear if successful

CF set on error
AX = error code

SeeAlso: AX=5702h/BX=FFFFh,AX=5703h”OS/2“