GETSOCKOPT

Section: Linux Programmer's Manual (2)
Updated: 24 May 1999
Index
Return to Main Contents
 

À̸§

getsockopt, setsockopt - ¼ÒÄÏÀÇ ¿É¼ÇÀ» ¾ò°í ¼³Á¤ÇÑ´Ù.  

»ç¿ë¹ý

#include <sys/types.h>
#include <sys/socket.h>

int getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen);

int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);  

¼³¸í

Getsockopt ¿Í setsockopt ´Â ¼ÒÄÏ°ú ÀÏÄ¡ÇÏ´Â manipulate the options À» ´Ù·é´Ù. ¿É¼ÇÀº ´ÙÁß ÇÁ·ÎÅäÄÝ·¹º§¿¡ Á¸ÀçÇÒ·±Áö ¸ð¸¥´Ù; ±× ÇÁ·ÎÅäÄÝ·¹º§µéÀº Ç×»ó ÃÖ»óÀÇ ¼ÒÄÏ ·¹º§¿¡ ÀÖ´Ù. ¼ÒÄϿɼÇÀ» Á¶ÀÛÇÒ¶§, ¿É¼Ç ÁöÁ¤°ú ¿É¼ÇÀÇ À̸§ÀÌ ÀÖ´Â ·¹º§Àº ÁöÁ¤µÇ¾î¾ß ÇÑ´Ù. ¼ÒÄÏ·¹º§¿¡¼­ ¿É¼ÇÀ» Á¶ÀÛÇϱâ À§ÇØ, level Àº SOL_SOCKET ó·³ ÁöÁ¤µÇ¾î¾ß ÇÑ´Ù. ¸Å°³º¯¼ö optval ¿Í optlen ´Â setsockopt ¸¦ À§ÇØ ¿É¼Ç°ªÀ» Á¢±ÙÇÏ°ïÇÑ´Ù. getsockopt ¶§¹®¿¡ ±×°ÍµéÀº ¿äûÇÑ ¿É¼ÇÀÌ ¹ÝȯµÇ´Âµ¿¾È °ªÀÌ ÀÖ´Â ¹öÆÛ¸¦ È®ÀÎÇÑ´Ù. getsockopt, ¶§¹®¿¡ optlen ´Â optval °¡ óÀ½¿¡ °¡¸®Å°´Â ¹öÆÛÀÇ Å©±â¸¦ Æ÷ÇÔÇÏ´Â °á°ú°ª ¸Å°³ÀμöÀÌ°í, ¹Ýȯ°ªÀÇ ½ÇÁ¦ Å©±â¸¦ ³ªÅ¸³»´Â ¹ÝȯÀ» ¼öÁ¤ÇÑ´Ù. ¿É¼Ç°ªÀÌ Á¦°øµÇ°Å³ª ¹ÝȯµÇÁö ¾Ê´Â´Ù¸é, optval ´Â NULL°ª ÀÏ·±Áö ¸ð¸¥´Ù. Optname ¿Í ´Ù¸¥ ÁöÁ¤µÈ ¿É¼ÇÀº Çؼ®À» À§ÇØ ÀûÀýÇÑ ÇÁ·ÎÅäÄÝ ¸ðµâ¿¡ Çؼ®ÀÌ ¾ÈµÇ´Â °ÍÀº ³Ñ¾î°£´Ù. ÆÄÀÏ <sys/socket.h> Àº ¾Æ·¡ ¼³¸íµÈ ¼ÒÄÏ·¹º§ ¿É¼ÇÀ» À§ÇÑ Á¤ÀǸ¦ Æ÷ÇÔÇÑ´Ù. ´Ù¸¥ ÇÁ·ÎÅäÄÝ ·¹º§¿¡ ¿É¼ÇÀº Æ÷¸Ë°ú À̸§ÀÌ ´Ù¸£´Ù; ¸Þ´º¾óÀÇ ¼¼¼Ç 4¿¡ ÀûÀýÇÑ ±âÀç»çÇ×À» Âü°íÇÑ´Ù. ´ëºÎºÐ ¼ÒÄÏ-·¹º§ ¿É¼ÇÀº optval ¸¦ À§ÇØ int ¹è°³º¯¼ö »ç¿ëÇÑ´Ù. setsockopt ¸¦ À§ÇØ, ¸Å°³º¯¼ö´Â boolean¿É¼ÇÀÌ °¡´ÉÇϱâÀ§ÇØ 0ÀÌ ¾Æ´Ï¾î¾ß ÇÑ´Ù. ȤÀº ¿É¼ÇÀÌ ºÒ°¡´É Çϸé 0ÀÌ´Ù.

