Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > setsockopt / getsockopt документация


Автор: null56 16.11.2009, 18:38
Использую эти функции, основываясь в основном на книгах, где какие уровни и какие значения на этих уровнях можно задать, но самое важное не могу найти в документации man.
Код

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


Хочу понять, что такое уровни (level), какие бывают уровни и их назначение. Также какие значения (optname) можно задавать на каких уровнях и за что эти значения отвечают...
Просто отталикиваясь от man setsockopt, я ни к чему не пришел.... Доступные уровни можно найти в исходниках, но вот понять, что это такое туговато...

Прошу навезти меня на документацию, которую надеюсь можно получить из мана...
Заранее благодарен за помощь

Автор: andrew_121 16.11.2009, 20:34
http://www.opennet.ru/man.shtml?topic=getsockopt&category=2&russian=0 - все понятно, и на русском.

Автор: null56 17.11.2009, 09:56
andrew_121, ну этот то же ман... хотя там чуть выше есть ссылка - что - то похожее на то, что мне надо... хотя про уровни маловато инфы, какие бывают уровни...
я просто не совсем понял эту фразу
Цитата

Для манипуляции флагами на уровне сокета level задается как SOL_SOCKET

http://www.opennet.ru/man.shtml?topic=getsockopt&category=2&russian=1
По ссылке выше нашел опции и ниже довольно подробные описания....
Это все опции, которые есть?
Где же всё почитать про возможные значения уровней?
Код

SO_DEBUG Ta enables recording of debugging information
SO_REUSEADDR Ta enables local address reuse
SO_REUSEPORT Ta enables duplicate address and port bindings
SO_KEEPALIVE Ta enables keep connections alive
SO_DONTROUTE Ta enables routing bypass for outgoing messages
SO_LINGER Ta linger on close if data present
SO_BROADCAST Ta enables permission to transmit broadcast messages
SO_OOBINLINE Ta enables reception of out-of-band data in band
SO_SNDBUF Ta set buffer size for output
SO_RCVBUF Ta set buffer size for input
SO_SNDLOWAT Ta set minimum count for output
SO_RCVLOWAT Ta set minimum count for input
SO_SNDTIMEO Ta set timeout value for output
SO_RCVTIMEO Ta set timeout value for input
SO_ACCEPTFILTER Ta set accept filter on listening socket
SO_NOSIGPIPE Ta controls generation of
    SIGPIPE for the socket 
SO_TIMESTAMP Ta enables reception of a timestamp with datagrams
SO_BINTIME Ta enables reception of a timestamp with datagrams
SO_ACCEPTCONN Ta get listening status of the socket (get only)
SO_TYPE Ta get the type of the socket (get only)
SO_ERROR Ta get and clear error on the socket (get only)
SO_SETFIB Ta set the associated FIB (routing table) for the socket (set only) 

Автор: null56 17.11.2009, 14:16
в списке прведенном мной, нет даже опции IP_HDRINCL для уровня IPPROTO_IP... короче мало пока инфы

Автор: MAKCim 17.11.2009, 17:25
man 7 ip -> IPPROTO_IP
man 7 tcp -> IPPROTO_TCP
man 7 udp -> IPPROTO_UDP
man 7 socket -> SOL_SOCKET

Автор: null56 17.11.2009, 17:32
MAKCim, то что надо, спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)