#include <rpcsvc/nis.h>
char *nis_sperrno(const nis_error status);
void nis_perror(const nis_error status, const char *label);
void nis_lerror(const nis_error status, const char *label);
char *nis_sperror_r(nis_error status, char *label, char * buf);
char *nis_sperror(const nis_error status, const char *label);
Safe
These functions convert NIS+ status values into text strings.
nis_sperrno() simply returns a pointer to a string constant which is the error string.
nis_perror() prints the error message corresponding to status as ‘‘label: error message’’ on standard error.
nis_lerror() sends the error text to syslog(3) at level LOG_ERR.
The function nis_sperror_r(), returns a pointer to a string that can be used or copied using the strdup() function (see string(3C) .) The caller must supply a string buffer, buf, large enough to hold the error string (a buffer size of 128 bytes is guaranteed to be sufficiently large).
The last function, nis_sperror(), is similar to nis_sperror_r() except that the string is returned as a pointer to a buffer that is reused on each call. nis_sperror_r() is the preferred interface, since it is suitable for single-threaded and multi-threaded programs.
When compiling multithreaded applications, see Intro(3) , Notes On Multithread Applications, for information about the use of the _REENTRANT flag.