d4-core/client/d4.c

76 lines
1.5 KiB
C
Raw Normal View History

2018-11-27 12:47:18 +01:00
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <getopt.h>
#include <string.h>
#include "d4.h"
//Returns -1 on error, 0 otherwise
int d4_load_config(d4_t* d4)
{
2018-11-27 14:42:35 +01:00
int i;
char *buf;
buf=calloc(1,2*FILENAME_MAX);
if (buf) {
for (i=0; i < ND4PARAMS; i++) {
snprintf(buf,2*FILENAME_MAX, "%s/%s",d4->confdir, d4params[i]);
}
}
2018-11-27 12:47:18 +01:00
return -1;
}
void usage(void)
{
printf("d4 client help\n");
}
d4_t* d4_init(char* confdir)
{
d4_t* out;
int i;
2018-11-27 12:47:18 +01:00
out = calloc(1,sizeof(d4_t));
if (out) {
strncpy(out->confdir, confdir, FILENAME_MAX);
}
for (i=0; i< ND4PARAMS; i++) {
bzero(out->conf[i],SZCONFVALUE);
}
2018-11-27 12:47:18 +01:00
// Do other inititalization stuff here
return out;
}
int main (int argc, char* argv[])
{
int opt;
char* confdir;
d4_t* d4;
confdir=calloc(1,FILENAME_MAX);
if (!confdir)
return EXIT_FAILURE;
while ((opt = getopt(argc, argv, "c:h")) != -1) {
switch (opt) {
case 'h':
usage();
return EXIT_SUCCESS;
case 'c':
strncpy(confdir, optarg, FILENAME_MAX);
break;
default:
fprintf(stderr,"An invalid command line argument was specified\n");
}
}
if (!confdir[0]){
fprintf(stderr,"A config directory must be specified\n");
return EXIT_FAILURE;
}
2018-11-27 14:48:09 +01:00
d4 = d4_init(confdir);
2018-11-27 12:47:18 +01:00
free(confdir);
d4_load_config(d4);
return EXIT_SUCCESS;
}