/*
    AUTOMATICALLY GENERATED BY tspec 2.10
    API SUBSET: posix:pwd.h (VERSION 2.6)
*/

#ifndef __TDF_POSIX_PWD_H
#define __TDF_POSIX_PWD_H

#ifdef __cplusplus
extern "C" {
#endif

#pragma TenDRA declaration block api__posix__pwd begin

#ifndef __TDF_POSIX_SYS_TYPES_H
#pragma extend interface "../posix.api/sys/types.h"
#endif /* __TDF_POSIX_SYS_TYPES_H */
/* These types are abstracted */
#if __STRICT_POSIX
typedef uid_t __local_passwd_uid_t;
typedef gid_t __local_passwd_gid_t;
#else /* __STRICT_POSIX */
#pragma token ARITHMETIC __local_passwd_uid_t # posix.pwd.__local_passwd_uid_t
#pragma token ARITHMETIC __local_passwd_gid_t # posix.pwd.__local_passwd_gid_t
#pragma token PROC (EXP rvalue : __local_passwd_uid_t : ) EXP rvalue : uid_t : __passwd_uid2uid # posix.pwd.__passwd_uid2uid
#pragma token PROC (EXP rvalue : uid_t : ) EXP rvalue : __local_passwd_uid_t : __uid2passwd_uid # posix.pwd.__uid2passwd_uid
#pragma token PROC (EXP rvalue : __local_passwd_gid_t : ) EXP rvalue : gid_t : __passwd_gid2gid # posix.pwd.__passwd_gid2gid
#pragma token PROC (EXP rvalue : gid_t : ) EXP rvalue : __local_passwd_gid_t : __gid2passwd_gid # posix.pwd.__gid2passwd_gid
#ifndef __BUILDING_LIBS
#pragma accept conversion __passwd_uid2uid
#pragma accept conversion __uid2passwd_uid
#pragma accept conversion __passwd_gid2gid
#pragma accept conversion __gid2passwd_gid
#endif /* __BUILDING_LIBS */
#endif /* __STRICT_POSIX */
#pragma token STRUCT TAG passwd # posix.pwd.passwd
#pragma token MEMBER char * : struct passwd : pw_name # posix.pwd.passwd.pw_name
#pragma token MEMBER __local_passwd_uid_t : struct passwd : pw_uid # posix.pwd.passwd.pw_uid
#pragma token MEMBER __local_passwd_gid_t : struct passwd : pw_gid # posix.pwd.passwd.pw_gid
#pragma token MEMBER char * : struct passwd : pw_dir # posix.pwd.passwd.pw_dir
#pragma token MEMBER char * : struct passwd : pw_shell # posix.pwd.passwd.pw_shell
#pragma token FUNC struct passwd * (const char *) : getpwnam # posix.pwd.getpwnam
#pragma token FUNC struct passwd * (uid_t) : getpwuid # posix.pwd.getpwuid

#if __STRICT_POSIX
#else /* __STRICT_POSIX */
#pragma interface __local_passwd_uid_t __local_passwd_gid_t __passwd_uid2uid
#pragma interface __uid2passwd_uid __passwd_gid2gid __gid2passwd_gid
#endif /* __STRICT_POSIX */
#pragma interface TAG passwd TAG passwd.pw_name TAG passwd.pw_uid
#pragma interface TAG passwd.pw_gid TAG passwd.pw_dir TAG passwd.pw_shell
#pragma interface getpwnam getpwuid

#pragma TenDRA declaration block end

#ifdef __cplusplus
}
#endif

#endif /* __TDF_POSIX_PWD_H */
