00001 // $Id: bif_arg.h,v 1.1 2004/07/14 20:15:41 jason Exp $ 00002 00003 #ifndef bif_arg_h 00004 #define bif_arg_h 00005 00006 #include <stdio.h> 00007 00008 enum builtin_func_arg_type { 00009 #define DEFINE_BIF_TYPE(id, bif_type, bro_type, c_type, accessor) id, 00010 #include "bif_type.def" 00011 #undef DEFINE_BIF_TYPE 00012 /* 00013 TYPE_ANY, 00014 TYPE_BOOL, 00015 TYPE_COUNT, 00016 TYPE_INT, 00017 TYPE_STRING, 00018 TYPE_PATTERN, 00019 TYPE_PORT, 00020 TYPE_OTHER, 00021 */ 00022 }; 00023 00024 extern const char* builtin_func_arg_type_bro_name[]; 00025 00026 class BuiltinFuncArg { 00027 public: 00028 BuiltinFuncArg(const char* arg_name, int arg_type); 00029 BuiltinFuncArg(const char* arg_name, const char* arg_type_str); 00030 00031 void PrintBro(FILE* fp); 00032 void PrintCDef(FILE* fp, int n); 00033 00034 protected: 00035 const char* name; 00036 int type; 00037 const char* type_str; 00038 }; 00039 00040 #endif
1.3.5