prefer '--xid' instead of '--ctx'
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Wed, 24 Mar 2004 04:45:29 +0000 (04:45 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Wed, 24 Mar 2004 04:45:29 +0000 (04:45 +0000)
use vc_xidopt2xid()

git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1348 94cd875c-1c1d-0410-91d2-eb244daf1a30

util-vserver/src/chcontext.c
util-vserver/src/vkill.c
util-vserver/src/vsched.c

index 69dde7f..9c03445 100644 (file)
@@ -66,6 +66,7 @@ CMDLINE_OPTIONS[] = {
   { "version",  no_argument,  0, CMD_VERSION },
   { "cap",        required_argument,  0, CMD_CAP },
   { "ctx",        required_argument,  0, CMD_CTX },
+  { "xid",        required_argument,  0, CMD_CTX },
   { "disconnect", no_argument,        0, CMD_DISCONNECT },
   { "domainname", required_argument,  0, CMD_DOMAINNAME },
   { "flag",       required_argument,  0, CMD_FLAG },
@@ -97,7 +98,7 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage: ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " [--cap [!]<cap_name>] [--secure] [--ctx <num>] [--disconnect]\n"
+           " [--cap [!]<cap_name>] [--secure] [--xid <num>] [--disconnect]\n"
            "       [--domainname <name>] [--hostname <name>] [--flag <flags>+]\n"
            "       [--silent] [--] command arguments ...\n"
            "\n"
@@ -119,12 +120,12 @@ showHelp(int fd, char const *cmd, int res)
            "    repeated several time.\n"
            "    See /usr/include/linux/capability.h\n"
            "\n"
-           "--ctx num\n"
+           "--xid num\n"
            "    Select the context. On root in context 0 is allowed to\n"
            "    select a specific context.\n"
            "    Context number 1 is special. It can see all processes\n"
            "    in any contexts, but can't kill them though.\n"
-           "    Option --ctx may be repeated several times to specify up to 16 contexts.\n"
+           "    Option --xid may be repeated several times to specify up to 16 contexts.\n"
 
            "--disconnect\n"
            "    Start the command in background and make the process\n"
@@ -311,7 +312,7 @@ int main (int argc, char *argv[])
          WRITE_MSG(2, "Too many contexts given\n");
          exit(255);
        }
-       args.ctxs[args.nbctx++] = atoi(optarg);
+       args.ctxs[args.nbctx++] = Evc_xidopt2xid(optarg, true);
        break;
 
          
index dad9cb7..cdf77c7 100644 (file)
 #include <sys/resource.h>
 #include <sys/wait.h>
 
+#define ENSC_WRAPPERS_VSERVER  1
+#include <wrappers.h>
+
 #define CMD_HELP       0x8000
 #define CMD_VERSION    0x8001
 
+int            wrapper_exit_code = 1;
+
 static struct option const
 CMDLINE_OPTIONS[] = {
-  { "help",     no_argument,  0, CMD_HELP },
-  { "version",  no_argument,  0, CMD_VERSION },
+  { "help",     no_argument,        0, CMD_HELP },
+  { "version",  no_argument,        0, CMD_VERSION },
+  { "xid",      required_argument,  0, 'c' },
   { 0,0,0,0 }
 };
 
 struct Arguments
 {
-    xid_t              ctx;
+    xid_t              xid;
     int                        sig;
 };
 
@@ -66,7 +72,7 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage:  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " [-c <ctx>] [-s <signal>] [--] <pid>*\n"
+           " [--xid|-c <xid>] [-s <signal>] [--] <pid>*\n"
            "Please report bugs to " PACKAGE_BUGREPORT "\n");
   exit(res);
 }
@@ -104,7 +110,7 @@ str2sig(char const *str)
 
 #if defined(VC_ENABLE_API_LEGACY)
 inline static ALWAYSINLINE int
-kill_wrapper_legacy(xid_t UNUSED ctx, char const *proc, int UNUSED sig)
+kill_wrapper_legacy(xid_t UNUSED xid, char const *proc, int UNUSED sig)
 {
   pid_t                pid = fork();
   if (pid==-1) {
@@ -126,13 +132,13 @@ kill_wrapper_legacy(xid_t UNUSED ctx, char const *proc, int UNUSED sig)
 }
 
 static int
-kill_wrapper(xid_t ctx, char const *pid, int sig)
+kill_wrapper(xid_t xid, char const *pid, int sig)
 {
-  //printf("kill_wrapper(%u, %s, %i)\n", ctx, pid, sig);
-  if (vc_ctx_kill(ctx,atoi(pid),sig)==-1) {
+  //printf("kill_wrapper(%u, %s, %i)\n", xid, pid, sig);
+  if (vc_ctx_kill(xid,atoi(pid),sig)==-1) {
     int                err = errno;
     if (vc_get_version(VC_CAT_COMPAT)==-1)
-      return kill_wrapper_legacy(ctx, pid, sig);
+      return kill_wrapper_legacy(xid, pid, sig);
     else {
       errno = err;
       perror("vkill: vc_ctx_kill()");
@@ -144,9 +150,9 @@ kill_wrapper(xid_t ctx, char const *pid, int sig)
 }
 #else // VC_ENABLE_API_LEGACY
 inline static int
-kill_wrapper(xid_t ctx, char const *pid, int sig)
+kill_wrapper(xid_t xid, char const *pid, int sig)
 {
-  if (vc_ctx_kill(ctx,atoi(pid),sig)==-1) {
+  if (vc_ctx_kill(xid,atoi(pid),sig)==-1) {
     perror("vkill: vc_ctx_kill()");
     return 1;
   }
@@ -159,7 +165,7 @@ int main(int argc, char *argv[])
 {
   int                  fail = 0;
   struct Arguments     args = {
-    .ctx = VC_NOCTX,
+    .xid = VC_NOCTX,
     .sig = SIGTERM,
   };
   
@@ -170,8 +176,8 @@ int main(int argc, char *argv[])
     switch (c) {
       case CMD_HELP    :  showHelp(1, argv[0], 0);
       case CMD_VERSION :  showVersion();
-      case 'c'         :  args.ctx = atoi(optarg);    break;
-      case 's'         :  args.sig = str2sig(optarg); break;
+      case 'c'         :  args.xid = Evc_xidopt2xid(optarg,true); break;
+      case 's'         :  args.sig = str2sig(optarg);             break;
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
@@ -186,15 +192,15 @@ int main(int argc, char *argv[])
     return EXIT_FAILURE;
   }
 
-  if (args.ctx==VC_NOCTX && optind==argc) {
+  if (args.xid==VC_NOCTX && optind==argc) {
     WRITE_MSG(2, "No pid specified\n");
     return EXIT_FAILURE;
   }
 
   if (optind==argc)
-    fail += kill_wrapper(args.ctx, "0", args.sig);
+    fail += kill_wrapper(args.xid, "0", args.sig);
   else for (;optind<argc;++optind)
-    fail += kill_wrapper(args.ctx, argv[optind], args.sig);
+    fail += kill_wrapper(args.xid, argv[optind], args.sig);
 
   return fail==0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
index 1b69318..c6e945b 100644 (file)
@@ -50,6 +50,7 @@ CMDLINE_OPTIONS[] = {
   { "help",     no_argument,  0, CMD_HELP },
   { "version",  no_argument,  0, CMD_VERSION },
   { "ctx",         required_argument, 0, CMD_XID },
+  { "xid",         required_argument, 0, CMD_XID },
   { "fill-rate",   required_argument, 0, CMD_FRATE },
   { "interval",    required_argument, 0, CMD_INTERVAL },
   { "tokens",      required_argument, 0, CMD_TOKENS },
@@ -67,7 +68,7 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage:\n  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " [--ctx <xid>] [--fill-rate <rate>] [--interval <interval>] [--tokens <tokens>] [--tokens_min <tokens>] [--tokens_max <tokens>] [--cpu_mask <mask>] [--] [<command> <args>*]\n"
+           " [--xid <xid>] [--fill-rate <rate>] [--interval <interval>] [--tokens <tokens>] [--tokens_min <tokens>] [--tokens_max <tokens>] [--cpu_mask <mask>] [--] [<command> <args>*]\n"
            "\n"
            "Please report bugs to " PACKAGE_BUGREPORT "\n");
 
@@ -97,13 +98,13 @@ int main(int argc, char *argv[])
     switch (c) {
       case CMD_HELP    :  showHelp(1, argv[0], 0);
       case CMD_VERSION :  showVersion();
-      case CMD_XID     :  xid = atoi(optarg); break;
-      case CMD_FRATE   :  sched.fill_rate   = atoi(optarg); break;
-      case CMD_INTERVAL        :  sched.interval    = atoi(optarg); break;
-      case CMD_TOKENS  :  sched.tokens      = atoi(optarg); break;
-      case CMD_TOK_MIN :  sched.tokens_min  = atoi(optarg); break;
-      case CMD_TOK_MAX :  sched.tokens_max  = atoi(optarg); break;
-      case CMD_CPU_MASK        :  sched.cpu_mask    = atoi(optarg); break;
+      case CMD_XID     :  xid = Evc_xidopt2xid(optarg,true); break;
+      case CMD_FRATE   :  sched.fill_rate   = atoi(optarg);  break;
+      case CMD_INTERVAL        :  sched.interval    = atoi(optarg);  break;
+      case CMD_TOKENS  :  sched.tokens      = atoi(optarg);  break;
+      case CMD_TOK_MIN :  sched.tokens_min  = atoi(optarg);  break;
+      case CMD_TOK_MAX :  sched.tokens_max  = atoi(optarg);  break;
+      case CMD_CPU_MASK        :  sched.cpu_mask    = atoi(optarg);  break;
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);