.\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Casey Leedom of Lawrence Livermore National Laboratory. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#) getcap. 3 8.4 (Berkeley) 5/13/94 .\" .\" $FreeBSD: doc/ja_JP.eucJP/man/man3/getcap. 3, v 1.2 2001/05/14 01:08:35 horikawa Exp $ .Dd May 13, 1994 .Dt GETCAP 3 .Os .Sh ¸íĪ .Nm cgetent , .Nm cgetset , .Nm cgetmatch , .Nm cgetcap , .Nm cgetnum , .Nm cgetstr , .Nm cgetustr , .Nm cgetfirst , .Nm cgetnext , .Nm cgetclose .Nd ÄÉÀÌÆÄºñ¸®Æ¼µ¥ÀÌŸº£À̽º¿¡ ¾×¼¼½º ÇÏ´Â routine .Sh ¼­½Ä .Fd #include .Ft int .Fn cgetent "char **buf" "char **db_array" "char *name" .Ft int .Fn cgetset "char *ent" .Ft int .Fn cgetmatch "char *buf" "char *name" .Ft char * .Fn cgetcap "char *buf" "char *cap" "int type" .Ft int .Fn cgetnum "char *buf" "char *cap" "long *num" .Ft int .Fn cgetstr "char *buf" "char *cap" "char **str" .Ft int .Fn cgetustr "char *buf" "char *cap" "char **str" .Ft int .Fn cgetfirst "char **buf" "char **db_array" .Ft int .Fn cgetnext "char **buf" "char **db_array" .Ft int .Fn cgetclose "void" .Sh ÇØ¼³ .Fn cgetent (Àº)´Â, .Dv NULL ±×¸®°í ³¡³ª´Â ÆÄÀÏ ¹è¿­ .Fa db_array ±×¸®°í ÁöÁ¤ÇÑ µ¥ÀÌŸº£À̽º·ÎºÎÅÍ, ÄÉÀÌÆÄºñ¸®Æ¼ .Em name (À»)¸¦ »Ì¾Æ³», .Fa buf ¾È¿¡ malloc ÇÑ ±× Ä«ÇÇÀÇ Æ÷ÀÎÅ͸¦ µ¹·ÁÁÝ´Ï´Ù. .Fn cgetent ÇÔ¼ö´Â .Dv ASCII ÆÄÀÏ¿¡ ¾×¼¼½º Çϱâ Àü¿¡, ¿ì¼±, .Nm .db ±×¸®°í ³¡³ª´Â ÆÄÀÏÀ» ã½À´Ï´Ù( .Xr cap_mkdb 1 ÂüÁ¶). .Fa Buf (Àº)´Â, ÀÌÈÄÀÇ .Fn cgetmatch , .Fn cgetcap , .Fn cgetnum , .Fn cgetstr ¹× .Fn cgetustr ÀÇ È£ÃâÇØ ¸ðµÎ¸¦ ÅëÇØ¼­ º¸°ü À¯ÁöµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù¸¸, È£ÃâÀÇ ¿Ï·á ÈÄ´Â .Xr free 3 ÇÒ ¼ö ÀÖ½À´Ï´Ù. »Ì¾Æ³»¿¡ ¼º°øÇßÀ» °æ¿ì´Â 0ÀÌ, µ¹·ÁÁÖ´Â ·¹Äڵ忡 ¹ÌÇØ°áÀÎ .Nm tc È®ÀåÀÌ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì´Â 1ÀÌ, ¿ä±¸µÈ ·¹Äڵ尡 ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â \-1 ÇÏÁö¸¸ µ¹¾Æ°©´Ï´Ù. ½Ã½ºÅÛ ¿ì·ù(ÆÄÀÏÀ» ¿ÀÇÂÇÒ ¼ö ¾ø¾ú´Ù/Àо¶ó ¾ø¾ú´Ù, µî)ÀÌ ¹ß»ýÇßÀ» °æ¿ì´Â \-2 ÇÏÁö¸¸ µ¹¾Æ°¡´Â °Í°ú µ¿½Ã¿¡, .Va errno ÇÏÁö¸¸ ¼³Á¤µË´Ï´Ù. ¶Ç, ÀáÀçÀûÀÎ ÂüÁ¶ ·çÇÁ°¡ °ËÃâµÇ¾úÀ» °æ¿ì´Â \-3 ÇÏÁö¸¸ µ¹¾Æ°©´Ï´Ù(ÈļúÀÇ .Ic tc= ÂüÁ¶). .Pp .Fn cgetset ÇÔ¼ö´Â, 1 °³ÀÇ ÄÉÀÌÆÄºñ¸®Æ¼·¹Äڵ忣Ʈ¸®°¡ Æ÷ÇÔµÈ, ij¶óũŸ¹Ú ÆÄÀÇ ÄÉÀÌÆÄºñ¸®Æ¼µ¥ÀÌŸº£À̽º¿¡ÀÇ Ãß°¡¸¦ À¯È¿ÇÏ°Ô ÇÕ´Ï´Ù. °³³äÀûÀ¸·Î´Â, ÀÌ ¿£Æ®¸®°¡ ÃÖÃÊÀÇ ``ÆÄÀÏ''·Î¼­ µ¥ÀÌŸº£À̽º¿¡ Ãß°¡µÇ¹Ç·Î, .Fn cgetent ÀÇ È£Ãâ¿¡¼­´Â ÃÖÃÊ·Î °Ë»öµË´Ï´Ù. ¿£Æ®¸®´Â .Fa ent ¿¡°Ô °Ç³×Áý´Ï´Ù¸¸, .Fa ent ÇÏÁö¸¸ .Dv NULL ÀÇ °æ¿ì, ÇöÀçÀÇ ¿£Æ®¸®´Â µ¥ÀÌŸº£À̽º·ÎºÎÅÍ Á¦°ÅµË´Ï´Ù. .Fn cgetset ÀÇ È£ÃâÀº, µ¥ÀÌŸº£À̽ºÀÇ Áֻ翡 ¼±ÇàÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. .Fn cgetent È£Ãâ Àü¿¡, È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ½ÃÄö¼ÈÀÎ ¾×¼¼½º¸¦ ½ÇÇà ÇÏ´Â °æ¿ì´Â, ÃÖÃÊÀÇ ½ÃÄý¼È ¾×¼¼½º È£Ãâ( .Fn cgetfirst ¶Ç´Â .Fn cgetnext )ÀÇ Àü¿¡ È£ÃâÇÏ´ÂÁö, .Fn cgetclose È£ÃâÀÇ Á÷ÈÄ¿¡ È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù(ÈİÔÂüÁ¶). È£Ãâ¿¡ ¼º°øÇßÀ» °æ¿ì´Â 0 ÀÌ, ½ÇÆÐÇßÀ» °æ¿ì´Â \-1 ÀÌ µ¹¾Æ°©´Ï´Ù. .Pp .Fn cgetmatch ÇÔ¼ö´Â, .Em name ÇÏÁö¸¸ ÄÉÀÌÆÄºñ¸®Æ¼·¹ÄÚµå .Fa buf ÀÇ À̸§ÀÇ Çϳª¶ó¸é 0À», ±×·¸Áö ¾ÊÀ¸¸é \-1 (À»)¸¦ µ¹·ÁÁÝ´Ï´Ù. .Pp .Fn cgetcap ÇÔ¼ö´Â, ŸÀÔ .Fa type ¿¡ ÀÇÇØ ÄÉÀÌÆÄºñ¸®Æ¼ .Fa cap (À»)¸¦, ÄÉÀÌÆÄºñ¸®Æ¼·¹ÄÚµå .Fa buf ±×¸®°í °Ë»öÇÕ´Ï´Ù. ŸÀÔÀº, 1 °³ÀÇ Ä³¸¯Å͸¦ »ç¿ëÇØ ÁöÁ¤ÇÕ´Ï´Ù. ÄÚ·Ð (`:')(À»)¸¦ »ç¿ëÇßÀ» °æ¿ì´Â, ŸÀÔÀÌ ¾ø´Â ÄÉÀÌÆÄºñ¸®Æ¼°¡ °Ë»öµË´Ï´Ù(ÈİÔÀÇ Å¸ÀÔÀÇ ¼³¸íÀ» ÂüÁ¶ÇØ ÁÖ¼¼¿ä). °Ë»öÀÌ ¼º°øÇßÀ» °æ¿ì´Â .Fa buf ¿¡ ÀÖ´Ù .Fa cap °ªÀÇ Æ÷ÀÎÅͰ¡ µ¹¾Æ°©´Ï´Ù. ¿ä±¸µÈ ÄÉÀÌÆÄºñ¸®Æ¼°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â, .Dv NULL ÇÏÁö¸¸ µ¹¾Æ°©´Ï´Ù. ÄÉÀÌÆÄºñ¸®Æ¼Ä¡ÀÇ ¸¶Áö¸·Àº, .Ql : ¶Ç´Â .Tn ASCII .Dv NUL ±×¸®°í ³ªÅ¸³³´Ï´Ù(ÈİÔÀÇ ÄÉÀÌÆÄºñ¸®Æ¼µ¥ÀÌŸº£À̽ºÀÇ ±¸¹®À», ÂüÁ¶ÇØ °üÀÌ¾ß ÀÖ°í). .Pp .Fn cgetnum ÇÔ¼ö´Â, .Fa buf ±×¸®°í ³ªÅ¸³­ ÄÉÀÌÆÄºñ¸®Æ¼·¹ÄÚµå·ÎºÎÅÍ, ¼öÄ¡ ÄÉÀÌÆÄºñ¸®Æ¼ .Fa cap ÀÇ °ªÀ» ²¨³À´Ï´Ù. ÀÌ ¼öÄ¡´Â .Fa num ¿¡ ³ªÅ¸³­´Ù .Ft long ±×¸®°í µ¹·ÁÁÖ¾îÁý´Ï´Ù. ¼º°øÇßÀ» °æ¿ì´Â 0ÀÌ µ¹¾Æ°©´Ï´Ù. ¿ä±¸µÈ ¼öÄ¡ ÄÉÀÌÆÄºñ¸®Æ¼°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â \-1 ÀÌ µ¹¾Æ°©´Ï´Ù. .Pp .Fn cgetstr ÇÔ¼ö´Â, .Fa buf ±×¸®°í ³ªÅ¸³­ ÄÉÀÌÆÄºñ¸®Æ¼·¹ÄÚµå·ÎºÎÅÍ, ½ºÆ®¸µÄÉÀÌÆÄºñ¸®Æ¼ .Fa cap ÀÇ °ªÀ» ²¨³À´Ï´Ù. ±× stringÀÇ µðÄÚµåµÇ¾î .Dv NUL ±×¸®°í ³¡³­´Ù .Xr malloc µÈ Ä«ÇÇÀÇ Æ÷ÀÎÅͰ¡, .Fa str ¿¡ ³ªÅ¸³­´Ù .Ft char * ±×¸®°í µ¹·ÁÁÖ¾îÁý´Ï´Ù. ¼º°øÇßÀ» °æ¿ì´Â, µðÄÚµåµÈ stringÀÇ Á¾´ÜÀÇ .Dv NUL (À»)¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â ¼ö°¡ µ¹¾Æ°©´Ï´Ù. ¿ä±¸µÈ ½ºÆ®¸µÄÉÀÌÆÄºñ¸®Æ¼°¡ ¹ß°ßµÇ´Â°Å¾ß ÀÖ°í °æ¿ì´Â \-1 ÀÌ µ¹¾Æ°¡, ½Ã½ºÅÛ ¿ì·ù(½ºÅ丮Áö ÇÒ´ç ¿¡·¯)°¡ ¹ß»ýÇØ °æ¿ì´Â \-2 ÀÌ µ¹¾Æ°©´Ï´Ù. .Pp .Fn cgetustr ÇÔ¼ö´Â .Fn cgetstr (¿Í)°ú °°Àº ±â´ÉÀÔ´Ï´Ù¸¸, Ư¼ö ij¸¯Å͸¦ È®ÀåÇÏÁö ¾Ê°í, ¿ÀÈ÷·Á ÄÉÀÌÆÄºñ¸®Æ¼ stringÀÇ, ij¸¯ÅÍ ´ë·Î °¢ ij¸¯Å͸¦ µ¹·ÁÁÖ´Â °÷(Áß)ÀÌ ´Ù¸¨´Ï´Ù. .Pp .Fn cgetfirst ¹× .Fn cgetnext ÇÔ¼ö´Â, ÆÄÀϸíÀÌ .Dv NULL Æ÷ÀÎÅÍ·Î ³¡³ª´Â ¹è¿­ .Fa db_array ¿¡ÀÇ, ½ÃÄö¼ÈÀÎ ¾×¼¼½º°¡ »ý±â´Â ÇÔ¼ö ±×·ìÀ» ±¸¼ºÇÕ´Ï´Ù. .Fn cgetfirst ÇÔ¼ö´Â, ÁöÁ¤ µ¥ÀÌŸº£À̽º¿¡ ÀÖ´Â ÃÖÃÊÀÇ ·¹Äڵ带 µ¹·ÁÁÖ¾î, ÃÖÃÊÀÇ ·¹Äڵ忡ÀÇ ¾×¼¼½º¸¦ ¸®¼ÂÆ® ÇÕ´Ï´Ù. .Fn cgetnext ÇÔ¼ö´Â, ÀüÀÇ .Fn cgetfirst ¶Ç´Â .Fn cgetnext È£Ãâ¿¡ ÀÇÇØ µ¹¾Æ°£ ·¹ÄÚµåÀÇ, ÁöÁ¤ µ¥ÀÌŸº£À̽º¿¡ ÀÖ´Â ´ÙÀ½ÀÇ ·¹Äڵ带 µ¹·ÁÁÝ´Ï´Ù. ÀüÀÇ È£ÃâÀÌ ¾ø´Â °æ¿ì´Â, ÁöÁ¤ µ¥ÀÌŸº£À̽º¿¡ ÀÖ´Â ÃÖÃÊÀÇ ·¹ÄÚ µå¸¦ µ¹·ÁÁÝ´Ï´Ù. °¢ ·¹ÄÚµå´Â .Fa buf ±×¸®°í ³ªÅ¸³­´Ù .Xt malloc µÈ Ä«ÇÇ·Î µ¹¾Æ°¡, .Ic tc È®ÀåÀÌ ÀÌ·ç¾îÁý´Ï´Ù. (ÈİÔÀÇ .Ic tc= ÀÇ ¼³¸íÀ» ÂüÁ¶ÇØ ÁÖ¼¼¿ä. ) µ¥ÀÌŸº£À̽º °Ë»öÀ» ¿Ï·áÇØ, µ¹·ÁÁÖ´Â ·¹Äڵ尡 ¾ø´Â °æ¿ì´Â 0ÀÌ µ¹¾Æ°©´Ï´Ù. °Ë»ö ¿¡ ¼º°øÇØ µ¹·ÁÁÖ´Â ·¹Äڵ尡 ÀÖ¾î, ÇÑÃþ ´õ ´ÙÀ½ÀÇ ·¹Äڵ尡 ³²¾Æ ÀÖÀ» °¡´É¼ºÀÌ (µ¥ÀÌŸº£À̽ºÀÇ ¸¶Áö¸·¿¡ ¾ÆÁ÷ ´ÞÇÏÁö ¾Ê¾Ò´Ù) °æ¿ì´Â 1ÀÌ µ¹¾Æ°©´Ï´Ù. µ¹·ÁÁÖ´Â ·¹ÄÚ µå¿¡, ¹ÌÇØ°áÀÎ .Nm tc È®ÀåÀÌ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì´Â 2°¡ µ¹¾Æ°©´Ï´Ù. ½Ã½ºÅÛ ¿ì·ùÀÇ ¹ß»ýÇßÀ» °æ¿ì´Â \-1 ÇÏÁö¸¸ µ¹¾Æ°©´Ï´Ù. ÀáÀçÀûÀÎ ÂüÁ¶ ·çÇÁ°¡ °ËÃâµÇ¾úÀ» °æ¿ì´Â \-2 ÀÌ µ¹¾Æ°©´Ï´Ù. (ÈİÔÀÇ .Ic tc= ÀÇ ¼³¸íÀ» ÂüÁ¶ÇØ ÁÖ¼¼¿ä. ) µ¥ÀÌŸº£À̽º°¡ ¿Ï·áÇßÀ»(0ÀÌ µ¹¾Æ°¥) °æ¿ì, µ¥ÀÌ Å¸º£À̽º´Â Ŭ·Î¿ìÁî µË´Ï´Ù. .Pp .Fn cgetclose ÇÔ¼ö´Â, ½ÃÄö¼ÈÀÎ ¾×¼¼½º¸¦ Ŭ·Î¿ìÁî ÇØ, ¸ðµç ¸Þ¸ð¸® ¹× »ç¿ë µÇ°í ÀÖ´ø ÆÄÀÏ ±â¼úÀÚ¸¦ ÇØ¹æÇÕ´Ï´Ù. .Fn cgetset ÀÇ È£Ãâ¿¡ ÀÇÇØ Ǫ½¬ µÈ ¹öÆÛ´Â, ¼Ò°ÅµÇÁö ¾Ê´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. .Sh ÄÉÀÌÆÄºñ¸®Æ¼µ¥ÀÌŸº£À̽ºÀÇ ±¸¹® ÄÉÀÌÆÄºñ¸®Æ¼µ¥ÀÌŸº£À̽º´Â ÀϹÝÀûÀ¸·Î .Tn ASCII ÀÔ´Ï´Ù. Ç¥ÁØÀÇ ÅØ½ºÆ® ¹®ÀÚ ÆíÁý±â·Î ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. °ø¹éÇà ¹× `#'·Î ½ÃÀ۵ȴ٠ÇàÀº ÄÚ¸àÆ®À̹ǷΠ¹«½ÃµË´Ï´Ù. `\|\e'·Î ³¡³ª´Â ÇàÀº, ´ÙÀ½ÀÇ ÇàÀÌ ÇöÀçÀÇ Çà ÀÇ °è¼ÓÀÎ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ `\|\e' ¹× ÈÄ¿¡ °è¼ÓµÇ´Â °³ÇàÀº ¹«½Ã . ±ä ÇàÀº º¸Åë ¸î°³ÀÇ ¹°¸®ÇàÀ¸·Î ºÐÇÒµÇ¾î ¸Ç ¸¶Áö¸· ÁÙÀ» Á¦¿ÜÇØ °¢ Ç฻¿¡ `\|\e'°¡ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. .Pp ÄÉÀÌÆÄºñ¸®Æ¼µ¥ÀÌŸº£À̽º´Â, ÀÏ·ÃÀÇ ·¹ÄÚµå(1 ³í¸®Çà ´ç 1°³)¿¡ ÀÇÇØ ±¸¼ºµË´Ï´Ù. °¢ ·¹Äڵ忡´Â, °¡º¯¼öÀÇ `:'·Î ³ª´­ ¼ö ÀÖ¾ú´ø Çʵå(ÄÉÀÌ ÆÄºñ¸®Æ¼)°¡ Æ÷ÇԵ˴ϴÙ. °ø¹é ½ºÆäÀ̽º ij¸¯ÅÍ(½ºÆäÀ̽º ¹× ÅÇ)·Î, ¸ðµÎ ±¸¼ºµÇ´Â Çʵå´Â ¹«½ÃµË´Ï´Ù. .Pp °¢ ·¹ÄÚµåÀÇ ÃÖÃÊÀÇ ÄÉÀÌÆÄºñ¸®Æ¼´Â, `|'ij¸¯ÅÍ·Î ³ª´­ ¼ö ÀÖ¾ú´ø À̸§(º¹ ¼ö)¸¦ ÁöÁ¤ÇÕ´Ï´Ù. °áÁ¤¿¡ ÀÇÇØ ¸¶Áö¸· À̸§Àº Ç×»ó ÄÚ¸àÆ®·Î, ·èÅ©¾Ç ÇÁŸ±×·Î¼­ÀÇ Àǵµ´Â ¾ø½À´Ï´Ù. ¿¹¸¦ µé¾î, .Nm termcap µ¥ÀÌŸº£À̽ºÀÇ .Em vt100 ·¹ÄÚµåÀÇ Ã³À½Àº ´ÙÀ½°ú °°½À´Ï´Ù. .Pp .Dl "d0\||\|vt100\||\|vt100-am\||\|vt100am\||\|dec vt100:" .Pp ¿©±â¿¡¼­´Â ÃÖÃʺÎÅÍ 4°³ÀÇ À̸§ÀÌ, ÀÌ ·¹ÄÚµåÀÇ ¾×¼¼½º¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. .Pp ³ª¸ÓÁöÀÇ °ø¹éÀÌ ¾Æ´Ñ ÄÉÀÌÆÄºñ¸®Æ¼´Â °¢°¢, ¿É¼ÇÀ¸·Î ŸÀÔ ÁöÁ¤Ä¡°¡ ÈÄ¿¡ °è¼ÓµÇ´Â À̸§À», (À̸§, °ª) °áÇÕ ¼¼Æ®·Î ±â¼úÇÕ´Ï´Ù. ´ÙÀ½°ú °°½À´Ï´Ù. .Bl -column "nameTvalue" .It À̸§ Ta "ŸÀÔÀÌ ¾ø´Â[ºÒ] ÄÉÀ̹ٺñ¸®Æ¼¸í [ÁøÁ¤ÇÑ]" .It name Ns Em \&T Ns value Ta Ä¡ .Em value (À»)¸¦ °¡Áö´Â ÄÉÀÌÆÄºñ¸®Æ¼ .Pq Em name , \&T .It name@ Ta Á¸ÀçÇÏ´Â ºñÄÉÀÌÆÄºñ¸®Æ¼ .Em name .It nameT@ Ta Á¸ÀçÇÏÁö ¾Ê´Â(ºñÀçÀÇ) ÄÉÀÌÆÄºñ¸®Æ¼ .Pq Em name , \&T .El .Pp À̸§Àº, 1°³¶Ç´Â º¹¼öÀÇ Ä³¸¯ÅÍ·Î ±¸¼ºµË´Ï´Ù. À̸§¿¡´Â `:'¸¦ Á¦¿ÜÇÑ´Ù ¸ðµç ij¸¯Å͸¦ Æ÷ÇÔÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù¸¸, Àμ⠰¡´É ij¸¯ÅÍ·Î ÇÑÁ¤ÇØ (ÀÌ)¶ó°í, `#' ,`=' ,`%' ,`@'µîÀÇ ±×·¡ÇÈ Ä³¸¯ÅÍÀÇ »ç¿ëÀ» ÇÇÇÑ´Ù Àǰ¡, Åë»óÀº ÃÖ¼±ÀÔ´Ï´Ù. ŸÀÔÀº, ÄÉÀÌÆÄºñ¸®Æ¼¸íÀ» °¢°¢ÀÇ °ü·Ã ŸÀÔ ÁöÁ¤Ä¡·ÎºÎÅÍ ±¸º°Çϴµ¥ »ç¿ëµÇ´Â 1°³ÀÇ Ä³¸¯ÅÍÀÔ´Ï´Ù. `:'¸¦ Á¦¿ÜÇÏ´Â ¸ðµÎ ÀÇ Ä³¸¯Å͸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, º¸ÅëÀº `#',`=' ,`%' , µîÀÇ ±×¶óÇÈ Äíij¶óũŸ°¡ »ç¿ëµË´Ï´Ù. °ªÀº ¹«Á¦ÇÑÇÑ ¼öÀÇ Ä³¸¯ÅÍ·Î,`:'¸¦ Á¦Äí½º ¶ó°íÀÇ Ä³¸¯Å͸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. .Sh ÄÉÀÌÆÄºñ¸®Æ¼µ¥ÀÌŸº£À̽ºÀÇ Àǹ̷РÄÉÀÌÆÄºñ¸®Æ¼·¹ÄÚµå´Â, (À̸§, °ª) °áÇÕ¼¼Æ®¸¦ ±â¼úÇÕ´Ï´Ù. À̸§Àº, ±×°Íµé¿¡ °áÇÕµÈ º¹¼öÀÇ °ªÀ» °¡Áú ¼ö°¡ ÀÖ½À´Ï´Ù. 1°³ÀÇ À̸§¿¡ ´ëÇÑ ÀÌÀÎ Ä¡´Â, °¢°¢ÀÇ .Fa type ¿¡ ÀÇÇØ ½Äº°µË´Ï´Ù. .Fn cgetcap ÇÔ¼ö´Â, ÄÉÀÌÆÄºñ¸®Æ¼¸í ¹× ±× °ªÀÇ Å¸ÀÔÀÌ ÁÖ¾îÁø, À̸§ÀÇ °ªÀÇ Æ÷ ÀÎÅ͸¦ µ¹·ÁÁÝ´Ï´Ù. .Pp ŸÀÔ `#' ¹× `='´Â °ü¿ëÀ¸·Î, ¼öÄ¡ ¹× string ŸÀÔ ÁöÁ¤ÀÇ °ªÀ» ½Ã ÇÕ´Ï´Ù¸¸, ÀÌ·¯ÇÑ Å¸ÀÔÀÇ ±×·¯ÇÑ ¿ëµµ ÇÑÁ¤Àº °­Á¦ÀûÀÎ ¹°°ÇÀÌ ¾Æ´Õ´Ï´Ù. ÇÔ¼ö .Fn cgetnum ¹× .Fn cgetstr ¿¡ ÀÇÇØ,`#' ¹× `='ÀÇ Á¾·¡ÀÇ ±¸¹® ¹× Àǹ̷ÐÀ» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ŸÀÌ ÇÁ°¡ ¾ø´Â ÄÉÀÌÆÄºñ¸®Æ¼´Â, º¸ÅëÁøÄ¡ ¹× À§Ä¡¸¦ °¢°¢ °¡¸®Å°´Â Á¸Àç ¶Ç´Â ºñ Àç÷ºÎÀÇ, ºÒ ¿ÀºêÁ§Æ®¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ ÇØ¼®Àº °£´ÜÇÏ°Ô ´ÙÀ½°ú °°ÀÌ °Ñ(Ç¥) ÀÏÀÌ »ý±é´Ï´Ù. .Pp .Dl "(getcap(buf, name, ':') ! = NULL)" .Pp Ư¼ö ÄÉÀÌÆÄºñ¸®Æ¼ .Ic tc= name (Àº)´Â, À̸§¿¡ ÀÇÇØ ÁöÁ¤ÇÑ ·¹Äڵ带 .Ic tc ÄÉÀÌÆÄºñ¸®Æ¼¿¡ ¿Å°Ü³õµµ·Ï(µíÀÌ) Áö½ÃÇÕ´Ï´Ù. .Ic tc ÄÉÀÌÆÄºñ¸®Æ¼´Â, °°Àº .Ic tc ÄÉÀÌÆÄºñ¸®Æ¼°¡ Æ÷ÇÔµÈ ·¹Äڵ带 º¸°£ ÇÒ ¼ö ÀÖ½À´Ï´Ù. 1°³ÀÇ ·¹Äڵ峻¿¡¼­, º¹¼öÀÇ .Ic tc ÄÉÀÌÆÄºñ¸®Æ¼¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. .Ic tc ÀÇ È®Àå ¹üÀ§(Áï Àμö°¡ °Ë»öµÇ´Â ¹üÀ§)¿¡´Â, .Ic tc ÇÏÁö¸¸ ¼±¾ðµÈ ÆÄÀÏ ÀÌÈÄÀÇ, ±× ÆÄÀÏ ¹è¿­¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏÀÌ ÇÔ . .Pp ÄÉÀÌÆÄºñ¸®Æ¼·¹Äڵ带 µ¥ÀÌŸº£À̽º·Î °Ë»öÇÏ´Â °æ¿ì´Â, ±× °Ë»öÀ¸·Î ÃÖÃÊ·Î ÀûÇÕÇÑ ·¹Äڵ尡 µ¹¾Æ°©´Ï´Ù. ÄÉÀÌÆÄºñ¸®Æ¼¸¦ ·¹ÄÚµå·Î ½ºÄµ ÇÏ´Â °æ¿ì´Â, ÃÖÃÊ·Î ÀûÇÕÇÑ ÄÉÀÌÆÄºñ¸®Æ¼°¡ µ¹¾Æ°©´Ï´Ù. ÄÉÀÌÆÄºñ¸®Æ¼ .Ic :nameT@: (Àº)´Â, ÈÄ¿¡ °è¼ÓµÇ´Â À̸§ÀÇ Å¸ÀÔ .Em T ÀÇ °ªÀÇ, ¸ðµç Á¤ÀǸ¦ ¼û±é´Ï´Ù. ¶Ç, ÄÉÀÌÆÄºñ¸®Æ¼ .Ic :name@: (Àº)´Â, ÈÄ¿¡ °è¼ÓµÇ´Â À̸§ÀÇ ¸ðµç °ªÀ» ºÒ°¡½Ã·Î ÇÕ´Ï´Ù. .Pp .Ic tc ÄÉÀÌÆÄºñ¸®Æ¼¿Í Â¥ ÇÕÃÄÁø ÀÌ·¯ÇÑ ±â´ÉÀº, »õ·Î¿î ÄÉÀÌÆÄºñ¸®Æ¼¸¦ Ãß °¡ Çϰųª »õ·Î¿î Á¤ÀÇ¿¡ ÀÇÇØ Áö±Ý±îÁöÀÇ Á¤ÀǸ¦ µ¡¾²±âÇϰųª ¶Ç´Â `@' ÄÉÀÌÆÄºñ¸®Æ¼¿¡ ÀÇÇØ ÈÄ¿¡ °è¼ÓµÇ´Â Á¤ÀǸ¦ ¼û±â°Å³ª ÇÏ´Â °Í¿¡ ÀÇÇØ, ´Ù¸¥ µ¥ÀÌ Å¸º£À̽º ¶Ç´Â ·¹Äڵ带 ¿©·¯°¡Áö·Î º¯È­½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù. .Sh ¿¹ .Bd -unfilled -offset indent example\||\|an example of binding multiple values to names:\e :foo%bar:foo^blah:foo@:\e :abc%xyz:abc^frap:abc$@:\e :tc=more: .Ed .Pp ÄÉÀÌÆÄºñ¸®Æ¼ foo ¿¡´Â °Å±â¿¡ °áÇÕµÈ 2 °³ÀÇ °ª(ŸÀÔ `%'ÀÇ bar ¹× ŸÀÔ `^'ÀÇ blah)°¡ ÀÖ½À´Ï´Ù. °áÇÕµÈ °Í ¿ÜÀÇ ¸ðµç °ªÀº ¼û°ÜÁ® ÀÖ½À´Ï´Ù. ÄÉÀÌÆÄºñ¸®Æ¼ abc ¿¡µµ °áÇÕµÈ 2°³ÀÇ °ªÀÌ ÀÖ½À´Ï´Ù¸¸, ÄÉÀÌÆÄºñ¸®Æ¼·¹ÄÚµå more ¿¡¼­ÀÇ Á¤Àǰ¡ ±ÝÁöµÇ°í ÀÖ´Â °ÍÀº, ŸÀÔ `$'ÀÇ °ª »ÓÀÔ´Ï´Ù. .Pp .Bd -unfilled -offset indent file1: new\||\|new_record\||\|a modification of "old":\e :fript=bar:who-cares@:tc=old:blah:tc=extensions: file2: old\||\|old_record\||\|an old database record:\e :fript=foo:who-cares:glork#200: .Ed .Pp ÀÌ·¯ÇÑ ·¹Äڵ带 »Ì¾Æ³»´Â °æ¿ì´Â, file2ÀÇ Àü¿¡ file1·Î .Fn cgetent (À»)¸¦ È£ÃâÇÕ´Ï´Ù. °Å±â¿¡ µû¶ó file1 ÀÇ ½ÅÄÉÀÌÆÄºñ¸®Æ¼·¹ÄÚµå fript=bar °¡, file2 ÀÇ ±¸ÄÉÀÌÆÄºñ¸®Æ¼·¹ÄÚµå·ÎºÎÅÍ º¸°£ µÈ fript=foo (À»)¸¦ µ¡¾²±âÇÕ´Ï´Ù. ¶Ç, who-cares@ °¡ ±¸·¹Äڵ忡 ÀÖ´Â ¸ðµç who-cares Á¤ÀǸ¦ ºÒ°¡½Ã·Î ÇÕ´Ï´Ù. °Ô´Ù°¡ glork#200 °¡ ±¸·¹ÄÚµå·ÎºÎÅÍ ¹Ì·ç¾îÁ® blah ¹×, ÀÌ ·¹ÄÚµåÀÇ È®Àå¿¡ ÀÇÇØ Á¤ÀÇµÈ ¸ðµÎ°¡ ±¸·¹Äڵ峻ÀÇ ±×°Íµé Á¤ÀÇ¿¡ Ãß°¡µË´Ï´Ù. ¿©±â¿¡¼­´Â, tc=old ÀÇ Àü¿¡ fript=bar ¹× who-cares@ ÀÇ Á¤ÀǸ¦ µÎ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù. ±×·¯ÇÑ Á¤ÀǸ¦ tc=old ÀÇ µÚ¿¡ Ä¡ ÀÖ¾úÀ» °æ¿ì´Â, ±¸·¹ÄÚµåÀÇ Á¤Àǰ¡ ¿ì¼±µË´Ï´Ù. .Sh CGETNUM ¹× CGETSTRÀÇ ±¸¹®°ú Àǹ̷Р.Fn cgetnum ¹× .Fn cgetstr ¿¡ ÀÇÇØ Á¤ÀǿϷáÀÇ, 2°³ÀÇ Å¸ÀÔÀÌ ÀÖ½À´Ï´Ù. ´ÙÀ½°ú °°½À´Ï´Ù. .Bl -column "nameXnumber" .Sm off .It Em name No \&# Em number Ta "Ä¡" .Em number (À»)¸¦ °¡Áö´Â ¼öÄ¡ ÄÉÀÌÆÄºñ¸®Æ¼¸í .It Em name No = Em string Ta "Ä¡" .Em string (À»)¸¦ °¡Áö´Â ½ºÆ®¸µÄÉÀÌÆÄºñ¸®Æ¼¸í .It Em name No \&#@ Ta "Á¸ÀçÇÏÁö ¾Ê´Â(ºñ Àç) ¼öÄ¡ ÄÉÀÌÆÄºñ¸®Æ¼¸í" .It Em name No \&=@ Ta "Á¸ÀçÇÏÁö ¾Ê´Â(ºñ Àç) ½ºÆ®¸µÄÉÀÌÆÄºñ¸®Æ¼¸í" .El .Pp ¼öÄ¡ ÄÉÀÌÆÄºñ¸®Æ¼Ä¡´Â, 3 °³ÀÇ ±â¼öÀÇ ¾î¶² °ÍÀΰ¡·Î ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù. . Q1 0x ¶Ç´Â . Q1 0X ±×¸®°í ½ÃÀ۵Ǵ ¼ö´Â, 16 Áø¼ö·Î¼­ ÇØ¼®µË´Ï´Ù(´ë¹®ÀÚ ¹× ¼Ò¹®ÀÚÀÇ a-f ¸¦ »ç (ÀÌ)¶ó°í 16 Áø¼öÀÇ È®ÀåÀÚ¸®¼ö¸¦ ³ªÅ¸³¾ ¼ö°¡ ÀÖ½À´Ï´Ù). ±× ¿ÜÀÇ . Q1 0 ±×¸®°í ½ÃÀ۵ȴ٠¼ýÀÚ´Â, 8 Áø¼ö·Î¼­ ÇØ¼®µË´Ï´Ù. ³ª¸ÓÁöÀÇ ¼ýÀÚ´Â ¸ðµÎ 10 Áø¼ö·Î¼­ ÇØ¼® µË´Ï´Ù. .Pp ½ºÆ®¸µÄÉÀÌÆÄºñ¸®Æ¼Ä¡¿¡´Â, ¸ðµç ij¸¯Å͸¦ Æ÷ÇÔÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Àμ⠰¡´ÉÇÏÁö ¾Ê´Ù .Dv ASCII ÄÚµå, °³Çà Äڵ峪 ÄڷеîÀÌ, escape sequence¸¦ »ç¿ëÇØ °£´ÜÇÏ°Ô °Ñ(Ç¥) . ´ÙÀ½°ú °°½À´Ï´Ù. .Bl -column "\e\|X, X\e\|X" "(ASCII octal nnn)" ^X ('X' & 037) ÄÁÆ®·Ñ X \e\|b, \e\|B (ASCII 010) ¹é ½ºÆäÀ̽º \e\|t, \e\|T (ASCII 011) ÅÇ \e\|n, \e\|N (ASCII 012) ¶óÀÎ Çǵå(°³Çà) \e\|f, \e\|F (ASCII 014) form feed \e\|r, \e\|R (ASCII 015) ¿Õº¹´ë ¸®ÅÏ \e\|e, \e\|E (ASCII 027) À̽ºÄÉÀÌÇÁ \e\|c, \e\|C (:) ÄÚ·Ð \e\|\e (\e\|) backslash \e\|^ (^) caret \e\|nnn (ASCII 8 Áø¼ö nnn) .El .Pp `\|\e ÀÇ µÚ¿¡ ÃÖ´ë 3 ÀÚ¸®¼öÀÇ 8 Áø¼ö¸¦ °è¼ÓÇϸé, ƯÁ¤ ij¸¯ÅÍÀÇ ¼öÄ¡ Äڵ带 Á÷Á¢ ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ´Ù¸¸, encode´Â °£´ÜÇØµµ .Dv ASCII .Dv NUL (À»)¸¦ ´Ù¿ëÇϸé(ÀÚ), ¸ðµç ¹®Á¦ÀÇ ¿øÀÎÀÌ µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. .Dv NUL (Àº)´Â º¸Åë stringÀÇ ¸¶Áö¸·À» ³ªÅ¸³»±â ¶§¹®¿¡, »ç¿ë¿¡ À־´Â ÁÖÀǰ¡ ÇÊ¿ä ÀÔ´Ï´Ù. ¸¹Àº ¾îÇø®ÄÉÀ̼ÇÀ¸·Î, .Dv NUL (À»)¸¦ ³ªÅ¸³»´Âµ¥ `\e\|200'°¡ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù. .Sh Áø´Ü .Fn Cgetent , .Fn cgetset , .Fn cgetmatch , .Fn cgetnum , .Fn cgetstr , .Fn cgetustr , .Fn cgetfirst , ¹× .Fn cgetnext µîÀº, ¸ðµÎ ¼º°øÇßÀ» °æ¿ì´Â 0¶Ç´Â ±×°ÍÀ» ¿ôµµ´Â °ªÀ» µ¹·ÁÁÖ¾î, ½ÇÆÐÇÑ Àå¼Ò ÇÕÀº 0À» ¹Øµµ´Â °ªÀ» µ¹·ÁÁÝ´Ï´Ù. .Fn cgetcap ÇÔ¼öÀÇ °æ¿ì´Â, ¼º°øÇϸé(ÀÚ) ij¸¯ÅÍ Æ÷ÀÎÅ͸¦, ½ÇÆÐÇϸé(ÀÚ) .Dv NULL (À»)¸¦ µ¹·ÁÁÝ´Ï´Ù. .Pp .Fn cgetent ¹× .Fn cgetseq ÇÔ¼öÀÇ ½ÇÆÐ¿¡¼­´Â, .Va errno ÇÏÁö¸¸, ´Ù¸¥ ÇÁ·Î±×·¥ ¶óÀ̺귯¸® ÇÔ¼ö .Xr fopen 2 , .Xr close 2 , .Xr open 2 , ¹× .Xr close 2 µîÀÇ ¿¡·¯·Î ¼³Á¤µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. .Pp .Fn cgetent , .Fn cgetset , .Fn cgetstr ¹× .Fn cgetustr ÀÇ ½ÇÆÐ¿¡¼­´Â, ´ÙÀ½ÀÇ ¿¡·¯¿¡ .Va errno ÇÏÁö¸¸ ¼³Á¤µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. .Bl -tag -width Er .It Bq Er ENOMEM ÇÒ´çÇÏ´Â ¸Þ¸ð¸®°¡ ¾ø½À´Ï´Ù. .El .Sh °ü·Ã Ç׸ñ .Pp .Xr cap_mkdb 1 , .Xr malloc 3 .Sh ¹ö±× ÄÚ·Ð (`:')ÀÌ, À̸§, ŸÀÔ, °ª¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. .Pp .Fn cgetent ¿¡, .Ic tc=name ·çÇÁÀÇ Ã¼Å©°¡ ¾ø½À´Ï´Ù. .Pp .Fn cgetset ÀÇ È£Ãâ¿¡ ÀÇÇØ ¹öÆÛ¸¦ µ¥ÀÌŸº£À̽º¿¡ Ãß°¡ÇÏ´Â °ÍÀº, ÀÌ µ¥ÀÌŸº£ÀÌ ½º¿¡ ÇÑÁ¤ÇÏÁö ¾Ê½À´Ï´Ù¸¸, ´Ù¸¥ »ç¿ë µ¥ÀÌŸº£À̽º¿¡ Ãß°¡ÇÏ´Â °æ¿ì´Â, ´ÙÀ½¿¡´Â ¾ø°í Àü ¿¡ ºÎ°¡ÇÏ´Â (ºÐ)ÆíÀÌ ¹«³­ÇÕ´Ï´Ù.