NAME

catgets - read a program message

SYNOPSIS

#include <nl_types.h>

char *catgets(nl_catdcatd, intset_id, intmsg_id, const char
*s);

DESCRIPTION

The catgets() function shall attempt to read message msg_id, in set set_id, from the message catalog
identified by catd. The catd argument is a message catalog descriptor returned from an earlier call to catopen(). The results are undefined if catd is not a value returned by catopen() for a message catalog still open in the process. The s argument points to a
default message string which shall be returned by catgets() if it cannot retrieve the identified message.

The catgets() function need not be thread-safe.

RETURN VALUE

If the identified message is retrieved successfully, catgets() shall return a pointer to an internal buffer area
containing the null-terminated message string. If the call is unsuccessful for any reason, s shall be returned and
errno shall be set to indicate the error.

ERRORS

The catgets() function shall fail if:

[EINTR]

The read operation was terminated due to the receipt of a signal, and no data was transferred.

[ENOMSG]

The message identified by set_id and msg_id is not in the message catalog.

The catgets() function may fail if:

[EBADF]

The catd argument is not a valid message catalog descriptor open for reading.

[EBADMSG]

The message identified by set_id and msg_id in the specified message catalog did not satisfy
implementation-defined security criteria.

EXAMPLES

APPLICATION USAGE

RATIONALE

FUTURE DIRECTIONS

SEE ALSO

CHANGE HISTORY

Issue 5

A note indicating that this function need not be reentrant is added to the DESCRIPTION.

Issue 6

In the DESCRIPTION, the note about reentrancy is expanded to cover thread-safety.

Issue 7

Austin Group Interpretation 1003.1-2001 #044 is applied, changing the ``may fail'' [EINTR] and [ENOMSG] errors to become ``shall
fail'' errors, updating the RETURN VALUE section, and updating the DESCRIPTION to note that: ``The results are undefined if
catd is not a value returned by catopen() for a message catalog still open in
the process.