EN JA
PWCACHE(3)
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() メソッドは、新しいルーチンに切り替える前に呼び出されます。 getpwnamgetpwuid が提供されなければなりません、そして setpassentendpwent は、 NULL ポインタとなります。

pwcache_groupdb() 関数は、 group_from_gid() と gid_from_group() がグループを検索するために呼び出す、グループデータベースのアクセスルーチンに変更します。キャッシュは、フラッシュされ、既存の endgrent() メソッドは、新しいルーチンに切り替える前に呼び出されます。 getgrnamgetgrgid が提供されなければなりません、そして setgroupentendgrent は、 NULL ポインタとなります。

歴史

user_from_uid() と group_from_gid() 関数は、 4.4BSD ではじめて登場しました。

uid_from_user() と gid_from_group() 関数は、 NetBSD 1.4 ではじめて登場しました。

pwcache_userdb() と pwcache_groupdb() 関数は、 NetBSD 1.6FreeBSD 10.0 ではじめて登場しました。

October 19, 2012 FreeBSD