1 /*----------------------------------------------------------------------------*/
2 /* Xymon message daemon.                                                      */
3 /*                                                                            */
4 /* Copyright (C) 2004-2011 Henrik Storner <henrik@hswn.dk>                    */
5 /*                                                                            */
6 /* This program is released under the GNU General Public License (GPL),       */
7 /* version 2. See the file "COPYING" for details.                             */
8 /*                                                                            */
9 /*----------------------------------------------------------------------------*/
10 
11 #ifndef __CLIENT_CONFIG_H__
12 #define __CLIENT_CONFIG_H__
13 
14 #include "libxymon.h"
15 
16 extern int load_client_config(char *configfn);
17 extern void dump_client_config(void);
18 
19 extern void clearalertgroups(void);
20 extern char *getalertgroups(void);
21 extern void addalertgroup(char *group);
22 
23 extern int get_cpu_thresholds(void *hinfo, char *classname,
24 			      float *loadyellow, float *loadred,
25 			      int *recentlimit, int *ancientlimit, int *uptimecolor,
26 			      int *maxclockdiff, int *clockdiffcolor);
27 
28 extern int get_disk_thresholds(void *hinfo, char *classname,
29 				char *fsname,
30 				long *warnlevel, long *paniclevel,
31 				int *abswarn, int *abspanic,
32 				int *ignored, char **group);
33 
34 extern int get_inode_thresholds(void *hinfo, char *classname,
35 				char *fsname,
36 				long *warnlevel, long *paniclevel,
37 				int *abswarn, int *abspanic,
38 				int *ignored, char **group);
39 
40 extern void get_memory_thresholds(void *hhinfo, char *classname,
41 				  int *physyellow, int *physred,
42 				  int *swapyellow, int *swapred,
43 				  int *actyellow, int *actred);
44 
45 extern void get_zos_memory_thresholds(void *hinfo, char *classname,
46                                int *csayellow, int *csared, int *ecsayellow, int *ecsared,
47                                int *sqayellow, int *sqared, int *esqayellow, int *esqared);
48 
49 extern void get_cics_thresholds(void *hinfo, char *classname, char *appid,
50                         int *dsayel, int *dsared, int *edsayel, int *edsared);
51 
52 extern void get_zvsevsize_thresholds(void *hinfo, char *classname,
53                         int *availyel, int *availred);
54 
55 extern void get_zvsegetvis_thresholds(void *hinfo, char *classname, char *pid,
56                         int *gv24yel, int *gv24red, int *gvanyyel, int *gvanyred);
57 
58 extern void get_asid_thresholds(void *hinfo, char *classname,
59                                  int *maxyellow, int *maxred);
60 
61 extern int get_paging_thresholds(void *hinfo, char *classname,
62 				 int *pagingyellow, int *pagingred);
63 
64 extern int check_mibvals(void *hinfo, char *classname,
65 			 char *mibname, char *keyname, char *mibdata,
66 		  	 strbuffer_t *summarybuf, int *anyrules);
67 
68 extern strbuffer_t *check_rrdds_thresholds(char *hostname, char *classname, char *pagepaths, char *rrdkey, void *valnames, char *vals);
69 
70 
71 extern int scan_log(void *hinfo, char *classname,
72 		    char *logname, char *logdata, char *section, strbuffer_t *summarybuf);
73 extern int check_file(void *hinfo, char *classname,
74 		      char *filename, char *filedata, char *section, strbuffer_t *summarybuf, off_t *sz,
75 		      char **id, int *trackit, int *anyrules);
76 extern int check_dir(void *hinfo, char *classname,
77 		     char *filename, char *filedata, char *section, strbuffer_t *summarybuf, unsigned long *sz,
78 		     char **id, int *trackit);
79 
80 extern int clear_process_counts(void *hinfo, char *classname);
81 extern void add_process_count(char *pname);
82 extern char *check_process_count(int *pcount, int *lowlim, int *uplim, int *pcolor, char **id, int *trackit, char **group);
83 
84 extern int clear_disk_counts(void *hinfo, char *classname);
85 extern void add_disk_count(char *dname);
86 extern char *check_disk_count(int *dcount, int *lowlim, int *uplim, int *dcolor, char **group);
87 
88 extern int clear_inode_counts(void *hinfo, char *classname);
89 extern void add_inode_count(char *iname);
90 extern char *check_inode_count(int *icount, int *lowlim, int *uplim, int *icolor, char **group);
91 
92 extern int clear_port_counts(void *hinfo, char *classname);
93 extern void add_port_count(char *spname, char *tpname, char *stname);
94 extern char *check_port_count(int *pcount, int *lowlim, int *uplim, int *pcolor, char **id, int *trackit, char **group);
95 
96 extern int clear_svc_counts(void *hinfo, char *classname);
97 extern void add_svc_count(char *spname, char *tpname, char *stname);
98 extern char *check_svc_count(int *pcount, int *pcolor, char **group);
99 
100 extern void get_mqqueue_thresholds(void *hinfo, char *classname, char *qmgrname, char *qname, int *warnlen, int *critlen, int *warnage, int *critage, char **trackit);
101 extern int get_mqchannel_params(void *hinfo, char *classname, char *qmgrname, char *chnname, char *chnstatus, int *color);
102 
103 #endif
104 
105