LCOV - code coverage report
Current view: top level - crtools/include - sk-inet.h (source / functions) Hit Total Coverage
Test: crtools.info Lines: 4 5 80.0 %
Date: 2012-12-28 Functions: 1 1 100.0 %
Branches: 1 2 50.0 %

           Branch data     Line data    Source code
       1                 :            : #ifndef __CR_SK_INET_H__
       2                 :            : #define __CR_SK_INET_H__
       3                 :            : 
       4                 :            : #include <netinet/tcp.h>
       5                 :            : 
       6                 :            : #include "sockets.h"
       7                 :            : #include "files.h"
       8                 :            : #include "list.h"
       9                 :            : #include "protobuf.h"
      10                 :            : #include "../protobuf/sk-inet.pb-c.h"
      11                 :            : 
      12                 :            : #define INET_ADDR_LEN           40
      13                 :            : #ifndef TCP_REPAIR
      14                 :            : #define TCP_REPAIR              19      /* TCP sock is under repair right now */
      15                 :            : #define TCP_REPAIR_QUEUE        20
      16                 :            : #define TCP_QUEUE_SEQ           21
      17                 :            : #define TCP_REPAIR_OPTIONS      22
      18                 :            : #endif
      19                 :            : 
      20                 :            : struct inet_sk_desc {
      21                 :            :         struct socket_desc      sd;
      22                 :            :         unsigned int            type;
      23                 :            :         unsigned int            proto;
      24                 :            :         unsigned int            src_port;
      25                 :            :         unsigned int            dst_port;
      26                 :            :         unsigned int            state;
      27                 :            :         unsigned int            rqlen;
      28                 :            :         unsigned int            wqlen;
      29                 :            :         unsigned int            src_addr[4];
      30                 :            :         unsigned int            dst_addr[4];
      31                 :            :         unsigned short          shutdown;
      32                 :            : 
      33                 :            :         int rfd;
      34                 :            :         struct list_head rlist;
      35                 :            : };
      36                 :            : 
      37                 :            : struct inet_port;
      38                 :            : struct inet_sk_info {
      39                 :            :         InetSkEntry *ie;
      40                 :            :         struct file_desc d;
      41                 :            :         struct inet_port *port;
      42                 :            :         struct list_head rlist;
      43                 :            : };
      44                 :            : 
      45                 :            : int inet_bind(int sk, struct inet_sk_info *);
      46                 :            : int inet_connect(int sk, struct inet_sk_info *);
      47                 :            : 
      48                 :          8 : static inline void tcp_repair_off(int fd)
      49                 :            : {
      50                 :          8 :         int aux = 0;
      51                 :            : 
      52         [ -  + ]:          8 :         if (sys_setsockopt(fd, SOL_TCP, TCP_REPAIR, &aux, sizeof(aux)) < 0)
      53                 :          0 :                 pr_perror("Failed to turn off repair mode on socket");
      54                 :          8 : }
      55                 :            : 
      56                 :            : void tcp_locked_conn_add(struct inet_sk_info *);
      57                 :            : void rst_unlock_tcp_connections(void);
      58                 :            : void cpt_unlock_tcp_connections(void);
      59                 :            : 
      60                 :            : int dump_one_tcp(int sk, struct inet_sk_desc *sd);
      61                 :            : int restore_one_tcp(int sk, struct inet_sk_info *si);
      62                 :            : 
      63                 :            : #define SK_EST_PARAM    "tcp-established"
      64                 :            : 
      65                 :            : struct cr_options;
      66                 :            : void show_tcp_stream(int fd, struct cr_options *);
      67                 :            : 
      68                 :            : int check_tcp_repair(void);
      69                 :            : 
      70                 :            : extern int rst_tcp_socks_size;
      71                 :            : extern int rst_tcp_socks_remap(void *addr);
      72                 :            : 
      73                 :            : #endif /* __CR_SK_INET_H__ */

Generated by: LCOV version 1.9