|
libcfe
0.12.1
some useful C-functions
|
#include "config.h"#include "getparam.h"#include <stddef.h>#include <stdio.h>#include <stdlib.h>#include <stdint.h>#include <string.h>#include <libintl.h>#include "len.h"#include "char_to_int.h"#include "char_to_double.h"Go to the source code of this file.
Data Structures | |
| struct | _typeless |
Macros | |
| #define | UNUSED(x) (void)(x) |
| Used to indicate that a function does not use a certain parameter. More... | |
| #define | ISVAR(o) ((o.type & PARAM_ACTION_VAR) == PARAM_ACTION_VAR) |
| #define | ISFUNC(o) ((o.type & PARAM_ACTION_FUNC) == PARAM_ACTION_FUNC) |
| #define | CANARG(o) ((o.type & PARAM_OPTION_ARG_YES) == PARAM_OPTION_ARG_YES) |
| #define | MAYARG(o) ((o.type & PARAM_OPTION_ARG_MAYBE) == PARAM_OPTION_ARG_MAYBE) |
| #define | REQUIREARG(o) (CANARG(o) && !MAYARG(o)) |
| #define | NOARG(o) ((o.type & PARAM_OPTION_ARG_YES) == 0) |
| #define | TYPEBOOL(o) ((o.type & PARAM_OPTION_BOOL) == PARAM_OPTION_BOOL) |
| #define | TYPEINT(o) ((o.type & ARG_TYPE_DOUBLE) == ARG_TYPE_INT) |
| #define | TYPESTR(o) ((o.type & ARG_TYPE_DOUBLE) == ARG_TYPE_STR) |
| #define | TYPEDOUBLE(o) ((o.type & ARG_TYPE_DOUBLE) == ARG_TYPE_DOUBLE) |
| #define | MIN(a, b) (a > b ? b : a) |
| #define | MAX(a, b) (a < b ? b : a) |
| #define | TYPLESSVAR struct _typeless |
| #define | SETBOOL(var, v) var.type=1; var.b=(short int)(v); |
| #define | SETINT(var, v) var.type=2; var.i=(long int)(v); |
| #define | SETDOUBLE(var, v) var.type=3; var.d=(long double)(v); |
| #define | SETSTR(var, v) var.type=4; var.s=(char *)(v); |
| #define | SETVOID(var, v) var.type=5; var.s=(void *)(v); |
| #define | SETFAILED(var) var.type=6; |
| #define | SETNULL(var) var.type=0; |
| #define | ISNULL(var) (var.type==0?1:0) |
| #define | ISBOOL(var) (var.type==1?1:0) |
| #define | ISINT(var) (var.type==2?1:0) |
| #define | ISDOUBLE(var) (var.type==3?1:0) |
| #define | ISSTR(var) (var.type==4?1:0) |
| #define | ISVOID(var) (var.type==5?1:0) |
| #define | ISFAILED(var) (var.type==6?1:0) |
| #define | GETVAL(var, t) (var.type==1?(t)var.b:(var.type==2?(t)var.i:(var.type==3?(t)var.d:(var.type==4?(t)var.s:(var.type==5?(t)var.s:(t)NULL))))) |
| #define | GETNULL(var) ((void *)NULL) |
| #define | GETBOOL(var) ((short int)var.b) |
| #define | GETINT(var) ((long int)var.i) |
| #define | GETDOUBLE(var) ((long double)var.d) |
| #define | GETSTR(var) ((char *)var.s) |
| #define | GETVOID(var) ((void *)var.s) |
| #define | BIT_SET(b, o) ((o & b) == b) |
| #define | IS_FAIL_ON_UNKNOWN(o) (BIT_SET(FAIL_ON_UNKNOWN, o)) |
| #define | ARG(o) (TYPESTR(o)?arg_str:(TYPEINT(o)?arg_int:(TYPEDOUBLE(o)?arg_double:(TYPEBOOL(o)?arg_bool:"")))) |
Functions | |
| short int | check_bool (const char *s, size_t len) |
| short int | char_to_bool (const char *s, size_t len) |
| int | applyopt (option_t **o_all, option_t o, TYPLESSVAR arg) |
| TYPLESSVAR | check_arg (option_t o, void *arg) |
| void | print_options_help (option_t *o) |
| void | print_options_config (option_t *o) |
| size_t | add_config_options (option_t **o_in, option_t add[]) |
| int | getparam (option_t **o, int argc, char **argv) |
| int | readconfig (option_t **o, const char *file, int options) |
| #define ARG | ( | o | ) | (TYPESTR(o)?arg_str:(TYPEINT(o)?arg_int:(TYPEDOUBLE(o)?arg_double:(TYPEBOOL(o)?arg_bool:"")))) |
Definition at line 69 of file getparam.c.
| #define BIT_SET | ( | b, | |
| o | |||
| ) | ((o & b) == b) |
Definition at line 67 of file getparam.c.
| #define CANARG | ( | o | ) | ((o.type & PARAM_OPTION_ARG_YES) == PARAM_OPTION_ARG_YES) |
Definition at line 19 of file getparam.c.
| #define GETBOOL | ( | var | ) | ((short int)var.b) |
Definition at line 61 of file getparam.c.
| #define GETDOUBLE | ( | var | ) | ((long double)var.d) |
Definition at line 63 of file getparam.c.
| #define GETINT | ( | var | ) | ((long int)var.i) |
Definition at line 62 of file getparam.c.
| #define GETNULL | ( | var | ) | ((void *)NULL) |
Definition at line 60 of file getparam.c.
| #define GETSTR | ( | var | ) | ((char *)var.s) |
Definition at line 64 of file getparam.c.
| #define GETVAL | ( | var, | |
| t | |||
| ) | (var.type==1?(t)var.b:(var.type==2?(t)var.i:(var.type==3?(t)var.d:(var.type==4?(t)var.s:(var.type==5?(t)var.s:(t)NULL))))) |
Definition at line 59 of file getparam.c.
| #define GETVOID | ( | var | ) | ((void *)var.s) |
Definition at line 65 of file getparam.c.
| #define IS_FAIL_ON_UNKNOWN | ( | o | ) | (BIT_SET(FAIL_ON_UNKNOWN, o)) |
Definition at line 68 of file getparam.c.
| #define ISBOOL | ( | var | ) | (var.type==1?1:0) |
Definition at line 53 of file getparam.c.
| #define ISDOUBLE | ( | var | ) | (var.type==3?1:0) |
Definition at line 55 of file getparam.c.
| #define ISFAILED | ( | var | ) | (var.type==6?1:0) |
Definition at line 58 of file getparam.c.
| #define ISFUNC | ( | o | ) | ((o.type & PARAM_ACTION_FUNC) == PARAM_ACTION_FUNC) |
Definition at line 18 of file getparam.c.
| #define ISINT | ( | var | ) | (var.type==2?1:0) |
Definition at line 54 of file getparam.c.
| #define ISNULL | ( | var | ) | (var.type==0?1:0) |
Definition at line 52 of file getparam.c.
| #define ISSTR | ( | var | ) | (var.type==4?1:0) |
Definition at line 56 of file getparam.c.
| #define ISVAR | ( | o | ) | ((o.type & PARAM_ACTION_VAR) == PARAM_ACTION_VAR) |
Definition at line 17 of file getparam.c.
| #define ISVOID | ( | var | ) | (var.type==5?1:0) |
Definition at line 57 of file getparam.c.
Definition at line 32 of file getparam.c.
| #define MAYARG | ( | o | ) | ((o.type & PARAM_OPTION_ARG_MAYBE) == PARAM_OPTION_ARG_MAYBE) |
Definition at line 20 of file getparam.c.
Definition at line 29 of file getparam.c.
| #define NOARG | ( | o | ) | ((o.type & PARAM_OPTION_ARG_YES) == 0) |
Definition at line 22 of file getparam.c.
Definition at line 21 of file getparam.c.
| #define SETBOOL | ( | var, | |
| v | |||
| ) | var.type=1; var.b=(short int)(v); |
Definition at line 45 of file getparam.c.
| #define SETDOUBLE | ( | var, | |
| v | |||
| ) | var.type=3; var.d=(long double)(v); |
Definition at line 47 of file getparam.c.
| #define SETFAILED | ( | var | ) | var.type=6; |
Definition at line 50 of file getparam.c.
| #define SETINT | ( | var, | |
| v | |||
| ) | var.type=2; var.i=(long int)(v); |
Definition at line 46 of file getparam.c.
| #define SETNULL | ( | var | ) | var.type=0; |
Definition at line 51 of file getparam.c.
| #define SETSTR | ( | var, | |
| v | |||
| ) | var.type=4; var.s=(char *)(v); |
Definition at line 48 of file getparam.c.
| #define SETVOID | ( | var, | |
| v | |||
| ) | var.type=5; var.s=(void *)(v); |
Definition at line 49 of file getparam.c.
| #define TYPEBOOL | ( | o | ) | ((o.type & PARAM_OPTION_BOOL) == PARAM_OPTION_BOOL) |
Definition at line 23 of file getparam.c.
| #define TYPEDOUBLE | ( | o | ) | ((o.type & ARG_TYPE_DOUBLE) == ARG_TYPE_DOUBLE) |
Definition at line 26 of file getparam.c.
| #define TYPEINT | ( | o | ) | ((o.type & ARG_TYPE_DOUBLE) == ARG_TYPE_INT) |
Definition at line 24 of file getparam.c.
| #define TYPESTR | ( | o | ) | ((o.type & ARG_TYPE_DOUBLE) == ARG_TYPE_STR) |
Definition at line 25 of file getparam.c.
| #define TYPLESSVAR struct _typeless |
Definition at line 44 of file getparam.c.
| #define UNUSED | ( | x | ) | (void)(x) |
Used to indicate that a function does not use a certain parameter.
Definition at line 15 of file getparam.c.
Definition at line 126 of file getparam.c.
| int applyopt | ( | option_t ** | o_all, |
| option_t | o, | ||
| TYPLESSVAR | arg | ||
| ) |
| short int char_to_bool | ( | const char * | s, |
| size_t | len | ||
| ) |
| TYPLESSVAR check_arg | ( | option_t | o, |
| void * | arg | ||
| ) |
Definition at line 195 of file getparam.c.
| short int check_bool | ( | const char * | s, |
| size_t | len | ||
| ) |
| int getparam | ( | option_t ** | o, |
| int | argc, | ||
| char ** | argv | ||
| ) |
| void print_options_config | ( | option_t * | o | ) |
Definition at line 104 of file getparam.c.
| void print_options_help | ( | option_t * | o | ) |
Definition at line 76 of file getparam.c.
| int readconfig | ( | option_t ** | o, |
| const char * | file, | ||
| int | options | ||
| ) |