Tue Aug 18 00:42:33 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
[citadel.git] / citadel / serv_info.c
1 /*
2  * serv_info.c
3  *
4  * The CtdlGetServerInfo() function is useful for 
5  */
6
7 #include <stdlib.h>
8 #include <unistd.h>
9 #include <stdio.h>
10 #include <time.h>
11 #include <ctype.h>
12 #include <string.h>
13 #include <errno.h>
14 #include "citadel.h"
15 #include "serv_info.h"
16
17 void CtdlInternalGetServInfo(struct CtdlServInfo *infobuf) {
18         char buf[256];
19         int a;
20
21         /* fetch info */        
22         serv_puts("INFO");
23         serv_gets(buf);
24         if (buf[0]!='1') return;
25
26         a = 0;
27         while(serv_gets(buf), strcmp(buf,"000")) {
28             switch(a) {
29                 case 0:         infobuf->serv_pid = atoi(buf);
30                                 break;
31                 case 1:         strcpy(infobuf->serv_nodename,buf);
32                                 break;
33                 case 2:         strcpy(infobuf->serv_humannode,buf);
34                                 break;
35                 case 3:         strcpy(infobuf->serv_fqdn,buf);
36                                 break;
37                 case 4:         strcpy(infobuf->serv_software,buf);
38                                 break;
39                 case 5:         infobuf->serv_rev_level = atoi(buf);
40                                 break;
41                 case 6:         strcpy(infobuf->serv_bbs_city,buf);
42                                 break;
43                 case 7:         strcpy(infobuf->serv_sysadm,buf);
44                                 break;
45                 case 9:         strcpy(infobuf->serv_moreprompt,buf);
46                                 break;
47                 case 10:        infobuf->serv_ok_floors = atoi(buf);
48                                 break;
49                 }
50             ++a;
51             }
52
53         }
54