OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man2 / gethostname.2
index 1787561..a2b18d4 100644 (file)
@@ -40,9 +40,9 @@
 .\" Updated 2008-12-26, Akihiro MOTOKI, LDP v3.15
 .\"
 .TH GETHOSTNAME 2 2010-09-26 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-gethostname, sethostname \- ¥Û¥¹¥È̾¤Î¼èÆÀ¡¦ÀßÄê¤ò¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+gethostname, sethostname \- ホスト名の取得・設定をする
+.SH 書式
 .B #include <unistd.h>
 .sp
 .BI "int gethostname(char *" name ", size_t " len );
@@ -50,19 +50,19 @@ gethostname, sethostname \- 
 .BI "int sethostname(const char *" name ", size_t " len );
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
 .RB ( feature_test_macros (7)
-»²¾È):
+参照):
 .in
 .sp
 .ad l
 .PD 0
 .BR gethostname ():
 .RS 4
-glibc 2.12 °Ê¹ß:
+glibc 2.12 以降:
 _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 .br
-|| /* glibc 2.12 °Ê¹ß: */ _POSIX_C_SOURCE\ >=\ 200112L
+|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200112L
 .RE
 .br
 .BR sethostname ():
@@ -71,134 +71,134 @@ _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
 .RE
 .PD
 .ad
-.SH ÀâÌÀ
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢¸½ºß¤Î¥×¥í¥»¥Ã¥µ¤Î¥Û¥¹¥È̾¤ò¼èÆÀ¡¦Êѹ¹¤¹¤ë¤¿¤á¤Ë
-»ÈÍѤµ¤ì¤ë¡£
+.SH 説明
+これらのシステムコールは、現在のプロセッサのホスト名を取得・変更するために
+使用される。
 
 .BR sethostname ()
-¤Ï¡¢¥Û¥¹¥È̾¤ò¡¢Ê¸»úÇÛÎó
+は、ホスト名を、文字配列
 .I name
-¤Ç»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤹ¤ë¡£
-°ú¤­¿ô
+で指定された値に設定する。
+引き数
 .I len
-¤Ë¤Ï¡¢
+には、
 .I name
-¤Î¥Ð¥¤¥È¿ô¤ò»ØÄꤹ¤ë
-(¤½¤Î¤¿¤á¡¢
+のバイト数を指定する
+(そのため、
 .I name
-¤Ç¤Ïʸ»úÎó½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤ÏɬÍפʤ¤)¡£
+では文字列終端の NULL バイトは必要ない)。
 
 .BR gethostname ()
-¤Ï¡¢NULL ½ªÃ¼¤µ¤ì¤¿¥Û¥¹¥È̾¤ò¡¢
+は、NULL 終端されたホスト名を、
 .I len
-¥Ð¥¤¥È¤ÎŤµ¤Îʸ»úÇÛÎó
+バイトの長さの文字配列
 .I name
-¤Ë³ÊǼ¤·¤ÆÊÖ¤¹¡£
-NULL ½ªÃ¼¤µ¤ì¤¿¥Û¥¹¥È̾¤¬³ÊǼÀè¤Î¥Ð¥Ã¥Õ¥¡¤è¤ê¤âŤ¤¾ì¹ç¤Ï¡¢
-¥Û¥¹¥È̾¤ÏÀÚ¤êµÍ¤á¤é¤ì¡¢¥¨¥é¡¼¤ÏÊÖ¤µ¤ì¤Ê¤¤ (²¼µ­¤Î¡ÖÃí°Õ¡×¤ÎÀá¤ò»²¾È)¡£
-POSIX.1-2001 ¤Ç¤Ï¡¢·ë²Ì¤ÎÀÚ¤êµÍ¤á¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¡¢
-ÊÖ¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ë½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ï
-µ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç 0 ¤¬Ê֤롣¼ºÇÔ¤·¤¿¾ì¹ç \-1 ¤¬Ê֤ꡢ
+に格納して返す。
+NULL 終端されたホスト名が格納先のバッファよりも長い場合は、
+ホスト名は切り詰められ、エラーは返されない (下記の「注意」の節を参照)。
+POSIX.1-2001 では、結果の切り詰めが発生した場合に、
+返されたバッファに終端の NULL バイトが含まれているかどうかは
+規定されていない。
+.SH 返り値
+成功した場合 0 が返る。失敗した場合 \-1 が返り、
 .I errno
