Table of Contents
Note: This API call is for DOS personality only. Use Family API for portability.
Int 21H, AH=29H
Version
1 and higher
Brief
PARSE FILENAME INTO FCB
Family API
Input
AH = 29h AL = parsing options (see #01380) DS:SI -> filename string (both '*' and '?' wildcards OK) ES:DI -> buffer for unopened FCB
Return
AL = result code
00h successful parse, no wildcards encountered 01h successful parse, wildcards present FFh failed (invalid drive specifier) DS:SI -> first unparsed character ES:DI buffer filled with unopened FCB (see #01345)
Notes
asterisks in the name are expanded to question marks in the FCB all processing stops when a filename terminator is encountered cannot be used with filespecs which include a path (DOS 2+) Novell NetWare monitors the result code since an 'invalid drive' may signal an attempt to reconnect a network drive; if there are no connections to the specified drive, NetWare attempts to build a connection and map the drive to the SYS:LOGIN directory
Bitfields for parsing options: Bit(s) Description (Table 01380) 0 skip leading separators 1 use existing drive number in FCB if no drive is specified, instead of
setting field to zero
2 use existing filename in FCB if no base name is specified, instead of
filling field with blanks
3 use existing extension in FCB if no extension is specified, instead of
filling field with blanks
4-7 reserved (0)
See also
AH=0Fh,AH=16h,AH=26h
Note
Text based on Ralf Brown Interrupt List Release 61
DOS API | |
---|---|
Process manager | INT 20H, INT 21H: 00H, 25H, 26H, 31H, 34H, 35H, 4CH, 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 |
Character Device I/O | INT 29H, INT 21H: 01H, 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H, 0AH, 0BH, 0AH, 0CH |
Signals | INT 23H, INT 24H, INT 21H: 3300H, 3301H, 3302H |
Memory manager | |
Date and Time | INT 21H: 2AH, 2BH, 2CH, 2DH |
Misc | INT 21H: 30H, 3306H, 3700H, 3701H, 3702H, 3703H |
NLS | INT 21H: 3303H, 3304H, 3800H, 3801H |