aboutsummaryrefslogtreecommitdiff
path: root/src/libparsec/include/con_arg.h
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
committerFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
commitc068f22329d5cc722622a2183bbb22eef2093df7 (patch)
tree12d56c1aede67988a55e241364606bfbb4dba933 /src/libparsec/include/con_arg.h
downloadopenparsec-main.tar.xz
openparsec-main.zip
initial importHEADmain
Diffstat (limited to 'src/libparsec/include/con_arg.h')
-rw-r--r--src/libparsec/include/con_arg.h68
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_
+
+