-¤¬¥¨¥é¡¼¤ÎÆâÍƤ˽¾¤Ã¤ÆÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+がエラーの内容に従って設定される。
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EFAULT
 .I name
-¤¬ÉÔÀµ¤Ê¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
+が不正なアドレスである。
 .TP
 .B EINVAL
 .I len
-¤¬Éé¤Ç¤¢¤ë¡£
-.\" gethostbyname() ¥é¥Ã¥Ñ¡¼´Ø¿ô¤Ç¤Ï¡¢'len' ¤Ï unsigned ·¿¤Ê¤Î¤Ç
-.\" ¤³¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤³¤È¤Ï¤Ê¤¤¡£
-.\" ¤½¤ÎÃæ¤Ç¸Æ¤Ð¤ì¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ç¤ÏȯÀ¸¤¹¤ë¤³¤È¤¬¤¢¤ë¡£
+が負である。
+.\" gethostbyname() ラッパー関数では、'len' は unsigned 型なので
+.\" このエラーが発生することはない。
+.\" その中で呼ばれるシステムコールでは発生することがある。
 .BR sethostname ()
-¤Ë¤ª¤¤¤Æ
+において
 .I len
-¤¬µöÍƤµ¤ì¤¿ºÇÂ祵¥¤¥º¤ò±Û¤¨¤Æ¤¤¤ë¡£
+が許容された最大サイズを越えている。
 .TP
 .B ENAMETOOLONG
 .RB "(glibc " gethostname ()
-¤Ç)
+)
 .I len
-¤¬¼ÂºÝ¤Î¥Û¥¹¥È̾¤ÎŤµ¤è¤ê¤â¾®¤µ¤¤
-(glibc ¥Ð¡¼¥¸¥ç¥ó 2.1 ¤è¤êÁ°¤Ç¤Ï¡¢¤³¤Î¾õ¶·¤Ç
+が実際のホスト名の長さよりも小さい
+(glibc バージョン 2.1 より前では、この状況で
 .B EINVAL
-¤¬»ÈÍѤµ¤ì¤ë)¡£
+が使用される)。
 .TP
 .B EPERM
 .BR sethostname ()
-¤Ë¤ª¤¤¤Æ¡¢¸Æ¤Ó½Ð¤·¤¿¿Í¤¬
+において、呼び出した人が
 .B CAP_SYS_ADMIN
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤ò»ý¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¡£
-.SH ½àµò
-SVr4, 4.4BSD  (¤³¤ì¤é¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï 4.2BSD ¤Ç½é¤á¤ÆÅо줷¤¿)¡£
-POSIX.1-2001 ¤Ç¤Ï
+ケーパビリティ (capability) を持っていなかった。
+.SH 準拠
+SVr4, 4.4BSD  (これらのインタフェースは 4.2BSD で初めて登場した)。
+POSIX.1-2001 では
 .BR gethostname ()
-¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äꤷ¤Æ¤¤¤ë¤¬¡¢
+については規定しているが、
 .BR sethostname ()
-¤Ïµ¬Äꤷ¤Æ¤¤¤Ê¤¤¡£
-.SH Ãí°Õ
-SUSv2 ¤Ç¤Ï¡Ö¥Û¥¹¥È̾¤¬ 255 ¥Ð¥¤¥È¤ËÀ©¸Â¤µ¤ì¤ë¡×¤³¤È¤òÊݾڤ·¤Æ¤¤¤ë¡£
-POSIX.1-2001 ¤Ç¤Ï¡Ö¥Û¥¹¥È̾ (½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤Ï´Þ¤Þ¤Ê¤¤) ¤¬
+は規定していない。
+.SH 注意
+SUSv2 では「ホスト名が 255 バイトに制限される」ことを保証している。
+POSIX.1-2001 では「ホスト名 (終端の NULL バイトは含まない) が
 .B HOST_NAME_MAX
-¥Ð¥¤¥È¤ËÀ©¸Â¤µ¤ì¤ë¡×¤³¤È¤òÊݾڤ·¤Æ¤¤¤ë¡£
-Linux ¤Ç¤Ï¡¢
+バイトに制限される」ことを保証している。
+Linux では、
 .B HOST_NAME_MAX
