[ Previous | Next | Contents | Glossary | Home | Search ]
AIX Version 4.3 Base Operating System and Extensions Technical Reference, Volume 1

IMInitialize Subroutine


Initializes the input method for a particular language.


Input Method Library (libIM.a)


IMFep IMInitialize(Name)
char *Name;


The IMInitialize subroutine initializes an input method. The IMCreate, IMFilter, and IMLookupString subroutines use the input method to perform input processing of keyboard events in the form of keysym state modifiers. The IMInitialize subroutine finds the input method that performs the input processing specified by the Name parameter and returns an Input Method Front End Processor (IMFep) descriptor.

Before calling any of the key event-handling functions, the application must create an instance of an IMObject object using the IMFep descriptor. Each input method can produce one or more instances of IMObject object with the IMCreate subroutine.

When the IMInitialize subroutine is called, strings returned from the input method are encoded in the code set of the locale. Each IMFep description inherits the code set of the locale when the input method is initialized. The locale setting does not change the code set of the IMFep description after it is created.

The IMInitialize subroutine calls the load subroutine to load a file whose name is in the form Name.im. The Name parameter is passed to the IMInitialize subroutine. The loadable input method file is accessed in the directories specified by the LOCPATH environment variable. The default location for loadable input-method files is the /usr/lib/nls/loc directory. If none of the LOCPATH directories contain the input method specified by the Name parameter, the default location is searched.

Note: All setuid and setgid programs will ignore the LOCPATH environment variable.

The name of the input method file usually corresponds to the locale name, which is in the form Language_territory.codesest@modifier. In the environment, the modifier is in the form @im=modifier. The IMInitialize subroutine converts the @im= substring to @ when searching for loadable input-method files.


Name Specifies the language to be used. Each input method is dynamically linked to the application program.

Return Values

If IMInitialize succeeds, it returns an IMFep handle. Otherwise, null is returned and the imerrno global variable is set to indicate the error.

Implementation Specifics

This subroutine is part of Base Operating System (BOS) Runtime.


/usr/lib/nls/loc Contains loadable input-method files.

Related Information

The IMCreate subroutine.

Input Method Overview and National Language Support Overview for Programming in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.

[ Previous | Next | Contents | Glossary | Home | Search ]