globus_common  17.10
globus_options.h
Go to the documentation of this file.
1 
7 #ifndef GLOBUS_OPTIONS_H
8 #define GLOBUS_OPTIONS_H 1
9 
10 #include "globus_common_include.h"
11 
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 enum
18 {
19  GLOBUS_OPTIONS_HELP = 1,
20  GLOBUS_OPTIONS_NOT_ENOUGH_ARGS,
21  GLOBUS_OPTIONS_INVALID_PARAMETER,
22  GLOBUS_OPTIONS_UNKNOWN
23 };
24 
25 typedef struct globus_l_options_handle_s * globus_options_handle_t;
26 
27 typedef
29 (*globus_options_callback_t)(
30  globus_options_handle_t opts_handle,
31  char * cmd,
32  char ** parm,
33  void * arg,
34  int * out_parms_used);
35 
36 typedef
38 (*globus_options_unknown_callback_t)(
39  globus_options_handle_t opts_handle,
40  void * unknown_arg,
41  int argc,
42  char ** argv);
43 
44 typedef struct globus_options_entry_s
45 {
46  char * opt_name; /* long and filename */
47  char * short_opt;
48  char * env;
49  char * parms_desc;
50  char * description;
51  int arg_count;
52  globus_options_callback_t func;
53 } globus_options_entry_t;
54 
55 #define GLOBUS_OPTIONS_END {NULL, NULL, NULL, NULL, NULL, 0, NULL}
56 
58 globus_options_init(
59  globus_options_handle_t * out_handle,
60  globus_options_unknown_callback_t unknown_func,
61  void * unknown_arg);
62 
64 globus_options_add_table(
65  globus_options_handle_t handle,
66  globus_options_entry_t * table,
67  void * user_arg);
68 
70 globus_options_destroy(
71  globus_options_handle_t handle);
72 
74 globus_options_command_line_process(
75  globus_options_handle_t handle,
76  int argc,
77  char ** argv);
78 
80 globus_options_env_process(
81  globus_options_handle_t handle);
82 
84 globus_options_file_process(
85  globus_options_handle_t handle,
86  char * filename);
87 
89 globus_options_xinetd_file_process(
90  globus_options_handle_t handle,
91  char * filename,
92  char * service_name);
93 
94 void
95 globus_options_help(
96  globus_options_handle_t handle);
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 
102 #endif /* GLOBUS_OPTIONS_H */
Include System Headers.
uint32_t globus_result_t
Definition: globus_types.h:84