UPS: apcupsd clean sources
[tomato.git] / release / src / router / apcupsd / src / drivers / snmplite / mibs.h
blob330a99ab61f84a7402af9f9c4f514c7ada1249d6
1 /*
2 * apc-mib.h
4 * Public header for the APC MIB strategy
5 */
7 /*
8 * Copyright (C) 2010 Adam Kropelin
10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of version 2 of the GNU General
12 * Public License as published by the Free Software Foundation.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
19 * You should have received a copy of the GNU General Public
20 * License along with this program; if not, write to the Free
21 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
22 * MA 02111-1307, USA.
25 #ifndef __MIBS_H_
26 #define __MIBS_H_
28 #include "snmp.h"
29 #include "asn.h"
31 // Mapping from CI to SNMP OID and type
32 struct CiOidMap
34 int ci; // CI
35 int *oid; // SNMP OID
36 Asn::Identifier type; // ASN type for this OID
37 bool dynamic; // True if dynamic parameter, false if static
40 // Associates a MIB with processing functions for that MIB
41 struct MibStrategy
43 const char *name;
44 CiOidMap *mib;
45 void (*update_ci_func)(UPSINFO*, int, Snmp::Variable &);
46 int (*killpower_func)(UPSINFO *ups);
47 int (*shutdown_func)(UPSINFO *ups);
50 extern struct MibStrategy *MibStrategies[];
52 #endif