PWCACHE(3) | FreeBSD Library Functions Manual | PWCACHE(3) |
名称
pwcache, user_from_uid, group_from_gid — パスワードとグループのエントリをキャッシュするライブラリ
Standard C Library (libc, -lc)書式
#include < pwd.h> const char *
user_from_uid( uid_t uid, int nouser);
int
uid_from_user( const char *name, uid_t *uid);
int
pwcache_userdb( int (*setpassent)(int), void (*endpwent)(void), struct passwd * (*getpwnam)(const char *), struct passwd * (*getpwuid)(uid_t));
#include < grp.h>
const char *
group_from_gid( gid_t gid, int nogroup);
int
gid_from_group( const char *name, gid_t *gid);
int
pwcache_groupdb( int (*setgroupent)(int), void (*endgrent)(void), struct group * (*getgrnam)(const char *), struct group * (*getgrgid)(gid_t));
解説
user_from_uid() 関数は、引数 uid に関連するユーザ名を返します。同じ uid で複数回呼び出すことが、 getpwuid(3) への追加の呼び出しを必要としないように、ユーザ名は、キャッシュされます。 uid と関連するユーザがなくて、引数 nouser が 0 以外でないなら、 uid の文字列表現へのポインタが返され、0 以外の場合は、 NULL ポインタが返されます。group_from_gid() 関数は、引数 gid に関連するグループ名を返します。同じ gid で複数回呼び出すことが、 getgrgid(3) への追加の呼び出しを必要としないように、グループ名は、キャッシュされます。 gid と関連するグループがなくて、引数 nogroup が 0 以外でないなら、 gid の文字列表現へのポインタが返され、0 以外の場合は、 NULL ポインタが返されます。
uid_from_user() 関数は、引数 name に関連する uid を返します。同じ name で複数回呼び出すことが、 getpwnam(3) への追加の呼び出しを必要としないように、uid は、キャッシュされます。 name に関連した uid がないなら、 uid_from_user() 関数は、-1 を返します。そうでなければ、 uid によって指される位置に uid を格納し、0 を返します。
gid_from_group() 関数は、引数 name に関連する gid を返します。同じ name で複数回呼び出すことが、 getgrnam(3) への追加の呼び出しを必要としないように、gid は、キャッシュされます。 name に関連した gid がないなら、 gid_from_group() 関数は、-1 を返します。そうでなければ、 gid によって指される位置に gid を格納し、0 を返します。
pwcache_userdb() 関数は、 user_from_uid() と uid_from_user() がユーザを検索するために呼び出す、ユーザデータベースのアクセスルーチンに変更します。キャッシュは、フラッシュされ、既存の endpwent() メソッドは、新しいルーチンに切り替える前に呼び出されます。 getpwnam と getpwuid が提供されなければなりません、そして setpassent と endpwent は、 NULL ポインタとなります。
pwcache_groupdb() 関数は、 group_from_gid() と gid_from_group() がグループを検索するために呼び出す、グループデータベースのアクセスルーチンに変更します。キャッシュは、フラッシュされ、既存の endgrent() メソッドは、新しいルーチンに切り替える前に呼び出されます。 getgrnam と getgrgid が提供されなければなりません、そして setgroupent と endgrent は、 NULL ポインタとなります。
歴史
user_from_uid() と group_from_gid() 関数は、 4.4BSD ではじめて登場しました。uid_from_user() と gid_from_group() 関数は、 NetBSD 1.4 ではじめて登場しました。
pwcache_userdb() と pwcache_groupdb() 関数は、 NetBSD 1.6 と FreeBSD 10.0 ではじめて登場しました。
October 19, 2012 | FreeBSD |