-.I hdrp
-¤Î¥Õ¥£¡¼¥ë¥É
-.I version
-¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤Ãͤ¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-¸Æ¤Ó½Ð¤·¤Ï¥¨¥é¡¼
-.B EINVAL
-¤Ç¼ºÇÔ¤·¡¢
-.I version
-¤Ë¥«¡¼¥Í¥ë¿ä¾©¤Î
-.B _LINUX_CAPABILITY_VERSION_?
-¤òÀßÄꤹ¤ë¡£
-¤³¤Î¤è¤¦¤Ë¤·¤Æ¡¢¸½ºß¤Î¿ä¾©¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¡¦¥ê¥Ó¥¸¥ç¥ó¤¬²¿¤«¤ò
-Ä´¤Ù¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-.SH ¥¨¥é¡¼
-.TP
-.B EFAULT
-ÉÔÀµ¤Ê¥á¥â¥ê¥¢¥É¥ì¥¹¡£
-.I hdrp
-¤Ï NULL ¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-.I datap
-¤Ë NULL ¤ò»ØÄꤷ¤Æ¤è¤¤¤Î¤Ï¡¢¥æ¡¼¥¶¤¬¥«¡¼¥Í¥ë¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë
-¿ä¾©¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¡¦¥Ð¡¼¥¸¥ç¥ó¤òȽÄꤷ¤è¤¦¤È¤·¤Æ¤¤¤ë¤È¤¤À¤±¤Ç¤¢¤ë¡£
-.TP
-.B EINVAL
-°ú¤¿ô¤Î¤É¤ì¤«¤¬Ìµ¸ú¤Ç¤¢¤ë¡£
-.TP
-.B EPERM
-¡Öµö²Ä¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¥»¥Ã¥È¡×¤Ë¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤«¡¢
-¤â¤·¤¯¤Ï¡Öµö²Ä¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¥»¥Ã¥È¡×¤Ë´Þ¤Þ¤ì¤Ê¤¤¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò
-¡Ö¼Â¸ú¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¥»¥Ã¥È¡×¤ä¡Ö·Ñ¾µ²Äǽ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¥»¥Ã¥È¡×¤Ë
-¥»¥Ã¥È¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¡£
-.TP
-.B EPERM
-¸Æ¤Ó½Ð¤·¸µ¤¬¼«Ê¬°Ê³°¤Î¥¹¥ì¥Ã¥É¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò
-.BR capset ()
-¤ò»È¤Ã¤Æ½¤Àµ¤·¤è¤¦¤È¤·¤¿¤¬¡¢½½Ê¬¤ÊÆø¢¤¬¤Ê¤«¤Ã¤¿¡£
-VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
-¤³¤ÎÁàºî¤¬µö²Ä¤µ¤ì¤ë¤³¤È¤Ï·è¤·¤Æ¤Ê¤¤¡£
-VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
-.B CAP_SETPCAP
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬É¬ÍפǤ¢¤ë¡£
-(¥Ð¡¼¥¸¥ç¥ó 2.6.11 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ë¤Ï¡¢
-¤³¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤¿¤Ê¤¤¥¹¥ì¥Ã¥É¤¬
-.I pid
-¥Õ¥£¡¼¥ë¥É¤Ë 0 ¤Ç¤Ê¤¤ÃÍ (¤Ä¤Þ¤ê¡¢0 ¤ÎÂå¤ï¤ê¤Ë
-.BR getpid (2)
-¤¬ÊÖ¤¹ÃÍ) ¤ò»ØÄꤷ¤Æ¼«Ê¬¼«¿È¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÊѹ¹¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¤â¡¢
-¤³¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤È¤¤¤¦¥Ð¥°¤¬¤¢¤Ã¤¿¡£)
-.TP
-.B ESRCH
-¤½¤Î¤è¤¦¤Ê¥¹¥ì¥Ã¥É¤¬Â¸ºß¤·¤Ê¤¤¡£
-.SH ½àµò
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux Æȼ«¤Ç¤¢¤ë¡£
-.SH È÷¹Í
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÀßÄꤷ¤¿¤ê¼èÆÀ¤·¤¿¤ê¤¹¤ëµ¡Ç½¤Î¤¿¤á¤Î°Ü¿¢À¤¢¤ë
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï
-.I libcap
-¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¡£
-¤³¤Î¥é¥¤¥Ö¥é¥ê¤Ï°Ê²¼¤«¤éÆþ¼ê¤Ç¤¤ë:
+\fIhdrp\fP のフィールド \fIversion\fP にサポートされていない値が指定された場合、 呼び出しはエラー \fBEINVAL\fP で失敗し、
+\fIversion\fP にカーネル推奨の \fB_LINUX_CAPABILITY_VERSION_?\fP を設定する。
+このようにして、現在の推奨ケーパビリティ・リビジョンが何かを 調べることができる。
+.SH エラー
+.TP
+\fBEFAULT\fP
+不正なメモリアドレス。 \fIhdrp\fP は NULL であってはならない。 \fIdatap\fP に NULL
+を指定してよいのは、ユーザがカーネルがサポートしている 推奨のケーパビリティ・バージョンを判定しようとしているときだけである。
+.TP
+\fBEINVAL\fP
+引き数のどれかが無効である。
+.TP
+\fBEPERM\fP
+「許可ケーパビリティセット」にケーパビリティを追加しようとしているか、 もしくは「許可ケーパビリティセット」に含まれないケーパビリティを
+「実効ケーパビリティセット」や「継承可能ケーパビリティセット」に セットしようとしている。
+.TP
+\fBEPERM\fP
+呼び出し元が自分以外のスレッドのケーパビリティを \fBcapset\fP() を使って修正しようとしたが、十分な特権がなかった。 VFS
+ケーパビリティをサポートしているカーネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポートしていないカーネルでは、
+\fBCAP_SETPCAP\fP ケーパビリティが必要である。 (バージョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが
+\fIpid\fP フィールドに 0 でない値 (つまり、0 の代わりに \fBgetpid\fP(2) が返す値)
+を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発生するというバグがあった。)
+.TP
+\fBESRCH\fP
+そのようなスレッドが存在しない。
+.SH 準拠
+これらのシステムコールは Linux 独自である。
+.SH 注意
+ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェースは \fIlibcap\fP ライブラリによって提供される。
+このライブラリは以下から入手できる: