mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-14 04:50:18 +00:00
ae7a94e5e3
this means that *always* libnsl is only built as shared library for backward compatibility and the NSS modules libnss_nis and libnss_nisplus are not built at all, libnsl's headers aren't installed. This compatibility is kept only for architectures and ABIs that have been added in or before version 2.28. Replacement implementations based on TIRPC, which additionally support IPv6, are available from <https://github.com/thkukuk/>. This change does not affect libnss_compat which does not depended on libnsl since 2.27 and thus can be used without NIS. libnsl code depends on Sun RPC, e.g. on --enable-obsolete-rpc (installed libnsl headers use installed Sun RPC headers), which will be removed in the following commit.
56 lines
2.1 KiB
C
56 lines
2.1 KiB
C
#ifndef _PWD_H
|
|
#include <pwd/pwd.h>
|
|
|
|
#ifndef _ISOMAC
|
|
/* Now define the internal interfaces. */
|
|
extern int __getpwent_r (struct passwd *__resultbuf, char *__buffer,
|
|
size_t __buflen, struct passwd **__result)
|
|
attribute_hidden;
|
|
extern int __old_getpwent_r (struct passwd *__resultbuf, char *__buffer,
|
|
size_t __buflen, struct passwd **__result);
|
|
extern int __getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
|
|
char *__buffer, size_t __buflen,
|
|
struct passwd **__result) attribute_hidden;
|
|
extern int __old_getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
|
|
char *__buffer, size_t __buflen,
|
|
struct passwd **__result);
|
|
extern int __getpwnam_r (const char *__name, struct passwd *__resultbuf,
|
|
char *__buffer, size_t __buflen,
|
|
struct passwd **__result) attribute_hidden;
|
|
extern int __old_getpwnam_r (const char *__name, struct passwd *__resultbuf,
|
|
char *__buffer, size_t __buflen,
|
|
struct passwd **__result);
|
|
extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf,
|
|
char *__buffer, size_t __buflen,
|
|
struct passwd **__result) attribute_hidden;
|
|
|
|
#include <nss.h>
|
|
|
|
struct parser_data;
|
|
extern int _nss_files_parse_pwent (char *line, struct passwd *result,
|
|
struct parser_data *data,
|
|
size_t datalen, int *errnop);
|
|
libc_hidden_proto (_nss_files_parse_pwent)
|
|
|
|
#define DECLARE_NSS_PROTOTYPES(service) \
|
|
extern enum nss_status _nss_ ## service ## _setpwent (int); \
|
|
extern enum nss_status _nss_ ## service ## _endpwent (void); \
|
|
extern enum nss_status _nss_ ## service ## _getpwnam_r \
|
|
(const char *name, struct passwd *pwd, \
|
|
char *buffer, size_t buflen, int *errnop); \
|
|
extern enum nss_status _nss_ ## service ## _getpwuid_r \
|
|
(uid_t uid, struct passwd *pwd, \
|
|
char *buffer, size_t buflen, int *errnop); \
|
|
extern enum nss_status _nss_ ## service ##_getpwent_r \
|
|
(struct passwd *result, char *buffer, \
|
|
size_t buflen, int *errnop);
|
|
|
|
DECLARE_NSS_PROTOTYPES (compat)
|
|
DECLARE_NSS_PROTOTYPES (files)
|
|
DECLARE_NSS_PROTOTYPES (hesiod)
|
|
|
|
#undef DECLARE_NSS_PROTOTYPES
|
|
#endif
|
|
|
|
#endif
|