Rechercher une page de manuel
struct_sock
Langue: en
Version: June 2009 (debian - 07/07/09)
Section: 9 (Appels noyau Linux)
NAME
struct_sock - network layer representation of socketsSYNOPSIS
-
struct sock { struct sock_common __sk_common; #define sk_family __sk_common.skc_family #define sk_state __sk_common.skc_state #define sk_reuse __sk_common.skc_reuse #define sk_bound_dev_if __sk_common.skc_bound_dev_if #define sk_node __sk_common.skc_node #define sk_bind_node __sk_common.skc_bind_node #define sk_refcnt __sk_common.skc_refcnt #define sk_hash __sk_common.skc_hash #define sk_prot __sk_common.skc_prot #define sk_net __sk_common.skc_net unsigned char sk_shutdown:2; unsigned char sk_no_check:2; unsigned char sk_userlocks:4; unsigned char sk_protocol; unsigned short sk_type; int sk_rcvbuf; socket_lock_t sk_lock; struct sk_backlog; wait_queue_head_t * sk_sleep; struct dst_entry * sk_dst_cache; struct xfrm_policy * sk_policy[2]; rwlock_t sk_dst_lock; atomic_t sk_rmem_alloc; atomic_t sk_wmem_alloc; atomic_t sk_omem_alloc; int sk_sndbuf; struct sk_buff_head sk_receive_queue; struct sk_buff_head sk_write_queue; struct sk_buff_head sk_async_wait_queue; int sk_wmem_queued; int sk_forward_alloc; gfp_t sk_allocation; int sk_route_caps; int sk_gso_type; unsigned int sk_gso_max_size; int sk_rcvlowat; unsigned long sk_flags; unsigned long sk_lingertime; struct sk_buff_head sk_error_queue; struct proto * sk_prot_creator; rwlock_t sk_callback_lock; int sk_err; int sk_err_soft; atomic_t sk_drops; unsigned short sk_ack_backlog; unsigned short sk_max_ack_backlog; __u32 sk_priority; struct ucred sk_peercred; long sk_rcvtimeo; long sk_sndtimeo; struct sk_filter * sk_filter; void * sk_protinfo; struct timer_list sk_timer; ktime_t sk_stamp; struct socket * sk_socket; void * sk_user_data; struct page * sk_sndmsg_page; struct sk_buff * sk_send_head; __u32 sk_sndmsg_off; int sk_write_pending; void * sk_security; __u32 sk_mark; void (* sk_state_change) (struct sock *sk); void (* sk_data_ready) (struct sock *sk, int bytes); void (* sk_write_space) (struct sock *sk); void (* sk_error_report) (struct sock *sk); int (* sk_backlog_rcv) (struct sock *sk,struct sk_buff *skb); void (* sk_destruct) (struct sock *sk); };
MEMBERS
__sk_common
- shared layout with inet_timewait_sock
sk_shutdown
- mask of SEND_SHUTDOWN and/or RCV_SHUTDOWN
sk_no_check
SO_NO_CHECK setting, wether or not checkup packets
sk_userlocks
SO_SNDBUF and SO_RCVBUF settings
sk_protocol
- which protocol this socket belongs in this network family
sk_type
- socket type (SOCK_STREAM, etc)
sk_rcvbuf
- size of receive buffer in bytes
sk_lock
- synchronizer
sk_backlog
- always used with the per-socket spinlock held
sk_sleep
- sock wait queue
sk_dst_cache
- destination cache
sk_policy[2]
- flow policy
sk_dst_lock
- destination cache lock
sk_rmem_alloc
- receive queue bytes committed
sk_wmem_alloc
- transmit queue bytes committed
sk_omem_alloc
- "o" is "option" or "other"
sk_sndbuf
- size of send buffer in bytes
sk_receive_queue
- incoming packets
sk_write_queue
- Packet sending queue
sk_async_wait_queue
- DMA copied packets
sk_wmem_queued
- persistent queue size
sk_forward_alloc
- space allocated forward
sk_allocation
- allocation mode
sk_route_caps
- route capabilities (e.g. NETIF_F_TSO)
sk_gso_type
- GSO type (e.g. SKB_GSO_TCPV4)
sk_gso_max_size
- Maximum GSO segment size to build
sk_rcvlowat
SO_RCVLOWAT setting
sk_flags
SO_LINGER (l_onoff), SO_BROADCAST, SO_KEEPALIVE, SO_OOBINLINE settings
sk_lingertime
SO_LINGER l_linger setting
sk_error_queue
- rarely used
sk_prot_creator
- sk_prot of original sock creator (see ipv6_setsockopt, IPV6_ADDRFORM for instance)
sk_callback_lock
- used with the callbacks in the end of this struct
sk_err
- last error
sk_err_soft
- errors that don't cause failure but are the cause of a persistent failure not just 'timed out'
sk_drops
- raw drops counter
sk_ack_backlog
- current listen backlog
sk_max_ack_backlog
- listen backlog set in listen
sk_priority
SO_PRIORITY setting
sk_peercred
SO_PEERCRED setting
sk_rcvtimeo
SO_RCVTIMEO setting
sk_sndtimeo
SO_SNDTIMEO setting
sk_filter
- socket filtering instructions
sk_protinfo
- private area, net family specific, when not using slab
sk_timer
- sock cleanup timer
sk_stamp
- time stamp of last packet received
sk_socket
- Identd and reporting IO signals
sk_user_data
- RPC layer private data
sk_sndmsg_page
- cached page for sendmsg
sk_send_head
- front of stuff to transmit
sk_sndmsg_off
- cached offset for sendmsg
sk_write_pending
- a write to stream socket waits to start
sk_security
- used by security modules
sk_mark
- generic packet mark
sk_state_change
- callback to indicate change in the state of the sock
sk_data_ready
- callback to indicate there is data to be processed
sk_write_space
- callback to indicate there is bf sending space available
sk_error_report
- callback to indicate errors (e.g. MSG_ERRQUEUE)
sk_backlog_rcv
- callback to process the backlog
sk_destruct
- called at sock freeing time, i.e. when all refcnt == 0
COPYRIGHT
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre