trusty (3) catopen.3posix.gz

Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       catopen - open a message catalog

SYNOPSIS

       #include <nl_types.h>

       nl_catd catopen(const char *name, int oflag);

DESCRIPTION

       The  catopen()  function  shall  open a message catalog and return a message catalog descriptor. The name
       argument specifies the name of the message catalog to be opened. If name  contains  a  '/'  ,  then  name
       specifies  a  complete  name for the message catalog. Otherwise, the environment variable NLSPATH is used
       with name  substituted  for  the  %N  conversion  specification  (see  the  Base  Definitions  volume  of
       IEEE Std 1003.1-2001,  Chapter  8,  Environment Variables). If NLSPATH exists in the environment when the
       process starts, then if the process has appropriate privileges, the behavior of catopen()  is  undefined.
       If  NLSPATH  does  not  exist  in  the environment, or if a message catalog cannot be found in any of the
       components specified by NLSPATH, then an implementation-defined default path shall be used. This  default
       may  be  affected  by  the  setting  of  LC_MESSAGES  if the value of oflag is NL_CAT_LOCALE, or the LANG
       environment variable if oflag is 0.

       A message catalog descriptor shall remain valid  in  a  process  until  that  process  closes  it,  or  a
       successful  call  to  one  of the exec functions. A change in the setting of the LC_MESSAGES category may
       invalidate existing open catalogs.

       If a file descriptor is used to implement message catalog descriptors, the FD_CLOEXEC flag shall be  set;
       see <fcntl.h>.

       If  the  value  of  the  oflag argument is 0, the LANG environment variable is used to locate the catalog
       without regard to the LC_MESSAGES category. If the  oflag  argument  is  NL_CAT_LOCALE,  the  LC_MESSAGES
       category  is used to locate the message catalog (see the Base Definitions volume of IEEE Std 1003.1-2001,
       Section 8.2, Internationalization Variables).

RETURN VALUE

       Upon successful completion, catopen() shall return a message catalog descriptor  for  use  on  subsequent
       calls  to  catgets()  and  catclose().  Otherwise,  catopen() shall return ( nl_catd) -1 and set errno to
       indicate the error.

ERRORS

       The catopen() function may fail if:

       EACCES Search permission is denied for the component of the path prefix of the message  catalog  or  read
              permission is denied for the message catalog.

       EMFILE {OPEN_MAX} file descriptors are currently open in the calling process.

       ENAMETOOLONG
              The  length  of  a  pathname  of the message catalog exceeds {PATH_MAX} or a pathname component is
              longer than {NAME_MAX}.

       ENAMETOOLONG
              Pathname resolution of a symbolic link  produced  an  intermediate  result  whose  length  exceeds
              {PATH_MAX}.

       ENFILE Too many files are currently open in the system.

       ENOENT The message catalog does not exist or the name argument points to an empty string.

       ENOMEM Insufficient storage space is available.

       ENOTDIR
              A component of the path prefix of the message catalog is not a directory.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       Some implementations of catopen() use malloc() to allocate space for internal buffer areas. The catopen()
       function may fail if there is insufficient storage space available to accommodate these buffers.

       Conforming applications must assume that message catalog descriptors are not valid after a call to one of
       the exec functions.

       Application  writers  should  be  aware that guidelines for the location of message catalogs have not yet
       been developed. Therefore they should take  care  to  avoid  conflicting  with  catalogs  used  by  other
       applications and the standard utilities.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       catclose()  ,  catgets()  , the Base Definitions volume of IEEE Std 1003.1-2001, <fcntl.h>, <nl_types.h>,
       the Shell and Utilities volume of IEEE Std 1003.1-2001

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition,
       Standard  for  Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers,
       Inc  and  The  Open Group. In the event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .