struct sock { struct sock_common __sk_common; #define sk_node __sk_common.skc_node #define sk_nulls_node __sk_common.skc_nulls_node #define sk_refcnt __sk_common.skc_refcnt #define sk_tx_queue_mapping __sk_common.skc_tx_queue_mapping #define sk_copy_start __sk_common.skc_hash #define sk_hash __sk_common.skc_hash #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_bind_node __sk_common.skc_bind_node #define sk_prot __sk_common.skc_prot #define sk_net __sk_common.skc_net unsigned int sk_shutdown:2; unsigned int sk_no_check:2; unsigned int sk_userlocks:4; unsigned int sk_protocol:8; unsigned int sk_type:16; int sk_rcvbuf; socket_lock_t sk_lock; struct sk_backlog; struct socket_wq * sk_wq; struct dst_entry * sk_dst_cache; #ifdef CONFIG_XFRM struct xfrm_policy * sk_policy[2]; #endif spinlock_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; #ifdef CONFIG_NET_DMA struct sk_buff_head sk_async_wait_queue; #endif int sk_wmem_queued; int sk_forward_alloc; gfp_t sk_allocation; int sk_route_caps; int sk_route_nocaps; int sk_gso_type; unsigned int sk_gso_max_size; int sk_rcvlowat; #ifdef CONFIG_RPS __u32 sk_rxhash; #endif 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 pid * sk_peer_pid; const struct cred * sk_peer_cred; long sk_rcvtimeo; long sk_sndtimeo; struct sk_filter __rcu * 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; #ifdef CONFIG_SECURITY void * sk_security; #endif __u32 sk_mark; u32 sk_classid; 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); };
__sk_common
sk_shutdown
sk_no_check
SO_NO_CHECK setting, wether or not checkup packets
sk_userlocks
SO_SNDBUF and SO_RCVBUF settings
sk_protocol
sk_type
sk_rcvbuf
sk_lock
sk_backlog
sk_wq
sk_dst_cache
sk_policy[2]
sk_dst_lock
sk_rmem_alloc
sk_wmem_alloc
sk_omem_alloc
sk_sndbuf
sk_receive_queue
sk_write_queue
sk_async_wait_queue
sk_wmem_queued
sk_forward_alloc
sk_allocation
sk_route_caps
sk_route_nocaps
sk_gso_type
sk_gso_max_size
sk_rcvlowat
SO_RCVLOWAT setting
sk_rxhash
sk_flags
SO_LINGER (l_onoff), SO_BROADCAST, SO_KEEPALIVE, SO_OOBINLINE settings, SO_TIMESTAMPING settings
sk_lingertime
SO_LINGER l_linger setting
sk_error_queue
sk_prot_creator
sk_callback_lock
sk_err
sk_err_soft
sk_drops
sk_ack_backlog
sk_max_ack_backlog
sk_priority
SO_PRIORITY setting
sk_peer_pid
struct pid for this socket's peer
sk_peer_cred
SO_PEERCRED setting
sk_rcvtimeo
SO_RCVTIMEO setting
sk_sndtimeo
SO_SNDTIMEO setting
sk_filter
sk_protinfo
sk_timer
sk_stamp
sk_socket
sk_user_data
sk_sndmsg_page
sk_send_head
sk_sndmsg_off
sk_write_pending
sk_security
sk_mark
sk_classid
sk_state_change
sk_data_ready
sk_write_space
sk_error_report
sk_backlog_rcv
sk_destruct