Table of Contents
Note: This API call is for DOS and Win16 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 | 
|---|---|
| 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
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 | 






