This topic covers the ExtCountryInfoRec returned by fn 6501H.  See
CountryInfoRec for the subset of this structure obtained via the older
fn 38H.

ExtCountryInfoRec
Offset Size Contents
                                                                 
+0      1  bRecID       Information ID (01H on calls to fn 6501H)
+1      2  wRecLen      size of information
+3      2  wCountryID   Country Code
+5      2  wCodePgID    Code Page
+7      2  wDateFormat  date format
+9      5  szCrncySymb  currency symbol (ASCIIZ )
+0eH     2  szThouSep    thousands separator (ASCIIZ)
+10H     2  szDecSep     decimal separator (ASCIIZ)
+12H     2  szDateSep    date separator (ASCIIZ)
+14H     2  szTimeSep    time separator (ASCIIZ)
+16H     1  bCrncyFlags  currency format flags
+17H     1  bCrncyDigits decimals digits in currency
+18H     1  bTimeFormat  time format
+19H     4  pfCasemap    Casemap FAR call address
+1dH     2  szDataSep    data list separator (ASCIIZ)
+1fH    10  res          reserved zeros
41               length of return buffer

bRecID  The record ID, as used in all 3.3+ NLS fns.
wRecLen  The size of the following information.  Be suer to check this,
to avoid the chance that DOS returns a truncated record.
wCountryID  Country ID
wCodePgID  Code Page ID
wDateFormat  How to print a date: 0000H = MM/DD/YY (as in USA)
0001H = DD/MM/YY (as in Europe)
0002H = YY/MM/DD (as in Japan)
szCrncySymb  ASCIIZ  char(s) used for printing currency amounts
szThouSep  ASCIIZ  char used to separate 1000 place (e.g., comma)
szDecSep  ASCIIZ  char used to separate number from decimal (e.g.,
period)
szDateSep  ASCIIZ  char used to separate elements of a date
szTimeSep  ASCIIZ  char used to separate elements hours from minutes
bCrncyFlags  currency format code, e.g.:  0="$123.00";  1="123.00$";
2="$ 123.00"; 3="123.00 $"
bCrncyDigits  The number of places that appear to the right of the decimal
point when printing currency amounts.
bTimeFormat  time format:  0=12-hour clock, 1=24-hour clock
pfCasemap  CaseMap FAR Call address (see note)
szDataSep  ASCIIZ  char used to separate elements of a list (e.g., comma)

Notes:   The CaseMap call can be used to assign ASCII weights to
characters above 80H.  For instance, the DOS SORT command uses
the CaseMap to assign Г,Д,Е,Ж,О,П,С,and а the same ASCII weight
as 'A' and 'a' for sorting purposes.  Different CaseMaps exist
for countries with different alphabets.

To use the CaseMap address:
1. Place a byte to 'weigh' into AL
2. Make a FAR CALL to the indicated address
3. The weight value is returned in AL
All register values (except AL) are preserved

Note: DOS 3.3+ provides easy-to-use case-mapping via fn 65H.

  When running under DOS version 2.0 through 3.2, DOS returns a
structure containing some of this information, but in a
different layout.  See CountryInfoRec.  Be sure you know which
version of DOS is active (see fn 30H).

- -

Extended Country Info Block