]>
git.proxmox.com Git - mirror_lxc.git/blob - src/lxc/lxc_start.c
2 * lxc: linux Container library
4 * (C) Copyright IBM Corp. 2007, 2008
7 * Daniel Lezcano <dlezcano at fr.ibm.com>
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 #include <sys/param.h>
30 #include <sys/utsname.h>
31 #include <sys/types.h>
32 #include <sys/socket.h>
33 #include <arpa/inet.h>
34 #include <netinet/in.h>
40 lxc_log_define(lxc_start
, lxc
);
44 fprintf(stderr
, "%s <command>\n", basename(cmd
));
45 fprintf(stderr
, "\t -n <name> : name of the container\n");
46 fprintf(stderr
, "\t[-o <logfile>] : path of the log file\n");
47 fprintf(stderr
, "\t[-l <logpriority>]: log level priority\n");
51 int main(int argc
, char *argv
[])
54 const char *log_file
= NULL
, *log_priority
= NULL
;
56 int opt
, err
= LXC_ERROR_INTERNAL
, nbargs
= 0;
59 char *default_args
[] = {
64 while ((opt
= getopt(argc
, argv
, "n:o:l:")) != -1) {
73 log_priority
= optarg
;
80 if (!argv
[optind
] || !strlen(argv
[optind
]))
90 if (lxc_log_init(log_file
, log_priority
, basename(argv
[0])))
93 if (tcgetattr(0, &tios
)) {
94 ERROR("failed to get current terminal settings : %s",
99 err
= lxc_start(name
, args
);
101 ERROR("failed to start '%s'", name
);
105 if (tcsetattr(0, TCSAFLUSH
, &tios
))
106 ERROR("failed to restore terminal settings : %s",