|
|
2420c2 |
#include "toksvc_driver_impl.h"
|
|
|
2420c2 |
#include "argv/argv.h"
|
|
|
2420c2 |
|
|
|
2420c2 |
const struct argv_option toks_default_options[] = {
|
|
|
2420c2 |
{"version", 'v',TAG_VERSION,ARGV_OPTARG_NONE,0,0,0,
|
|
|
2420c2 |
"show version information"},
|
|
|
2420c2 |
|
|
|
2420c2 |
{"help", 'h',TAG_HELP,ARGV_OPTARG_OPTIONAL,0,"short|long",0,
|
|
|
2420c2 |
"show usage information [listing %s options only]"},
|
|
|
2420c2 |
|
|
|
2420c2 |
{"sysroot", 0,TAG_SYSROOT,ARGV_OPTARG_REQUIRED,0,0,"<dir>",
|
|
|
2420c2 |
"pass a handle to %s to the spawned child process, "
|
|
|
2420c2 |
"and set it to be the child's intial root directory."},
|
|
|
2420c2 |
|
|
|
2420c2 |
{"daemon", 0,TAG_DAEMON,ARGV_OPTARG_OPTIONAL,0,"default|always|never",0,
|
|
|
618937 |
"have the service's daemon thread handle signals sent by the "
|
|
|
618937 |
"application's own controlling terminal. The default is for "
|
|
|
618937 |
"the daemon thread to handle signals when the service runs as "
|
|
|
618937 |
"a stand-alone program, and defer the task to the main utility "
|
|
|
618937 |
"in all other cases."},
|
|
|
618937 |
|
|
|
618937 |
{"uuid", 'u',TAG_UUID,ARGV_OPTARG_REQUIRED,0,0,"<uuid>",
|
|
|
638690 |
"set the service identifier to %s, which needs "
|
|
|
638690 |
"to be in the format {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}."},
|
|
|
2420c2 |
|
|
|
236509 |
{"root-uuid", 'U',TAG_ROOTUUID,ARGV_OPTARG_NONE,0,0,0,
|
|
|
236509 |
"set the service identifier to a uuid based on "
|
|
|
236509 |
"unique properties of the sysroot directory"},
|
|
|
236509 |
|
|
|
79252f |
{"refstr", 'f',TAG_REFSTR,ARGV_OPTARG_REQUIRED,0,0,"<refstr>",
|
|
|
79252f |
"include the reference string %s in log records"
|
|
|
79252f |
"that pertain to this client."},
|
|
|
79252f |
|
|
|
c847e3 |
{"tokens", 't',TAG_TOKENS,ARGV_OPTARG_REQUIRED,0,0,"<ntokens>",
|
|
|
c847e3 |
"set the number of available tokens to %s, which should be "
|
|
|
c847e3 |
"in the range of 1..9999."},
|
|
|
c847e3 |
|
|
|
486fcd |
{"connect", 'c',TAG_CONNECT,ARGV_OPTARG_NONE,0,0,0,
|
|
|
486fcd |
"connect to the server without placing any request"},
|
|
|
486fcd |
|
|
|
520f51 |
{"abort", 'k',TAG_ABORT,ARGV_OPTARG_NONE,0,0,0,
|
|
|
520f51 |
"ask the token service to terminate"},
|
|
|
520f51 |
|
|
|
02451d |
{"acquire", 'a',TAG_ACQUIRE,ARGV_OPTARG_NONE,0,0,0,
|
|
|
02451d |
"acquire the next available token"},
|
|
|
02451d |
|
|
|
e3e583 |
{"pid", 'p',TAG_PID,ARGV_OPTARG_REQUIRED,0,0,"<pid>",
|
|
|
e3e583 |
"assign the token to the framework process "
|
|
|
e3e583 |
"identified by %s"},
|
|
|
e3e583 |
|
|
|
201fd7 |
{"syspid", 'P',TAG_SYSPID,ARGV_OPTARG_REQUIRED,0,0,"<syspid>",
|
|
|
201fd7 |
"assign the token to the system process "
|
|
|
201fd7 |
"identified by %s"},
|
|
|
201fd7 |
|
|
|
867b30 |
{"release", 'r',TAG_RELEASE,ARGV_OPTARG_REQUIRED,0,0,"<token>",
|
|
|
867b30 |
"release the key specified by %s."},
|
|
|
867b30 |
|
|
|
b27e56 |
{"timeout", 'm',TAG_TIMEOUT,ARGV_OPTARG_REQUIRED,0,0,"<millisecs>",
|
|
|
b27e56 |
"set the acquire operation's timeout to %s milliseconds; "
|
|
|
b27e56 |
"a timeout of zero milliseconds implies no wait at all; "
|
|
|
b27e56 |
"not setting a timeout implies an indefinite wait."},
|
|
|
b27e56 |
|
|
|
35e873 |
{"ctrl-pid", 'l',TAG_CTRLPID,ARGV_OPTARG_REQUIRED,0,0,"<pid>",
|
|
|
35e873 |
"set the service's controlling process to the "
|
|
|
35e873 |
"framework process identified by %s"},
|
|
|
35e873 |
|
|
|
35e873 |
{"ctrl-syspid", 'L',TAG_CSYSPID,ARGV_OPTARG_REQUIRED,0,0,"<syspid>",
|
|
|
35e873 |
"set the service's controlling process to the "
|
|
|
35e873 |
"system process identified by %s"},
|
|
|
35e873 |
|
|
|
ed52e5 |
{"log-file", 'o',TAG_LOGFILE,ARGV_OPTARG_REQUIRED,0,0,"<logfile>",
|
|
|
ed52e5 |
"set the log file to %s, which may be in root-relative "
|
|
|
ed52e5 |
"format (/path/to/log, native shell format "
|
|
|
ed52e5 |
"(x:/path/to/log), or native driver format "
|
|
|
ed52e5 |
"(e.g. \\Device\\HarddiskX\\path\\to\\log"},
|
|
|
ed52e5 |
|
|
|
ee5c9c |
{"log-level", 'O',TAG_LOGLEVEL,ARGV_OPTARG_REQUIRED,0,0,"<loglevel>",
|
|
|
ee5c9c |
"set the log level to %s in the range of 0..9"},
|
|
|
ee5c9c |
|
|
|
bd4f0c |
{"get-token-pool-size", 'n',TAG_NTOKENSGET,ARGV_OPTARG_NONE,0,0,0,
|
|
|
bd4f0c |
"connect to the server and output the current overall "
|
|
|
bd4f0c |
"number of tokens"},
|
|
|
bd4f0c |
|
|
|
0f44d8 |
{"set-token-pool-size", 'N',TAG_NTOKENSSET,ARGV_OPTARG_REQUIRED,0,0,"<ntokens>",
|
|
|
0f44d8 |
"connect to the server and set the service's overall "
|
|
|
0f44d8 |
"number of tokens to %s"},
|
|
|
0f44d8 |
|
|
|
2420c2 |
{0,0,0,0,0,0,0,0}
|
|
|
2420c2 |
};
|