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