-¤Ï 64 ¤ËÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢
-Linux 1.0 °Ê¹ß¤Ç¤Ï¤³¤ì¤¬¾å¸Â¤È¤Ê¤Ã¤Æ¤­¤¿
-(¤â¤Ã¤È¸Å¤¤¥«¡¼¥Í¥ë¤Ç¤Ï 8 ¥Ð¥¤¥È¤Î¾å¸Â¤¬Å¬ÍѤµ¤ì¤Æ¤¤¤¿)¡£
-.SS "glibc ¤Ç¤ÎÃí°Õ"
-GNU C ¥é¥¤¥Ö¥é¥ê¤Ï¡¢
+は 64 に定義されており、
+Linux 1.0 以降ではこれが上限となってきた
+(もっと古いカーネルでは 8 バイトの上限が適用されていた)。
+.SS "glibc での注意"
+GNU C ライブラリは、
 .BR gethostname ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤òÍøÍѤ·¤Æ¤¤¤Ê¤¤¡£¤½¤ÎÂå¤ï¤ê¡¢
+システムコールを利用していない。その代わり、
 .BR gethostname ()
-¤ò¥é¥¤¥Ö¥é¥ê´Ø¿ô¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤ª¤ê¡¢
-¤³¤Î´Ø¿ô¤Ï
+をライブラリ関数として実装しており、
+この関数は
 .BR uname (2)
-¤ò¸Æ¤Ó½Ð¤·¡¢
+を呼び出し、
 .BR uname (2)
-¤¬ÊÖ¤·¤¿
+が返した
 .I nodename
-¥Õ¥£¡¼¥ë¥É (¤ÎºÇÂç
+フィールド (の最大
 .I len
-¥Ð¥¤¥È) ¤ò
+バイト) を
 .I name
-¤Ë¥³¥Ô¡¼¤¹¤ë¡£
-¥³¥Ô¡¼¤ò¹Ô¤Ã¤¿ºÝ¤Ë¡¢¤³¤Î´Ø¿ô¤Ï
+にコピーする。
+コピーを行った際に、この関数は
 .I nodename
-¤ÎŤµ¤¬
+の長さが
 .I len
-°Ê¾å¤«¤Î³Îǧ¤ò¹Ô¤¤¡¢
+以上かの確認を行い、
 .I len
-°Ê¾å¤Î¾ì¹ç¤Ë¤Ï \-1 ¤òÊÖ¤·¡¢
+以上の場合には \-1 を返し、
 .I errno
-¤Ë
+に
 .B ENAMETOOLONG
-¤òÀßÄꤹ¤ë¡£
-¤³¤Î¾ì¹ç¡¢ÊÖ¤µ¤ì¤¿
+を設定する。
+この場合、返された
 .I name
-¤Ë¤Ï½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤Ï´Þ¤Þ¤ì¤Ê¤¤¡£
+には終端の NULL バイトは含まれない。
 
-¥Ð¡¼¥¸¥ç¥ó 2.2 ¤è¤êÁ°¤Î glibc
-.\" ¾¯¤Ê¤¯¤È¤â glibc 2.0 ¤È 2.1¡£¤½¤ì¤è¤ê¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ï̤³Îǧ
-¤Ç¤Ï¡¢
+バージョン 2.2 より前の glibc
+.\" 少なくとも glibc 2.0 と 2.1。それより古いバージョンは未確認
+では、
 .I nodename
-¤ÎŤµ¤¬
+の長さが
 .I len
-°Ê¾å¤Î¾ì¹ç¤Î°·¤¤¤¬°Û¤Ê¤ë;
+以上の場合の扱いが異なる;
 .I len
-°Ê¾å¤Î¾ì¹ç¤Ë¤Ï¡¢
+以上の場合には、
 .I name
-¤Ë¤Ï²¿¤â¥³¥Ô¡¼¤»¤º¡¢´Ø¿ô¤Ï \-1 ¤òÊÖ¤·¡¢
+には何もコピーせず、関数は \-1 を返し、
 .I errno
-¤Ë
+に
 .B ENAMETOOLONG
-¤òÀßÄꤹ¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+を設定する。
+.SH 関連項目
 .BR getdomainname (2),
 .BR setdomainname (2),
 .BR uname (2)