1 /*
   2  * CDDL HEADER START
   3  *
   4  * This file and its contents are supplied under the terms of the
   5  * Common Development and Distribution License ("CDDL"), version 1.0.
   6  * You may only use this file in accordance with the terms of version
   7  * 1.0 of the CDDL.
   8  *
   9  * A full copy of the text of the CDDL should have accompanied this
  10  * source.  A copy of the CDDL is also available via the Internet at
  11  * http://www.illumos.org/license/CDDL.
  12  *
  13  * CDDL HEADER END
  14  */
  15 /*
  16  * Copyright (c) 2015, 2016 by Delphix. All rights reserved.
  17  */
  18 
  19 #ifndef _CONNSTAT_TCP_H
  20 #define _CONNSTAT_TCP_H
  21 
  22 #include <stddef.h>
  23 #include "connstat.h"
  24 
  25 #ifdef  __cplusplus
  26 extern "C" {
  27 #endif
  28 
  29 int tcp_str2state(const char *state);
  30 connstat_getfieldsfunc_t tcp_get_fields;
  31 connstat_walkfunc_t tcp_walk_ipv4, tcp_walk_ipv6;
  32 
  33 /*
  34  * Keep the default output to < 80 columns. For most interactive workflows,
  35  * the user will run the command without arguments to get an idea of what
  36  * connections exist before narrowing down the investigation to a single
  37  * connection (with filtering) and specifying additional fields to output
  38  * depending on what the user is interested in.
  39  */
  40 #define TCP_DEFAULT_FIELDS      "laddr,lport,raddr,rport,state"
  41 
  42 #define CONNSTAT_TCP_PROTO \
  43         { "tcp", TCP_DEFAULT_FIELDS, MIB2_TCP, MIB2_TCP_CONN, MIB2_TCP6_CONN, \
  44         tcp_get_fields, tcp_walk_ipv4, tcp_walk_ipv6 }
  45 
  46 #ifdef  __cplusplus
  47 }
  48 #endif
  49 
  50 #endif  /* _CONNSTAT_TCP_H */