libptpmgmt  1.3
libptpmgmt library that provides the functionality of linuxptp pmc
opt.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: LGPL-3.0-or-later
2  SPDX-FileCopyrightText: Copyright © 2023 Erez Geva <ErezGeva2@gmail.com> */
3 
12 #ifndef __PTPMGMT_C_OPT_H
13 #define __PTPMGMT_C_OPT_H
14 
15 #include "name.h"
16 
23 };
27  char short_name;
28  const char *long_name;
29  bool have_arg;
30  bool long_only;
31  const char *help_msg;
32  const char *arg_help;
33  const char *def_val;
34 };
35 
37 typedef struct ptpmgmt_opt_t *ptpmgmt_opt;
38 
40 typedef const struct ptpmgmt_opt_t *const_ptpmgmt_opt;
41 
46 struct ptpmgmt_opt_t {
48  void *_this;
55  void (*free)(ptpmgmt_opt opt);
60  void (*useDefOption)(ptpmgmt_opt opt);
68  bool (*insert)(ptpmgmt_opt opt, struct ptpmgmt_opt_option *addOpt);
74  const char *(*get_help)(ptpmgmt_opt opt);
80  const char *(*get_msg)(ptpmgmt_opt opt);
92  enum ptpmgmt_opt_loop_val(*parse_options)(ptpmgmt_opt opt, int argc,
93  char *argv[]);
100  bool (*have)(ptpmgmt_opt opt, char askOpt);
108  const char *(*val)(ptpmgmt_opt opt, char valOpt);
116  int (*val_i)(ptpmgmt_opt opt, char valOpt);
129  bool (*have_more)(ptpmgmt_opt opt);
136 };
137 
148 
149 #endif /* __PTPMGMT_C_OPT_H */
struct ptpmgmt_opt_t * ptpmgmt_opt
Definition: opt.h:37
ptpmgmt_opt_loop_val
Definition: opt.h:18
@ PTPMGMT_OPT_HELP
Definition: opt.h:21
@ PTPMGMT_OPT_ERR
Definition: opt.h:19
@ PTPMGMT_OPT_DONE
Definition: opt.h:22
@ PTPMGMT_OPT_MSG
Definition: opt.h:20
ptpmgmt_opt ptpmgmt_opt_alloc_empty()
ptpmgmt_opt ptpmgmt_opt_alloc()
const struct ptpmgmt_opt_t * const_ptpmgmt_opt
Definition: opt.h:40
Define name space.
Definition: opt.h:25
const char * help_msg
Definition: opt.h:31
const char * def_val
Definition: opt.h:33
char short_name
Definition: opt.h:27
const char * arg_help
Definition: opt.h:32
const char * long_name
Definition: opt.h:28
bool long_only
Definition: opt.h:30
bool have_arg
Definition: opt.h:29
Definition: opt.h:46
void(* free)(ptpmgmt_opt opt)
Definition: opt.h:55
bool(* have)(ptpmgmt_opt opt, char askOpt)
Definition: opt.h:100
bool(* insert)(ptpmgmt_opt opt, struct ptpmgmt_opt_option *addOpt)
Definition: opt.h:68
int(* val_i)(ptpmgmt_opt opt, char valOpt)
Definition: opt.h:116
int(* process_next)(ptpmgmt_opt opt)
Definition: opt.h:135
void(* useDefOption)(ptpmgmt_opt opt)
Definition: opt.h:60
enum ptpmgmt_opt_loop_val(* parse_options)(ptpmgmt_opt opt, int argc, char *argv[])
Definition: opt.h:92
bool(* have_more)(ptpmgmt_opt opt)
Definition: opt.h:129
char(* get_net_transport)(ptpmgmt_opt opt)
Definition: opt.h:123