/*  DO NOT EDIT THIS FILE.

    It has been auto-edited by fixincludes from:

	"/usr/include/pwd.h"

    This had to be done to correct non-standard usages in the
    original, manufacturer supplied header file.  */

/* @(#) $Revision: ../hdr/pwd.h@@/main/i80/4 $ */

#ifndef _PWD_INCLUDED /* allow multiple inclusions */
#define _PWD_INCLUDED

#ifndef _SYS_STDSYMS_INCLUDED
#  include <sys/stdsyms.h>
#endif /* _SYS_STDSYMS_INCLUDED */
#ifndef _SYS_TYPES_INCLUDED
#  include <sys/types.h>
#endif

#ifndef _FAST_SHLIB_CALLS
#  if defined(_HP_SHLIB_CALLS) && !defined(__LP64__)
#    define _FAST_SHLIB_CALLS
#  endif
#endif /* _FAST_SHLIB_CALLS */

#ifdef __cplusplus
extern "C" {
#endif

#ifdef _INCLUDE_POSIX_SOURCE

   struct passwd {
	char	*pw_name;
	char 	*pw_passwd;
	uid_t	pw_uid;
	gid_t	pw_gid;
	char 	*pw_age;
	char	*pw_comment;
	char	*pw_gecos;
	char	*pw_dir;
	char	*pw_shell;
	int32_t	pw_audid;
	int	pw_audflg;
   };

#ifdef _HP_SHLIB_CALLS
#  pragma HP_DEFINED_EXTERNAL getpwuid,getpwnam
#endif /* _HP_SHLIB_CALLS */
#ifdef _FAST_SHLIB_CALLS
#  pragma HP_NO_RELOCATION getpwuid,getpwnam
#  pragma HP_LONG_RETURN getpwuid,getpwnam
#endif /* _FAST_SHLIB_CALLS */
#ifndef _PTHREADS_DRAFT4
#  ifdef _HP_SHLIB_CALLS
#    pragma HP_DEFINED_EXTERNAL getpwuid_r,getpwnam_r
#  endif /* _HP_SHLIB_CALLS */
#  ifdef _FAST_SHLIB_CALLS
#    pragma HP_NO_RELOCATION getpwuid_r,getpwnam_r
#    pragma HP_LONG_RETURN getpwuid_r,getpwnam_r
#    endif /* _FAST__SHLIB_CALLS */
#endif /* not _PTHREADS_DRAFT4 */


#  if defined(__STDC__) || defined(__cplusplus)
     extern struct passwd *getpwuid(uid_t);
     extern struct passwd *getpwnam(const char *);
#    ifdef _REENTRANT
#     ifdef _PTHREADS_DRAFT4
       extern int getpwuid_r(uid_t, struct passwd *, char *, int);
       extern int getpwnam_r(const char *, struct passwd *, char *, int);
#     else
       extern int getpwuid_r(uid_t, struct passwd *, char *, _hpux_size_t, struct passwd **);
       extern int getpwnam_r(const char *, struct passwd *, char *, _hpux_size_t, struct passwd **);
#     endif /* _PTHREADS_DRAFT4 */
#    endif
#  else /* __STDC__ || __cplusplus */
     extern struct passwd *getpwuid();
     extern struct passwd *getpwnam();
#    ifdef _REENTRANT
     extern int getpwuid_r();
     extern int getpwnam_r();
#    endif
#  endif /* __STDC__ || __cplusplus */
#endif /* _INCLUDE_POSIX_SOURCE */

#ifdef _INCLUDE_XOPEN_SOURCE_EXTENDED 
#  ifdef _HP_SHLIB_CALLS
#    pragma HP_DEFINED_EXTERNAL endpwent,getpwent,setpwent
#  endif /* _HP_SHLIB_CALLS */
#  ifdef _FAST_SHLIB_CALLS
#    pragma HP_NO_RELOCATION endpwent,getpwent,setpwent
#    pragma HP_LONG_RETURN endpwent,getpwent,setpwent
#  endif /* _HP_SHLIB_CALLS */

#  ifdef _PROTOTYPES
     extern void endpwent(void);
     extern struct passwd *getpwent(void);
     extern void setpwent(void);
#  else /* ! _PROTOTYPES */
     extern void endpwent();
     extern struct passwd *getpwent();
     extern void setpwent();
#  endif /* _PROTOTYPES */
#endif /* _INCLUDE_XOPEN_SOURCE_EXTENDED */

#ifdef _INCLUDE_HPUX_SOURCE
   struct s_passwd {
       char    *pw_name;
       char    *pw_passwd;
       char    *pw_age;
       int32_t pw_audid;
       int     pw_audflg;
   };

#  ifdef _HP_SHLIB_CALLS
#    pragma HP_DEFINED_EXTERNAL putpwent,fgetpwent
#  endif /* _FAST_SHLIB_CALLS */
#  ifdef _FAST_SHLIB_CALLS
#    pragma HP_NO_RELOCATION putpwent,fgetpwent
#    pragma HP_LONG_RETURN putpwent,fgetpwent
#  endif /* _HP_SHLIB_CALLS */
#  if defined(__STDC__) || defined(__cplusplus)
#    ifndef _STDIO_INCLUDED
#      include <stdio.h>
#    endif /* _STDIO_INCLUDED */

	 extern int putpwent(const struct passwd *, __FILE *);
     extern struct passwd *fgetpwent(__FILE *);
     extern struct s_passwd *getspwent(void);
     extern struct s_passwd *getspwuid(uid_t);
     extern struct s_passwd *getspwaid(int32_t);
     extern struct s_passwd *getspwnam(char *);
     extern struct s_passwd *fgetspwent(__FILE *);
     extern void setspwent(void);
     extern void endspwent(void);
#    ifdef _REENTRANT
#     ifdef _PTHREADS_DRAFT4
       extern void setpwent_r(__FILE **);
       extern void endpwent_r(__FILE **);
       extern int getpwent_r(struct passwd *, char *, int, __FILE **);
       extern int fgetpwent_r(__FILE *, struct passwd *, char *, int);
       extern int getspwent_r(struct s_passwd *, char *, int, __FILE **);
       extern int getspwuid_r(uid_t, struct s_passwd *, char *, int);
       extern int getspwaid_r(int32_t, struct s_passwd *, char *, int);
       extern int getspwnam_r(char *, struct s_passwd *, char *, int);
       extern int fgetspwent_r(__FILE *, struct s_passwd *, char *, int);
       extern void setspwent_r(__FILE **);
       extern void endspwent_r(__FILE **);
#    endif /* _PTHREADS_DRAFT4 */
#    endif
#  else /* __STDC__ || __cplusplus */
	 extern int putpwent();
     extern struct passwd *fgetpwent();
     extern struct s_passwd *getspwent();
     extern struct s_passwd *getspwuid();
     extern struct s_passwd *getspwaid();
     extern struct s_passwd *getspwnam();
     extern struct s_passwd *fgetspwent();
     extern void setspwent();
     extern void endspwent();
#    ifdef _REENTRANT
#     ifdef _PTHREADS_DRAFT4
       extern void setpwent_r();
       extern void endpwent_r();
       extern int getpwent_r();
       extern int fgetpwent_r();
       extern int getspwent_r();
       extern int getspwuid_r();
       extern int getspwaid_r();
       extern int getspwnam_r();
       extern int fgetspwent_r();
       extern void setspwent_r();
       extern void endspwent_r();
#     endif /* _PTHREADS_DRAFT4 */
#    endif
#  endif /* __STDC__ || __cplusplus */

#  ifndef UID_NOBODY		/* Uid of NFS "nobody". */
#    define UID_NOBODY (-2)
#  endif
#endif /* _INCLUDE_HPUX_SOURCE */

#ifdef __cplusplus
}
#endif

#endif /* _PWD_INCLUDED */

