Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


catopen(3p) — Linux manual page

PROLOG |NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |EXAMPLES |APPLICATION USAGE |RATIONALE |FUTURE DIRECTIONS |SEE ALSO |COPYRIGHT

CATOPEN(3P)             POSIX Programmer's ManualCATOPEN(3P)

PROLOG        top

       This manual page is part of the POSIX Programmer's Manual.  The       Linux implementation of this interface may differ (consult the       corresponding Linux manual page for details of Linux behavior), or       the interface may not be implemented on Linux.

NAME        top

       catopen — open a message catalog

SYNOPSIS        top

       #include <nl_types.h>       nl_catd catopen(const char *name, intoflag);

DESCRIPTION        top

       Thecatopen() function shall open a message catalog and return a       message catalog descriptor. Thename argument specifies the name       of the message catalog to be opened. Ifname contains a'/', thenname specifies a pathname for the message catalog. Otherwise, the       environment variableNLSPATH is used withname substituted for the%Nconversion specification (see the Base Definitions volume of       POSIX.1‐2017,Chapter 8,Environment Variables); ifNLSPATH exists       in the environment when the process starts, then if the process       has appropriate privileges, the behavior ofcatopen() is       undefined. IfNLSPATH does not exist in the environment, or if a       message catalog cannot be found in any of the components specified       byNLSPATH, then an implementation-defined default path shall be       used. This default may be affected by the setting ofLC_MESSAGES       if the value ofoflag is NL_CAT_LOCALE, or theLANG environment       variable ifoflag is 0.       A message catalog descriptor shall remain valid in a process until       that process closes it, or a successful call to one of theexec       functions. A change in the setting of theLC_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 theoflag argument is 0, theLANG environment       variable is used to locate the catalog without regard to theLC_MESSAGES category. If theoflag argument is NL_CAT_LOCALE, theLC_MESSAGES category is used to locate the message catalog (see       the Base Definitions volume of POSIX.1‐2017,Section 8.2,Internationalization Variables).

RETURN VALUE        top

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

ERRORS        top

       Thecatopen() function may fail if:EACCESSearch permission is denied for the component of the path              prefix of the message catalog or read permission is denied              for the message catalog.EMFILEAll file descriptors available to the process are currently              open.ENAMETOOLONG              The length of a component of a pathname is longer than              {NAME_MAX}.ENAMETOOLONG              The length of a pathname exceeds {PATH_MAX}, or pathname              resolution of a symbolic link produced an intermediate              result with a length that exceeds {PATH_MAX}.ENFILEToo many files are currently open in the system.ENOENTThe message catalog does not exist or thename argument              points to an empty string.ENOMEMInsufficient storage space is available.ENOTDIR              A component of the path prefix of the message catalog names              an existing file that is neither a directory nor a symbolic              link to a directory, or the pathname of the message catalog              contains at least one non-<slash> character and ends with              one or more trailing <slash> characters and the last              pathname component names an existing file that is neither a              directory nor a symbolic link to a directory.The following sections are informative.

EXAMPLES        top

       None.

APPLICATION USAGE        top

       Some implementations ofcatopen() usemalloc() to allocate space       for internal buffer areas. Thecatopen() 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 theexec       functions.       Application developers 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.       To be sure that messages produced by an application running with       appropriate privileges cannot be used by an attacker setting an       unexpected value forNLSPATH in the environment to confuse a       system administrator, such applications should use pathnames       containing a'/'to get defined behavior when usingcatopen() to       open a message catalog.

RATIONALE        top

       None.

FUTURE DIRECTIONS        top

       None.

SEE ALSO        top

catclose(3p),catgets(3p)       The Base Definitions volume of POSIX.1‐2017,Chapter 8,Environment Variables,fcntl.h(0p),nl_types.h(0p),

COPYRIGHT        top

       Portions of this text are reprinted and reproduced in electronic       form from IEEE Std 1003.1-2017, Standard for Information       Technology -- Portable Operating System Interface (POSIX), The       Open Group Base Specifications Issue 7, 2018 Edition, Copyright       (C) 2018 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 athttp://www.opengroup.org/unix/online.html .       Any typographical or formatting errors that appear in this page       are most likely to have been introduced during the conversion of       the source files to man page format. To report such errors, seehttps://www.kernel.org/doc/man-pages/reporting_bugs.html .IEEE/The Open Group                2017CATOPEN(3P)

Pages that refer to this page:nl_types.h(0p)catclose(3p)catgets(3p)setlocale(3p)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp