2 ** NetXMS subagent for IPSO
3 ** Copyright (C) 2006 Alex Kirhenshtein
5 ** This program is free software; you can redistribute it and/or modify
6 ** it under the terms of the GNU General Public License as published by
7 ** the Free Software Foundation; either version 2 of the License, or
8 ** (at your option) any later version.
10 ** This program is distributed in the hope that it will be useful,
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ** GNU General Public License for more details.
15 ** You should have received a copy of the GNU General Public License
16 ** along with this program; if not, write to the Free Software
17 ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 #include <nms_common.h>
26 #include <nms_agent.h>
30 // IPSO system functions and structures
56 int ipsctl_open(void);
57 int ipsctl_close(int nHandle
);
58 int ipsctl_get(int nHandle
, char *pszName
, struct ipsctl_value
**ppData
);
59 int ipsctl_iterate(int nHandle
, char *pszRoot
,
60 void (* pfCallback
)(char *, void *), void *pArg
);
62 char *if_indextoname(unsigned int ifindex
, char *ifname
);
63 unsigned int if_nametoindex(char *ifname
);
71 // Wrappers for ipsctl_get()
74 LONG
IPSCTLGetInt(int nCallerHandle
, char *pszName
, LONG
*pnValue
);
75 LONG
IPSCTLGetString(int nCallerHandle
, char *pszName
,
76 char *pszValue
, int nSize
);
114 // Network interface stats
133 LONG
H_DiskInfo(char *, char *, char *);
134 LONG
H_ProcessList(char *, char *, StringList
*);
135 LONG
H_Uptime(char *, char *, char *);
136 LONG
H_Uname(char *, char *, char *);
137 LONG
H_Hostname(char *, char *, char *);
138 LONG
H_CpuCount(char *, char *, char *);
139 LONG
H_CpuLoad(char *, char *, char *);
140 LONG
H_CpuUsage(char *, char *, char *);
141 LONG
H_ProcessCount(char *, char *, char *);
142 LONG
H_MemoryInfo(char *, char *, char *);
143 LONG
H_NetIpForwarding(char *, char *, char *);
144 LONG
H_NetIfStats(char *, char *, char *);
145 LONG
H_NetArpCache(char *, char *, StringList
*);
146 LONG
H_NetIfList(char *, char *, StringList
*);
147 LONG
H_NetRoutingTable(char *, char *, StringList
*);
149 #endif /* __IPSO_H__ */