add stub lif_interface_file_parse()

This commit is contained in:
Ariadne Conill 2020-07-18 18:02:25 -06:00
parent a166058b2b
commit 32560de5ca
5 changed files with 58 additions and 3 deletions

View file

@ -5,7 +5,8 @@ CFLAGS := -ggdb3 -O2 -Wall -I. -DINTERFACES_FILE=\"${INTERFACES_FILE}\"
LIBIFUPDOWN_SRC = \ LIBIFUPDOWN_SRC = \
libifupdown/list.c \ libifupdown/list.c \
libifupdown/dict.c \ libifupdown/dict.c \
libifupdown/interface.c libifupdown/interface.c \
libifupdown/interface-file.c
LIBIFUPDOWN_OBJ = ${LIBIFUPDOWN_SRC:.c=.o} LIBIFUPDOWN_OBJ = ${LIBIFUPDOWN_SRC:.c=.o}
LIBIFUPDOWN_LIB = libifupdown.a LIBIFUPDOWN_LIB = libifupdown.a

View file

@ -92,7 +92,11 @@ main(int argc, char *argv[])
} }
} }
lif_interface_collection_init(&collection); if (!lif_interface_file_parse(&collection, interfaces_file))
{
fprintf(stderr, "ifquery: could not parse %s\n", interfaces_file);
return EXIT_FAILURE;
}
if (optind >= argc) if (optind >= argc)
usage(); usage();
@ -103,7 +107,7 @@ main(int argc, char *argv[])
struct lif_dict_entry *entry = lif_dict_find(&collection, argv[idx]); struct lif_dict_entry *entry = lif_dict_find(&collection, argv[idx]);
if (entry == NULL) if (entry == NULL)
{ {
printf("ifquery: unknown interface %s\n", argv[idx]); fprintf(stderr, "ifquery: unknown interface %s\n", argv[idx]);
return EXIT_FAILURE; return EXIT_FAILURE;
} }

View file

@ -0,0 +1,25 @@
/*
* libifupdown/interface-file.h
* Purpose: /etc/network/interfaces parser
*
* Copyright (c) 2020 Ariadne Conill <ariadne@dereferenced.org>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* This software is provided 'as is' and without any warranty, express or
* implied. In no event shall the authors be liable for any damages arising
* from the use of this software.
*/
#include <stdio.h>
#include "libifupdown/interface-file.h"
bool
lif_interface_file_parse(struct lif_dict *collection, const char *filename)
{
lif_interface_collection_init(collection);
return true;
}

View file

@ -0,0 +1,24 @@
/*
* libifupdown/interface-file.h
* Purpose: /etc/network/interfaces parser
*
* Copyright (c) 2020 Ariadne Conill <ariadne@dereferenced.org>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* This software is provided 'as is' and without any warranty, express or
* implied. In no event shall the authors be liable for any damages arising
* from the use of this software.
*/
#ifndef LIBIFUPDOWN_INTERFACE_FILE_H__GUARD
#define LIBIFUPDOWN_INTERFACE_FILE_H__GUARD
#include <stdbool.h>
#include "libifupdown/interface.h"
extern bool lif_interface_file_parse(struct lif_dict *collection, const char *filename);
#endif

View file

@ -19,5 +19,6 @@
#include "libifupdown/list.h" #include "libifupdown/list.h"
#include "libifupdown/dict.h" #include "libifupdown/dict.h"
#include "libifupdown/interface.h" #include "libifupdown/interface.h"
#include "libifupdown/interface-file.h"
#endif #endif