OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man3 / getsubopt.3
index 217d080..00d1716 100644 (file)
 .\" Translated 2007-06-02, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" 
 .TH GETSUBOPT 3 2010-09-26 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-getsubopt \- Ê¸»úÎóÃæ¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó°ú¤­¿ô¤Î²ò¼á¤ò¹Ô¤¦
-.SH ½ñ¼°
+.SH 名前
+getsubopt \- 文字列中のサブオプション引き数の解釈を行う
+.SH 書式
 .B #include <stdlib.h>
 
 .BI "int getsubopt(char **"optionp ", char * const *" tokens \
 ", char **" valuep );
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
 .RB ( feature_test_macros (7)
-»²¾È):
+参照):
 .in
 .sp
 .BR getsubopt ():
@@ -50,101 +50,101 @@ _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 .PD
 .RE
 .ad
-.SH ÀâÌÀ
+.SH 説明
 .BR getsubopt ()
-¤Ï¡¢
+は、
 .I optionp
-¤ÇÍ¿¤¨¤é¤ì¤¿¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¡¦¥ê¥¹¥È¤ò²òÀϤ¹¤ë¡£
-(¤³¤Î¤è¤¦¤Ê¥µ¥Ö¥ª¥×¥·¥ç¥ó¡¦¥ê¥¹¥È¤Ï
+で与えられたカンマ区切りのサブオプション・リストを解析する。
+(このようなサブオプション・リストは
 .BR getopt (3)
-¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò²ò¼á¤·¤¿¾ì¹ç¤Ë¸½¤ì¤ë¤³¤È¤¬Â¿¤¤¡£
-Î㤨¤Ð¡¢
+を使ってコマンドラインを解釈した場合に現れることが多い。
+例えば、
 .BR mount (8)
-¤Î \fI-o\fP ¥ª¥×¥·¥ç¥ó¤ò¸«¤ë¤È¤è¤¤¡£)
-¤½¤ì¤¾¤ì¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ë¤ÏÂбþ¤¹¤ëÃͤò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Î̾Á°¤ÈÂбþ¤¹¤ëÃͤÏÅù¹æ (\(aq=\(aq) ¤Ç¶èÀÚ¤é¤ì¤ë¡£
-Î㤨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Êʸ»úÎó¤ò
+の \fI-o\fP オプションを見るとよい。)
+それぞれのサブオプションには対応する値を指定することができる。
+サブオプションの名前と対応する値は等号 (\(aq=\(aq) で区切られる。
+例えば、以下のような文字列を
 .I optionp
-¤ËÅϤ¹¤³¤È¤¬¤Ç¤­¤ë¡£
+に渡すことができる。
 .sp
 .in +4n
 .B ro,name=xyz
 .in
 
 .I tokens
-°ú¤­¿ô¤Ï¥È¡¼¥¯¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¡¢
-ÇÛÎó¤Ï NULL ¤Ç½ªÃ¼¤µ¤ì¤ë¡£
+引き数はトークンへのポインタの配列へのポインタで、
+配列は NULL で終端される。
 .BR getsubopt ()
-¤Ï¤³¤Î¥È¡¼¥¯¥ó¤ò
+はこのトークンを
 .I optionp
-Æâ¤Çõ¤¹¡£
-¤½¤ì¤¾¤ì¤Î¥È¡¼¥¯¥ó¤Ï¡¢NULL ½ªÃ¼¤µ¤ì¤¿ 1ʸ»ú°Ê¾å¤Îʸ»úÎó¤Ç¡¢
-¾¤Î¥È¡¼¥¯¥ó¤È¶èÊ̤Ǥ­¤ëɬÍפ¬¤¢¤ë¡£
-¤Þ¤¿¡¢Åù¹æ¤È¥«¥ó¥Þ¤ò´Þ¤ó¤Ç¤Ï¤Ê¤é¤Ê¤¤¡£
+内で探す。
+それぞれのトークンは、NULL 終端された 1文字以上の文字列で、
+他のトークンと区別できる必要がある。
+また、等号とカンマを含んではならない。
 
 .BR getsubopt ()
-¤Ï¸Æ¤Ó½Ð¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢
+は呼び出されるたびに、
 .I optionp
-Ãæ¤Î¼¡¤Î̤½èÍý¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Î¾ðÊó¤òÊÖ¤¹¡£
-¥µ¥Ö¥ª¥×¥·¥ç¥óÆâ¤ËÅù¹æ¤¬¤¢¤Ã¤¿¾ì¹ç¡¢ºÇ½é¤ÎÅù¹æ¤Ï
-¤½¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Î̾Á°¤ÈÃͤζèÀÚ¤ê¤È²ò¼á¤µ¤ì¤ë¡£
-¶èÀڤ꤫¤é¼¡¤Î¥«¥ó¥Þ (ºÇ¸å¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Î¾ì¹ç¡¢Ê¸»úÎó¤ÎËöÈø)
-¤Þ¤Ç¤¬¡¢¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ÎÃͤȤʤ롣
-¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Î̾Á°¤¬
+中の次の未処理のサブオプションの情報を返す。
+サブオプション内に等号があった場合、最初の等号は
+そのサブオプションの名前と値の区切りと解釈される。
+区切りから次のカンマ (最後のサブオプションの場合、文字列の末尾)
+までが、サブオプションの値となる。
+サブオプションの名前が
 .I tokens
-Æâ¤Î̾Á°¤È°ìÃפ·¡¢Ãͤòɽ¤¹Ê¸»úÎ󤬸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢
+内の名前と一致し、値を表す文字列が見つかった場合、
 .BR getsubopt ()
-¤Ï
+は
 .I *valuep
-¤òÃͤòɽ¤¹Ê¸»úÎó¤Î¥¢¥É¥ì¥¹¤ËÀßÄꤹ¤ë¡£
+を値を表す文字列のアドレスに設定する。
 .I optionp
-Ãæ¤ÎºÇ½é¤Î¥«¥ó¥Þ¤Ï¥Ì¥ë¥Ð¥¤¥È¤Ç¾å½ñ¤­¤µ¤ì¤ë¡£¤½¤Î¤¿¤á¡¢
+中の最初のカンマはヌルバイトで上書きされる。そのため、
 .I *valuep
-¤Ï¤½¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Î¡ÖÃͤÎʸ»úÎó¡×¤½¤Î¤â¤Î¤È¤Ê¤ë¡£
+はそのサブオプションの「値の文字列」そのものとなる。
 
-¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬Ç§¼±¤µ¤ì¤¿¤¬¡¢Ãͤòɽ¤¹Ê¸»úÎ󤬸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
+サブオプションが認識されたが、値を表す文字列が見つからなかった場合、
 .RI * valuep
-¤Ï NULL ¤ËÀßÄꤵ¤ì¤ë¡£
+は NULL に設定される。
 
 .BR getsubopt ()
-¤¬ÊÖ¤ë»þ¡¢
+が返る時、
 .I optionp
-¤Ï¼¡¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»Ø¤·¤Æ¤¤¤ë¡£
-¤Á¤ç¤¦¤ÉºÇ¸å¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬½èÍý¤µ¤ì¤¿¾ì¹ç¤Ï¡¢
-ʸ»úÎóËöÈø¤Î¥Ì¥ë¥Ð¥¤¥È (\(aq\\0\(aq) ¤ò»Ø¤·¤Æ¤¤¤ë¡£
-.SH ÊÖ¤êÃÍ
+は次のサブオプションを指している。
+ちょうど最後のサブオプションが処理された場合は、
+文字列末尾のヌルバイト (\(aq\\0\(aq) を指している。
+.SH 返り値
 .I optionp
-Æâ¤Ç¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢
+内でサブオプションが見つかった場合、
 .BR getsubopt ()
-¤ÏºÇ½é¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ë¥Þ¥Ã¥Á¤¹¤ë
+は最初のサブオプションにマッチする
 .I tokens
-¤ÎÍ×ÁǤÎź»ú¤òÊÖ¤¹¡£
-¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\-1 ¤òÊÖ¤¹¡£¤³¤Î¾ì¹ç¡¢
+の要素の添字を返す。
+見つからなかった場合、\-1 を返す。この場合、
 .I *valuep
-¤Ï
+は
 .IB name [= value ]
-¤Îʸ»úÎóÁ´ÂΤȤʤ롣
+の文字列全体となる。
 
 .I *optionp
-¤ÏÊѹ¹¤µ¤ì¤ë¤Î¤Ç¡¢
+は変更されるので、
 .BR getsubopt ()
-¤ò¸Æ¤Ó½Ð¤¹Á°¤ÎºÇ½é¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï
+を呼び出す前の最初のサブオプションは
 .BR getsubopt ()
-¤ò¸Æ¤Ó½Ð¤·¸å¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Èɬ¤º¤·¤âƱ¤¸¤È¤Ï¸Â¤é¤Ê¤¤¡£
-.SH ½àµò
+を呼び出し後のサブオプションと必ずしも同じとは限らない。
+.SH 準拠
 POSIX.1-2001.
-.SH Ãí°Õ
+.SH 注意
 
 .BR getsubopt ()
-¤Ï¡¢Ê¸»úÎó
+は、文字列
 .RI * optionp
-Ãæ¤Ë¸«¤Ä¤±¤¿¥«¥ó¥Þ¤ò¾å½ñ¤­¤¹¤ë¤Î¤Ç¡¢Ê¸»úÎó
+中に見つけたカンマを上書きするので、文字列
 .I *optionp
-¤Ï½ñ¤­¹þ¤ß²Äǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢
-ʸ»úÎóÄê¿ô¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
-.SH Îã
-°Ê²¼¤Î¥×¥í¥°¥é¥à¤Ï "\-o" ¥ª¥×¥·¥ç¥ó¤Ë³¤¤¤Æ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤³¤È¤ò
-´üÂÔ¤·¤Æ¤¤¤ë¡£
+は書き込み可能でなければならず、
+文字列定数にすることはできない。
+.SH 
+以下のプログラムは "\-o" オプションに続いてサブオプションがあることを
+期待している。
 
 .nf
 #define _XOPEN_SOURCE 500
@@ -231,5 +231,5 @@ int main(int argc, char **argv)
     exit(EXIT_SUCCESS);
 }
 .fi
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR getopt (3)