en:docs:dos:api:int21:29

Note: This API call is for DOS personality only. Use Family API for portability.

2018/09/07 07:04 · prokushev

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

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
2018/09/04 19:23 · prokushev

en/docs/dos/api/int21/29.txt · Last modified: 2020/12/09 04:26 by prokushev