Browse Prior Art Database

Setting Default Internationalization Values when No Values are Available

IP.com Disclosure Number: IPCOM000117951D
Original Publication Date: 1996-Jul-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 4 page(s) / 117K

Publishing Venue

IBM

Related People

Ross, JC: AUTHOR [+2]

Abstract

Disclosed is a method of integrating the X/Open* Portability Guide Release 4 (XPG4) Application Programming Interfaces (APIs) into the OS/2** operating system so that the default behavior of these APIs will conform to the normal OS/2 country environment. The XPG4 standard dictates that the normal default processing should conform to the POSIX C environment.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 45% of the total text.

Setting Default Internationalization Values when No Values are Available

      Disclosed is a method of integrating the X/Open* Portability
Guide Release 4 (XPG4) Application Programming Interfaces (APIs) into
the OS/2** operating system so that the default behavior of these
APIs will conform to the normal OS/2 country environment.  The XPG4
standard dictates that the normal default processing should conform
to the POSIX C environment.

      The OS/2 operating system currently uses a method of defining
country-unique processing methods based upon the values for COUNTRY,
CODEPAGE, and KBD (KEYBOARD) keywords which are defined in the system
configuration file.  As software requirements evolved, more
flexibility was necessary to support different language/country
combinations.  A more powerful method was developed to provide
greater internationalization (I18N) capabilities based upon
repositories of language information, called locales.  The common
XPG4 APIs use the defined locale information to perform
language-unique and country-unique processing.  An application can
then use these common XPG4 APIs whenever language-unique or
country-unique processing is necessary, thus eliminating the need for
the application to code its own language-unique and country-unique
processing routines.

      The XPG4 standard states that the default locale processing
should be the POSIX C locale.  But as OS/2 applications began
implementing this new XPG4 locale method, it became a requirement
that the default locale processing should instead match the current
OS/2 country-unique processing methods and that this difference
should be transparent to the end user.

      In order to transparently change the default locale processing,
these items were taken into consideration:
  o  Whenever a locale-based API is invoked by an application, a
      single Dynamic Link Library (DLL) named SETLOC.DLL must be
loaded
      which contains the entry points for all of the locale-based
      Application Programming Interfaces (APIs).
  o  The standard "_DLL_InitTerm" DLL function provides a location
      where certain environment initialization can be performed when
a
      DLL is initially loaded just prior to the execution of any of
the
      DLL APIs.

      A special routine is added to the "_DLL_InitTerm" entry point
of the SETLOC.DLL which is always executed before any locale API is
actually executed.  This routine performs the necessary locale
initialization and verification functions as follows:
  1.  A table is defined within this routine which provides the
       mapping from the normal OS/2 system values for
language/country
       information to the new locale information.  Each table entry
       contains these values and each entry is unique based on the
       COUNTRY and KBD (keyboard) values:
      a.  The OS/2 COUNTRY value.
      b.  The OS/2 KBD (keyboard) v...