enum {
TTT_ARGS_VAL_LOG_FILE = 256,
+ TTT_ARGS_VAL_PID_FILE,
TTT_ARGS_VAL_HELP,
- TTT_ARGS_VAL_VERSION
+ TTT_ARGS_VAL_VERSION,
};
-static char ttt_args_optstring[] = "h:p:";
+static char ttt_args_optstring[] = "dh:p:u:";
static struct option ttt_args_options[] = {
/* name, has_arg, flag, val */
{"host", 1, 0, 'h'},
{"port", 1, 0, 'p'},
+ {"user", 1, 0, 'u'},
+ {"detach", 0, 0, 'd'},
{"log-file", 1, 0, TTT_ARGS_VAL_LOG_FILE},
+ {"pid-file", 1, 0, TTT_ARGS_VAL_PID_FILE},
{"help", 0, 0, TTT_ARGS_VAL_HELP},
{"version", 0, 0, TTT_ARGS_VAL_VERSION},
{ 0 }
puts ("");
printf ("Options that are common to both client and server:\n");
puts ("");
- printf (" -h HOST, --host=HOST\tHost to connect/bind to\n");
- printf (" -p PORT, --port=PORT\tPort to connect/bind to\n");
+ printf (" -h HOST, --host=HOST\tHost to connect/bind to [%s]\n",
+ TTT_ARGS_HOST_DEFAULT);
+ printf (" -p PORT, --port=PORT\tPort to connect/bind to [%s]\n",
+ TTT_ARGS_PORT_DEFAULT);
+ printf (" -u USER, --user=USER\tUser the server should run as.\n");
printf (" --help\tGive this help list\n");
printf (" --version\tPrint program version\n");
puts ("");
printf ("Options that are specific to the server:\n");
puts ("");
- printf (" --log-file=FILE\tFile to use for logging\n");
+ printf (" --log-file=FILE\tFile to use for logging [stderr]\n");
+ printf (" -d, --detach\tDetach and daemonize\n");
+ printf (" --pid-file=FILE\tFile in which to save PID (if -d given)\n"
+ " \t[%s]\n",
+ TTT_ARGS_PID_FILE_DEFAULT);
}
#if 0
args->host = TTT_ARGS_HOST_DEFAULT;
args->port = TTT_ARGS_PORT_DEFAULT;
+ args->user = NULL;
args->log_file = TTT_ARGS_LOG_FILE_DEFAULT;
+ args->detach = FALSE;
+ args->pid_file = TTT_ARGS_PID_FILE_DEFAULT;
while (1) {
c = getopt_long (argc, argv, ttt_args_optstring, ttt_args_options, NULL);
case 'p':
args->port = optarg;
break;
+ case 'u':
+ args->user = optarg;
+ break;
case TTT_ARGS_VAL_LOG_FILE:
args->log_file = optarg;
break;
+ case 'd':
+ args->detach = TRUE;
+ break;
+ case TTT_ARGS_VAL_PID_FILE:
+ args->pid_file = optarg;
+ break;
case TTT_ARGS_VAL_VERSION:
printf ("%s\n", VERSION);
exit (0);