NAME
catopen —
open message catalog
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include
<nl_types.h>
nl_catd
catopen(const
char *name, int
oflag);
DESCRIPTION
The
catopen()
function opens the message catalog specified by name
and returns a message catalog descriptor. If name
contains a ‘/’ then name specifies the
full pathname for the message catalog, otherwise the value of the
environment variable NLSPATH is used with the
following substitutions:
- %N
- The value of the name argument.
- %L
- The value of the
LANGenvironment variable or theLC_MESSAGEScategory (see below). - %l
- The language element from the
LANGenvironment variable or from theLC_MESSAGEScategory. - %t
- The territory element from the
LANGenvironment variable or from theLC_MESSAGEScategory. - %c
- The codeset element from the
LANGenvironment variable or from theLC_MESSAGEScategory. - %%
- A single % character.
An empty string is substituted for undefined values.
Path names templates defined in NLSPATH
are separated by colons (‘:’). A leading or two adjacent
colons is equivalent to specifying %N.
If the oflag argument is set to the
NL_CAT_LOCALE constant,
LC_MESSAGES locale category used to open the message
catalog; using NL_CAT_LOCALE conforms to the
X/Open Portability Guide Issue 4
(“XPG4”) standard. You can specify 0 for compatibility
with X/Open Portability Guide Issue 3
(“XPG3”); when oflag is set to 0,
the LANG environment variable determines the message
catalog locale.
A message catalog descriptor remains valid in a process until that process closes it, or until a successful call to one of the exec(3) function.
RETURN VALUES
Upon successful completion, catopen()
returns a message catalog descriptor. Otherwise, (nl_catd) -1 is returned
and errno is set to indicate the error.
ERRORS
- [
ENAMETOOLONG] - An entire path to the message catalog exceeded 1024 characters.
- [
ENOENT] - Argument name does not point to a valid message catalog name, or it points to an empty string.
- [
ENOENT] - The named message catalog does not exist.
- [
ENOENT] - The named message catalog file is in wrong format.
- [
ENOMEM] - Insufficient memory is available.
SEE ALSO
STANDARDS
The catopen() function conforms to
IEEE Std 1003.1-2001 (“POSIX.1”).