Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
parse.h
Go to the documentation of this file.00001 #ifndef PARSE_INCLUDE
00002 #define PARSE_INCLUDE
00003
00004
00005
00006 #define P_STRING 1
00007 #define P_CHAR 2
00008 #define P_SHORT 3
00009 #define P_INT 4
00010 #define P_LONG 5
00011 #define P_FILE 6
00012 #define P_OLD_FILE 7
00013 #define P_NEW_FILE 8
00014 #define P_FLOAT 9
00015 #define P_DOUBLE 10
00016
00017 #define P_CASE_INSENSITIVE 01
00018 #define P_REQUIRED_PREFIX 02
00019
00020 #define P_NO_ARGS 0
00021 #define P_ONE_ARG 1
00022 #define P_INFINITE_ARGS 2
00023
00024 #define p_entry(pref,swit,flag,count,type,store,size) \
00025 { (pref), (swit), (flag), (count), (type), (int *) (store), (size) }
00026
00027 typedef struct {
00028 char *prefix;
00029 char *string;
00030 int flags;
00031 int count;
00032 int result_type;
00033 int *result_ptr;
00034 int table_size;
00035 } arg_info;
00036
00037 #ifdef KR_headers
00038 #define Argdcl(x) ()
00039 #else
00040 #define Argdcl(x) x
00041 #endif
00042 int arg_verify Argdcl((char**, arg_info*, int));
00043 void init_store Argdcl((arg_info*, int));
00044 int match_table Argdcl((char*, arg_info*, int, int, int*));
00045 int parse_args Argdcl((int, char**, arg_info*, int, char**, int));
00046
00047 #endif