1 /*----------------------------------------------------------------------------*/
2 /* Xymon utility to convert the deprecated NK tags to a critical.cfg          */
3 /*                                                                            */
4 /* Copyright (C) 2006-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 static char rcsid[] = "$Id: convertnk.c 6712 2011-07-31 21:01:52Z storner $";
12 
13 #include <string.h>
14 #include <stdlib.h>
15 #include <unistd.h>
16 #include <stdio.h>
17 
18 #include "libxymon.h"
19 
main(int argc,char * argv[])20 int main(int argc, char *argv[])
21 {
22 	void *walk;
23 
24 	load_hostnames(xgetenv("HOSTSCFG"), NULL, get_fqdn());
25 
26 	for (walk = first_host(); (walk); walk=next_host(walk, 0)) {
27 		char *nk, *nktime, *tok;
28 
29 		nk = xmh_item(walk, XMH_NK); if (!nk) continue;
30 		nktime = xmh_item(walk, XMH_NKTIME);
31 
32 		nk = strdup(nk);
33 
34 		tok = strtok(nk, ",");
35 		while (tok) {
36 			char *hostname = xmh_item(walk, XMH_HOSTNAME);
37 			char *startstr = "", *endstr = "", *ttgroup = "", *ttextra = "", *updinfo = "Migrated";
38 			int priority = 2;
39 
40 			fprintf(stdout, "%s|%s|%s|%s|%s|%d|%s|%s|%s\n",
41 				hostname, tok,
42 				startstr, endstr,
43 				(nktime ? nktime : ""),
44 				priority, ttgroup, ttextra, updinfo);
45 
46 			tok = strtok(NULL, ",");
47 		}
48 
49 		xfree(nk);
50 	}
51 
52 	return 0;
53 }
54 
55