Penguin
Diff: getsockopt(2)
EditPageHistoryDiffInfoLikePages

Differences between current version and revision by previous author of getsockopt(2).

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 2 Last edited on Tuesday, December 31, 2002 2:17:24 am by PerryLorier
Older page: version 1 Last edited on Tuesday, June 4, 2002 12:23:42 am by perry Revert
@@ -1,146 +1,45 @@
-GETSOCKOPT  
-!!!GETSOCKOPT  
-NAME  
-SYNOPSIS  
-DESCRIPTION  
-RETURN VALUE  
-ERRORS  
-CONFORMING TO  
-NOTE  
-BUGS  
-SEE ALSO  
-----  
 !!NAME 
+getsockopt - get options on sockets  
  
-  
-getsockopt, setsockopt - get and set options on sockets  
 !!SYNOPSIS 
  
+ __#include <sys/types.h>__  
+ __#include <sys/socket.h>__  
  
-__#include __  
-#include __ 
+ __int getsockopt(int __ ''s''__, int__ ''level''__, int__ ''optname''__, void *__''optval''__, socklen_t *__''optlen''__); __ 
  
-  
-__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''__);__  
 !!DESCRIPTION 
+getsockopt(2) returns the ''options'' associated with a socket. Options may exist at multiple protocol levels; they are always present at the uppermost socket(7) level.  
  
+When manipulating socket options the level at which the option resides and the name of the option must be specified. To manipulate options at the socket level, ''level'' is specified as __SOL_SOCKET__. To manipulate options at any other level the protocol number of the appropriate protocol controlling the option is supplied. For example, to indicate that an option is to be interpreted by the __TCP__  
+protocol, ''level'' should be set to the protocol number of __TCP__; see getprotoent(3).  
  
-__Getsockopt__ and __setsockopt__ manipulate the  
- ''options '' associated with a socket . Options may exist  
-at multiple protocol levels; they are always present at the  
-uppermost __socket __ level
+The parameters ''optval'' and ''optlen'' identify a buffer in which the value for the requested option(s) are to be returned. ''optlen '' is a value-result parameter, initially containing the size of the buffer pointed to by ''optval'', and modified on return to indicate the actual size of the value returned . If no option value is to be supplied or returned, ''optval'' may be __NULL __. 
  
+''Optname'' and any specified options are passed uninterpreted to the appropriate protocol module for interpretation. The include file ''<sys/socket.h>'' contains definitions for socket level options, described below. Options at other protocol levels vary in format and name; consult the appropriate entries in section 4 of the manual.  
  
-When manipulating socket options the level at which the  
-option resides and the name of the option must be specified.  
-To manipulate options at the socket level, ''level '' is  
-specified as __SOL _SOCKET __. To manipulate options at any  
-other level the protocol number of the appropriate protocol  
-controlling the option is supplied. For example , to indicate  
-that an option is to be interpreted by the __TCP__  
-protocol, ''level'' should be set to the protocol number  
-of __TCP__; see getprotoent(3)
+Most socket- level options utilize an ''int' ' parameter for ''optval''. For __setsockopt __, the parameter should be non-zero to enable a boolean option, or zero if the option is to be disabled
  
+For a description of the available socket options see socket(7) and the appropriate protocol man pages.  
  
-The parameters ''optval'' and ''optlen'' are used to  
-access option values for __setsockopt__. For  
-__getsockopt__ they identify a buffer in which the value  
-for the requested option(s) are to be returned. For  
-__getsockopt__, ''optlen'' is a value-result  
-parameter, initially containing the size of the buffer  
-pointed to by ''optval'', and modified on return to  
-indicate the actual size of the value returned. If no option  
-value is to be supplied or returned, ''optval'' may be  
-NULL.  
-  
-  
-''Optname'' and any specified options are passed  
-uninterpreted to the appropriate protocol module for  
-interpretation. The include file ''''  
-contains definitions for socket level options, described  
-below. Options at other protocol levels vary in format and  
-name; consult the appropriate entries in section 4 of the  
-manual.  
-  
-  
-Most socket-level options utilize an ''int'' parameter  
-for ''optval''. For __setsockopt__, the parameter  
-should be non-zero to enable a boolean option, or zero if  
-the option is to be disabled.  
-  
-  
-For a description of the available socket options see  
-socket(7) and the appropriate protocol man  
-pages.  
 !!RETURN VALUE 
+On success, zero is returned. On error, -1 is returned, and ''errno'' is set appropriately.  
  
-  
-On success, zero is returned. On error, -1 is returned, and  
-''errno'' is set appropriately.  
 !!ERRORS 
+;[EBADF]: The argument ''s'' is not a valid descriptor.  
+;[ENOTSOCK]: The argument ''s'' is a file, not a socket.  
+;[ENOPROTOOPT]: The option is unknown at the level indicated.  
+;[EFAULT]: The address pointed to by ''optval'' is not in a valid part of the process address space. For getsockopt(2), this error may also be returned if ''optlen'' is not in a valid part of the process address space.  
  
-  
-__EBADF__  
-  
-  
-The argument ''s'' is not a valid  
-descriptor.  
-  
-  
-__ENOTSOCK__  
-  
-  
-The argument ''s'' is a file, not a socket.  
-  
-  
-__ENOPROTOOPT__  
-  
-  
-The option is unknown at the level indicated.  
-  
-  
-__EFAULT__  
-  
-  
-The address pointed to by ''optval'' is not in a valid  
-part of the process address space. For __getsockopt__,  
-this error may also be returned if ''optlen'' is not in a  
-valid part of the process address space.  
 !!CONFORMING TO 
+SVr4, 4.4BSD (these system calls first appeared in 4.2BSD). SVr4 documents additional [ENOMEM] and [ENOSR] error codes, but does not document the __SO_SNDLOWAT__, __SO_RCVLOWAT__, __SO_SNDTIMEO__, __SO_RCVTIMEO__ options  
  
-  
-SVr4, 4.4BSD (these system calls first appeared in 4.2BSD).  
-SVr4 documents additional ENOMEM and ENOSR error codes, but  
-does not document the __SO_SNDLOWAT__,  
-__SO_RCVLOWAT__, __SO_SNDTIMEO__, __SO_RCVTIMEO__  
-options  
 !!NOTE 
+The fifth argument of __getsockopt__ and __setsockopt__ is in reality an int [[*] (and this is what BSD 4.* and libc4 and libc5 have). Some POSIX confusion resulted in the present socklen_t. The draft standard has not been adopted yet, but glibc2 already follows it and also has socklen_t [[*]. See also accept(2).  
  
-  
-The fifth argument of __getsockopt__ and  
-__setsockopt__ is in reality an int [[*] (and this is what  
-BSD 4.* and libc4 and libc5 have). Some POSIX confusion  
-resulted in the present socklen_t. The draft standard has  
-not been adopted yet, but glibc2 already follows it and also  
-has socklen_t [[*]. See also accept(2).  
 !!BUGS 
  
+Several of the socket options should be handled at lower levels of the system.  
  
-Several of the socket options should be handled at lower  
-levels of the system.  
 !!SEE ALSO 
-  
-  
- ioctl(2), socket(2), getprotoent(3),  
- protocols(5), socket(7), unix(7),  
- tcp(7)  
-----  
+ioctl(2), socket(2), getprotoent(3), protocols(5), socket(7), unix(7), tcp(7) 
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.