|
|
1.1 ! root 1: .TH GETSOCKOPT 2 "7 July 1983" ! 2: .UC 4 ! 3: .SH NAME ! 4: getsockopt, setsockopt \- get and set options on sockets ! 5: .SH SYNOPSIS ! 6: .nf ! 7: .ft B ! 8: #include <sys/types.h> ! 9: #include <sys/socket.h> ! 10: .PP ! 11: .ft B ! 12: getsockopt(s, level, optname, optval, optlen) ! 13: int s, level, optname; ! 14: char *optval; ! 15: int *optlen; ! 16: .sp ! 17: setsockopt(s, level, optname, optval, optlen) ! 18: int s, level, optname; ! 19: char *optval; ! 20: int optlen; ! 21: .fi ! 22: .SH DESCRIPTION ! 23: .I Getsockopt ! 24: and ! 25: .I setsockopt ! 26: manipulate ! 27: .I options ! 28: associated with a socket. Options may exist at multiple ! 29: protocol levels; they are always present at the uppermost ! 30: ``socket'' level. ! 31: .PP ! 32: When manipulating socket options the level at which the ! 33: option resides and the name of the option must be specified. ! 34: To manipulate options at the ``socket'' level, ! 35: .I level ! 36: is specified as SOL_SOCKET. To manipulate options at any ! 37: other level the protocol number of the appropriate protocol ! 38: controlling the option is supplied. For example, ! 39: to indicate an option is to be interpreted by the TCP protocol, ! 40: .I level ! 41: should be set to the protocol number of TCP; see ! 42: .IR getprotoent (3N). ! 43: .PP ! 44: The parameters ! 45: .I optval ! 46: and ! 47: .I optlen ! 48: are used to access option values for ! 49: .IR setsockopt . ! 50: For ! 51: .I getsockopt ! 52: they identify a buffer in which the value for the ! 53: requested option(s) are to be returned. For ! 54: .IR getsockopt , ! 55: .I optlen ! 56: is a value-result parameter, initially containing the ! 57: size of the buffer pointed to by ! 58: .IR optval , ! 59: and modified on return to indicate the actual size of ! 60: the value returned. If no option value is ! 61: to be supplied or returned, ! 62: .I optval ! 63: may be supplied as 0. ! 64: .PP ! 65: .I Optname ! 66: and any specified options are passed uninterpreted to the appropriate ! 67: protocol module for interpretation. ! 68: The include file ! 69: .RI < sys/socket.h > ! 70: contains definitions for ``socket'' level options; see ! 71: .IR socket (2). ! 72: Options at other protocol levels vary in format and ! 73: name, consult the appropriate entries in (4P). ! 74: .SH "RETURN VALUE" ! 75: A 0 is returned if the call succeeds, \-1 if it fails. ! 76: .SH ERRORS ! 77: The call succeeds unless: ! 78: .TP 20 ! 79: [EBADF] ! 80: The argument \fIs\fP is not a valid descriptor. ! 81: .TP 20 ! 82: [ENOTSOCK] ! 83: The argument \fIs\fP is a file, not a socket. ! 84: .TP 20 ! 85: [ENOPROTOOPT] ! 86: The option is unknown. ! 87: .TP 20 ! 88: [EFAULT] ! 89: The options are not in a valid part of the ! 90: process address space. ! 91: .SH "SEE ALSO" ! 92: socket(2), getprotoent(3N)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.