Add command line source/header files.
This commit is contained in:
52
src/cmdline.c
Normal file
52
src/cmdline.c
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <getopt.h>
|
||||||
|
|
||||||
|
#include "cmdline.h"
|
||||||
|
|
||||||
|
const struct option opts[] =
|
||||||
|
{
|
||||||
|
{"config", required_argument, NULL, 'c'},
|
||||||
|
{"offload", no_argument, NULL, 'o'},
|
||||||
|
{"list", no_argument, NULL, 'l'},
|
||||||
|
{"help", no_argument, NULL, 'h'},
|
||||||
|
{NULL, 0, NULL, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
void parsecommandline(struct cmdline *cmd, int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
|
||||||
|
while ((c = getopt_long(argc, argv, "c:lho", opts, NULL)) != -1)
|
||||||
|
{
|
||||||
|
switch (c)
|
||||||
|
{
|
||||||
|
case 'c':
|
||||||
|
cmd->cfgfile = optarg;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'o':
|
||||||
|
cmd->offload = 1;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'l':
|
||||||
|
cmd->list = 1;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'h':
|
||||||
|
cmd->help = 1;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case '?':
|
||||||
|
fprintf(stderr, "Missing argument option...\n");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
src/cmdline.h
Normal file
11
src/cmdline.h
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
struct cmdline
|
||||||
|
{
|
||||||
|
char *cfgfile;
|
||||||
|
unsigned int help : 1;
|
||||||
|
unsigned int list : 1;
|
||||||
|
unsigned int offload : 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
void parsecommandline(struct cmdline *cmd, int argc, char *argv[]);
|
||||||
Reference in New Issue
Block a user