.\" by Yuichi SATO <ysato444@yahoo.co.jp>
.\"
.TH SETALIASENT 3 2003-09-09 "GNU" "Linux Programmer's Manual"
-.SH ̾Á°
-setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r \- ¥¨¥¤¥ê¥¢¥¹¥¨¥ó¥È¥ê¤òÆɤ߹þ¤à
-.SH ½ñ¼°
+.SH 名前
+setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r \- エイリアスエントリを読み込む
+.SH 書式
.B #include <aliases.h>
.sp
.B "void setaliasent(void);"
.BI "int getaliasbyname_r(const char *" name ", struct aliasent *" result ,
.br
.BI " char *" buffer ", size_t " buflen ", struct aliasent **" res );
-.SH ÀâÌÀ
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¥¹¥¤¥Ã¥Á (Name Service Switch, NSS) ¤Ç
-ÍøÍѲÄǽ¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î 1 ¤Ä¤È¤·¤Æ¡¢
-¥á¡¼¥ë¥¨¥¤¥ê¥¢¥¹¤òÊÝ»ý¤¹¤ë¥¨¥¤¥ê¥¢¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¢¤ë¡£
-(¤É¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¡¢
-getent \-\-help ¤ò¼Â¹Ô¤¹¤ë¤³¤È¡£)
-¥¨¥¤¥ê¥¢¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¡¢
-6 ¤Ä¤Î´Ø¿ô¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¡£
+.SH 説明
+ネームサービススイッチ (Name Service Switch, NSS) で
+利用可能なデータベースの 1 つとして、
+メールエイリアスを保持するエイリアスデータベースがある。
+(どのデータベースがサポートされているかを調べるには、
+getent \-\-help を実行すること。)
+エイリアスデータベースにアクセスするために、
+6 つの関数が提供されている。
.PP
.BR getaliasent ()
-´Ø¿ô¤Ï¥¨¥¤¥ê¥¢¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¼è¤ê½Ð¤·¤¿
-¥°¥ë¡¼¥×¾ðÊó¤ò´Þ¤à¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹¡£
-1 ²óÌܤ˴ؿô¤¬¸Æ¤Ð¤ì¤¿¤È¤¤Ë¤Ï¡¢ºÇ½é¤Î¥¨¥ó¥È¥ê¤òÊÖ¤¹;
-¤½¤ì°Ê¹ß¤Ï¤½¤Î¸å¤Î¥¨¥ó¥È¥ê¤òÊÖ¤¹¡£
+関数はエイリアスデータベースから取り出した
+グループ情報を含む構造体へのポインタを返す。
+1 回目に関数が呼ばれたときには、最初のエントリを返す;
+それ以降はその後のエントリを返す。
.PP
.BR setaliasent ()
-´Ø¿ô¤Ï¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿¤ò¥¨¥¤¥ê¥¢¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÀèƬ¤Ë´¬¤Ì᤹¡£
+関数はファイルポインタをエイリアスデータベースの先頭に巻き戻す。
.PP
.BR endaliasent ()
-´Ø¿ô¤Ï¥¨¥¤¥ê¥¢¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥¯¥í¡¼¥º¤¹¤ë¡£
+関数はエイリアスデータベースをクローズする。
.PP
.BR getaliasent_r ()
-´Ø¿ô¤Ï¾åµ¤Î´Ø¿ô¤Î¥ê¥¨¥ó¥È¥é¥ó¥ÈÈǤǤ¢¤ë¡£
-Í׵ᤵ¤ì¤¿¹½Â¤ÂΤÏÂè 1 °ú¤¿ô¤Ë³ÊǼ¤µ¤ì¤ë¤¬¡¢
-¥×¥í¥°¥é¥Þ¤Ï¾¤Î°ú¤¿ô¤âËä¤á¤Æ¤ä¤ëɬÍפ¬¤¢¤ë¡£
-½¼Ê¬¤ÊÎΰ褬Ϳ¤¨¤é¤ì¤Ê¤¤¤È¡¢¤³¤Î´Ø¿ô¤Ï¼ºÇÔ¤¹¤ë¡£
+関数は上記の関数のリエントラント版である。
+要求された構造体は第 1 引き数に格納されるが、
+プログラマは他の引き数も埋めてやる必要がある。
+充分な領域が与えられないと、この関数は失敗する。
.PP
-´Ø¿ô
+関数
.BR getaliasbyname ()
-¤Ï name °ú¤¿ô¤ò¤È¤ê¡¢¥¨¥¤¥ê¥¢¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¸¡º÷¤¹¤ë¡£
-¥¨¥ó¥È¥ê¤Ï
+は name 引き数をとり、エイリアスデータベースを検索する。
+エントリは
.I "struct aliasent"
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤È¤·¤ÆÊÖ¤µ¤ì¤ë¡£
+へのポインタとして返される。
.PP
.BR getaliasbyname_r ()
-¤Ï¾åµ¤Î´Ø¿ô¤Î¥ê¥¨¥ó¥È¥é¥ó¥ÈÈǤǤ¢¤ë¡£
-Í׵ᤵ¤ì¤¿¹½Â¤ÂΤÏÂè 2 °ú¤¿ô¤Ë³ÊǼ¤µ¤ì¤ë¤¬¡¢
-¥×¥í¥°¥é¥Þ¤Ï¾¤Î°ú¤¿ô¤âËä¤á¤Æ¤ä¤ëɬÍפ¬¤¢¤ë¡£
-½¼Ê¬¤ÊÎΰ褬Ϳ¤¨¤é¤ì¤Ê¤¤¤È¡¢¤³¤Î´Ø¿ô¤Ï¼ºÇÔ¤¹¤ë¡£
+は上記の関数のリエントラント版である。
+要求された構造体は第 2 引き数に格納されるが、
+プログラマは他の引き数も埋めてやる必要がある。
+充分な領域が与えられないと、この関数は失敗する。
.PP
.I "struct aliasent"
-¤Ï
+は
.I <aliases.h>
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
+で定義されている。
.in +4n
.nf
struct aliasent {
- char *alias_name; /* ¥¨¥¤¥ê¥¢¥¹Ì¾ */
+ char *alias_name; /* エイリアス名 */
size_t alias_members_len;
- char **alias_members; /* ¥¨¥¤¥ê¥¢¥¹Ì¾¤Î¥ê¥¹¥È */
+ char **alias_members; /* エイリアス名のリスト */
int alias_local;
};
.fi
.in
-.SH ÊÖ¤êÃÍ
-´Ø¿ô
+.SH 返り値
+関数
.BR getaliasent_r ()
-¤È
+と
.BR getaliasbyname_r ()
-¤Ï¡¢¥¨¥é¡¼¤Î¾ì¹ç¤Ë 0 °Ê³°¤ÎÃͤòÊÖ¤¹¡£
-.SH ¥Õ¥¡¥¤¥ë
-¥Ç¥Õ¥©¥ë¥È¤Î¥¨¥¤¥ê¥¢¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë
+は、エラーの場合に 0 以外の値を返す。
+.SH ファイル
+デフォルトのエイリアスデータベースは、ファイル
.I /etc/aliases
-¤Ç¤¢¤ë¡£
-¤³¤ì¤Ï
+である。
+これは
.I /etc/nsswitch.conf
-¥Õ¥¡¥¤¥ë¤ÇÊѹ¹¤Ç¤¤ë¡£
-.SH ½àµò
-¤³¤Î¥ë¡¼¥Á¥ó¤Ï glibc ¸ÇͤΤâ¤Î¤Ç¤¢¤ë¡£
-NeXT ¥·¥¹¥Æ¥à¤Ë¤ÏƱÍͤΥ롼¥Á¥ó¤¬¤¢¤ë¡£
+ファイルで変更できる。
+.SH 準拠
+このルーチンは glibc 固有のものである。
+NeXT システムには同様のルーチンがある。
.in +4n
.sp
.nf
alias_ent *alias_getbyname(char *name);
.fi
.in
-.SH Îã
-°Ê²¼¤ÎÎã¤Ï
+.SH 例
+以下の例は
.I "gcc example.c -o example"
-¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤ë¡£
-¤³¤ì¤Ï¥¨¥¤¥ê¥¢¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤¢¤ëÁ´¤Æ¤Î̾Á°¤ò¥À¥ó¥×¤¹¤ë¡£
+でコンパイルできる。
+これはエイリアスデータベースにある全ての名前をダンプする。
.sp
.nf
#include <aliases.h>
endaliasent();
exit(EXIT_SUCCESS);
.fi
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
.BR getgrent (3),
.BR getpwent (3),
.BR getspent (3),