en:docs:dos:api:int21:29

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

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