1 #ifndef NETSNMP_DS_AGENT_H
2 #define NETSNMP_DS_AGENT_H
3 /*
4  * defines agent's default store registrations
5  */
6 /*
7  * Note:
8  *    If new ds_agent entries are added to this header file,
9  *    then remember to run 'perl/agent/default_store/gen' to
10  *    update the corresponding perl interface.
11  *
12  * Portions of this file are copyrighted by:
13  * Copyright (c) 2016 VMware, Inc. All rights reserved.
14  * Use is subject to license terms specified in the COPYING file
15  */
16 
17 /*
18  * booleans
19  */
20 #define NETSNMP_DS_AGENT_VERBOSE        0       /* 1 if verbose output desired */
21 #define NETSNMP_DS_AGENT_ROLE           1       /* 0 if master, 1 if client */
22 #define NETSNMP_DS_AGENT_NO_ROOT_ACCESS 2       /* 1 if we can't get root access */
23 #define NETSNMP_DS_AGENT_AGENTX_MASTER  3       /* 1 if AgentX desired */
24 #define NETSNMP_DS_AGENT_QUIT_IMMEDIATELY 4     /* 1 to never start the agent */
25 #define NETSNMP_DS_AGENT_DISABLE_PERL   5       /* 1 to never enable perl */
26 #define NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS 6 /* 1 = !see !connect msgs */
27 #define NETSNMP_DS_AGENT_LEAVE_PIDFILE  7       /* 1 = leave PID file on exit */
28 #define NETSNMP_DS_AGENT_NO_CACHING     8       /* 1 = disable netsnmp_cache */
29 #define NETSNMP_DS_AGENT_STRICT_DISMAN  9       /* 1 = "correct" object ordering */
30 #define NETSNMP_DS_AGENT_DONT_RETAIN_NOTIFICATIONS 10   /* 1 = disable trap logging */
31 #define NETSNMP_DS_AGENT_DONT_LOG_TCPWRAPPERS_CONNECTS 12   /* 1 = disable logging */
32 #define NETSNMP_DS_APP_DONT_LOG         NETSNMP_DS_AGENT_DONT_RETAIN_NOTIFICATIONS /* compat */
33 #define NETSNMP_DS_AGENT_SKIPNFSINHOSTRESOURCES    13   /* 1 = don't store NFS entries in hrStorageTable */
34 #define NETSNMP_DS_AGENT_REALSTORAGEUNITS 14    /* 1 = use real allocation units in hrStorageTable, 0 = recalculate it to fit 32bits */
35 
36    /* Repeated from "apps/snmptrapd_ds.h" */
37 #define NETSNMP_DS_APP_NUMERIC_IP       16
38 #define NETSNMP_DS_APP_NO_AUTHORIZATION 17
39 
40 #define NETSNMP_DS_AGENT_DISKIO_NO_FD   18      /* 1 = don't report /dev/fd*   entries in diskIOTable */
41 #define NETSNMP_DS_AGENT_DISKIO_NO_LOOP 19      /* 1 = don't report /dev/loop* entries in diskIOTable */
42 #define NETSNMP_DS_AGENT_DISKIO_NO_RAM  20      /* 1 = don't report /dev/ram*  entries in diskIOTable */
43 
44 /* WARNING: The trap receiver also uses DS flags and must not conflict with these!
45  * If you define additional boolean entries, check in "apps/snmptrapd_ds.h" first */
46 
47 /*
48  * strings
49  */
50 #define NETSNMP_DS_AGENT_PROGNAME 0     /* argv[0] */
51 #define NETSNMP_DS_AGENT_X_SOCKET 1     /* AF_UNIX or ip:port socket addr */
52 #define NETSNMP_DS_AGENT_PORTS    2     /* localhost:9161,tcp:localhost:9161... */
53 #define NETSNMP_DS_AGENT_INTERNAL_SECNAME  3    /* used by disman/mteTriggerTable. */
54 #define NETSNMP_DS_AGENT_PERL_INIT_FILE    4    /* used by embedded perl */
55 #define NETSNMP_DS_SMUX_SOCKET    5     /* ip:port socket addr */
56 #define NETSNMP_DS_NOTIF_LOG_CTX  6     /* "" | "snmptrapd" */
57 #define NETSNMP_DS_AGENT_TRAP_ADDR      7     /* used as v1 trap agent address */
58 
59 /*
60  * integers
61  */
62 #define NETSNMP_DS_AGENT_FLAGS    0     /* session.flags */
63 #define NETSNMP_DS_AGENT_USERID   1
64 #define NETSNMP_DS_AGENT_GROUPID  2
65 #define NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL 3 /* ping master every SECONDS */
66 #define NETSNMP_DS_AGENT_AGENTX_TIMEOUT  4
67 #define NETSNMP_DS_AGENT_AGENTX_RETRIES  5
68 #define NETSNMP_DS_AGENT_X_SOCK_PERM     6      /* permissions for the */
69 #define NETSNMP_DS_AGENT_X_DIR_PERM      7      /*     AgentX socket   */
70 #define NETSNMP_DS_AGENT_X_SOCK_USER     8      /* ownership for the   */
71 #define NETSNMP_DS_AGENT_X_SOCK_GROUP    9      /*     AgentX socket   */
72 #define NETSNMP_DS_AGENT_CACHE_TIMEOUT  10      /* default cache timeout */
73 #define NETSNMP_DS_AGENT_INTERNAL_VERSION  11   /* used by internal queries */
74 #define NETSNMP_DS_AGENT_INTERNAL_SECLEVEL 12   /* used by internal queries */
75 #define NETSNMP_DS_AGENT_MAX_GETBULKREPEATS 13 /* max getbulk repeats */
76 #define NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES 14   /* max getbulk respones */
77 #define NETSNMP_DS_AGENT_AVG_BULKVARBINDSIZE 15 /* avg varbind size estimate */
78 #define NETSNMP_DS_AGENT_PDU_STATS_MAX       16 /* size of top N array*/
79 #define NETSNMP_DS_AGENT_PDU_STATS_THRESHOLD 17 /* minimum threshold time */
80 #endif
81