The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/netinet/in_kdtrace.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
    3  *
    4  * Copyright (c) 2013 Mark Johnston <markj@FreeBSD.org>
    5  *
    6  * Redistribution and use in source and binary forms, with or without
    7  * modification, are permitted provided that the following conditions are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the
   13  *    distribution.
   14  *
   15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   25  * SUCH DAMAGE.
   26  *
   27  * $FreeBSD$
   28  */
   29 
   30 #ifndef _SYS_IN_KDTRACE_H_
   31 #define _SYS_IN_KDTRACE_H_
   32 
   33 #define IP_PROBE(probe, arg0, arg1, arg2, arg3, arg4, arg5)             \
   34         SDT_PROBE6(ip, , , probe, arg0, arg1, arg2, arg3, arg4, arg5)
   35 #define UDP_PROBE(probe, arg0, arg1, arg2, arg3, arg4)                  \
   36         SDT_PROBE5(udp, , , probe, arg0, arg1, arg2, arg3, arg4)
   37 #define UDPLITE_PROBE(probe, arg0, arg1, arg2, arg3, arg4)              \
   38         SDT_PROBE5(udplite, , , probe, arg0, arg1, arg2, arg3, arg4)
   39 #define TCP_PROBE1(probe, arg0)                                         \
   40         SDT_PROBE1(tcp, , , probe, arg0)
   41 #define TCP_PROBE2(probe, arg0, arg1)                                   \
   42         SDT_PROBE2(tcp, , , probe, arg0, arg1)
   43 #define TCP_PROBE3(probe, arg0, arg1, arg2)                             \
   44         SDT_PROBE3(tcp, , , probe, arg0, arg1, arg2)
   45 #define TCP_PROBE4(probe, arg0, arg1, arg2, arg3)                       \
   46         SDT_PROBE4(tcp, , , probe, arg0, arg1, arg2, arg3)
   47 #define TCP_PROBE5(probe, arg0, arg1, arg2, arg3, arg4)                 \
   48         SDT_PROBE5(tcp, , , probe, arg0, arg1, arg2, arg3, arg4)
   49 #define TCP_PROBE6(probe, arg0, arg1, arg2, arg3, arg4, arg5)           \
   50         SDT_PROBE6(tcp, , , probe, arg0, arg1, arg2, arg3, arg4, arg5)
   51 
   52 SDT_PROVIDER_DECLARE(ip);
   53 SDT_PROVIDER_DECLARE(tcp);
   54 SDT_PROVIDER_DECLARE(udp);
   55 SDT_PROVIDER_DECLARE(udplite);
   56 
   57 SDT_PROBE_DECLARE(ip, , , receive);
   58 SDT_PROBE_DECLARE(ip, , , send);
   59 
   60 SDT_PROBE_DECLARE(tcp, , , accept__established);
   61 SDT_PROBE_DECLARE(tcp, , , accept__refused);
   62 SDT_PROBE_DECLARE(tcp, , , connect__established);
   63 SDT_PROBE_DECLARE(tcp, , , connect__refused);
   64 SDT_PROBE_DECLARE(tcp, , , connect__request);
   65 SDT_PROBE_DECLARE(tcp, , , receive);
   66 SDT_PROBE_DECLARE(tcp, , , send);
   67 SDT_PROBE_DECLARE(tcp, , , siftr);
   68 SDT_PROBE_DECLARE(tcp, , , state__change);
   69 SDT_PROBE_DECLARE(tcp, , , debug__input);
   70 SDT_PROBE_DECLARE(tcp, , , debug__output);
   71 SDT_PROBE_DECLARE(tcp, , , debug__user);
   72 SDT_PROBE_DECLARE(tcp, , , debug__drop);
   73 SDT_PROBE_DECLARE(tcp, , , receive__autoresize);
   74 
   75 SDT_PROBE_DECLARE(udp, , , receive);
   76 SDT_PROBE_DECLARE(udp, , , send);
   77 
   78 SDT_PROBE_DECLARE(udplite, , , receive);
   79 SDT_PROBE_DECLARE(udplite, , , send);
   80 
   81 /*
   82  * These constants originate from the 4.4BSD sys/protosw.h.  They lost
   83  * their initial purpose in 2c37256e5a59, when single pr_usrreq method
   84  * was split into multiple methods.  However, they were used by TCPDEBUG,
   85  * a feature barely used, but it kept them in the tree for many years.
   86  * In 5d06879adb95 DTrace probes started to use them.  Note that they
   87  * are not documented in dtrace_tcp(4), so they are likely to be
   88  * eventually renamed to something better and extended/trimmed.
   89  */
   90 #define PRU_ATTACH              0       /* attach protocol to up */
   91 #define PRU_DETACH              1       /* detach protocol from up */
   92 #define PRU_BIND                2       /* bind socket to address */
   93 #define PRU_LISTEN              3       /* listen for connection */
   94 #define PRU_CONNECT             4       /* establish connection to peer */
   95 #define PRU_ACCEPT              5       /* accept connection from peer */
   96 #define PRU_DISCONNECT          6       /* disconnect from peer */
   97 #define PRU_SHUTDOWN            7       /* won't send any more data */
   98 #define PRU_RCVD                8       /* have taken data; more room now */
   99 #define PRU_SEND                9       /* send this data */
  100 #define PRU_ABORT               10      /* abort (fast DISCONNECT, DETATCH) */
  101 #define PRU_CONTROL             11      /* control operations on protocol */
  102 #define PRU_SENSE               12      /* return status into m */
  103 #define PRU_RCVOOB              13      /* retrieve out of band data */
  104 #define PRU_SENDOOB             14      /* send out of band data */
  105 #define PRU_SOCKADDR            15      /* fetch socket's address */
  106 #define PRU_PEERADDR            16      /* fetch peer's address */
  107 #define PRU_CONNECT2            17      /* connect two sockets */
  108 /* begin for protocols internal use */
  109 #define PRU_FASTTIMO            18      /* 200ms timeout */
  110 #define PRU_SLOWTIMO            19      /* 500ms timeout */
  111 #define PRU_PROTORCV            20      /* receive from below */
  112 #define PRU_PROTOSEND           21      /* send to below */
  113 /* end for protocol's internal use */
  114 #define PRU_SEND_EOF            22      /* send and close */
  115 #define PRU_SOSETLABEL          23      /* MAC label change */
  116 #define PRU_CLOSE               24      /* socket close */
  117 #define PRU_FLUSH               25      /* flush the socket */
  118 #define PRU_NREQ                25
  119 
  120 #ifdef PRUREQUESTS
  121 const char *prurequests[] = {
  122         "ATTACH",       "DETACH",       "BIND",         "LISTEN",
  123         "CONNECT",      "ACCEPT",       "DISCONNECT",   "SHUTDOWN",
  124         "RCVD",         "SEND",         "ABORT",        "CONTROL",
  125         "SENSE",        "RCVOOB",       "SENDOOB",      "SOCKADDR",
  126         "PEERADDR",     "CONNECT2",     "FASTTIMO",     "SLOWTIMO",
  127         "PROTORCV",     "PROTOSEND",    "SEND_EOF",     "SOSETLABEL",
  128         "CLOSE",        "FLUSH",
  129 };
  130 #endif
  131 
  132 #endif

Cache object: 0462bb0a2dc6cbb4ac59cc8e63de4a9f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.