portnls(5)
NAME
portnls − MPE Native Language Support routines
SYNOPSIS
/usr/lib/nls/*
DESCRIPTION
portnls contains a set of library routines that perform miscellaneous language-dependent operations. These routines are also available in the HP MPE operating system.
Localizable programs written in Pascal, FORTRAN, or COBOL, and making use of these routines, can be written and run under HP-UX, and ported to MPE by a mere recompilation, and vice versa.
Each routine is described in an individual manual entry in Section 3X, and can be grouped in the following categories:
Language Information Routines:
nlgetlang Return current language.
nlinfo Return language-dependent information (data tables).
nlnumspec Return information needed for formatting and converting numbers.
Date and Time Routines:
almanac Return numeric date information for a date in the packed date format returned by the calendar routine.
calendar Return an MPE calendar date.
clock Return an MPE clock value.
nlconvclock Check and convert a time array to an internal format.
nlconvcustdate Convert a date array to a packed date format.
nlfmtcalendar Format a packed date using a localized format.
nlfmtclock Format time of day using a localized format.
nlfmtcustdate Format a packed date using a custom date.
nlfmtdate Format a date and time in a localized format.
nlfmtlongcal Format a packed date using a long calendar format.
Language Formatted-Number Routines:
nlconvnum Convert a native language formatted number to an ASCII number.
nlfmtnum Convert an ASCII number to a language-specific formatted number.
Character Array Routines:
nlappend Append the appropriate language ID to a file name.
nlcollate Compare two character arrays.
nlfindstr Search for a array in another array.
nljudge Judge whether a character is a one-byte or multi-byte Asian character.
nlkeycompare Determine if a character array is almost equal to another.
nlrepchar Replace non-displayable characters of a array.
nlscanmove Move, scan and case shift character arrays.
nlsubstr Extract a subarray of a array.
nlswitchbuf Convert a array of characters between phonetic order and screen order.
nltranslate Translate ASCII arrays to EBCDIC using an conversion table.
Flags:
portnls routines may use flags to select their behavior. Individual manual entries contain symbolic names for the values of those flags. Actual implementation of those values (such as unsigned integer values, octal, hexadecimal, or bit values) depends on the specific programming language being used.
Some functions are driven by the bit-wise AND or by the bit-wise OR of two of those flags. For example, 0x0051 AND 0x0045 is equal to 0x0041.
The following list contains the hexadecimal values of those constants.
Mask characters for nlscanmove(3X) flags
| M_L | 0x0001 | /* lowercase */ |
| M_U | 0x0002 | /* uppercase */ |
| M_N | 0x0004 | /* numeric */ |
| M_S | 0x0008 | /* special */ |
| M_WU | 0x0010 | /* while/until 0/1 */ |
| M_US | 0x0020 | /* upshift */ |
| M_DS | 0x0040 | /* downshift */ |
| M_TB | 0x0080 | /* two byte only flag */ |
| M_OB | 0x0100 | /* one byte only flag */ |
Masks for nlsubstr(3X)
| F_RETURNERR | 0x0000 | /* Return an error condition */ |
| F_SPP1 | 0x0001 | /* Start from start position + 1 */ |
| F_SPM1 | 0x0002 | /* Start from start position - 1 */ |
| F_SPBL | 0x0003 | /* Start from start position. Replace character by blank */ |
| F_SP | 0x0004 | /* Start from start position regardless value of first character */ |
| F_LMP1 | 0x0010 | /* Move until movelength + 1 is reached */ |
| F_LMM1 | 0x0020 | /* Move until movelength - 1 is reached */ |
| F_LMBL | 0x0030 | /* Move until movelength is reached. Replace character by blank */ |
| F_LM | 0x0040 | /* Move until movelength is reached regardless value of last byte */ |
Masks for nlconvnum(3X)
| M_STRIPTHOU | 0x0001 | /* strip thousands separator */ |
| M_STRIPDEC | 0x0002 | /* strip decimal separator */ |
| M_NUMBERSONLY | 0x0004 | /* numbers only in input */ |
Masks for nlfmtnum(3X)
| M_INSTHOU | 0x0001 | /* insert thousands separator */ |
| M_INSDEC | 0x0002 | /* insert decimal separator */ |
| M_CURRENCY | 0x0004 | /* insert currency symbol */ |
| M_LEFTJUST | 0x0008 | /* left justify */ |
| M_RIGHTJUST | 0x0010 | /* right justify */ |
| M_RETLENGTH | 0x0018 | /* left justify and return length */ |
Masks for nlnumspec(3X)
| CURRENCY_PRECEDES | 0 | |
| CURRENCY_SUCCEEDS | 1 | |
| CURRENCY_REPLACES | 2 |
EXTERNAL INFLUENCES
International Code Set Support
Single- and multi-byte character code sets are supported.
WARNINGS
This library is provided for compatibility with the HP MPE operating system. Use the Native Language Support routines for C programmers described in hpnls(5) for HP-UX NLS support.
AUTHOR
portnls was developed by HP.
FILES
usr/lib/libportnls.a
usr/lib/nls/$LANG/custdat.cat
SEE ALSO
almanac(3X), calendar(3X), clock(3X), hpnls(5), nlappend(3X), nlconvclock(3X), nlconvcustdate(3X), nlconvnum(3X), nlcollate(3X), nlfmtcalendar(3X), nlfmtclock(3X), nlfmtcustdate(3X), nlfmtdate(3X), nlfindstr(3X), nlfmtlongcal(3X), nlfmtnum(3X), nlgetlang(3X), nlinfo(3X), nljudge(3X), nlkeycompare(3X), nlnumspec(3X), nlrepchar(3X), nlscanmove(3X), nlsubstr(3X), nlswitchbuf(3X), nltranslate(3X)
MPE Intrinsics Reference Manual.
MPE Native Language Support Reference Manual.
Hewlett-Packard Company — HP-UX Release 10.20: July 1996