This file is indexed.

/usr/include/net-snmp/library/cmu_compat.h is in libsnmp-dev 5.4.3~dfsg-2.4ubuntu1.3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
/* Portions of this file are subject to the following copyright(s).  See
 * the Net-SNMP's COPYING file for more details and other copyrights
 * that may apply:
 */
/*
 * Portions of this file are copyrighted by:
 * Copyright © 2003 Sun Microsystems, Inc. All rights reserved.
 * Use is subject to license terms specified in the COPYING file
 * distributed with the Net-SNMP package.
 */

/*
 *  CMU compatability definitions and structures.
 *
 *    (since the UCD package split from the CMU one
 *     about 8 years ago, that's probably enough time
 *     for people to convert any outstanding code!)
 */

#ifndef NET_SNMP_CMU_COMPAT_H
#define NET_SNMP_CMU_COMPAT_H

#ifdef __cplusplus
extern          "C" {
#endif

    /*
     * ============================
     * *
     * * Enumerations and definitions
     * *
     * * ============================ 
     */
#include <net-snmp/definitions.h>
    /*
     * From parse.h 
     */
#define ACCESS_READONLY		MIB_ACCESS_READONLY
#define ACCESS_READWRITE	MIB_ACCESS_READWRITE
#define ACCESS_WRITEONLY	MIB_ACCESS_WRITEONLY
#define ACCESS_NOACCESS		MIB_ACCESS_NOACCESS
#define ACCESS_NOTIFY		MIB_ACCESS_NOTIFY
#define ACCESS_CREATE		MIB_ACCESS_CREATE
#define STATUS_MANDATORY	MIB_STATUS_MANDATORY
#define STATUS_OPTIONAL		MIB_STATUS_OPTIONAL
#define STATUS_OBSOLETE		MIB_STATUS_OBSOLETE
#define STATUS_DEPRECATED	MIB_STATUS_DEPRECATED
#define STATUS_CURRENT		MIB_STATUS_CURRENT
    /*
     * From smnp_impl.h 
     */
#define INTEGER	    ASN_INTEGER
#define STRING	    ASN_OCTET_STR
#define OBJID	    ASN_OBJECT_ID
#define NULLOBJ	    ASN_NULL
#define BITSTRING   ASN_BIT_STR /* HISTORIC - don't use */
#define IPADDRESS   ASN_IPADDRESS
#define COUNTER	    ASN_COUNTER
#define GAUGE	    ASN_GAUGE
#define UNSIGNED    ASN_UNSIGNED
#define TIMETICKS   ASN_TIMETICKS
#define ASNT_OPAQUE ASN_OPAQUE
#define NSAP	    ASN_NSAP
#define COUNTER64   ASN_COUNTER64
#define UINTEGER    ASN_UINTEGER
    /*
     * From snmp.h 
     */
#define GET_REQ_MSG	    SNMP_MSG_GET
#define GETNEXT_REQ_MSG	    SNMP_MSG_GETNEXT
#define GET_RSP_MSG	    SNMP_MSG_RESPONSE
#define SET_REQ_MSG	    SNMP_MSG_SET
#define TRP_REQ_MSG	    SNMP_MSG_TRAP
#define BULK_REQ_MSG	    SNMP_MSG_GETBULK
#define INFORM_REQ_MSG	    SNMP_MSG_INFORM
#define TRP2_REQ_MSG	    SNMP_MSG_TRAP2
#define REPORT_RSP_MSG	    SNMP_MSG_REPORT
    /*
     * since CMU V1.5 
     */
#define SNMP_PDU_GET	    SNMP_MSG_GET
#define SNMP_PDU_GETNEXT    SNMP_MSG_GETNEXT
#define SNMP_PDU_RESPONSE   SNMP_MSG_RESPONSE
#define SNMP_PDU_SET        SNMP_MSG_SET
#define SNMP_PDU_GETBULK    SNMP_MSG_GETBULK
#define SNMP_PDU_INFORM     SNMP_MSG_INFORM
#define SNMP_PDU_V2TRAP     SNMP_MSG_TRAP2
#define SNMP_PDU_REPORT     SNMP_MSG_REPORT
#define SNMP_TRAP_AUTHENTICATIONFAILURE SNMP_TRAP_AUTHFAIL
#define SMI_INTEGER     ASN_INTEGER
#define SMI_STRING      ASN_OCTET_STR
#define SMI_OBJID       ASN_OBJECT_ID
#define SMI_NULLOBJ     ASN_NULL
#define SMI_IPADDRESS   ASN_IPADDRESS
#define SMI_COUNTER32	ASN_COUNTER
#define SMI_GAUGE32	ASN_GAUGE
#define SMI_UNSIGNED32  SMI_GAUGE32
#define SMI_TIMETICKS   ASN_TIMETICKS
#define SMI_OPAQUE      ASN_OPAQUE
#define SMI_COUNTER64   ASN_COUNTER64
    /*
     * ============================
     * *
     * *     Function declarations
     * *     and global variables
     * *
     * * ============================ 
     */
extern int      snmp_dump_packet;       /* from snmp_api.h */
extern int      quick_print;    /* from snmp_api.h */

#include <net-snmp/types.h>     /* for snmp_pdu & snmp_session */

int             mib_TxtToOid(char *, oid **, size_t *); /* from snmp.h */
int             mib_OidToTxt(oid *, size_t, char *, size_t);    /* from snmp.h */
u_char         *cmu_snmp_parse(netsnmp_session * session, netsnmp_pdu *pdu, u_char * data, size_t length);      /* from snmp.h */




        /*
         * ============================
         * *
         * * MIB-II data structures
         * *    (from mib.h) 
         * *
         * * ============================ 
         */


struct mib_system {
    char            sysDescr[32];       /* textual description */
    u_char          sysObjectID[16];    /* OBJECT IDENTIFIER of system */
    u_char          ObjIDLen;   /* length of sysObjectID */
    u_int           sysUpTime;  /* Uptime in 100/s of a second */
};

struct mib_interface {
    int             ifNumber;   /* number of interfaces */
};

struct mib_ifEntry {
    int             ifIndex;    /* index of this interface  */
    char            ifDescr[32];        /* english description of interface */
    int             ifType;     /* network type of device   */
    int             ifMtu;      /* size of largest packet in bytes  */
    u_int           ifSpeed;    /* bandwidth in bits/sec    */
    u_char          ifPhysAddress[11];  /* interface's address */
    u_char          PhysAddrLen;        /* length of physAddr */
    int             ifAdminStatus;      /* desired state of interface */
    int             ifOperStatus;       /* current operational status */
    u_int           ifLastChange;       /* value of sysUpTime when current state entered */
    u_int           ifInOctets; /* number of octets received on interface */
    u_int           ifInUcastPkts;      /* number of unicast packets delivered */
    u_int           ifInNUcastPkts;     /* number of broadcasts or multicasts */
    u_int           ifInDiscards;       /* number of packets discarded with no error */
    u_int           ifInErrors; /* number of packets containing errors */
    u_int           ifInUnknownProtos;  /* number of packets with unknown protocol */
    u_int           ifOutOctets;        /* number of octets transmitted */
    u_int           ifOutUcastPkts;     /* number of unicast packets sent */
    u_int           ifOutNUcastPkts;    /* number of broadcast or multicast pkts */
    u_int           ifOutDiscards;      /* number of packets discarded with no error */
    u_int           ifOutErrors;        /* number of pkts discarded with an error */
    u_int           ifOutQLen;  /* number of packets in output queue */
};

struct mib_atEntry {
    int             atIfIndex;  /* interface on which this entry maps */
    u_char          atPhysAddress[11];  /* physical address of destination */
    u_char          PhysAddressLen;     /* length of atPhysAddress */
    u_int           atNetAddress;       /* IP address of physical address */
};

struct mib_ip {
    int             ipForwarding;       /* 1 if gateway, 2 if host */
    int             ipDefaultTTL;       /* default TTL for pkts originating here */
    u_int           ipInReceives;       /* no. of IP packets received from interfaces */
    u_int           ipInHdrErrors;      /* number of pkts discarded due to header errors */
    u_int           ipInAddrErrors;     /* no. of pkts discarded due to bad address */
    u_int           ipForwDatagrams;    /* number pf pkts forwarded through this entity */
    u_int           ipInUnknownProtos;  /* no. of local-addressed pkts w/unknown proto */
    u_int           ipInDiscards;       /* number of error-free packets discarded */
    u_int           ipInDelivers;       /* number of datagrams delivered to upper level */
    u_int           ipOutRequests;      /* number of IP datagrams originating locally */
    u_int           ipOutDiscards;      /* number of error-free output IP pkts discarded */
    u_int           ipOutNoRoutes;      /* number of IP pkts discarded due to no route */
    int             ipReasmTimeout;     /* seconds fragment is held awaiting reassembly */
    u_int           ipReasmReqds;       /* no. of fragments needing reassembly (here) */
    u_int           ipReasmOKs; /* number of fragments reassembled */
    u_int           ipReasmFails;       /* number of failures in IP reassembly */
    u_int           ipFragOKs;  /* number of datagrams fragmented here */
    u_int           ipFragFails;        /* no. pkts unable to be fragmented here */
    u_int           ipFragCreates;      /* number of IP fragments created here */
};

struct mib_ipAddrEntry {
    u_int           ipAdEntAddr;        /* IP address of this entry */
    int             ipAdEntIfIndex;     /* IF for this entry */
    u_int           ipAdEntNetMask;     /* subnet mask of this entry */
    int             ipAdEntBcastAddr;   /* read the MIB for this one */
    int 	    ipAdEntReasmMaxSize;
		/* max size for dg reassembly   {ipAddrEntry 5} */
};

struct mib_ipRouteEntry {
    u_int           ipRouteDest;        /* destination IP addr for this route */
    int             ipRouteIfIndex;     /* index of local IF for this route */
    int             ipRouteMetric1;     /* Primary routing metric */
    int             ipRouteMetric2;     /* Alternate routing metric */
    int             ipRouteMetric3;     /* Alternate routing metric */
    int             ipRouteMetric4;     /* Alternate routing metric */
    u_int           ipRouteNextHop;     /* IP addr of next hop */
    int             ipRouteType;        /* Type of this route */
    int             ipRouteProto;       /* How this route was learned */
    int             ipRouteAge; /* No. of seconds since updating this route */
};

struct mib_icmp {
    u_int           icmpInMsgs; /* Total of ICMP msgs received */
    u_int           icmpInErrors;       /* Total of ICMP msgs received with errors */
    u_int           icmpInDestUnreachs;
    u_int           icmpInTimeExcds;
    u_int           icmpInParmProbs;
    u_int           icmpInSrcQuenchs;
    u_int           icmpInRedirects;
    u_int           icmpInEchos;
    u_int           icmpInEchoReps;
    u_int           icmpInTimestamps;
    u_int           icmpInTimestampReps;
    u_int           icmpInAddrMasks;
    u_int           icmpInAddrMaskReps;
    u_int           icmpOutMsgs;
    u_int           icmpOutErrors;
    u_int           icmpOutDestUnreachs;
    u_int           icmpOutTimeExcds;
    u_int           icmpOutParmProbs;
    u_int           icmpOutSrcQuenchs;
    u_int           icmpOutRedirects;
    u_int           icmpOutEchos;
    u_int           icmpOutEchoReps;
    u_int           icmpOutTimestamps;
    u_int           icmpOutTimestampReps;
    u_int           icmpOutAddrMasks;
    u_int           icmpOutAddrMaskReps;
};

struct mib_tcp {
    int             tcpRtoAlgorithm;    /* retransmission timeout algorithm */
    int             tcpRtoMin;  /* minimum retransmission timeout (mS) */
    int             tcpRtoMax;  /* maximum retransmission timeout (mS) */
    int             tcpMaxConn; /* maximum tcp connections possible */
    u_int           tcpActiveOpens;     /* number of SYN-SENT -> CLOSED transitions */
    u_int           tcpPassiveOpens;    /* number of SYN-RCVD -> LISTEN transitions */
    u_int           tcpAttemptFails;    /*(SYN-SENT,SYN-RCVD)->CLOSED or SYN-RCVD->LISTEN */
    u_int           tcpEstabResets;     /* (ESTABLISHED,CLOSE-WAIT) -> CLOSED */
    u_int           tcpCurrEstab;       /* number in ESTABLISHED or CLOSE-WAIT state */
    u_int           tcpInSegs;  /* number of segments received */
    u_int           tcpOutSegs; /* number of segments sent */
    u_int           tcpRetransSegs;     /* number of retransmitted segments */
};

struct mib_tcpConnEntry {
    int             tcpConnState;       /* State of this connection */
    u_int           tcpConnLocalAddress;        /* local IP address for this connection */
    int             tcpConnLocalPort;   /* local port for this connection */
    u_int           tcpConnRemAddress;  /* remote IP address for this connection */
    int             tcpConnRemPort;     /* remote port for this connection */
};

struct mib_udp {
    u_int           udpInDatagrams;     /* No. of UDP datagrams delivered to users */
    u_int           udpNoPorts; /* No. of UDP datagrams to port with no listener */
    u_int           udpInErrors;        /* No. of UDP datagrams unable to be delivered */
    u_int           udpOutDatagrams;    /* No. of UDP datagrams sent from this entity */
};

struct mib_egp {
    u_int           egpInMsgs;  /* No. of EGP msgs received without error */
    u_int           egpInErrors;        /* No. of EGP msgs received with error */
    u_int           egpOutMsgs; /* No. of EGP msgs sent */
    u_int           egpOutErrors;       /* No. of (outgoing) EGP msgs dropped due to error */
};

struct mib_egpNeighEntry {
    int             egpNeighState;      /* local EGP state with this entry's neighbor */
    u_int           egpNeighAddr;       /* IP address of this entry's neighbor */
};

#ifdef __cplusplus
}
#endif
#endif                          /* NET_SNMP_CMU_COMPAT_H */