en:docs:dos:api:int21:57

This is an old revision of the document!


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

2018/09/07 05:04 · prokushev · 0 Comments

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

2018/09/04 17:23 · prokushev · 0 Comments

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“