cc [ flag ... ] file ... -lnsl [ library ... ] #include <rpcsvc/nis.h> char *nis_sperrno(nis_error status);
void nis_perror(nis_error status, char *label);
void nis_lerror(nis_error status, char *label);
char *nis_sperror_r(nis_error status, char *label, char *buf, int length);
char *nis_sperror(nis_error status, char *label);
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(3C) 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). status and label are the same as for nis_perror(). The pointer returned by nis_sperror_r() is the same as buf, that is, the pointer returned by the function is a pointer to buf. length specifies the number of characters to copy from the error string to buf.
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.
See attributes(5) for descriptions of the following attributes:
NIS+ might not be supported in future releases of the Solaris operating system. Tools to aid the migration from NIS+ to LDAP are available in the current Solaris release. For more information, visit http://www.sun.com/directory/nisplus/transition.html.