csnip  0.1
Classes | Macros | Typedefs | Functions
clopts.h File Reference

Command line options parser. More...

#include <stdio.h>
#include <stdbool.h>
#include <csnip/err.h>
Include dependency graph for clopts.h:

Go to the source code of this file.

Classes

struct  csnip_clopts_optinfo_s
 Descriptor for a single command line option. More...
 
struct  csnip_clopts_s
 Set of descriptors for all command line options. More...
 

Macros

#define csnip_clopts_Addvar(opts, short_name, long_name, description, ptr_target, err)
 Add an option, generic variant. More...
 
#define csnip_clopts_Addflag(opts, short_name, long_name, description, ptr_target, err)
 Add a flag, generic variant. More...
 

Typedefs

typedef struct csnip_clopts_optinfo_s csnip_clopts_optinfo
 Short typedef for struct csnip_clopts_optinfo_s.
 
typedef struct csnip_clopts_s csnip_clopts
 Short typedef for struct csnip_clopts_s.
 
typedef int(* csnip_clopts_parser) (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Argument parser function pointer type. More...
 

Functions

int csnip_clopts_add_defaults (csnip_clopts *opts)
 Add handlers for default options. More...
 
int csnip_clopts_add (csnip_clopts *opts, int n_optinfo, const csnip_clopts_optinfo *optinfo)
 Add processable options. More...
 
int csnip_clopts_process (csnip_clopts *opts, int argc, char **argv, int *ret_pos_args, bool do_clear)
 Process command line arguments. More...
 
void csnip_clopts_clear (csnip_clopts *opts)
 Clear clopts assignments, freeing memory. More...
 
int csnip_clopts_parser_uchar (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Parse argument as integer of type char.
 
int csnip_clopts_parser_uint (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Parse argument as an int.
 
int csnip_clopts_parser_ulong (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Parse argument as a long int.
 
int csnip_clopts_parser_ullong (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Parse argument as long long int.
 
int csnip_clopts_parser_float (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Parse argument as float.
 
int csnip_clopts_parser_double (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Parse argument as double.
 
int csnip_clopts_parser_ldouble (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Parse argument as long double.
 
int csnip_clopts_parser_pchar (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Assign a char* to point to the argument. More...
 
int csnip_clopts_flagparser_bool (const csnip_clopts *opts, const csnip_clopts_optinfo *optinfo, const char *argval)
 Parser for flags, bool target.