1 /*
2  ex: set tabstop=4 shiftwidth=4 autoindent:
3  +-------------------------------------------------------------------------+
4  | Copyright (C) 2002-2016 The Cacti Group                                 |
5  |                                                                         |
6  | This program is free software; you can redistribute it and/or           |
7  | modify it under the terms of the GNU Lesser General Public              |
8  | License as published by the Free Software Foundation; either            |
9  | version 2.1 of the License, or (at your option) any later version. 	   |
10  |                                                                         |
11  | This program is distributed in the hope that it will be useful,         |
12  | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
13  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
14  | GNU Lesser General Public License for more details.                     |
15  |                                                                         |
16  | You should have received a copy of the GNU Lesser General Public        |
17  | License along with this library; if not, write to the Free Software     |
18  | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA           |
19  | 02110-1301, USA                                                         |
20  |                                                                         |
21  +-------------------------------------------------------------------------+
22  | spine: a backend data gatherer for cacti                                |
23  +-------------------------------------------------------------------------+
24  | This poller would not have been possible without:                       |
25  |   - Larry Adams (current development and enhancements)                  |
26  |   - Rivo Nurges (rrd support, mysql poller cache, misc functions)       |
27  |   - RTG (core poller code, pthreads, snmp, autoconf examples)           |
28  |   - Brady Alleman/Doug Warner (threading ideas, implimentation details) |
29  +-------------------------------------------------------------------------+
30  | - Cacti - http://www.cacti.net/                                         |
31  +-------------------------------------------------------------------------+
32 */
33 
34 extern void snmp_spine_init(void);
35 extern void snmp_spine_close(void);
36 extern void *snmp_host_init(int host_id, char *hostname, int snmp_version, char *snmp_community, char *snmp_username, char *snmp_password, char *snmp_auth_protocol, char *snmp_priv_passphrase, char *snmp_priv_protocol, char *snmp_context, int snmp_port, int snmp_timeout);
37 extern void snmp_host_cleanup(void *snmp_session);
38 extern char *snmp_get(host_t *current_host, char *snmp_oid);
39 extern char *snmp_getnext(host_t *current_host, char *snmp_oid);
40 extern int snmp_count(host_t *current_host, char *snmp_oid);
41 extern void snmp_get_multi(host_t *current_host, snmp_oids_t *snmp_oids, int num_oids);
42 extern void snmp_snprint_value(char *obuf, size_t buf_len, const oid *objid, size_t objidlen, struct variable_list *variable);
43