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
use libc;
// use std::mem;
// use std::ptr;
use CString;
use *;
// #[test]
// fn test_snmp_session() {
// init(b"test");
// let peer_name = CString::new("edgy.asdf.dk").unwrap().into_raw();
// let peer_community = b"st0vsuger";
// let peer_obj = CString::new("SNMPv2-MIB::sysDescr.0").unwrap().into_raw();
// unsafe {
// let mut sess: Struct_snmp_session = mem::uninitialized();
// let pdu: *mut Struct_snmp_pdu;
// let mut response_ptr: *mut Struct_snmp_pdu = mem::uninitialized();
// snmp_sess_init(&mut sess);
// sess.peername = peer_name;
// sess.community = &mut peer_community.clone()[0];
// sess.community_len = peer_community.len();
// sess.version = SNMP_VERSION_2c;
// let ss = snmp_open(&mut sess);
// pdu = snmp_pdu_create(SNMP_MSG_GET);
// let mut anOID: [oid; MAX_OID_LEN] = [0; MAX_OID_LEN];
// let mut anOID_len = MAX_OID_LEN;
// if snmp_parse_oid(peer_obj, &mut anOID[0], &mut anOID_len) == ptr::null_mut() {
// panic!();
// }
// snmp_add_null_var(pdu, &mut anOID[0], anOID_len);
// let status = snmp_synch_response(ss, pdu, &mut response_ptr);
// println!("snmp_synch_response() -> {}", status);
// if status == STAT_SUCCESS {
// let response = *response_ptr;
// if response.errstat == SNMP_ERR_NOERROR {
// let mut vars = response.variables;
// while vars != ptr::null_mut() {
// print_variable((*vars).name, (*vars).name_length, vars);
// vars = (*vars).next_variable;
// }
// }
// } else {
// panic!("status={}", status);
// }
// }
// }