diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
| commit | c068f22329d5cc722622a2183bbb22eef2093df7 (patch) | |
| tree | 12d56c1aede67988a55e241364606bfbb4dba933 /src/libparsec/include/con_arg.h | |
| download | openparsec-main.tar.xz openparsec-main.zip | |
Diffstat (limited to 'src/libparsec/include/con_arg.h')
| -rw-r--r-- | src/libparsec/include/con_arg.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/libparsec/include/con_arg.h b/src/libparsec/include/con_arg.h new file mode 100644 index 0000000..24de1bb --- /dev/null +++ b/src/libparsec/include/con_arg.h @@ -0,0 +1,68 @@ +/* + * PARSEC HEADER: con_arg.h + */ + +#ifndef _CON_ARG_H_ +#define _CON_ARG_H_ + + +// structure for key/value pairs + +struct key_value_s { + + const char* key; + char* value; + + dword flags; + dword _padto_16; +}; + +#define KEYVALFLAG_NONE 0x0000 +#define KEYVALFLAG_DISALLOW 0x0001 +#define KEYVALFLAG_IGNORE 0x0002 +#define KEYVALFLAG_MANDATORY 0x0004 +#define KEYVALFLAG_PARENTHESIZE 0x0008 + + +// structure for flag mapping spec + +struct flag_map_s { + + const char* name; + dword value; + int group; + dword _pad16; +}; + + +// external functions + +int ScanKeyValuePairs( key_value_s *table, char *kvstr ); +int ScanKeyValueInt( key_value_s *keyval, int *ival ); +int ScanKeyValueIntList( key_value_s *keyval, int *ilist, int minlen, int maxlen ); +int ScanKeyValueIntListBounded( key_value_s *keyval, int *ilist, int minlen, int maxlen, int minval, int maxval ); +int ScanKeyValueFloat( key_value_s *keyval, float *fval ); +int ScanKeyValueFloatList( key_value_s *keyval, float *flist, int minlen, int maxlen ); +int ScanKeyValueFloatListBounded( key_value_s *keyval, float *flist, int minlen, int maxlen, float minval, float maxval ); +int ScanKeyValueFlagList( key_value_s *keyval, dword *flagword, flag_map_s *flagmap ); +dword ScanKeyValueObjClass( key_value_s *keyval, int keyclass, int keyid ); + +char* GetParenthesizedName( char *name ); +int GetIntBehindCommand( char *cstr, int32 *iarg, int base, int paramoptional ); +const char* GetStringBehindCommand( char *scan, int paramoptional ); +int SetSingleStringCommand( char *cstr, char *dst, int dstmaxlen ); + +char* QueryIntArgument( const char *query, int *arg ); +char* QueryFltArgument( const char *query, float *arg ); +char* QueryIntArgumentEx( char *params, const char *query, int *arg ); +char* QueryFltArgumentEx( char *params, const char *query, float *arg ); +int CheckSetIntArgument( const char *query, const char *scan, const char *command, int *arg ); +int CheckSetFltArgument( const char *query, const char *scan, const char *command, float *arg ); +int CheckSetIntArgBounded( const char *query, const char *scan, char *command, int *arg, int bmin, int bmax, void (*func)() ); +int CheckSetIntArray( const char *query, char *scan, char *comstub, int *array, int numelements ); +int CheckSetStrArgument( int query, char *scan, char *command, char *string, int maxlen ); + + +#endif // _CON_ARG_H_ + + |
