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