À¯È¿ ¼ÒÄÏ ¿É¼ÇÀÇ µð½ºÅ©¸³ÅÍ´Â socket(7) °ú Àû´çÇÑ ÇÁ·ÎÅäÄÝ ¸ÇÆäÀÌÁö¸¦ º»´Ù..  

¹Ýȯ°ª

¼º°ø½Ã, 0ÀÌ ¹ÝȯµÈ´Ù. ½ÇÆнÃ, -1ÀÌ ¹ÝȯµÇ°í, errno ´Â ÀûÀýÈ÷ ¼³Á¤µÈ´Ù.  

¿¡·¯

EBADF
Àμö s ´Â À¯È¿ÇÑ µð½ºÅ©¸³ÅÍ°¡ ¾Æ´Ï´Ù.
ENOTSOCK
Àμö s ´Â ¼ÒÄÏÀÌ ¾Æ´Ï°í, ÆÄÀÏÀÌ´Ù.
ENOPROTOOPT
¿É¼ÇÀº ÁöÁ¤µÈ ·¹º§¿¡ ¾Ë·ÁÁöÁö ¾Ê¾Ò´Ù.
EFAULT
The address pointed to by optval °¡ °¡¸®Å°´Â ÁÖ¼Ò´Â ÇÁ·Î¼¼½º ÁÖ¼Ò°ø°£ÀÇ À¯È¿ÇÑ ºÎºÐÀÌ ¾Æ´Ï´Ù. getsockopt ¶§¹®¿¡ optlen °¡ ÇÁ·Î¼¼½º ÁÖ¼Ò°ø°£ÀÇ À¯È¿ÇÑ ºÎºÐÀÌ ¾Æ´Ï¶ó¸é, ÀÌ ¿¡·¯´Â ¶ÇÇÑ ¹ÝȯµÉ·±Áö ¸ð¸¥´Ù.
 

ȣȯ

SVr4, 4.4BSD (ÀÌ·¯ÇÑ ½Ã½ºÅÛ È£ÃâÀº 4.2BSD¿¡¼­ óÀ½ º¸¿´´Ù). SVr4 ´Â Ãß°¡ÀûÀ¸·Î ENOMEM¿Í ENOSR ¿¡·¯Äڵ带 ¹®¼­È­ÇßÁö¸¸, SO_SNDLOWAT, SO_RCVLOWAT, SO_SNDTIMEO, SO_RCVTIMEO ¿É¼ÇÀº ¹®¼­È­µÇÁö ¾Ê¾Ò´Ù.  

ÁÖÀÇ

getsockopt ¿Í setsockopt ÀÇ ´Ù¼¸¹ø° Àμö´Â ½ÇÁ¦ int [*]¿¡ ÀÖ´Ù. ÃÊ¾È Ç¥ÁØ(draft standard)´Â ¾ÆÁ÷ äÅõÇÁö ¾Ê¾ÒÁö¸¸, glibc2´Â ÀÌ¹Ì µû¸£°í ÀÖ°í, socklen_t [*]¸¦ °®´Â´Ù. accept(2) ¸¦ º»´Ù.  

¹ö±×

¼ÒÄϿɼÇÀÇ ´Ù¼ö´Â ½Ã½ºÅÛÀÇ Àú¼öÁØ ·¹º§¿¡¼­ ´Ù·ïÁ®¾ßÇÑ´Ù.  

°ü·Ã Ç׸ñ

ioctl(2), socket(2), getprotoent(3), protocols(5), socket(7), unix(7), tcp(7)  

¿ªÀÚ

ASPLINUX<man@asp-linux.co.kr>, 2000³â 7¿ù 29ÀÏ


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
¹Ýȯ°ª
¿¡·¯
ȣȯ
ÁÖÀÇ
¹ö±×
°ü·Ã Ç׸ñ
¿ªÀÚ

This document was created by man2html, using the manual pages.
Time: 08:06:59 GMT, March 25, 2004