wanpipe/patches/kdrivers/include/wanpipe_snmp.h

241 lines
5.9 KiB
C

/*****************************************************************************
* wansnmp.h Definitions for the WAN SNMP.
*
* Author: Alex Feldman <al.feldman@sangoma.com>
*
* ============================================================================
* Aug 20, 2001 Alex Feldman Initial version.
* This version includes SNMP mibs for Frame Relay,
* PPP and X25 (v-1.0.1).
*
* Apr 10, 2003 Alex Feldman Add support SNMP mib for DS1 (v-1.0.4).
*
*/
#ifndef __WANSNMP_H
# define __WANSNMP_H
#define WANPIPE_SNMP_VERSION "1.0.4"
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined (__OpenBSD__)
# define SIOC_WANPIPE_SNMP _IOWR('i', 100, struct ifreq)
# define SIOC_WANPIPE_SNMP_IFSPEED _IOWR('i', 101, struct ifreq)
#endif
#define SNMP_READ 1
#define SNMP_WRITE 2
/*
********************************************************************
* X.25
*/
#define X25_STATION_DECODE(station) \
(station == WANOPT_DTE) ? "DTE" : \
(station == WANOPT_DCE) ? "DCE" : "DXE"
/*
* SNMP X.25 defines
*/
#define SNMP_X25_DTE 1
#define SNMP_X25_DCE 2
#define SNMP_X25_DXE 3
#define SNMP_X25_MODULO8 1
#define SNMP_X25_MODULO128 2
#define SNMP_X25_INCOMING 1
#define SNMP_X25_OUTGOING 2
#define SNMP_X25_PVC 3
/* x25CallParmAcceptReverseCharging */
#define SNMP_X25_ARC_DEFAULT 1
#define SNMP_X25_ARC_ACCEPT 2
#define SNMP_X25_ARC_REFUSE 3
#define SNMP_X25_ARC_NEVERACCEPT 4
/* x25CallParmProposeReverseCharging */
#define SNMP_X25_PRC_DEFAULT 1
#define SNMP_X25_PRC_REVERSE 2
#define SNMP_X25_PRC_LOCAL 3
/* x25CallParmFastSelecet */
#define SNMP_X25_FS_DEFAULT 1
#define SNMP_X25_FS_NOTSPECIFIED 2
#define SNMP_X25_FS_FASTSELECT 3
#define SNMP_X25_FS_RESTRICTEDFASTRESP 4
#define SNMP_X25_FS_NOFASTSELECT 5
#define SNMP_X25_FS_NORESTRICTEDFASTSEL 6
/* x25CallParmInThruPutClassSize */
/* x25CallParmOutThruPutClassSize */
#define SNMP_X25_THRUCLASS_TCRES1 1
#define SNMP_X25_THRUCLASS_TCRES2 2
#define SNMP_X25_THRUCLASS_TC75 3
#define SNMP_X25_THRUCLASS_TC150 4
#define SNMP_X25_THRUCLASS_TC300 5
#define SNMP_X25_THRUCLASS_TC600 6
#define SNMP_X25_THRUCLASS_TC1200 7
#define SNMP_X25_THRUCLASS_TC2400 8
#define SNMP_X25_THRUCLASS_TC4800 9
#define SNMP_X25_THRUCLASS_TC9600 10
#define SNMP_X25_THRUCLASS_TC19200 11
#define SNMP_X25_THRUCLASS_TC48000 12
#define SNMP_X25_THRUCLASS_TC64000 13
#define SNMP_X25_THRUCLASS_TCRES14 14
#define SNMP_X25_THRUCLASS_TCRES15 15
#define SNMP_X25_THRUCLASS_TCRES16 16
#define SNMP_X25_THRUCLASS_TCNONE 17
#define SNMP_X25_THRUCLASS_TCDEF 18
/* x25CallParmChargingInfo */
#define SNMP_X25_CHARGINGINFO_DEF 1
#define SNMP_X25_CHARGINGINFO_NOFACL 2
#define SNMP_X25_CHARGINGINFO_NOCHRGINFO 3
#define SNMP_X25_CHARGINGINFO_CHARGINFO 4
/* x25CallParmExptData */
#define SNMP_X25_EXPTDATA_DEFULT 1
#define SNMP_X25_EXPTDATA_NOEXPTDATA 2
#define SNMP_X25_EXPTDATA_EXPTDATA 3
#define SNMP_X25_MAX_CIRCUIT_NUM 4096
/*
********************************************************************
* Frame Relay
*/
#define FR_STATION_DECODE(station) \
(station == WANOPT_CPE) ? "CPE" : "Node"
/*
* SNMP defines
*/
#define SNMP_FR_UNICAST 1
#define SNMP_FR_ONEWAY 2
#define SNMP_FR_TWOWAY 3
#define SNMP_FR_NWAY 4
#define SNMP_FR_STATIC 1
#define SNMP_FR_DYNAMIC 2
#define SNMP_FR_INVALID 1
#define SNMP_FR_ACTIVE 2
#define SNMP_FR_INACTIVE 3
#define SNMP_FR_NOLMICONF 1
#define SNMP_FR_LMIREV 2
#define SNMP_FR_ANSIT1617D 3
#define SNMP_FR_ANSIT1617B 4
#define SNMP_FR_ITUT933A 5
#define SNMP_FR_ANSIT1617D1994 6
#define SNMP_FR_Q921_ADDR 1
#define SNMP_FR_Q922MARCH90 2
#define SNMP_FR_Q922NOV90 3
#define SNMP_FR_Q922 4
#define SNMP_FR_2BYTE_ADDR 2
#define SNMP_FR_3BYTE_ADDR 3
#define SNMP_FR_4BYTE_ADDR 4
#define SNMP_FR_NONBROADCAST 1
#define SNMP_FR_BROADCAST 2
#define SNMP_FR_RUNNING 1
#define SNMP_FR_FAULT 2
#define SNMP_FR_INITIALIZING 3
#define SNMP_FR_ENABLED 1
#define SNMP_FR_DISABLED 2
#define SNMP_FR_UNKNOWNERR 1
#define SNMP_FR_RECEIVESHORT 2
#define SNMP_FR_RECEIVELONG 3
#define SNMP_FR_ILLEGALADDR 4
#define SNMP_FR_UNKNOWNADDR 5
#define SNMP_FR_DLCMIPROTOERR 6
#define SNMP_FR_DLCMIUNKNOWNERR 7
#define SNMP_FR_DLCMISEQERR 8
#define SNMP_FR_DLCMIUNKNOWNRPT 9
#define SNMP_FR_NOERRSINCERESET 10
#define SNMP_FR_ERRDATA_LEN 1600
/*
********************************************************************
* Point-to-Point
*/
#define SNMP_PPP_IPOPENED 1
#define SNMP_PPP_IPNOTOPENED 2
#define SNMP_PPP_COMPR_PROT_NONE 1
#define SNMP_PPP_COMPR_PROT_VJ_TCP 2
/*
********************************************************************
* T1/E1
*/
#define SNMP_DSX1_NOALARM 1
#define SNMP_DSX1_RCVFARENDLOF 2
#define SNMP_DSX1_XMTFARENDLOF 4
#define SNMP_DSX1_RCVAIS 8
#define SNMP_DSX1_XMTAIS 16
#define SNMP_DSX1_LOSSOFFRAME 32
#define SNMP_DSX1_LOSSOFSIGNAL 64
#define SNMP_DSX1_LOOPBACKSTATE 128
#define SNMP_DSX1_T16AIS 2568
#define SNMP_DSX1_RCVFARENDLOMF 512
#define SNMP_DSX1_XMTFARENDLOMF 1024
#define SNMP_DSX1_RCVTESTCODE 2048
#define SNMP_DSX1_OTHERFAILURE 4096
#define SNMP_DSX1_UNAVAILSIGSTATE 8192
#define SNMP_DSX1_NETEUIPOOS 16384
#define SNMP_DSX1_RCVPAYLOADAIS 32768
#define SNMP_DSX1_DS2PERFTHRESHOLD 65536
/*
********************************************************************
* Common Defines
*/
#ifndef MAX_OID_LEN
# define MAX_OID_LEN 128
#endif
/*
*****************************************************************************
TYPEDEF/STRUCTURES
******************************************************************************
*/
/* SNMP */
#define snmp_val value.val
#define snmp_data value.data
typedef struct wanpipe_snmp
{
int snmp_namelen;
unsigned char snmp_name[MAX_OID_LEN];
int snmp_cmd;
int snmp_magic;
union {
int val;
char data[800];
} value;
} wanpipe_snmp_t;
#if !defined(WANLIP_DRIVER)
#define SNMP_FR_SET_ERR(chan, type, data, len) {struct timeval tv; \
do_gettimeofday(&tv); \
chan->err_type = type; \
memcpy(chan->err_data, data, len); \
chan->err_time = tv.tv_sec; \
chan->err_faults++;}
#endif
#endif /* __WANSNMP_H */