Oyranos  git-devel
Oyranos is a full featured Color Management System
Macros | Typedefs | Enumerations
oyjl_args_base.h File Reference

OyjlArgs API provides a platformindependent C interface for argument handling. More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

Macros

#define OYJL_OPTION_FLAG_EDITABLE   0x001
 The oyjlOption_s choices are merely a hint. Let users fill other strings too: "prog --opt=arg|...". More...
 
#define OYJL_OPTION_FLAG_ACCEPT_NO_ARG   0x002
 Accept as well no arg: "prog --opt[=arg]". More...
 
#define OYJL_OPTION_FLAG_NO_DASH   0x004
 No double dash '–' acceptance; single dash can be omitted by not specifying oyjlOption_s::o : "prog opt". More...
 
#define OYJL_OPTION_FLAG_REPETITION   0x008
 Accept more than one occurence: "prog --opt=arg ...". More...
 
#define OYJL_OPTION_FLAG_MAINTENANCE   0x100
 Maintenance option; can be invisible. More...
 
#define OYJL_OPTION_FLAG_IMMEDIATE   0x200
 Apply instantly in UI; opposite to OYJL_GROUP_FLAG_EXPLICITE. More...
 
#define OYJL_GROUP_FLAG_SUBCOMMAND   0x080
 This oyjlOptionGroup_s flag requires one single mandatory option with oyjlOPTIONTYPE_NONE. More...
 
#define OYJL_GROUP_FLAG_EXPLICITE   0x100
 Apply explicitely in UI. More...
 
#define OYJL_GROUP_FLAG_GENERAL_OPTS   0x200
 Hint for MAN page section. More...
 

Typedefs

typedef enum oyjlOPTIONTYPE_e oyjlOPTIONTYPE_e
 Type of option. More...
 
typedef enum oyjlVARIABLETYPE_e oyjlVARIABLE_e
 Types for oyjlVariable_u. More...
 
typedef struct oyjlOptionChoice_s oyjlOptionChoice_s
 Choice item. More...
 
typedef union oyjlVariable_u oyjlVariable_u
 abstract value More...
 
typedef union oyjlOption_u oyjlOption_u
 abstract option More...
 
typedef struct oyjlOptionGroup_s oyjlOptionGroup_s
 Info to compile a Syntax line and check missing arguments. More...
 
typedef struct oyjlUiHeaderSection_s oyjlUiHeaderSection_s
 Header section. More...
 
typedef struct oyjlUi_s oyjlUi_s
 Info for graphic UI's containing options, additional info sections and other bells and whistles. More...
 

Enumerations

enum  oyjlOPTIONTYPE_e { , oyjlOPTIONTYPE_CHOICE, oyjlOPTIONTYPE_FUNCTION, oyjlOPTIONTYPE_DOUBLE, oyjlOPTIONTYPE_NONE }
 Type of option. More...
 
enum  oyjlVARIABLETYPE_e { , oyjlNONE, oyjlSTRING, oyjlDOUBLE, oyjlINT }
 Types for oyjlVariable_u. More...
 
enum  oyjlOPTIONSTATE_e { ,
  oyjlOPTION_NONE, oyjlOPTION_USER_CHANGED, oyjlOPTION_MISSING_VALUE, oyjlOPTION_UNEXPECTED_VALUE,
  oyjlOPTION_NOT_SUPPORTED, oyjlOPTION_DOUBLE_OCCURENCE, oyjlOPTIONS_MISSING, oyjlOPTION_NO_GROUP_FOUND,
  oyjlOPTION_SUBCOMMAND, oyjlOPTION_NOT_ALLOWED_AS_SUBCOMMAND
}
 option state More...
 
enum  {
  oyjlUI_STATE_NONE, oyjlUI_STATE_HELP, oyjlUI_STATE_VERBOSE = 2, oyjlUI_STATE_EXPORT = 4,
  oyjlUI_STATE_OPTION = 24, oyjlUI_STATE_NO_CHECKS = 0x1000, oyjlUI_STATE_NO_RELEASE = 0x2000
}
 

Detailed Description

OyjlArgs API provides a platformindependent C interface for argument handling.

oyjl - args C declarations and basic API's

Copyright:
2010-2022 (C) Kai-Uwe Behrmann
Author
Kai-Uwe Behrmann ku.b@.nosp@m.gmx..nosp@m.de
License:
MIT http://www.opensource.org/licenses/mit-license.php
Since
2010/09/15