#include <sys/types.h> #include <pwd.h> struct passwd *getpwent(void); void setpwent(void); void endpwent(void);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
getpwent(), setpwent(), endpwent():
setpwent() 関数を使うと、パスワードデータベースの先頭に戻る。
endpwent() 関数は、全ての処理が終わった後にパスワード データベースをクローズする。
passwd 構造体は、<pwd.h> で以下のように定義されている:
struct passwd {
char *pw_name; /* ユーザー名 */
char *pw_passwd; /* ユーザーのパスワード */
uid_t pw_uid; /* ユーザー ID */
gid_t pw_gid; /* グループ ID */
char *pw_gecos; /* ユーザー情報 */
char *pw_dir; /* ホームディレクトリ */
char *pw_shell; /* シェルプログラム */ };
この構造体のフィールドの詳細は passwd(5) を参照のこと。
返り値は静的な領域を指しており、その後の getpwent(), getpwnam(3), getpwuid(3) の呼び出しで上書きされるかもしれない。 (返されたポインターを free(3) に渡さないこと。)
インターフェース | 属性 | 値 |
getpwent() | Thread safety | MT-Unsafe race:pwent race:pwentbuf locale |
setpwent(), endpwent() |
Thread safety | MT-Unsafe race:pwent locale |
In the above table, pwent in race:pwent signifies that if any of the functions setpwent(), getpwent(), or endpwent() are used in parallel in different threads of a program, then data races could occur.
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]