merge with 0.30.213
[util-vserver.git] / tests / vserver-info.c
1 // $Id: vserver-info.c 636 2004-01-17 05:25:04Z ensc $    --*- c -*--
2
3 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
4 //  
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; version 2 of the License.
8 //  
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //  
14 // You should have received a copy of the GNU General Public License
15 // along with this program; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18
19 #ifdef HAVE_CONFIG_H
20 #  include <config.h>
21 #endif
22
23 #include "vserver.h"
24
25 #include "src/util.h"
26 #include <stdlib.h>
27
28 static void
29 checkArgs(int argc, char *argv[])
30 {
31   if (argc==2) {
32     if (strcmp(argv[1], "--help")==0) {
33       WRITE_MSG(1, "Usage: vserver-info <vserver>\n");
34       exit(0);
35     }
36     if (strcmp(argv[1], "--version")==0) {
37       WRITE_MSG(1, "vserver-info " VERSION "\n");
38       exit(0);
39     }
40   }
41   else {
42     WRITE_MSG(2, "No vserver specified; try '--help' for more inforamtion\n");
43     exit(1);
44   }
45 }
46
47 int
48 main(int argc, char *argv[])
49 {
50   vcCfgStyle    style = (checkArgs(argc, argv), vc_getVserverCfgStyle(argv[1]));
51   char const *  name  = vc_getVserverName(argv[1], style);
52   char const *  vdir  = vc_getVserverVdir(argv[1], style, true);
53
54   WRITE_MSG(2, "Style: ");
55   switch (style) {
56     case vcCFG_NONE             :  WRITE_MSG(2, "CFG_NONE");   break;
57     case vcCFG_AUTO             :  WRITE_MSG(2, "CFG_AUTO");   break;
58     case vcCFG_LEGACY           :  WRITE_MSG(2, "CFG_LEGACY"); break;
59     case vcCFG_RECENT_FULL      :  WRITE_MSG(2, "CFG_RECENT_FULL");  break;
60     case vcCFG_RECENT_SHORT     :  WRITE_MSG(2, "CFG_RECENT_SHORT"); break;
61     default                     :  WRITE_MSG(2, "???"); break;
62   }
63
64   WRITE_MSG(2, "\nName:  ");
65   if (name==0) WRITE_MSG(2, "<null>");
66   else         WRITE_STR(2, name);
67
68   WRITE_MSG(2, "\nVdir:  ");
69   if (vdir==0) WRITE_MSG(2, "<null>");
70   else         WRITE_STR(2, vdir);
71
72   WRITE_MSG(2, "\n");
73   return EXIT_SUCCESS;
74 }