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
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 |