]>
Commit | Line | Data |
---|---|---|
064af421 | 1 | /* |
e0edde6f | 2 | * Copyright (c) 2008, 2009, 2010 Nicira, Inc. |
064af421 | 3 | * |
a14bc59f BP |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | |
6 | * You may obtain a copy of the License at: | |
064af421 | 7 | * |
a14bc59f BP |
8 | * http://www.apache.org/licenses/LICENSE-2.0 |
9 | * | |
10 | * Unless required by applicable law or agreed to in writing, software | |
11 | * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | * See the License for the specific language governing permissions and | |
14 | * limitations under the License. | |
064af421 BP |
15 | */ |
16 | ||
17 | #ifndef COMMAND_LINE_H | |
18 | #define COMMAND_LINE_H 1 | |
19 | ||
20 | /* Utilities for command-line parsing. */ | |
21 | ||
675febfa BP |
22 | #include "compiler.h" |
23 | ||
064af421 | 24 | struct option; |
675febfa BP |
25 | |
26 | struct command { | |
27 | const char *name; | |
451de37e | 28 | const char *usage; |
675febfa BP |
29 | int min_args; |
30 | int max_args; | |
31 | void (*handler)(int argc, char *argv[]); | |
32 | }; | |
33 | ||
064af421 | 34 | char *long_options_to_short_options(const struct option *options); |
66fa2c88 | 35 | void print_options(const struct option *options); |
451de37e | 36 | void print_commands(const struct command *commands); |
675febfa | 37 | void run_command(int argc, char *argv[], const struct command[]); |
064af421 | 38 | |
40f0707c | 39 | void proctitle_init(int argc, char **argv); |
666afb55 | 40 | #if defined(__FreeBSD__) || defined(__NetBSD__) |
fb301c74 EM |
41 | #define proctitle_set setproctitle |
42 | #else | |
40f0707c BP |
43 | void proctitle_set(const char *, ...) |
44 | PRINTF_FORMAT(1, 2); | |
fb301c74 | 45 | #endif |
40f0707c BP |
46 | void proctitle_restore(void); |
47 | ||
064af421 | 48 | #endif /* command-line.h */ |