mirror of
git://sourceware.org/git/glibc.git
synced 2025-04-12 14:21:18 +08:00
Update.
1998-08-18 Ulrich Drepper <drepper@cygnus.com> * include/features.h: Define __USE_EXTERN_INLINES for recent enough gcc. * argp/argp.h: Define extern inline functions only if __USE_EXTERN_INLINES is defined. * libio/stdio.h: Likewise. * math/math.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * sysdeps/generic/bits/sigset.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigset.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigset.h: Likewise. * sysdeps/wordsize-32/inttypes.h: Likewise. * sysdeps/wordsize-64/inttypes.h: Likewise. * wcsmbs/wchar.h: Likewise. * sysdeps/generic/bits/glob.c [_LIBC]: Define __stat using __xstat to allow compilation without optimization. 1998-08-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nis/nss_compat/compat-grp.c: Set errno to ENOENT if we have no more entries. * nis/nss_compat/compat-initgroups.c: Likewise. * nis/nss_compat/compat-pwd.c: Likewise. * nis/nss_compat/compat-spwd.c: Likewise. * nis/nss_nis/nis-alias.c: Likewise. * nis/nss_nis/nis-ethers.c: Likewise. * nis/nss_nis/nis-grp.c: Likewise. * nis/nss_nis/nis-hosts.c: Likewise. * nis/nss_nis/nis-initgroups.c: Likewise. * nis/nss_nis/nis-network.c: Likewise. * nis/nss_nis/nis-proto.c: Likewise. * nis/nss_nis/nis-pwd.c: Likewise. * nis/nss_nis/nis-rpc.c: Likewise. * nis/nss_nis/nis-service.c: Likewise. * nis/nss_nis/nis-spwd.c: Likewise. * nis/rpcsvc/yp.h: Generate new without 1024 byte limits. * nis/ypclnt.c: Try binding dir only first time, could be to old. * nis/yp_xdr.c: Remove 1024 byte limit. * nis/ypupdate_xdr.c: Likewise. * nis/nss_nis/nis-publickey.c: Make sure, nobody could send wrong data.
This commit is contained in:
parent
eedbbe588f
commit
0c6cee5d65
49
ChangeLog
49
ChangeLog
@ -1,3 +1,52 @@
|
||||
1998-08-18 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* include/features.h: Define __USE_EXTERN_INLINES for recent
|
||||
enough gcc.
|
||||
* argp/argp.h: Define extern inline functions only if
|
||||
__USE_EXTERN_INLINES is defined.
|
||||
* libio/stdio.h: Likewise.
|
||||
* math/math.h: Likewise.
|
||||
* stdlib/stdlib.h: Likewise.
|
||||
* string/argz.h: Likewise.
|
||||
* sysdeps/generic/bits/sigset.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
|
||||
* sysdeps/unix/sysv/sysv4/bits/sigset.h: Likewise.
|
||||
* sysdeps/wordsize-32/inttypes.h: Likewise.
|
||||
* sysdeps/wordsize-64/inttypes.h: Likewise.
|
||||
* wcsmbs/wchar.h: Likewise.
|
||||
|
||||
* sysdeps/generic/bits/glob.c [_LIBC]: Define __stat using __xstat
|
||||
to allow compilation without optimization.
|
||||
|
||||
1998-08-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
|
||||
|
||||
* nis/nss_compat/compat-grp.c: Set errno to ENOENT if we have no
|
||||
more entries.
|
||||
* nis/nss_compat/compat-initgroups.c: Likewise.
|
||||
* nis/nss_compat/compat-pwd.c: Likewise.
|
||||
* nis/nss_compat/compat-spwd.c: Likewise.
|
||||
* nis/nss_nis/nis-alias.c: Likewise.
|
||||
* nis/nss_nis/nis-ethers.c: Likewise.
|
||||
* nis/nss_nis/nis-grp.c: Likewise.
|
||||
* nis/nss_nis/nis-hosts.c: Likewise.
|
||||
* nis/nss_nis/nis-initgroups.c: Likewise.
|
||||
* nis/nss_nis/nis-network.c: Likewise.
|
||||
* nis/nss_nis/nis-proto.c: Likewise.
|
||||
* nis/nss_nis/nis-pwd.c: Likewise.
|
||||
* nis/nss_nis/nis-rpc.c: Likewise.
|
||||
* nis/nss_nis/nis-service.c: Likewise.
|
||||
* nis/nss_nis/nis-spwd.c: Likewise.
|
||||
|
||||
* nis/rpcsvc/yp.h: Generate new without 1024 byte limits.
|
||||
|
||||
* nis/ypclnt.c: Try binding dir only first time, could be to old.
|
||||
|
||||
* nis/yp_xdr.c: Remove 1024 byte limit.
|
||||
* nis/ypupdate_xdr.c: Likewise.
|
||||
|
||||
* nis/nss_nis/nis-publickey.c: Make sure, nobody could send
|
||||
wrong data.
|
||||
|
||||
1998-08-18 Roland McGrath <roland@baalperazim.frob.com>
|
||||
|
||||
* Rules (binaries-static, binaries-shared static pattern rules):
|
||||
|
@ -521,7 +521,7 @@ extern void *_argp_input __P ((__const struct argp *argp,
|
||||
extern void *__argp_input __P ((__const struct argp *argp,
|
||||
__const struct argp_state *state));
|
||||
|
||||
#ifdef __OPTIMIZE__
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
|
||||
# if !_LIBC
|
||||
# define __argp_usage argp_usage
|
||||
@ -564,7 +564,7 @@ __option_is_end (__const struct argp_option *__opt)
|
||||
# undef __option_is_short
|
||||
# undef __option_is_end
|
||||
# endif
|
||||
#endif /* __OPTIMIZE__ */
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ typedef unsigned long int __sigset_t;
|
||||
#define _SIGSET_H_fns 1
|
||||
|
||||
#ifndef _EXTERN_INLINE
|
||||
#define _EXTERN_INLINE extern __inline
|
||||
# define _EXTERN_INLINE extern __inline
|
||||
#endif
|
||||
|
||||
/* Return a mask that includes SIG only. The cast to `sigset_t' avoids
|
||||
@ -63,7 +63,8 @@ extern int __sigismember (__const __sigset_t *, int);
|
||||
extern int __sigaddset (__sigset_t *, int);
|
||||
extern int __sigdelset (__sigset_t *, int);
|
||||
|
||||
#define __SIGSETFN(NAME, BODY, CONST) \
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
# define __SIGSETFN(NAME, BODY, CONST) \
|
||||
_EXTERN_INLINE int \
|
||||
NAME (CONST __sigset_t *__set, int __sig) \
|
||||
{ \
|
||||
@ -75,7 +76,8 @@ __SIGSETFN (__sigismember, (*__set & __mask) ? 1 : 0, __const)
|
||||
__SIGSETFN (__sigaddset, ((*__set |= __mask), 0), )
|
||||
__SIGSETFN (__sigdelset, ((*__set &= ~__mask), 0), )
|
||||
|
||||
#undef __SIGSETFN
|
||||
# undef __SIGSETFN
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* ! _SIGSET_H_fns. */
|
||||
|
@ -279,13 +279,13 @@ extern int vsprintf __P ((char *__restrict __s,
|
||||
__const char *__restrict __format,
|
||||
_G_va_list __arg));
|
||||
|
||||
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
__STDIO_INLINE int
|
||||
vprintf (__const char *__restrict __fmt, _G_va_list __arg)
|
||||
{
|
||||
return vfprintf (stdout, __fmt, __arg);
|
||||
}
|
||||
#endif /* Optimizing. */
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
#if defined __USE_BSD || defined __USE_ISOC9X || defined __USE_UNIX98
|
||||
/* Maximum chars of output to write in MAXLEN. */
|
||||
@ -368,20 +368,20 @@ extern int getchar __P ((void));
|
||||
optimization for it. */
|
||||
#define getc(_fp) _IO_getc (_fp)
|
||||
|
||||
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
__STDIO_INLINE int
|
||||
getchar (void)
|
||||
{
|
||||
return _IO_getc (stdin);
|
||||
}
|
||||
#endif /* Optimizing. */
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
#if defined __USE_POSIX || defined __USE_MISC
|
||||
/* These are defined in POSIX.1:1996. */
|
||||
extern int getc_unlocked __P ((FILE *__stream));
|
||||
extern int getchar_unlocked __P ((void));
|
||||
|
||||
# ifdef __OPTIMIZE__
|
||||
# ifdef __USE_EXTERN_INLINES
|
||||
__STDIO_INLINE int
|
||||
getc_unlocked (FILE *__fp)
|
||||
{
|
||||
@ -393,7 +393,7 @@ getchar_unlocked (void)
|
||||
{
|
||||
return _IO_getc_unlocked (stdin);
|
||||
}
|
||||
# endif /* Optimizing. */
|
||||
# endif /* Use extern inlines. */
|
||||
#endif /* Use POSIX or MISC. */
|
||||
|
||||
|
||||
@ -408,25 +408,25 @@ extern int putchar __P ((int __c));
|
||||
so we always do the optimization for it. */
|
||||
#define putc(_ch, _fp) _IO_putc (_ch, _fp)
|
||||
|
||||
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
__STDIO_INLINE int
|
||||
putchar (int __c)
|
||||
{
|
||||
return _IO_putc (__c, stdout);
|
||||
}
|
||||
#endif
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Faster version when locking is not necessary. */
|
||||
extern int fputc_unlocked __P ((int __c, FILE *__stream));
|
||||
|
||||
# ifdef __OPTIMIZE__
|
||||
# ifdef __USE_EXTERN_INLINES
|
||||
__STDIO_INLINE int
|
||||
fputc_unlocked (int __c, FILE *__stream)
|
||||
{
|
||||
return _IO_putc_unlocked (__c, __stream);
|
||||
}
|
||||
# endif /* Optimizing. */
|
||||
# endif /* Use extern inlines. */
|
||||
#endif /* Use MISC. */
|
||||
|
||||
#if defined __USE_POSIX || defined __USE_MISC
|
||||
@ -434,7 +434,7 @@ fputc_unlocked (int __c, FILE *__stream)
|
||||
extern int putc_unlocked __P ((int __c, FILE *__stream));
|
||||
extern int putchar_unlocked __P ((int __c));
|
||||
|
||||
# ifdef __OPTIMIZE__
|
||||
# ifdef __USE_EXTERN_INLINES
|
||||
__STDIO_INLINE int
|
||||
putc_unlocked (int __c, FILE *__stream)
|
||||
{
|
||||
@ -446,7 +446,7 @@ putchar_unlocked (int __c)
|
||||
{
|
||||
return _IO_putc_unlocked (__c, stdout);
|
||||
}
|
||||
# endif /* Optimizing. */
|
||||
# endif /* Use extern inlines. */
|
||||
#endif /* Use POSIX or MISC. */
|
||||
|
||||
|
||||
@ -489,13 +489,13 @@ extern _IO_ssize_t getdelim __P ((char **__lineptr, size_t *__n,
|
||||
extern _IO_ssize_t getline __P ((char **__lineptr, size_t *__n,
|
||||
FILE *__stream));
|
||||
|
||||
# if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
|
||||
# ifdef __USE_EXTERN_INLINES
|
||||
__STDIO_INLINE _IO_ssize_t
|
||||
getline (char **__lineptr, size_t *__n, FILE *__stream)
|
||||
{
|
||||
return __getdelim (__lineptr, __n, '\n', __stream);
|
||||
}
|
||||
# endif /* Optimizing. */
|
||||
# endif /* Use extern inlines. */
|
||||
#endif
|
||||
|
||||
|
||||
@ -614,7 +614,7 @@ extern void clearerr_unlocked __P ((FILE *__stream));
|
||||
extern int feof_unlocked __P ((FILE *__stream));
|
||||
extern int ferror_unlocked __P ((FILE *__stream));
|
||||
|
||||
# ifdef __OPTIMIZE__
|
||||
# ifdef __USE_EXTERN_INLINES
|
||||
__STDIO_INLINE int
|
||||
feof_unlocked (FILE *__stream)
|
||||
{
|
||||
@ -626,7 +626,7 @@ ferror_unlocked (FILE *__stream)
|
||||
{
|
||||
return _IO_ferror_unlocked (__stream);
|
||||
}
|
||||
# endif /* Optimizing. */
|
||||
# endif /* Use extern inlines. */
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -306,7 +306,7 @@ extern int matherr __P ((struct exception *__exc));
|
||||
|
||||
|
||||
/* Get machine-dependent inline versions (if there are any). */
|
||||
#ifdef __OPTIMIZE__
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
# include <bits/mathinline.h>
|
||||
#endif
|
||||
|
||||
|
@ -246,6 +246,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer,
|
||||
if (yp_get_default_domain (&domain) != YPERR_SUCCESS)
|
||||
{
|
||||
ent->nis = 0;
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
@ -285,6 +286,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer,
|
||||
!= YPERR_SUCCESS)
|
||||
{
|
||||
ent->nis = 0;
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
@ -440,7 +442,10 @@ getgrnam_plusgroup (const char *name, struct group *result, char *buffer,
|
||||
|
||||
if (yp_match (domain, "group.byname", name, strlen (name),
|
||||
&outval, &outvallen) != YPERR_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
if (buflen < ((size_t) outvallen + 1))
|
||||
{
|
||||
@ -485,7 +490,10 @@ getgrent_next_file (struct group *result, ent_t *ent,
|
||||
buffer[buflen - 1] = '\xff';
|
||||
p = fgets (buffer, buflen, ent->stream);
|
||||
if (p == NULL && feof (ent->stream))
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (p == NULL || buffer[buflen - 1] != '\xff')
|
||||
{
|
||||
fsetpos (ent->stream, &pos);
|
||||
@ -625,7 +633,10 @@ internal_getgrnam_r (const char *name, struct group *result, ent_t *ent,
|
||||
buffer[buflen - 1] = '\xff';
|
||||
p = fgets (buffer, buflen, ent->stream);
|
||||
if (p == NULL && feof (ent->stream))
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (p == NULL || buffer[buflen - 1] != '\xff')
|
||||
{
|
||||
fsetpos (ent->stream, &pos);
|
||||
@ -667,7 +678,10 @@ internal_getgrnam_r (const char *name, struct group *result, ent_t *ent,
|
||||
if (result->gr_name[0] == '-' && result->gr_name[1] != '\0')
|
||||
{
|
||||
if (strcmp (&result->gr_name[1], name) == 0)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
else
|
||||
continue;
|
||||
}
|
||||
@ -828,7 +842,10 @@ internal_getgrgid_r (gid_t gid, struct group *result, ent_t *ent,
|
||||
buffer[buflen - 1] = '\xff';
|
||||
p = fgets (buffer, buflen, ent->stream);
|
||||
if (p == NULL && feof (ent->stream))
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (p == NULL || buffer[buflen - 1] != '\xff')
|
||||
{
|
||||
fsetpos (ent->stream, &pos);
|
||||
|
@ -228,6 +228,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer,
|
||||
&outval, &outvallen) != YPERR_SUCCESS)
|
||||
{
|
||||
ent->nis = 0;
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_UNAVAIL;
|
||||
}
|
||||
|
||||
@ -252,6 +253,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer,
|
||||
!= YPERR_SUCCESS)
|
||||
{
|
||||
ent->nis = 0;
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
@ -403,11 +405,17 @@ getgrnam_plusgroup (const char *name, struct group *result, char *buffer,
|
||||
int outvallen;
|
||||
|
||||
if (yp_get_default_domain (&domain) != YPERR_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
if (yp_match (domain, "group.byname", name, strlen (name),
|
||||
&outval, &outvallen) != YPERR_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
if (buflen < ((size_t) outvallen + 1))
|
||||
{
|
||||
@ -452,7 +460,10 @@ getgrent_next_file (struct group *result, ent_t *ent,
|
||||
buffer[buflen - 1] = '\xff';
|
||||
p = fgets (buffer, buflen, ent->stream);
|
||||
if (p == NULL && feof (ent->stream))
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (p == NULL || buffer[buflen - 1] != '\xff')
|
||||
{
|
||||
fsetpos (ent->stream, &pos);
|
||||
|
@ -681,6 +681,7 @@ getpwent_next_nis (struct passwd *result, ent_t *ent, char *buffer,
|
||||
{
|
||||
ent->nis = 0;
|
||||
give_pwd_free (&ent->pwd);
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
@ -790,7 +791,10 @@ getpwnam_plususer (const char *name, struct passwd *result, char *buffer,
|
||||
|
||||
if (yp_match (domain, "passwd.byname", name, strlen (name),
|
||||
&outval, &outvallen) != YPERR_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
if (buflen < ((size_t) outvallen + 1))
|
||||
{
|
||||
@ -840,7 +844,10 @@ getpwent_next_file (struct passwd *result, ent_t *ent,
|
||||
buffer[buflen - 1] = '\xff';
|
||||
p = fgets (buffer, buflen, ent->stream);
|
||||
if (p == NULL && feof (ent->stream))
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (p == NULL || buffer[buflen - 1] != '\xff')
|
||||
{
|
||||
fsetpos (ent->stream, &pos);
|
||||
@ -915,7 +922,11 @@ getpwent_next_file (struct passwd *result, ent_t *ent,
|
||||
if (status == NSS_STATUS_RETURN)
|
||||
continue;
|
||||
else
|
||||
return status;
|
||||
{
|
||||
if (status == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
||||
/* -user */
|
||||
@ -1051,7 +1062,10 @@ internal_getpwnam_r (const char *name, struct passwd *result, ent_t *ent,
|
||||
buffer[buflen - 1] = '\xff';
|
||||
p = fgets (buffer, buflen, ent->stream);
|
||||
if (p == NULL && feof (ent->stream))
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (p == NULL || buffer[buflen - 1] != '\xff')
|
||||
{
|
||||
fsetpos (ent->stream, &pos);
|
||||
@ -1146,7 +1160,10 @@ internal_getpwnam_r (const char *name, struct passwd *result, ent_t *ent,
|
||||
&& result->pw_name[1] != '@')
|
||||
{
|
||||
if (strcmp (&result->pw_name[1], name) == 0)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
else
|
||||
continue;
|
||||
}
|
||||
@ -1196,7 +1213,10 @@ _nss_compat_getpwnam_r (const char *name, struct passwd *pwd,
|
||||
enum nss_status status;
|
||||
|
||||
if (name[0] == '-' || name[0] == '+')
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
__libc_lock_lock (lock);
|
||||
|
||||
|
@ -631,6 +631,7 @@ getspent_next_nis (struct spwd *result, ent_t *ent,
|
||||
{
|
||||
ent->nis = 0;
|
||||
give_spwd_free (&ent->pwd);
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
@ -736,12 +737,16 @@ getspnam_plususer (const char *name, struct spwd *result, char *buffer,
|
||||
int outvallen;
|
||||
|
||||
if (yp_get_default_domain (&domain) != YPERR_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (yp_match (domain, "shadow.byname", name, strlen (name),
|
||||
&outval, &outvallen) != YPERR_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (buflen < ((size_t) outvallen + 1))
|
||||
{
|
||||
free (outval);
|
||||
@ -791,7 +796,10 @@ getspent_next_file (struct spwd *result, ent_t *ent,
|
||||
buffer[buflen - 1] = '\xff';
|
||||
p = fgets (buffer, buflen, ent->stream);
|
||||
if (p == NULL && feof (ent->stream))
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (p == NULL || buffer[buflen - 1] != '\xff')
|
||||
{
|
||||
fsetpos (ent->stream, &pos);
|
||||
@ -999,7 +1007,10 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent,
|
||||
buffer[buflen - 1] = '\xff';
|
||||
p = fgets (buffer, buflen, ent->stream);
|
||||
if (p == NULL && feof (ent->stream))
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
if (p == NULL || buffer[buflen - 1] != '\xff')
|
||||
{
|
||||
fsetpos (ent->stream, &pos);
|
||||
@ -1050,7 +1061,10 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent,
|
||||
{
|
||||
if (user != NULL && user[0] != '-')
|
||||
if (strcmp (user, name) == 0)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
__internal_endnetgrent (&netgrdata);
|
||||
continue;
|
||||
|
@ -167,7 +167,9 @@ internal_nis_getaliasent_r (struct aliasent *alias, char *buffer,
|
||||
&result, &len));
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -158,7 +158,10 @@ internal_nis_getetherent_r (struct ether *eth, char *buffer, size_t buflen,
|
||||
char *p;
|
||||
|
||||
if (next == NULL)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
p = strncpy (buffer, next->val, buflen);
|
||||
|
||||
while (isspace (*p))
|
||||
@ -212,7 +215,9 @@ _nss_nis_gethostton_r (const char *name, struct ether *eth,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -297,7 +302,10 @@ _nss_nis_getntohost_r (struct ether_addr *addr, struct ether *eth,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -104,7 +104,9 @@ internal_nis_getgrent_r (struct group *grp, char *buffer, size_t buflen,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -178,7 +180,9 @@ _nss_nis_getgrnam_r (const char *name, struct group *grp,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = EAGAIN;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -202,7 +206,10 @@ _nss_nis_getgrnam_r (const char *name, struct group *grp,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = EAGAIN;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
@ -227,7 +234,9 @@ _nss_nis_getgrgid_r (gid_t gid, struct group *grp,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -251,7 +260,10 @@ _nss_nis_getgrgid_r (gid_t gid, struct group *grp,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
@ -176,6 +176,7 @@ internal_nis_gethostent_r (struct hostent *host, char *buffer,
|
||||
*h_errnop = TRY_AGAIN;
|
||||
break;
|
||||
case NSS_STATUS_NOTFOUND:
|
||||
*errnop = ENOENT;
|
||||
*h_errnop = HOST_NOT_FOUND;
|
||||
break;
|
||||
default:
|
||||
|
@ -112,7 +112,10 @@ internal_getgrent_r (struct group *grp, char *buffer, size_t buflen,
|
||||
do
|
||||
{
|
||||
if (intern->next == NULL)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
p = strncpy (buffer, intern->next->val, buflen);
|
||||
while (isspace (*p))
|
||||
++p;
|
||||
|
@ -104,7 +104,9 @@ internal_nis_getnetent_r (struct netent *net, char *buffer, size_t buflen,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
{
|
||||
*herrnop = NETDB_INTERNAL;
|
||||
*errnop = errno;
|
||||
@ -203,7 +205,9 @@ _nss_nis_getnetbyname_r (const char *name, struct netent *net, char *buffer,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
{
|
||||
*errnop = errno;
|
||||
*herrnop = NETDB_INTERNAL;
|
||||
@ -233,7 +237,10 @@ _nss_nis_getnetbyname_r (const char *name, struct netent *net, char *buffer,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
else
|
||||
return NSS_STATUS_SUCCESS;
|
||||
@ -281,7 +288,10 @@ _nss_nis_getnetbyaddr_r (unsigned long addr, int type, struct netent *net,
|
||||
continue;
|
||||
}
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -313,7 +323,10 @@ _nss_nis_getnetbyaddr_r (unsigned long addr, int type, struct netent *net,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
else
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -150,7 +150,10 @@ internal_nis_getprotoent_r (struct protoent *proto,
|
||||
char *p;
|
||||
|
||||
if (next == NULL)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
p = strncpy (buffer, next->val, buflen);
|
||||
|
||||
while (isspace (*p))
|
||||
@ -204,7 +207,9 @@ _nss_nis_getprotobyname_r (const char *name, struct protoent *proto,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -228,7 +233,10 @@ _nss_nis_getprotobyname_r (const char *name, struct protoent *proto,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
@ -253,7 +261,9 @@ _nss_nis_getprotobynumber_r (int number, struct protoent *proto,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -277,7 +287,10 @@ _nss_nis_getprotobynumber_r (int number, struct protoent *proto,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -30,7 +30,9 @@ extern int xdecrypt (char *, char *);
|
||||
|
||||
#include "nss-nis.h"
|
||||
|
||||
/* If we haven't found the entry, we give a SUCCESS and an empty key back. */
|
||||
/* If we haven't found the entry, we give a SUCCESS and an empty key back.
|
||||
Solaris docu says: sizeof (pkey) == HEXKEYBYTES + 1.
|
||||
*/
|
||||
enum nss_status
|
||||
_nss_nis_getpublickey (const char *netname, char *pkey, int *errnop)
|
||||
{
|
||||
@ -56,7 +58,9 @@ _nss_nis_getpublickey (const char *netname, char *pkey, int *errnop)
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -66,7 +70,8 @@ _nss_nis_getpublickey (const char *netname, char *pkey, int *errnop)
|
||||
char *p = strchr (result, ':');
|
||||
if (p != NULL)
|
||||
*p = 0;
|
||||
strcpy (pkey, result);
|
||||
strncpy (pkey, result, HEXKEYBYTES + 1);
|
||||
pkey[HEXKEYBYTES] = '\0';
|
||||
}
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
@ -76,7 +81,7 @@ _nss_nis_getsecretkey (const char *netname, char *skey, char *passwd,
|
||||
int *errnop)
|
||||
{
|
||||
enum nss_status retval;
|
||||
char buf[1024];
|
||||
char buf[2 * (HEXKEYBYTES + 1)];
|
||||
char *domain, *result;
|
||||
int len;
|
||||
|
||||
@ -98,7 +103,9 @@ _nss_nis_getsecretkey (const char *netname, char *skey, char *passwd,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -109,15 +116,16 @@ _nss_nis_getsecretkey (const char *netname, char *skey, char *passwd,
|
||||
if (p == NULL)
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
p++;
|
||||
strcpy (buf, p);
|
||||
++p;
|
||||
strncpy (buf, p, 2 * (HEXKEYBYTES + 1));
|
||||
buf[2 * (HEXKEYBYTES + 1)] = '\0';
|
||||
if (!xdecrypt (buf, passwd))
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
if (memcmp (buf, &(buf[HEXKEYBYTES]), KEYCHECKSUMSIZE) != 0)
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
buf[HEXKEYBYTES] = 0;
|
||||
buf[HEXKEYBYTES] = '\0';
|
||||
strcpy (skey, buf);
|
||||
}
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
@ -106,7 +106,9 @@ internal_nis_getpwent_r (struct passwd *pwd, char *buffer, size_t buflen,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -231,7 +233,9 @@ _nss_nis_getpwnam_r (const char *name, struct passwd *pwd,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -302,7 +306,10 @@ _nss_nis_getpwnam_r (const char *name, struct passwd *pwd,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
else
|
||||
return NSS_STATUS_SUCCESS;
|
||||
@ -329,7 +336,9 @@ _nss_nis_getpwuid_r (uid_t uid, struct passwd *pwd,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -400,8 +409,11 @@ _nss_nis_getpwuid_r (uid_t uid, struct passwd *pwd,
|
||||
{
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
else
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
else
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -167,7 +167,10 @@ internal_nis_getrpcent_r (struct rpcent *rpc, char *buffer, size_t buflen,
|
||||
do
|
||||
{
|
||||
if (data->next == NULL)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
p = strncpy (buffer, data->next->val, buflen);
|
||||
while (isspace (*p))
|
||||
++p;
|
||||
@ -242,7 +245,10 @@ _nss_nis_getrpcbyname_r (const char *name, struct rpcent *rpc,
|
||||
internal_nis_endrpcent (&data);
|
||||
|
||||
if (!found && status == NSS_STATUS_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
else
|
||||
return status;
|
||||
}
|
||||
@ -267,7 +273,9 @@ _nss_nis_getrpcbynumber_r (int number, struct rpcent *rpc,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -292,7 +300,10 @@ _nss_nis_getrpcbynumber_r (int number, struct rpcent *rpc,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
else
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -166,7 +166,10 @@ internal_nis_getservent_r (struct servent *serv, char *buffer,
|
||||
do
|
||||
{
|
||||
if (data->next == NULL)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
p = strncpy (buffer, data->next->val, buflen);
|
||||
while (isspace (*p))
|
||||
++p;
|
||||
@ -236,7 +239,10 @@ _nss_nis_getservbyname_r (const char *name, char *protocol,
|
||||
internal_nis_endservent (&data);
|
||||
|
||||
if (!found && status == NSS_STATUS_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
else
|
||||
return status;
|
||||
}
|
||||
@ -270,7 +276,10 @@ _nss_nis_getservbyport_r (int port, char *protocol, struct servent *serv,
|
||||
internal_nis_endservent (&data);
|
||||
|
||||
if (!found && status == NSS_STATUS_SUCCESS)
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
else
|
||||
return status;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -104,7 +104,9 @@ internal_nis_getspent_r (struct spwd *sp, char *buffer, size_t buflen,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -178,7 +180,9 @@ _nss_nis_getspnam_r (const char *name, struct spwd *sp,
|
||||
|
||||
if (retval != NSS_STATUS_SUCCESS)
|
||||
{
|
||||
if (retval == NSS_STATUS_TRYAGAIN)
|
||||
if (retval == NSS_STATUS_NOTFOUND)
|
||||
*errnop = ENOENT;
|
||||
else if (retval == NSS_STATUS_TRYAGAIN)
|
||||
*errnop = errno;
|
||||
return retval;
|
||||
}
|
||||
@ -202,7 +206,10 @@ _nss_nis_getspnam_r (const char *name, struct spwd *sp,
|
||||
if (parse_res == -1)
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
else
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
*errnop = ENOENT;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
}
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
562
nis/rpcsvc/yp.h
562
nis/rpcsvc/yp.h
@ -30,6 +30,7 @@
|
||||
#ifndef __RPCSVC_YP_H__
|
||||
#define __RPCSVC_YP_H__
|
||||
|
||||
#include <features.h>
|
||||
#include <rpc/rpc.h>
|
||||
|
||||
#define YPMAXRECORD 1024
|
||||
@ -51,14 +52,6 @@ enum ypstat {
|
||||
YP_VERS = -8,
|
||||
};
|
||||
typedef enum ypstat ypstat;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypstat(XDR *, ypstat*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypstat(XDR *, ypstat*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypstat();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
enum ypxfrstat {
|
||||
YPXFR_SUCC = 1,
|
||||
@ -79,543 +72,266 @@ enum ypxfrstat {
|
||||
YPXFR_REFUSED = -14,
|
||||
};
|
||||
typedef enum ypxfrstat ypxfrstat;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypxfrstat(XDR *, ypxfrstat*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypxfrstat(XDR *, ypxfrstat*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypxfrstat();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
typedef char *domainname;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_domainname(XDR *, domainname*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_domainname(XDR *, domainname*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_domainname();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
typedef char *mapname;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_mapname(XDR *, mapname*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_mapname(XDR *, mapname*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_mapname();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
typedef char *peername;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_peername(XDR *, peername*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_peername(XDR *, peername*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_peername();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
typedef struct {
|
||||
u_int keydat_len;
|
||||
char *keydat_val;
|
||||
u_int keydat_len;
|
||||
char *keydat_val;
|
||||
} keydat;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_keydat(XDR *, keydat*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_keydat(XDR *, keydat*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_keydat();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
typedef struct {
|
||||
u_int valdat_len;
|
||||
char *valdat_val;
|
||||
u_int valdat_len;
|
||||
char *valdat_val;
|
||||
} valdat;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_valdat(XDR *, valdat*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_valdat(XDR *, valdat*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_valdat();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypmap_parms {
|
||||
domainname domain;
|
||||
mapname map;
|
||||
u_int ordernum;
|
||||
peername peer;
|
||||
domainname domain;
|
||||
mapname map;
|
||||
u_int ordernum;
|
||||
peername peer;
|
||||
};
|
||||
typedef struct ypmap_parms ypmap_parms;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypmap_parms(XDR *, ypmap_parms*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypmap_parms(XDR *, ypmap_parms*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypmap_parms();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypreq_key {
|
||||
domainname domain;
|
||||
mapname map;
|
||||
keydat key;
|
||||
domainname domain;
|
||||
mapname map;
|
||||
keydat key;
|
||||
};
|
||||
typedef struct ypreq_key ypreq_key;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypreq_key(XDR *, ypreq_key*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypreq_key(XDR *, ypreq_key*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypreq_key();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypreq_nokey {
|
||||
domainname domain;
|
||||
mapname map;
|
||||
domainname domain;
|
||||
mapname map;
|
||||
};
|
||||
typedef struct ypreq_nokey ypreq_nokey;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypreq_nokey(XDR *, ypreq_nokey*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypreq_nokey(XDR *, ypreq_nokey*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypreq_nokey();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypreq_xfr {
|
||||
ypmap_parms map_parms;
|
||||
u_int transid;
|
||||
u_int prog;
|
||||
u_int port;
|
||||
ypmap_parms map_parms;
|
||||
u_int transid;
|
||||
u_int prog;
|
||||
u_int port;
|
||||
};
|
||||
typedef struct ypreq_xfr ypreq_xfr;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypreq_xfr(XDR *, ypreq_xfr*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypreq_xfr(XDR *, ypreq_xfr*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypreq_xfr();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypresp_val {
|
||||
ypstat stat;
|
||||
valdat val;
|
||||
ypstat stat;
|
||||
valdat val;
|
||||
};
|
||||
typedef struct ypresp_val ypresp_val;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypresp_val(XDR *, ypresp_val*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypresp_val(XDR *, ypresp_val*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypresp_val();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypresp_key_val {
|
||||
ypstat stat;
|
||||
ypstat stat;
|
||||
#ifdef STUPID_SUN_BUG
|
||||
/* This is the form as distributed by Sun. But even the Sun NIS
|
||||
servers expect the values in the other order. So their
|
||||
implementation somehow must change the order internally. We
|
||||
don't want to follow this bad example since the user should be
|
||||
able to use rpcgen on this file. */
|
||||
keydat key;
|
||||
valdat val;
|
||||
/* This is the form as distributed by Sun. But even the Sun NIS
|
||||
servers expect the values in the other order. So their
|
||||
implementation somehow must change the order internally. We
|
||||
don't want to follow this bad example since the user should be
|
||||
able to use rpcgen on this file. */
|
||||
keydat key;
|
||||
valdat val;
|
||||
#else
|
||||
valdat val;
|
||||
keydat key;
|
||||
valdat val;
|
||||
keydat key;
|
||||
#endif
|
||||
};
|
||||
typedef struct ypresp_key_val ypresp_key_val;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypresp_key_val(XDR *, ypresp_key_val*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypresp_key_val(XDR *, ypresp_key_val*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypresp_key_val();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypresp_master {
|
||||
ypstat stat;
|
||||
peername peer;
|
||||
ypstat stat;
|
||||
peername peer;
|
||||
};
|
||||
typedef struct ypresp_master ypresp_master;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypresp_master(XDR *, ypresp_master*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypresp_master(XDR *, ypresp_master*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypresp_master();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypresp_order {
|
||||
ypstat stat;
|
||||
u_int ordernum;
|
||||
ypstat stat;
|
||||
u_int ordernum;
|
||||
};
|
||||
typedef struct ypresp_order ypresp_order;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypresp_order(XDR *, ypresp_order*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypresp_order(XDR *, ypresp_order*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypresp_order();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypresp_all {
|
||||
bool_t more;
|
||||
union {
|
||||
ypresp_key_val val;
|
||||
} ypresp_all_u;
|
||||
bool_t more;
|
||||
union {
|
||||
ypresp_key_val val;
|
||||
} ypresp_all_u;
|
||||
};
|
||||
typedef struct ypresp_all ypresp_all;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypresp_all(XDR *, ypresp_all*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypresp_all(XDR *, ypresp_all*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypresp_all();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypresp_xfr {
|
||||
u_int transid;
|
||||
ypxfrstat xfrstat;
|
||||
u_int transid;
|
||||
ypxfrstat xfrstat;
|
||||
};
|
||||
typedef struct ypresp_xfr ypresp_xfr;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypresp_xfr(XDR *, ypresp_xfr*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypresp_xfr(XDR *, ypresp_xfr*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypresp_xfr();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypmaplist {
|
||||
mapname map;
|
||||
struct ypmaplist *next;
|
||||
mapname map;
|
||||
struct ypmaplist *next;
|
||||
};
|
||||
typedef struct ypmaplist ypmaplist;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypmaplist(XDR *, ypmaplist*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypmaplist(XDR *, ypmaplist*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypmaplist();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypresp_maplist {
|
||||
ypstat stat;
|
||||
ypmaplist *maps;
|
||||
ypstat stat;
|
||||
ypmaplist *maps;
|
||||
};
|
||||
typedef struct ypresp_maplist ypresp_maplist;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypresp_maplist(XDR *, ypresp_maplist*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypresp_maplist(XDR *, ypresp_maplist*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypresp_maplist();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
enum yppush_status {
|
||||
YPPUSH_SUCC = 1,
|
||||
YPPUSH_AGE = 2,
|
||||
YPPUSH_NOMAP = -1,
|
||||
YPPUSH_NODOM = -2,
|
||||
YPPUSH_RSRC = -3,
|
||||
YPPUSH_RPC = -4,
|
||||
YPPUSH_MADDR = -5,
|
||||
YPPUSH_YPERR = -6,
|
||||
YPPUSH_BADARGS = -7,
|
||||
YPPUSH_DBM = -8,
|
||||
YPPUSH_FILE = -9,
|
||||
YPPUSH_SKEW = -10,
|
||||
YPPUSH_CLEAR = -11,
|
||||
YPPUSH_FORCE = -12,
|
||||
YPPUSH_XFRERR = -13,
|
||||
YPPUSH_REFUSED = -14,
|
||||
YPPUSH_SUCC = 1,
|
||||
YPPUSH_AGE = 2,
|
||||
YPPUSH_NOMAP = -1,
|
||||
YPPUSH_NODOM = -2,
|
||||
YPPUSH_RSRC = -3,
|
||||
YPPUSH_RPC = -4,
|
||||
YPPUSH_MADDR = -5,
|
||||
YPPUSH_YPERR = -6,
|
||||
YPPUSH_BADARGS = -7,
|
||||
YPPUSH_DBM = -8,
|
||||
YPPUSH_FILE = -9,
|
||||
YPPUSH_SKEW = -10,
|
||||
YPPUSH_CLEAR = -11,
|
||||
YPPUSH_FORCE = -12,
|
||||
YPPUSH_XFRERR = -13,
|
||||
YPPUSH_REFUSED = -14,
|
||||
};
|
||||
typedef enum yppush_status yppush_status;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_yppush_status(XDR *, yppush_status*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_yppush_status(XDR *, yppush_status*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_yppush_status();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct yppushresp_xfr {
|
||||
u_int transid;
|
||||
yppush_status status;
|
||||
u_int transid;
|
||||
yppush_status status;
|
||||
};
|
||||
typedef struct yppushresp_xfr yppushresp_xfr;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_yppushresp_xfr(XDR *, yppushresp_xfr*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_yppushresp_xfr(XDR *, yppushresp_xfr*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_yppushresp_xfr();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
enum ypbind_resptype {
|
||||
YPBIND_SUCC_VAL = 1,
|
||||
YPBIND_FAIL_VAL = 2,
|
||||
YPBIND_SUCC_VAL = 1,
|
||||
YPBIND_FAIL_VAL = 2,
|
||||
};
|
||||
typedef enum ypbind_resptype ypbind_resptype;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypbind_resptype(XDR *, ypbind_resptype*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypbind_resptype(XDR *, ypbind_resptype*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypbind_resptype();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypbind_binding {
|
||||
char ypbind_binding_addr[4];
|
||||
char ypbind_binding_port[2];
|
||||
char ypbind_binding_addr[4];
|
||||
char ypbind_binding_port[2];
|
||||
};
|
||||
typedef struct ypbind_binding ypbind_binding;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypbind_binding(XDR *, ypbind_binding*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypbind_binding(XDR *, ypbind_binding*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypbind_binding();
|
||||
#endif /* Old Style C */
|
||||
|
||||
|
||||
struct ypbind_resp {
|
||||
ypbind_resptype ypbind_status;
|
||||
union {
|
||||
u_int ypbind_error;
|
||||
ypbind_binding ypbind_bindinfo;
|
||||
} ypbind_resp_u;
|
||||
ypbind_resptype ypbind_status;
|
||||
union {
|
||||
u_int ypbind_error;
|
||||
ypbind_binding ypbind_bindinfo;
|
||||
} ypbind_resp_u;
|
||||
};
|
||||
typedef struct ypbind_resp ypbind_resp;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypbind_resp(XDR *, ypbind_resp*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypbind_resp(XDR *, ypbind_resp*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypbind_resp();
|
||||
#endif /* Old Style C */
|
||||
|
||||
#define YPBIND_ERR_ERR 1
|
||||
#define YPBIND_ERR_NOSERV 2
|
||||
#define YPBIND_ERR_RESC 3
|
||||
|
||||
struct ypbind_setdom {
|
||||
domainname ypsetdom_domain;
|
||||
ypbind_binding ypsetdom_binding;
|
||||
u_int ypsetdom_vers;
|
||||
domainname ypsetdom_domain;
|
||||
ypbind_binding ypsetdom_binding;
|
||||
u_int ypsetdom_vers;
|
||||
};
|
||||
typedef struct ypbind_setdom ypbind_setdom;
|
||||
#ifdef __cplusplus
|
||||
extern "C" bool_t xdr_ypbind_setdom(XDR *, ypbind_setdom*);
|
||||
#elif __STDC__
|
||||
extern bool_t xdr_ypbind_setdom(XDR *, ypbind_setdom*);
|
||||
#else /* Old Style C */
|
||||
bool_t xdr_ypbind_setdom();
|
||||
#endif /* Old Style C */
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define YPPROG ((u_long)100004)
|
||||
#define YPVERS ((u_long)2)
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define YPPROC_NULL ((u_long)0)
|
||||
extern "C" void * ypproc_null_2(void *, CLIENT *);
|
||||
extern "C" void * ypproc_null_2_svc(void *, struct svc_req *);
|
||||
extern void *ypproc_null_2 __P ((void *, CLIENT *));
|
||||
extern void *ypproc_null_2_svc __P ((void *, struct svc_req *));
|
||||
#define YPPROC_DOMAIN ((u_long)1)
|
||||
extern "C" bool_t * ypproc_domain_2(domainname *, CLIENT *);
|
||||
extern "C" bool_t * ypproc_domain_2_svc(domainname *, struct svc_req *);
|
||||
extern bool_t *ypproc_domain_2 __P ((domainname *, CLIENT *));
|
||||
extern bool_t *ypproc_domain_2_svc __P ((domainname *, struct svc_req *));
|
||||
#define YPPROC_DOMAIN_NONACK ((u_long)2)
|
||||
extern "C" bool_t * ypproc_domain_nonack_2(domainname *, CLIENT *);
|
||||
extern "C" bool_t * ypproc_domain_nonack_2_svc(domainname *, struct svc_req *);
|
||||
extern bool_t *ypproc_domain_nonack_2 __P ((domainname *, CLIENT *));
|
||||
extern bool_t *ypproc_domain_nonack_2_svc __P ((domainname *, struct svc_req *));
|
||||
#define YPPROC_MATCH ((u_long)3)
|
||||
extern "C" ypresp_val * ypproc_match_2(ypreq_key *, CLIENT *);
|
||||
extern "C" ypresp_val * ypproc_match_2_svc(ypreq_key *, struct svc_req *);
|
||||
extern ypresp_val *ypproc_match_2 __P ((ypreq_key *, CLIENT *));
|
||||
extern ypresp_val *ypproc_match_2_svc __P ((ypreq_key *, struct svc_req *));
|
||||
#define YPPROC_FIRST ((u_long)4)
|
||||
extern "C" ypresp_key_val * ypproc_first_2(ypreq_key *, CLIENT *);
|
||||
extern "C" ypresp_key_val * ypproc_first_2_svc(ypreq_key *, struct svc_req *);
|
||||
extern ypresp_key_val *ypproc_first_2 __P ((ypreq_key *, CLIENT *));
|
||||
extern ypresp_key_val *ypproc_first_2_svc __P ((ypreq_key *, struct svc_req *));
|
||||
#define YPPROC_NEXT ((u_long)5)
|
||||
extern "C" ypresp_key_val * ypproc_next_2(ypreq_key *, CLIENT *);
|
||||
extern "C" ypresp_key_val * ypproc_next_2_svc(ypreq_key *, struct svc_req *);
|
||||
extern ypresp_key_val *ypproc_next_2 __P ((ypreq_key *, CLIENT *));
|
||||
extern ypresp_key_val *ypproc_next_2_svc __P ((ypreq_key *, struct svc_req *));
|
||||
#define YPPROC_XFR ((u_long)6)
|
||||
extern "C" ypresp_xfr * ypproc_xfr_2(ypreq_xfr *, CLIENT *);
|
||||
extern "C" ypresp_xfr * ypproc_xfr_2_svc(ypreq_xfr *, struct svc_req *);
|
||||
extern ypresp_xfr *ypproc_xfr_2 __P ((ypreq_xfr *, CLIENT *));
|
||||
extern ypresp_xfr *ypproc_xfr_2_svc __P ((ypreq_xfr *, struct svc_req *));
|
||||
#define YPPROC_CLEAR ((u_long)7)
|
||||
extern "C" void * ypproc_clear_2(void *, CLIENT *);
|
||||
extern "C" void * ypproc_clear_2_svc(void *, struct svc_req *);
|
||||
extern void *ypproc_clear_2 __P ((void *, CLIENT *));
|
||||
extern void *ypproc_clear_2_svc __P ((void *, struct svc_req *));
|
||||
#define YPPROC_ALL ((u_long)8)
|
||||
extern "C" ypresp_all * ypproc_all_2(ypreq_nokey *, CLIENT *);
|
||||
extern "C" ypresp_all * ypproc_all_2_svc(ypreq_nokey *, struct svc_req *);
|
||||
extern ypresp_all *ypproc_all_2 __P ((ypreq_nokey *, CLIENT *));
|
||||
extern ypresp_all *ypproc_all_2_svc __P ((ypreq_nokey *, struct svc_req *));
|
||||
#define YPPROC_MASTER ((u_long)9)
|
||||
extern "C" ypresp_master * ypproc_master_2(ypreq_nokey *, CLIENT *);
|
||||
extern "C" ypresp_master * ypproc_master_2_svc(ypreq_nokey *, struct svc_req *);
|
||||
extern ypresp_master *ypproc_master_2 __P ((ypreq_nokey *, CLIENT *));
|
||||
extern ypresp_master *ypproc_master_2_svc __P ((ypreq_nokey *, struct svc_req *));
|
||||
#define YPPROC_ORDER ((u_long)10)
|
||||
extern "C" ypresp_order * ypproc_order_2(ypreq_nokey *, CLIENT *);
|
||||
extern "C" ypresp_order * ypproc_order_2_svc(ypreq_nokey *, struct svc_req *);
|
||||
extern ypresp_order *ypproc_order_2 __P ((ypreq_nokey *, CLIENT *));
|
||||
extern ypresp_order *ypproc_order_2_svc __P ((ypreq_nokey *, struct svc_req *));
|
||||
#define YPPROC_MAPLIST ((u_long)11)
|
||||
extern "C" ypresp_maplist * ypproc_maplist_2(domainname *, CLIENT *);
|
||||
extern "C" ypresp_maplist * ypproc_maplist_2_svc(domainname *, struct svc_req *);
|
||||
extern ypresp_maplist *ypproc_maplist_2 __P ((domainname *, CLIENT *));
|
||||
extern ypresp_maplist *ypproc_maplist_2_svc __P ((domainname *, struct svc_req *));
|
||||
extern int ypprog_2_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
|
||||
|
||||
#elif __STDC__
|
||||
#define YPPROC_NULL ((u_long)0)
|
||||
extern void * ypproc_null_2(void *, CLIENT *);
|
||||
extern void * ypproc_null_2_svc(void *, struct svc_req *);
|
||||
#define YPPROC_DOMAIN ((u_long)1)
|
||||
extern bool_t * ypproc_domain_2(domainname *, CLIENT *);
|
||||
extern bool_t * ypproc_domain_2_svc(domainname *, struct svc_req *);
|
||||
#define YPPROC_DOMAIN_NONACK ((u_long)2)
|
||||
extern bool_t * ypproc_domain_nonack_2(domainname *, CLIENT *);
|
||||
extern bool_t * ypproc_domain_nonack_2_svc(domainname *, struct svc_req *);
|
||||
#define YPPROC_MATCH ((u_long)3)
|
||||
extern ypresp_val * ypproc_match_2(ypreq_key *, CLIENT *);
|
||||
extern ypresp_val * ypproc_match_2_svc(ypreq_key *, struct svc_req *);
|
||||
#define YPPROC_FIRST ((u_long)4)
|
||||
extern ypresp_key_val * ypproc_first_2(ypreq_key *, CLIENT *);
|
||||
extern ypresp_key_val * ypproc_first_2_svc(ypreq_key *, struct svc_req *);
|
||||
#define YPPROC_NEXT ((u_long)5)
|
||||
extern ypresp_key_val * ypproc_next_2(ypreq_key *, CLIENT *);
|
||||
extern ypresp_key_val * ypproc_next_2_svc(ypreq_key *, struct svc_req *);
|
||||
#define YPPROC_XFR ((u_long)6)
|
||||
extern ypresp_xfr * ypproc_xfr_2(ypreq_xfr *, CLIENT *);
|
||||
extern ypresp_xfr * ypproc_xfr_2_svc(ypreq_xfr *, struct svc_req *);
|
||||
#define YPPROC_CLEAR ((u_long)7)
|
||||
extern void * ypproc_clear_2(void *, CLIENT *);
|
||||
extern void * ypproc_clear_2_svc(void *, struct svc_req *);
|
||||
#define YPPROC_ALL ((u_long)8)
|
||||
extern ypresp_all * ypproc_all_2(ypreq_nokey *, CLIENT *);
|
||||
extern ypresp_all * ypproc_all_2_svc(ypreq_nokey *, struct svc_req *);
|
||||
#define YPPROC_MASTER ((u_long)9)
|
||||
extern ypresp_master * ypproc_master_2(ypreq_nokey *, CLIENT *);
|
||||
extern ypresp_master * ypproc_master_2_svc(ypreq_nokey *, struct svc_req *);
|
||||
#define YPPROC_ORDER ((u_long)10)
|
||||
extern ypresp_order * ypproc_order_2(ypreq_nokey *, CLIENT *);
|
||||
extern ypresp_order * ypproc_order_2_svc(ypreq_nokey *, struct svc_req *);
|
||||
#define YPPROC_MAPLIST ((u_long)11)
|
||||
extern ypresp_maplist * ypproc_maplist_2(domainname *, CLIENT *);
|
||||
extern ypresp_maplist * ypproc_maplist_2_svc(domainname *, struct svc_req *);
|
||||
|
||||
#else /* Old Style C */
|
||||
#define YPPROC_NULL ((u_long)0)
|
||||
extern void * ypproc_null_2();
|
||||
extern void * ypproc_null_2_svc();
|
||||
#define YPPROC_DOMAIN ((u_long)1)
|
||||
extern bool_t * ypproc_domain_2();
|
||||
extern bool_t * ypproc_domain_2_svc();
|
||||
#define YPPROC_DOMAIN_NONACK ((u_long)2)
|
||||
extern bool_t * ypproc_domain_nonack_2();
|
||||
extern bool_t * ypproc_domain_nonack_2_svc();
|
||||
#define YPPROC_MATCH ((u_long)3)
|
||||
extern ypresp_val * ypproc_match_2();
|
||||
extern ypresp_val * ypproc_match_2_svc();
|
||||
#define YPPROC_FIRST ((u_long)4)
|
||||
extern ypresp_key_val * ypproc_first_2();
|
||||
extern ypresp_key_val * ypproc_first_2_svc();
|
||||
#define YPPROC_NEXT ((u_long)5)
|
||||
extern ypresp_key_val * ypproc_next_2();
|
||||
extern ypresp_key_val * ypproc_next_2_svc();
|
||||
#define YPPROC_XFR ((u_long)6)
|
||||
extern ypresp_xfr * ypproc_xfr_2();
|
||||
extern ypresp_xfr * ypproc_xfr_2_svc();
|
||||
#define YPPROC_CLEAR ((u_long)7)
|
||||
extern void * ypproc_clear_2();
|
||||
extern void * ypproc_clear_2_svc();
|
||||
#define YPPROC_ALL ((u_long)8)
|
||||
extern ypresp_all * ypproc_all_2();
|
||||
extern ypresp_all * ypproc_all_2_svc();
|
||||
#define YPPROC_MASTER ((u_long)9)
|
||||
extern ypresp_master * ypproc_master_2();
|
||||
extern ypresp_master * ypproc_master_2_svc();
|
||||
#define YPPROC_ORDER ((u_long)10)
|
||||
extern ypresp_order * ypproc_order_2();
|
||||
extern ypresp_order * ypproc_order_2_svc();
|
||||
#define YPPROC_MAPLIST ((u_long)11)
|
||||
extern ypresp_maplist * ypproc_maplist_2();
|
||||
extern ypresp_maplist * ypproc_maplist_2_svc();
|
||||
#endif /* Old Style C */
|
||||
|
||||
#define YPPUSH_XFRRESPPROG ((u_long)0x40000000)
|
||||
#define YPPUSH_XFRRESPVERS ((u_long)1)
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define YPPUSHPROC_NULL ((u_long)0)
|
||||
extern "C" void * yppushproc_null_1(void *, CLIENT *);
|
||||
extern "C" void * yppushproc_null_1_svc(void *, struct svc_req *);
|
||||
extern void *yppushproc_null_1 __P ((void *, CLIENT *));
|
||||
extern void *yppushproc_null_1_svc __P ((void *, struct svc_req *));
|
||||
#define YPPUSHPROC_XFRRESP ((u_long)1)
|
||||
extern "C" void * yppushproc_xfrresp_1(yppushresp_xfr *, CLIENT *);
|
||||
extern "C" void * yppushproc_xfrresp_1_svc(yppushresp_xfr *, struct svc_req *);
|
||||
extern void *yppushproc_xfrresp_1 __P ((yppushresp_xfr *, CLIENT *));
|
||||
extern void *yppushproc_xfrresp_1_svc __P ((yppushresp_xfr *, struct svc_req *));
|
||||
extern int yppush_xfrrespprog_1_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
|
||||
|
||||
#elif __STDC__
|
||||
#define YPPUSHPROC_NULL ((u_long)0)
|
||||
extern void * yppushproc_null_1(void *, CLIENT *);
|
||||
extern void * yppushproc_null_1_svc(void *, struct svc_req *);
|
||||
#define YPPUSHPROC_XFRRESP ((u_long)1)
|
||||
extern void * yppushproc_xfrresp_1(yppushresp_xfr *, CLIENT *);
|
||||
extern void * yppushproc_xfrresp_1_svc(yppushresp_xfr *, struct svc_req *);
|
||||
|
||||
#else /* Old Style C */
|
||||
#define YPPUSHPROC_NULL ((u_long)0)
|
||||
extern void * yppushproc_null_1();
|
||||
extern void * yppushproc_null_1_svc();
|
||||
#define YPPUSHPROC_XFRRESP ((u_long)1)
|
||||
extern void * yppushproc_xfrresp_1();
|
||||
extern void * yppushproc_xfrresp_1_svc();
|
||||
#endif /* Old Style C */
|
||||
|
||||
#define YPBINDPROG ((u_long)100007)
|
||||
#define YPBINDVERS ((u_long)2)
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define YPBINDPROC_NULL ((u_long)0)
|
||||
extern "C" void * ypbindproc_null_2(void *, CLIENT *);
|
||||
extern "C" void * ypbindproc_null_2_svc(void *, struct svc_req *);
|
||||
extern void *ypbindproc_null_2 __P ((void *, CLIENT *));
|
||||
extern void *ypbindproc_null_2_svc __P ((void *, struct svc_req *));
|
||||
#define YPBINDPROC_DOMAIN ((u_long)1)
|
||||
extern "C" ypbind_resp * ypbindproc_domain_2(domainname *, CLIENT *);
|
||||
extern "C" ypbind_resp * ypbindproc_domain_2_svc(domainname *, struct svc_req *);
|
||||
extern ypbind_resp *ypbindproc_domain_2 __P ((domainname *, CLIENT *));
|
||||
extern ypbind_resp *ypbindproc_domain_2_svc __P ((domainname *, struct svc_req *));
|
||||
#define YPBINDPROC_SETDOM ((u_long)2)
|
||||
extern "C" void * ypbindproc_setdom_2(ypbind_setdom *, CLIENT *);
|
||||
extern "C" void * ypbindproc_setdom_2_svc(ypbind_setdom *, struct svc_req *);
|
||||
extern void *ypbindproc_setdom_2 __P ((ypbind_setdom *, CLIENT *));
|
||||
extern void *ypbindproc_setdom_2_svc __P ((ypbind_setdom *, struct svc_req *));
|
||||
extern int ypbindprog_2_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
|
||||
|
||||
#elif __STDC__
|
||||
#define YPBINDPROC_NULL ((u_long)0)
|
||||
extern void * ypbindproc_null_2(void *, CLIENT *);
|
||||
extern void * ypbindproc_null_2_svc(void *, struct svc_req *);
|
||||
#define YPBINDPROC_DOMAIN ((u_long)1)
|
||||
extern ypbind_resp * ypbindproc_domain_2(domainname *, CLIENT *);
|
||||
extern ypbind_resp * ypbindproc_domain_2_svc(domainname *, struct svc_req *);
|
||||
#define YPBINDPROC_SETDOM ((u_long)2)
|
||||
extern void * ypbindproc_setdom_2(ypbind_setdom *, CLIENT *);
|
||||
extern void * ypbindproc_setdom_2_svc(ypbind_setdom *, struct svc_req *);
|
||||
|
||||
#else /* Old Style C */
|
||||
#define YPBINDPROC_NULL ((u_long)0)
|
||||
extern void * ypbindproc_null_2();
|
||||
extern void * ypbindproc_null_2_svc();
|
||||
#define YPBINDPROC_DOMAIN ((u_long)1)
|
||||
extern ypbind_resp * ypbindproc_domain_2();
|
||||
extern ypbind_resp * ypbindproc_domain_2_svc();
|
||||
#define YPBINDPROC_SETDOM ((u_long)2)
|
||||
extern void * ypbindproc_setdom_2();
|
||||
extern void * ypbindproc_setdom_2_svc();
|
||||
#endif /* Old Style C */
|
||||
extern bool_t xdr_ypstat __P ((XDR *, ypstat*));
|
||||
extern bool_t xdr_ypxfrstat __P ((XDR *, ypxfrstat*));
|
||||
extern bool_t xdr_domainname __P ((XDR *, domainname*));
|
||||
extern bool_t xdr_mapname __P ((XDR *, mapname*));
|
||||
extern bool_t xdr_peername __P ((XDR *, peername*));
|
||||
extern bool_t xdr_keydat __P ((XDR *, keydat*));
|
||||
extern bool_t xdr_valdat __P ((XDR *, valdat*));
|
||||
extern bool_t xdr_ypmap_parms __P ((XDR *, ypmap_parms*));
|
||||
extern bool_t xdr_ypreq_key __P ((XDR *, ypreq_key*));
|
||||
extern bool_t xdr_ypreq_nokey __P ((XDR *, ypreq_nokey*));
|
||||
extern bool_t xdr_ypreq_xfr __P ((XDR *, ypreq_xfr*));
|
||||
extern bool_t xdr_ypresp_val __P ((XDR *, ypresp_val*));
|
||||
extern bool_t xdr_ypresp_key_val __P ((XDR *, ypresp_key_val*));
|
||||
extern bool_t xdr_ypresp_master __P ((XDR *, ypresp_master*));
|
||||
extern bool_t xdr_ypresp_order __P ((XDR *, ypresp_order*));
|
||||
extern bool_t xdr_ypresp_all __P ((XDR *, ypresp_all*));
|
||||
extern bool_t xdr_ypresp_xfr __P ((XDR *, ypresp_xfr*));
|
||||
extern bool_t xdr_ypmaplist __P ((XDR *, ypmaplist*));
|
||||
extern bool_t xdr_ypresp_maplist __P ((XDR *, ypresp_maplist*));
|
||||
extern bool_t xdr_yppush_status __P ((XDR *, yppush_status*));
|
||||
extern bool_t xdr_yppushresp_xfr __P ((XDR *, yppushresp_xfr*));
|
||||
extern bool_t xdr_ypbind_resptype __P ((XDR *, ypbind_resptype*));
|
||||
extern bool_t xdr_ypbind_binding __P ((XDR *, ypbind_binding*));
|
||||
extern bool_t xdr_ypbind_resp __P ((XDR *, ypbind_resp*));
|
||||
extern bool_t xdr_ypbind_setdom __P ((XDR *, ypbind_setdom*));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !__RPCSVC_YP_H__ */
|
||||
|
386
nis/yp_xdr.c
386
nis/yp_xdr.c
@ -5,23 +5,23 @@
|
||||
* may copy or modify Sun RPC without charge, but are not authorized
|
||||
* to license or distribute it to anyone else except as part of a product or
|
||||
* program developed by the user.
|
||||
*
|
||||
*
|
||||
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
|
||||
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
|
||||
*
|
||||
*
|
||||
* Sun RPC is provided with no support and without any obligation on the
|
||||
* part of Sun Microsystems, Inc. to assist in its use, correction,
|
||||
* modification or enhancement.
|
||||
*
|
||||
*
|
||||
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
|
||||
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
|
||||
* OR ANY PART THEREOF.
|
||||
*
|
||||
*
|
||||
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
|
||||
* or profits or other special, indirect and consequential damages, even if
|
||||
* Sun has been advised of the possibility of such damages.
|
||||
*
|
||||
*
|
||||
* Sun Microsystems, Inc.
|
||||
* 2550 Garcia Avenue
|
||||
* Mountain View, California 94043
|
||||
@ -32,311 +32,269 @@
|
||||
bool_t
|
||||
xdr_ypstat (XDR *xdrs, ypstat *objp)
|
||||
{
|
||||
if (!xdr_enum(xdrs, (enum_t *)objp))
|
||||
return (FALSE);
|
||||
return (TRUE);
|
||||
if (!xdr_enum (xdrs, (enum_t *) objp))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypxfrstat(XDR *xdrs, ypxfrstat *objp)
|
||||
xdr_ypxfrstat (XDR *xdrs, ypxfrstat *objp)
|
||||
{
|
||||
if (!xdr_enum(xdrs, (enum_t *)objp)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_enum (xdrs, (enum_t *) objp))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_domainname(XDR *xdrs, domainname *objp)
|
||||
xdr_domainname (XDR *xdrs, domainname *objp)
|
||||
{
|
||||
if (!xdr_string(xdrs, objp, YPMAXDOMAIN)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_string (xdrs, objp, ~0))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_mapname(XDR *xdrs, mapname *objp)
|
||||
xdr_mapname (XDR *xdrs, mapname *objp)
|
||||
{
|
||||
if (!xdr_string(xdrs, objp, YPMAXMAP)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_string (xdrs, objp, ~0))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_peername(XDR *xdrs, peername *objp)
|
||||
xdr_peername (XDR *xdrs, peername *objp)
|
||||
{
|
||||
if (!xdr_string(xdrs, objp, YPMAXPEER)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_string (xdrs, objp, ~0))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_keydat(XDR *xdrs, keydat *objp)
|
||||
xdr_keydat (XDR *xdrs, keydat *objp)
|
||||
{
|
||||
if (!xdr_bytes(xdrs, (char **)&objp->keydat_val, (u_int *)&objp->keydat_len, YPMAXRECORD)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_bytes (xdrs, (char **) &objp->keydat_val,
|
||||
(u_int *) &objp->keydat_len, ~0))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_valdat(XDR *xdrs, valdat *objp)
|
||||
xdr_valdat (XDR *xdrs, valdat *objp)
|
||||
{
|
||||
if (!xdr_bytes(xdrs, (char **)&objp->valdat_val, (u_int *)&objp->valdat_len, YPMAXRECORD)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_bytes (xdrs, (char **) &objp->valdat_val,
|
||||
(u_int *) &objp->valdat_len, ~0))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypmap_parms(XDR *xdrs, ypmap_parms *objp)
|
||||
xdr_ypmap_parms (XDR *xdrs, ypmap_parms *objp)
|
||||
{
|
||||
if (!xdr_domainname(xdrs, &objp->domain)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_mapname(xdrs, &objp->map)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_u_int(xdrs, &objp->ordernum)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_peername(xdrs, &objp->peer)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_domainname (xdrs, &objp->domain))
|
||||
return FALSE;
|
||||
if (!xdr_mapname (xdrs, &objp->map))
|
||||
return FALSE;
|
||||
if (!xdr_u_int (xdrs, &objp->ordernum))
|
||||
return FALSE;
|
||||
if (!xdr_peername (xdrs, &objp->peer))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypreq_key(XDR *xdrs, ypreq_key *objp)
|
||||
xdr_ypreq_key (XDR *xdrs, ypreq_key *objp)
|
||||
{
|
||||
if (!xdr_domainname(xdrs, &objp->domain)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_mapname(xdrs, &objp->map)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_keydat(xdrs, &objp->key)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_domainname (xdrs, &objp->domain))
|
||||
return FALSE;
|
||||
if (!xdr_mapname (xdrs, &objp->map))
|
||||
return FALSE;
|
||||
if (!xdr_keydat (xdrs, &objp->key))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypreq_nokey(XDR *xdrs, ypreq_nokey *objp)
|
||||
xdr_ypreq_nokey (XDR *xdrs, ypreq_nokey *objp)
|
||||
{
|
||||
if (!xdr_domainname(xdrs, &objp->domain)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_mapname(xdrs, &objp->map)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_domainname (xdrs, &objp->domain))
|
||||
return FALSE;
|
||||
if (!xdr_mapname (xdrs, &objp->map))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypreq_xfr(XDR *xdrs, ypreq_xfr *objp)
|
||||
xdr_ypreq_xfr (XDR *xdrs, ypreq_xfr *objp)
|
||||
{
|
||||
if (!xdr_ypmap_parms(xdrs, &objp->map_parms)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_u_int(xdrs, &objp->transid)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_u_int(xdrs, &objp->prog)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_u_int(xdrs, &objp->port)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_ypmap_parms (xdrs, &objp->map_parms))
|
||||
return FALSE;
|
||||
if (!xdr_u_int (xdrs, &objp->transid))
|
||||
return FALSE;
|
||||
if (!xdr_u_int (xdrs, &objp->prog))
|
||||
return FALSE;
|
||||
if (!xdr_u_int (xdrs, &objp->port))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypresp_val(XDR *xdrs, ypresp_val *objp)
|
||||
xdr_ypresp_val (XDR *xdrs, ypresp_val *objp)
|
||||
{
|
||||
if (!xdr_ypstat(xdrs, &objp->stat)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_valdat(xdrs, &objp->val)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_ypstat (xdrs, &objp->stat))
|
||||
return FALSE;
|
||||
if (!xdr_valdat (xdrs, &objp->val))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypresp_key_val(XDR *xdrs, ypresp_key_val *objp)
|
||||
xdr_ypresp_key_val (XDR *xdrs, ypresp_key_val *objp)
|
||||
{
|
||||
if (!xdr_ypstat(xdrs, &objp->stat)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_valdat(xdrs, &objp->val)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_keydat(xdrs, &objp->key)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_ypstat (xdrs, &objp->stat))
|
||||
return FALSE;
|
||||
if (!xdr_valdat (xdrs, &objp->val))
|
||||
return FALSE;
|
||||
if (!xdr_keydat (xdrs, &objp->key))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypresp_master(XDR *xdrs, ypresp_master *objp)
|
||||
xdr_ypresp_master (XDR *xdrs, ypresp_master *objp)
|
||||
{
|
||||
if (!xdr_ypstat(xdrs, &objp->stat)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_peername(xdrs, &objp->peer)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_ypstat (xdrs, &objp->stat))
|
||||
return FALSE;
|
||||
if (!xdr_peername (xdrs, &objp->peer))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypresp_order(XDR *xdrs, ypresp_order *objp)
|
||||
xdr_ypresp_order (XDR *xdrs, ypresp_order *objp)
|
||||
{
|
||||
if (!xdr_ypstat(xdrs, &objp->stat)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_u_int(xdrs, &objp->ordernum)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_ypstat (xdrs, &objp->stat))
|
||||
return FALSE;
|
||||
if (!xdr_u_int (xdrs, &objp->ordernum))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypresp_all(XDR *xdrs, ypresp_all *objp)
|
||||
xdr_ypresp_all (XDR *xdrs, ypresp_all *objp)
|
||||
{
|
||||
if (!xdr_bool(xdrs, &objp->more)) {
|
||||
return (FALSE);
|
||||
}
|
||||
switch (objp->more) {
|
||||
case TRUE:
|
||||
if (!xdr_ypresp_key_val(xdrs, &objp->ypresp_all_u.val)) {
|
||||
return (FALSE);
|
||||
if (!xdr_bool (xdrs, &objp->more))
|
||||
return FALSE;
|
||||
switch (objp->more)
|
||||
{
|
||||
case TRUE:
|
||||
if (!xdr_ypresp_key_val (xdrs, &objp->ypresp_all_u.val))
|
||||
return FALSE;
|
||||
break;
|
||||
case FALSE:
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
case FALSE:
|
||||
break;
|
||||
default:
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypresp_xfr(XDR *xdrs, ypresp_xfr *objp)
|
||||
xdr_ypresp_xfr (XDR *xdrs, ypresp_xfr *objp)
|
||||
{
|
||||
if (!xdr_u_int(xdrs, &objp->transid)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_ypxfrstat(xdrs, &objp->xfrstat)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_u_int (xdrs, &objp->transid))
|
||||
return FALSE;
|
||||
if (!xdr_ypxfrstat (xdrs, &objp->xfrstat))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypmaplist(XDR *xdrs, ypmaplist *objp)
|
||||
xdr_ypmaplist (XDR *xdrs, ypmaplist *objp)
|
||||
{
|
||||
if (!xdr_mapname(xdrs, &objp->map)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_pointer(xdrs, (char **)&objp->next, sizeof(ypmaplist), (xdrproc_t)xdr_ypmaplist)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_mapname (xdrs, &objp->map))
|
||||
return FALSE;
|
||||
if (!xdr_pointer (xdrs, (char **) &objp->next, sizeof (ypmaplist),
|
||||
(xdrproc_t) xdr_ypmaplist))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypresp_maplist(XDR *xdrs, ypresp_maplist *objp)
|
||||
xdr_ypresp_maplist (XDR *xdrs, ypresp_maplist *objp)
|
||||
{
|
||||
if (!xdr_ypstat(xdrs, &objp->stat)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_pointer(xdrs, (char **)&objp->maps, sizeof(ypmaplist), (xdrproc_t)xdr_ypmaplist)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_ypstat (xdrs, &objp->stat))
|
||||
return FALSE;
|
||||
if (!xdr_pointer (xdrs, (char **) &objp->maps, sizeof (ypmaplist),
|
||||
(xdrproc_t) xdr_ypmaplist))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_yppush_status(XDR *xdrs, yppush_status *objp)
|
||||
xdr_yppush_status (XDR *xdrs, yppush_status *objp)
|
||||
{
|
||||
if (!xdr_enum(xdrs, (enum_t *)objp)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_enum (xdrs, (enum_t *) objp))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_yppushresp_xfr(XDR *xdrs, yppushresp_xfr *objp)
|
||||
xdr_yppushresp_xfr (XDR *xdrs, yppushresp_xfr *objp)
|
||||
{
|
||||
if (!xdr_u_int(xdrs, &objp->transid)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_yppush_status(xdrs, &objp->status)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_u_int (xdrs, &objp->transid))
|
||||
return FALSE;
|
||||
if (!xdr_yppush_status (xdrs, &objp->status))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypbind_resptype(XDR *xdrs, ypbind_resptype *objp)
|
||||
xdr_ypbind_resptype (XDR *xdrs, ypbind_resptype *objp)
|
||||
{
|
||||
if (!xdr_enum(xdrs, (enum_t *)objp)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_enum (xdrs, (enum_t *) objp))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypbind_binding(XDR *xdrs, ypbind_binding *objp)
|
||||
xdr_ypbind_binding (XDR *xdrs, ypbind_binding *objp)
|
||||
{
|
||||
if (!xdr_opaque(xdrs, objp->ypbind_binding_addr, 4)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_opaque(xdrs, objp->ypbind_binding_port, 2)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_opaque (xdrs, objp->ypbind_binding_addr, 4))
|
||||
return FALSE;
|
||||
if (!xdr_opaque (xdrs, objp->ypbind_binding_port, 2))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypbind_resp(XDR *xdrs, ypbind_resp *objp)
|
||||
xdr_ypbind_resp (XDR *xdrs, ypbind_resp *objp)
|
||||
{
|
||||
if (!xdr_ypbind_resptype(xdrs, &objp->ypbind_status)) {
|
||||
return (FALSE);
|
||||
}
|
||||
switch (objp->ypbind_status) {
|
||||
case YPBIND_FAIL_VAL:
|
||||
if (!xdr_u_int(xdrs, &objp->ypbind_resp_u.ypbind_error)) {
|
||||
return (FALSE);
|
||||
}
|
||||
break;
|
||||
case YPBIND_SUCC_VAL:
|
||||
if (!xdr_ypbind_binding(xdrs, &objp->ypbind_resp_u.ypbind_bindinfo)) {
|
||||
return (FALSE);
|
||||
if (!xdr_ypbind_resptype (xdrs, &objp->ypbind_status))
|
||||
return FALSE;
|
||||
switch (objp->ypbind_status)
|
||||
{
|
||||
case YPBIND_FAIL_VAL:
|
||||
if (!xdr_u_int (xdrs, &objp->ypbind_resp_u.ypbind_error))
|
||||
return FALSE;
|
||||
break;
|
||||
case YPBIND_SUCC_VAL:
|
||||
if (!xdr_ypbind_binding (xdrs, &objp->ypbind_resp_u.ypbind_bindinfo))
|
||||
return FALSE;
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypbind_setdom(XDR *xdrs, ypbind_setdom *objp)
|
||||
xdr_ypbind_setdom (XDR *xdrs, ypbind_setdom *objp)
|
||||
{
|
||||
if (!xdr_domainname(xdrs, &objp->ypsetdom_domain)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_ypbind_binding(xdrs, &objp->ypsetdom_binding)) {
|
||||
return (FALSE);
|
||||
}
|
||||
if (!xdr_u_int(xdrs, &objp->ypsetdom_vers)) {
|
||||
return (FALSE);
|
||||
}
|
||||
return (TRUE);
|
||||
if (!xdr_domainname (xdrs, &objp->ypsetdom_domain))
|
||||
return FALSE;
|
||||
if (!xdr_ypbind_binding (xdrs, &objp->ypsetdom_binding))
|
||||
return FALSE;
|
||||
if (!xdr_u_int (xdrs, &objp->ypsetdom_vers))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ __yp_bind (const char *domain, dom_binding **ypdb)
|
||||
|
||||
do
|
||||
{
|
||||
try++;
|
||||
++try;
|
||||
if (try > MAXTRIES)
|
||||
{
|
||||
if (is_new)
|
||||
@ -99,7 +99,7 @@ __yp_bind (const char *domain, dom_binding **ypdb)
|
||||
}
|
||||
|
||||
#if USE_BINDINGDIR
|
||||
if (ysd->dom_vers < 1 && try < 3)
|
||||
if (ysd->dom_vers < 1 && try == 1) /* Try binding dir only first time */
|
||||
{
|
||||
char path[sizeof (BINDINGDIR) - 1 + strlen (domain) + 10];
|
||||
struct iovec vec[2];
|
||||
|
@ -31,43 +31,35 @@
|
||||
* Copyright (c) 1986, 1990 by Sun Microsystems, Inc.
|
||||
*/
|
||||
|
||||
/* from @(#)ypupdate_prot.x 1.3 91/03/11 TIRPC 1.0 */
|
||||
|
||||
/*
|
||||
* Compiled from ypupdate_prot.x using rpcgen
|
||||
* This is NOT source code!
|
||||
* DO NOT EDIT THIS FILE!
|
||||
*/
|
||||
|
||||
|
||||
#include <rpcsvc/ypupd.h>
|
||||
|
||||
bool_t
|
||||
xdr_yp_buf (XDR * xdrs, yp_buf * objp)
|
||||
bool_t
|
||||
xdr_yp_buf (XDR *xdrs, yp_buf *objp)
|
||||
{
|
||||
if (!xdr_bytes (xdrs, (char **) &objp->yp_buf_val, (u_int *) & objp->yp_buf_len, MAXYPDATALEN))
|
||||
return (FALSE);
|
||||
return (TRUE);
|
||||
if (!xdr_bytes (xdrs, (char **) &objp->yp_buf_val,
|
||||
(u_int *) &objp->yp_buf_len, ~0))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypupdate_args (XDR * xdrs, ypupdate_args * objp)
|
||||
bool_t
|
||||
xdr_ypupdate_args (XDR *xdrs, ypupdate_args *objp)
|
||||
{
|
||||
if (!xdr_string (xdrs, &objp->mapname, MAXMAPNAMELEN))
|
||||
return (FALSE);
|
||||
if (!xdr_string (xdrs, &objp->mapname, ~0))
|
||||
return FALSE;
|
||||
if (!xdr_yp_buf (xdrs, &objp->key))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
if (!xdr_yp_buf (xdrs, &objp->datum))
|
||||
return (FALSE);
|
||||
return (TRUE);
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool_t
|
||||
xdr_ypdelete_args (XDR * xdrs, ypdelete_args * objp)
|
||||
bool_t
|
||||
xdr_ypdelete_args (XDR *xdrs, ypdelete_args *objp)
|
||||
{
|
||||
if (!xdr_string (xdrs, &objp->mapname, MAXMAPNAMELEN))
|
||||
return (FALSE);
|
||||
if (!xdr_string (xdrs, &objp->mapname, ~0))
|
||||
return FALSE;
|
||||
if (!xdr_yp_buf (xdrs, &objp->key))
|
||||
return (FALSE);
|
||||
return (TRUE);
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -219,7 +219,8 @@ extern unsigned long long int __strtoull_internal __P ((__const char *
|
||||
# endif
|
||||
#endif /* GCC */
|
||||
|
||||
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && __GNUC__ >= 2
|
||||
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ \
|
||||
&& defined __USE_EXTERN_INLINES
|
||||
/* Define inline functions which call the internal entry points. */
|
||||
|
||||
extern __inline double
|
||||
@ -306,7 +307,7 @@ atoll (__const char *__nptr)
|
||||
return strtoll (__nptr, (char **) NULL, 10);
|
||||
}
|
||||
# endif
|
||||
#endif /* Optimizing GCC >=2. */
|
||||
#endif /* Optimizing and Inlining. */
|
||||
|
||||
|
||||
#if defined __USE_SVID || defined __USE_XOPEN_EXTENDED
|
||||
|
@ -133,7 +133,7 @@ extern char *__argz_next __P ((char *argz, size_t __argz_len,
|
||||
extern char *argz_next __P ((char *argz, size_t __argz_len,
|
||||
__const char *entry));
|
||||
|
||||
#if defined __OPTIMIZE__ && __GNUC__ >= 2
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
extern inline char *
|
||||
__argz_next (char *__argz, size_t __argz_len, __const char *__entry)
|
||||
{
|
||||
@ -152,7 +152,7 @@ argz_next (char *__argz, size_t __argz_len, __const char *__entry)
|
||||
{
|
||||
return __argz_next (__argz, __argz_len, __entry);
|
||||
}
|
||||
#endif /* optimizing GCC2 */
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
@ -38,7 +38,7 @@ typedef unsigned long int __sigset_t;
|
||||
#define _SIGSET_H_fns 1
|
||||
|
||||
#ifndef _EXTERN_INLINE
|
||||
#define _EXTERN_INLINE extern __inline
|
||||
# define _EXTERN_INLINE extern __inline
|
||||
#endif
|
||||
|
||||
/* Return a mask that includes SIG only. The cast to `sigset_t' avoids
|
||||
@ -63,7 +63,8 @@ extern int __sigismember (__const __sigset_t *, int);
|
||||
extern int __sigaddset (__sigset_t *, int);
|
||||
extern int __sigdelset (__sigset_t *, int);
|
||||
|
||||
#define __SIGSETFN(NAME, BODY, CONST) \
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
# define __SIGSETFN(NAME, BODY, CONST) \
|
||||
_EXTERN_INLINE int \
|
||||
NAME (CONST __sigset_t *__set, int __sig) \
|
||||
{ \
|
||||
@ -75,7 +76,8 @@ __SIGSETFN (__sigismember, (*__set & __mask) ? 1 : 0, __const)
|
||||
__SIGSETFN (__sigaddset, ((*__set |= __mask), 0), )
|
||||
__SIGSETFN (__sigdelset, ((*__set &= ~__mask), 0), )
|
||||
|
||||
#undef __SIGSETFN
|
||||
# undef __SIGSETFN
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* ! _SIGSET_H_fns. */
|
||||
|
@ -253,6 +253,7 @@ extern char *alloca ();
|
||||
# define readdir(str) __readdir (str)
|
||||
# define getpwnam_r(name, bufp, buf, len, res) \
|
||||
__getpwnam_r (name, bufp, buf, len, res)
|
||||
# define __stat(fname, buf) __xstat (_STAT_VER, fname, buf)
|
||||
#endif
|
||||
|
||||
#if !(defined STDC_HEADERS || defined __GNU_LIBRARY__)
|
||||
|
@ -104,7 +104,8 @@ extern int __sigismember (__const __sigset_t *, int);
|
||||
extern int __sigaddset (__sigset_t *, int);
|
||||
extern int __sigdelset (__sigset_t *, int);
|
||||
|
||||
# define __SIGSETFN(NAME, BODY, CONST) \
|
||||
# ifdef __USE_EXTERN_INLINES
|
||||
# define __SIGSETFN(NAME, BODY, CONST) \
|
||||
_EXTERN_INLINE int \
|
||||
NAME (CONST __sigset_t *__set, int __sig) \
|
||||
{ \
|
||||
@ -117,7 +118,8 @@ __SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, __const)
|
||||
__SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
|
||||
__SIGSETFN (__sigdelset, ((__set->__val[__word] &= ~__mask), 0), )
|
||||
|
||||
#undef __SIGSETFN
|
||||
# undef __SIGSETFN
|
||||
# endif
|
||||
|
||||
|
||||
#endif /* ! _SIGSET_H_fns. */
|
||||
|
@ -48,9 +48,10 @@ typedef struct
|
||||
#define __SSELT(s) ((s) / __NSSBITS)
|
||||
#define __SSMASK(s) (1 << ((s) % __NSSBITS))
|
||||
|
||||
#ifndef _EXTERN_INLINE
|
||||
#define _EXTERN_INLINE extern __inline
|
||||
#endif
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
# ifndef _EXTERN_INLINE
|
||||
# define _EXTERN_INLINE extern __inline
|
||||
# endif
|
||||
|
||||
_EXTERN_INLINE int
|
||||
__sigemptyset (__sigset_t *__set)
|
||||
@ -92,5 +93,6 @@ __sigismember (__const __sigset_t *__set, int __sig)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
#endif /* use extern inlines. */
|
||||
|
||||
#endif /* ! _SIGSET_H_fns */
|
||||
|
@ -204,7 +204,7 @@ extern intmax_t wcstoimax __P ((__const wchar_t * __restrict __nptr,
|
||||
extern uintmax_t wcstoumax __P ((__const wchar_t * __restrict __nptr,
|
||||
wchar_t ** __restrict __endptr, int __base));
|
||||
|
||||
#if defined __GNUC__ && __GNUC__ >= 2 && defined __OPTIMIZE__
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
|
||||
/* Like `strtol' but convert to `intmax_t'. */
|
||||
# ifndef __strtoll_internal_defined
|
||||
@ -267,7 +267,7 @@ wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
|
||||
{
|
||||
return __wcstoull_internal (nptr, endptr, base, 0);
|
||||
}
|
||||
#endif /* GCC and Optimization. */
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
@ -210,7 +210,7 @@ extern intmax_t wcstoimax __P ((__const wchar_t * __restrict __nptr,
|
||||
extern uintmax_t wcstoumax __P ((__const wchar_t * __restrict __nptr,
|
||||
wchar_t ** __restrict __endptr, int __base));
|
||||
|
||||
#if defined __GNUC__ && __GNUC__ >= 2 && defined __OPTIMIZE__
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
|
||||
/* Like `strtol' but convert to `intmax_t'. */
|
||||
# ifndef __strtol_internal_defined
|
||||
@ -269,7 +269,7 @@ wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
|
||||
{
|
||||
return __wcstoul_internal (nptr, endptr, base, 0);
|
||||
}
|
||||
#endif /* GCC and Optimization. */
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
@ -234,7 +234,7 @@ extern size_t mbrlen __P ((__const char *__restrict __s, size_t __n,
|
||||
mbstate_t *__restrict __ps));
|
||||
|
||||
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ \
|
||||
&& (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7))
|
||||
&& defined __USE_EXTERN_INLINES
|
||||
/* Define inline function as optimization. */
|
||||
extern __inline size_t mbrlen (__const char *__restrict __s, size_t __n,
|
||||
mbstate_t *__restrict __ps)
|
||||
|
Loading…
x
Reference in New Issue
Block a user