Massive update of argparse system

This is required for furhter maintance of kernel module. Aims to provide
common interface for both
This commit is contained in:
Vadim Vetrov
2024-12-08 16:06:50 +03:00
parent 9b5c8a729d
commit 457a7a7f04
13 changed files with 1582 additions and 852 deletions

14
args.h
View File

@@ -1,9 +1,21 @@
#ifndef ARGS_H
#define ARGS_H
#include "types.h"
#include "config.h"
void print_version(void);
void print_usage(const char *argv0);
int parse_args(int argc, char *argv[]);
int yparse_args(int argc, char *argv[]);
size_t print_config(char *buffer, size_t buffer_size);
// Initializes configuration storage.
int init_config(struct config_t *config);
// Allocates and initializes configuration section.
int init_section_config(struct section_config_t **section, struct section_config_t *prev);
// Frees configuration section
void free_config_section(struct section_config_t *config);
// Frees sections under config
void free_config(struct config_t config);
/* Prints starting messages */
void print_welcome(void);