.\" Updated 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\"
.TH SET_THREAD_AREA 2 2008-11-27 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-set_thread_area \- ¥¹¥ì¥Ã¥É¶É½êµ²± (TLS) Îΰè¤òÀßÄꤹ¤ë
-.SH ½ñ¼°
+.SH 名前
+set_thread_area \- スレッド局所記憶 (TLS) 領域を設定する
+.SH 書式
.B #include <linux/unistd.h>
.br
.B #include <asm/ldt.h>
.sp
.BI "int set_thread_area(struct user_desc *" u_info );
-.SH ÀâÌÀ
+.SH 説明
.PP
.BR set_thread_area ()
-¤Ï¡¢¥«¥ì¥ó¥È¡¦¥¹¥ì¥Ã¥É¤Î¥¹¥ì¥Ã¥É¶É½êµ²± (Thread Local Storage; TLS)
-ÇÛÎó¤ÎÃæ¤Î¥¨¥ó¥È¥ê¤òÀßÄꤹ¤ë¡£
+は、カレント・スレッドのスレッド局所記憶 (Thread Local Storage; TLS)
+配列の中のエントリを設定する。
.BR set_thread_area ()
-¤Ë¤è¤êÀßÄꤵ¤ì¤ë TLS ÇÛÎó¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥æ¡¼¥¶¤«¤é°ú¤¿ô¤È¤·¤ÆÅϤµ¤ì¤ë
+により設定される TLS 配列のエントリは、ユーザから引き数として渡される
.I u_info\->entry_number
-¤ÎÃͤËÂбþ¤·¤Æ¤¤¤ë¡£Ãͤ¬ÈÏ°ÏÆâ¤Ë¤¢¤ë¾ì¹ç¡¢
+の値に対応している。値が範囲内にある場合、
.BR set_thread_area ()
-¤Ï
+は
.I u_info
-¤Ç»Ø¤µ¤ì¤¿ TLS ¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò¥¹¥ì¥Ã¥É¤Î TLS ÇÛÎó¤Ë¥³¥Ô¡¼¤¹¤ë¡£
+で指された TLS ディスクリプタをスレッドの TLS 配列にコピーする。
.PP
.I entry_number
-¤È¤·¤Æ \-1 ¤¬ÅϤµ¤ì¤¿¾ì¹ç¡¢
+として \-1 が渡された場合、
.BR set_thread_area ()
-¤Ï̤»ÈÍÑ (free) ¤Î TLS ¥¨¥ó¥È¥ê¤ò»ÈÍѤ¹¤ë¡£
-̤»ÈÍѤΠTLS ¥¨¥ó¥È¥ê¤¬¤¢¤Ã¤¿¾ì¹ç¡¢¤É¤Î¥¨¥ó¥È¥ê¤¬Êѹ¹¤µ¤ì¤¿¤«¤¬Ê¬¤«¤ë
-¤è¤¦¤Ë½ªÎ»»þ¤Ë
+は未使用 (free) の TLS エントリを使用する。
+未使用の TLS エントリがあった場合、どのエントリが変更されたかが分かる
+ように終了時に
.I u_info\->entry_number
-¤ÎÃͤ¬Êѹ¹¤µ¤ì¤ë¡£
-.SH ÊÖ¤êÃÍ
+の値が変更される。
+.SH 返り値
.BR set_thread_area ()
-¤ÏÀ®¸ù¤·¤¿¾ì¹ç 0 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï \-1 ¤òÊÖ¤·¡¢
+は成功した場合 0 を返す。失敗した場合は \-1 を返し、
.I errno
-¤òŬÀÚ¤ËÀßÄꤹ¤ë¡£
-.SH ¥¨¥é¡¼
+を適切に設定する。
+.SH ã\82¨ã\83©ã\83¼
.TP
.B EINVAL
.I u_info\->entry_number
-¤¬Èϰϳ°¤Ç¤¢¤ë¡£
+が範囲外である。
.TP
.B EFAULT
.I u_info
-¤¬ÉÔÀµ¤Ê¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
+が不正なポインタである。
.TP
.B ESRCH
-̤»ÈÍѤΠTLS ¥¨¥ó¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
+未使用の TLS エントリが見つからなかった。
+.SH バージョン
.BR set_thread_area ()
-¤Ï Linux 2.5.29 ¤Ç½é¤á¤ÆÅо줷¤¿¡£
-.SH ½àµò
+は Linux 2.5.29 で初めて登場した。
+.SH 準拠
.BR set_thread_area ()
-¤Ï Linux Æȼ«¤Ç¤¢¤ê¡¢°Ü¿¢¤ò°Õ¿Þ¤·¤¿¥×¥í¥°¥é¥à¤Ç¤Ï»ÈÍѤ¹¤Ù¤¤Ç¤Ï¤Ê¤¤¡£
-.SH Ãí°Õ
-glibc ¤Ï¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÂФ¹¤ë¥é¥Ã¥Ñ¡¼´Ø¿ô¤òÄ󶡤·¤Æ¤¤¤Ê¤¤¡£
-¤³¤Î´Ø¿ô¤ò»ÈÍѤ¹¤ë¤Ë¤Ï
+は Linux 独自であり、移植を意図したプログラムでは使用すべきではない。
+.SH 注意
+glibc はこのシステムコールに対するラッパー関数を提供していない。
+この関数を使用するには
.BR syscall (2)
-¤ò»ÈÍѤ¹¤ë¤³¤È¡£
-.SH ´ØÏ¢¹àÌÜ
+を使用すること。
+.SH 関連項目
.BR get_thread_area (2)