YAZ  5.34.0
Macros | Functions
options.h File Reference

Header for command line options parsing utilities. More...

#include <yaz/yconfig.h>

Go to the source code of this file.

Macros

#define YAZ_OPTIONS_ERROR   (-1)
 
#define YAZ_OPTIONS_EOF   (-2)
 

Functions

int options (const char *desc, char **argv, int argc, char **arg)
 command-line options parsing for main More...
 

Detailed Description

Header for command line options parsing utilities.

Definition in file options.h.

Macro Definition Documentation

◆ YAZ_OPTIONS_EOF

#define YAZ_OPTIONS_EOF   (-2)

Definition at line 65 of file options.h.

◆ YAZ_OPTIONS_ERROR

#define YAZ_OPTIONS_ERROR   (-1)

Definition at line 64 of file options.h.

Function Documentation

◆ options()

int options ( const char *  desc,
char **  argv,
int  argc,
char **  arg 
)

command-line options parsing for main

  • desc command argument description (allowed options)
  • argv main argv
  • argc main argc
  • arg returned argument (for options that take an argument).
    Return values
    0non-option arg (e.g. filename).
    -1unknown option (error). arg is name of unknown option
    -2no more options (end of options)
    coption char
    This function is called repeatedly for each option. Both single char options (-x) as well as GNU long options are supported (–long). The description is a sequence specs where each spec is if the form: [a-zA-Z0-9]({[a-zA-Z0-9]*})+:? . For example: h{help}f{filename}{fname}:

The first char is what is returned when met (single char option char). The second is zero ore more long option values (synonum for single char) If colon is appended, it means the option takes an argument. If argv includes empty long option (–) that means "end of options" : all argv data following that is considered non-options .. (0 returned for each).

Definition at line 21 of file options.c.

References arg_no, arg_off, eof_options, type, YAZ_OPTIONS_EOF, and YAZ_OPTIONS_ERROR.

Referenced by check_options(), process_initRequest(), ZOOM_connection_create(), ZOOM_connection_get_databases(), and ZOOM_connection_package().