[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 21 - DOS 3.3+ - GET EXTENDED COUNTRY INFORMATION
        AH = 65h
        AL = info ID
            01h get general internationalization info
            02h get pointer to uppercase table
            04h get pointer to filename uppercase table
            05h get pointer to filename terminator table
            06h get pointer to collating sequence table
            07h (DOS 4+) get pointer to Double-Byte Character Set table
        BX = code page (-1=global code page)
        DX = country ID (-1=current country)
        ES:DI -> country information buffer (see below)
        CX = size of buffer (>= 5)
Return: CF set on error
            AX = error code (see AH=59h)
        CF clear if succesful
            CX = size of country information returned
            ES:DI -> country information
Notes:  AL=05h appears to return same info for all countries and codepages; it
          has been documented for DOS 5.0, but was undocumented in ealier
          versions
        NLSFUNC must be installed to get info for countries other than the
          default
        subfunctions 02h and 04h are identical under OS/2
SeeAlso: INT 2F/AX=1401h,INT 2F/AX=1402h

Format of country information:
Offset  Size    Description
 00h    BYTE    info ID
---if info ID = 01h---
 01h    WORD    size
 03h    WORD    country ID
 05h    WORD    code page
 07h 34 BYTEs   country-dependent info (see AH=38h)
---if info ID = 02h---
 01h    DWORD   pointer to uppercase table (see below)
---if info ID = 04h---
 01h    DWORD   pointer to filename uppercase table (see below)
---if info ID = 05h---
 01h    DWORD   pointer to filename character table (see below)
---if info ID = 06h---
 01h    DWORD   pointer to collating table (see below)
---if info ID = 07h (DOS 4+)---
 01h    DWORD   pointer to DBCS lead byte table (see below)

Format of uppercase table:
Offset  Size    Description
 00h    WORD    table size
 02h 128 BYTEs  uppercase equivalents (if any) of chars 80h to FFh

Format of collating table:
Offset  Size    Description
 00h    WORD    table size
 02h 256 BYTEs  values used to sort characters 00h to FFh

Format of filename terminator table:
Offset  Size    Description
 00h    WORD    table size (not counting this word)
 02h    BYTE    ??? (01h for MSDOS 3.30-5.00)
 03h    BYTE    lowest permissible character value for filename
 04h    BYTE    highest permissible character value for filename
 05h    BYTE    ??? (00h for MSDOS 3.30-5.00)
 06h    BYTE    first excluded character in range \ all characters in this
 07h    BYTE    last excluded character in range  / range are illegal
 08h    BYTE    ??? (02h for MSDOS 3.30-5.00)
 09h    BYTE    number of illegal (terminator) characters
 0Ah  N BYTES   characters which terminate a filename:  ."/\[]:|<>+=;,
Note:   partially documented for DOS 5.0, but undocumented for earlier versions

Format of filename uppercase table:
Offset  Size    Description
 00h    WORD    table size
 02h 128 BYTEs  uppercase equivalents (if any) of chars 80h to FFh

Format of DBCS lead byte table:
Offset  Size    Description
 00h    WORD    length
 02h 2N BYTEs   start/end for N lead byte ranges
        WORD    0000h   (end of table)

See Also: 2138
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson