vshost-util-vserver

Build script and sources for util-vserver.
git clone https://ccx.te2000.cz/git/vshost-util-vserver
Log | Files | Refs

getinitpid.c (1471B)


      1 // $Id$    --*- 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 "compat.h"
     24 #include "vserver.h"
     25 #include "internal.h"
     26 #include "src/util.h"
     27 
     28 #include <stdio.h>
     29 #include <stdlib.h>
     30 #include <unistd.h>
     31 
     32 int main(int argc, char *argv[])
     33 {
     34   char			buf[sizeof(int)*3+2];
     35   xid_t			xid;
     36   struct vc_vx_info	info;
     37   
     38   if (argc==1) xid = vc_get_task_xid(0);
     39   else         xid = vc_get_task_xid(atoi(argv[1]));
     40 
     41   if (xid==VC_NOCTX) {
     42     perror("vc_get_task_xid()");
     43     return EXIT_FAILURE;
     44   }
     45 
     46   if (vc_get_vx_info(xid, &info)==-1) {
     47     perror("vc_get_vx_info()");
     48     return EXIT_FAILURE;
     49   }
     50 
     51   utilvserver_fmt_int(buf, info.initpid);
     52 
     53   WRITE_STR(1, buf);
     54   WRITE_MSG(1, "\n");
     55 
     56   return 0;
     57 }