1*d56f51eaSDavid van Moolenbroek /* $NetBSD: pcap-dag.h,v 1.2 2014/11/19 19:33:30 christos Exp $ */ 2*d56f51eaSDavid van Moolenbroek 3*d56f51eaSDavid van Moolenbroek /* 4*d56f51eaSDavid van Moolenbroek * pcap-dag.c: Packet capture interface for Endace DAG card. 5*d56f51eaSDavid van Moolenbroek * 6*d56f51eaSDavid van Moolenbroek * The functionality of this code attempts to mimic that of pcap-linux as much 7*d56f51eaSDavid van Moolenbroek * as possible. This code is only needed when compiling in the DAG card code 8*d56f51eaSDavid van Moolenbroek * at the same time as another type of device. 9*d56f51eaSDavid van Moolenbroek * 10*d56f51eaSDavid van Moolenbroek * Author: Richard Littin, Sean Irvine ({richard,sean}@reeltwo.com) 11*d56f51eaSDavid van Moolenbroek */ 12*d56f51eaSDavid van Moolenbroek 13*d56f51eaSDavid van Moolenbroek pcap_t *dag_create(const char *, char *, int *); 14*d56f51eaSDavid van Moolenbroek int dag_findalldevs(pcap_if_t **devlistp, char *errbuf); 15*d56f51eaSDavid van Moolenbroek 16*d56f51eaSDavid van Moolenbroek #ifndef TYPE_AAL5 17*d56f51eaSDavid van Moolenbroek #define TYPE_AAL5 4 18*d56f51eaSDavid van Moolenbroek #endif 19*d56f51eaSDavid van Moolenbroek 20*d56f51eaSDavid van Moolenbroek #ifndef TYPE_MC_HDLC 21*d56f51eaSDavid van Moolenbroek #define TYPE_MC_HDLC 5 22*d56f51eaSDavid van Moolenbroek #endif 23*d56f51eaSDavid van Moolenbroek 24*d56f51eaSDavid van Moolenbroek #ifndef TYPE_MC_RAW 25*d56f51eaSDavid van Moolenbroek #define TYPE_MC_RAW 6 26*d56f51eaSDavid van Moolenbroek #endif 27*d56f51eaSDavid van Moolenbroek 28*d56f51eaSDavid van Moolenbroek #ifndef TYPE_MC_ATM 29*d56f51eaSDavid van Moolenbroek #define TYPE_MC_ATM 7 30*d56f51eaSDavid van Moolenbroek #endif 31*d56f51eaSDavid van Moolenbroek 32*d56f51eaSDavid van Moolenbroek #ifndef TYPE_MC_RAW_CHANNEL 33*d56f51eaSDavid van Moolenbroek #define TYPE_MC_RAW_CHANNEL 8 34*d56f51eaSDavid van Moolenbroek #endif 35*d56f51eaSDavid van Moolenbroek 36*d56f51eaSDavid van Moolenbroek #ifndef TYPE_MC_AAL5 37*d56f51eaSDavid van Moolenbroek #define TYPE_MC_AAL5 9 38*d56f51eaSDavid van Moolenbroek #endif 39*d56f51eaSDavid van Moolenbroek 40*d56f51eaSDavid van Moolenbroek #ifndef TYPE_COLOR_HDLC_POS 41*d56f51eaSDavid van Moolenbroek #define TYPE_COLOR_HDLC_POS 10 42*d56f51eaSDavid van Moolenbroek #endif 43*d56f51eaSDavid van Moolenbroek 44*d56f51eaSDavid van Moolenbroek #ifndef TYPE_COLOR_ETH 45*d56f51eaSDavid van Moolenbroek #define TYPE_COLOR_ETH 11 46*d56f51eaSDavid van Moolenbroek #endif 47*d56f51eaSDavid van Moolenbroek 48*d56f51eaSDavid van Moolenbroek #ifndef TYPE_MC_AAL2 49*d56f51eaSDavid van Moolenbroek #define TYPE_MC_AAL2 12 50*d56f51eaSDavid van Moolenbroek #endif 51*d56f51eaSDavid van Moolenbroek 52*d56f51eaSDavid van Moolenbroek #ifndef TYPE_IP_COUNTER 53*d56f51eaSDavid van Moolenbroek #define TYPE_IP_COUNTER 13 54*d56f51eaSDavid van Moolenbroek #endif 55*d56f51eaSDavid van Moolenbroek 56*d56f51eaSDavid van Moolenbroek #ifndef TYPE_TCP_FLOW_COUNTER 57*d56f51eaSDavid van Moolenbroek #define TYPE_TCP_FLOW_COUNTER 14 58*d56f51eaSDavid van Moolenbroek #endif 59*d56f51eaSDavid van Moolenbroek 60*d56f51eaSDavid van Moolenbroek #ifndef TYPE_DSM_COLOR_HDLC_POS 61*d56f51eaSDavid van Moolenbroek #define TYPE_DSM_COLOR_HDLC_POS 15 62*d56f51eaSDavid van Moolenbroek #endif 63*d56f51eaSDavid van Moolenbroek 64*d56f51eaSDavid van Moolenbroek #ifndef TYPE_DSM_COLOR_ETH 65*d56f51eaSDavid van Moolenbroek #define TYPE_DSM_COLOR_ETH 16 66*d56f51eaSDavid van Moolenbroek #endif 67*d56f51eaSDavid van Moolenbroek 68*d56f51eaSDavid van Moolenbroek #ifndef TYPE_COLOR_MC_HDLC_POS 69*d56f51eaSDavid van Moolenbroek #define TYPE_COLOR_MC_HDLC_POS 17 70*d56f51eaSDavid van Moolenbroek #endif 71*d56f51eaSDavid van Moolenbroek 72*d56f51eaSDavid van Moolenbroek #ifndef TYPE_AAL2 73*d56f51eaSDavid van Moolenbroek #define TYPE_AAL2 18 74*d56f51eaSDavid van Moolenbroek #endif 75*d56f51eaSDavid van Moolenbroek 76*d56f51eaSDavid van Moolenbroek #ifndef TYPE_COLOR_HASH_POS 77*d56f51eaSDavid van Moolenbroek #define TYPE_COLOR_HASH_POS 19 78*d56f51eaSDavid van Moolenbroek #endif 79*d56f51eaSDavid van Moolenbroek 80*d56f51eaSDavid van Moolenbroek #ifndef TYPE_COLOR_HASH_ETH 81*d56f51eaSDavid van Moolenbroek #define TYPE_COLOR_HASH_ETH 20 82*d56f51eaSDavid van Moolenbroek #endif 83*d56f51eaSDavid van Moolenbroek 84*d56f51eaSDavid van Moolenbroek #ifndef TYPE_INFINIBAND 85*d56f51eaSDavid van Moolenbroek #define TYPE_INFINIBAND 21 86*d56f51eaSDavid van Moolenbroek #endif 87*d56f51eaSDavid van Moolenbroek 88*d56f51eaSDavid van Moolenbroek #ifndef TYPE_IPV4 89*d56f51eaSDavid van Moolenbroek #define TYPE_IPV4 22 90*d56f51eaSDavid van Moolenbroek #endif 91*d56f51eaSDavid van Moolenbroek 92*d56f51eaSDavid van Moolenbroek #ifndef TYPE_IPV6 93*d56f51eaSDavid van Moolenbroek #define TYPE_IPV6 23 94*d56f51eaSDavid van Moolenbroek #endif 95*d56f51eaSDavid van Moolenbroek 96*d56f51eaSDavid van Moolenbroek #ifndef TYPE_RAW_LINK 97*d56f51eaSDavid van Moolenbroek #define TYPE_RAW_LINK 24 98*d56f51eaSDavid van Moolenbroek #endif 99*d56f51eaSDavid van Moolenbroek 100*d56f51eaSDavid van Moolenbroek #ifndef TYPE_INFINIBAND_LINK 101*d56f51eaSDavid van Moolenbroek #define TYPE_INFINIBAND_LINK 25 102*d56f51eaSDavid van Moolenbroek #endif 103*d56f51eaSDavid van Moolenbroek 104*d56f51eaSDavid van Moolenbroek 105*d56f51eaSDavid van Moolenbroek 106*d56f51eaSDavid van Moolenbroek #ifndef TYPE_PAD 107*d56f51eaSDavid van Moolenbroek #define TYPE_PAD 48 108*d56f51eaSDavid van Moolenbroek #endif 109