/* // Full copyright information is available in the file ../doc/CREDITS */ #ifndef _moddef_h_ #define _moddef_h_ #include "native.h" #include "native.h" #include "cdc.h" #include "veil.h" #include "web.h" #include "ext_math.h" #define NUM_MODULES 4 #ifdef _native_ module_t * cold_modules[] = { &cdc_module, &veil_module, &web_module, &ext_math_module, }; #endif #define NATIVE_BUFFER_LENGTH 0 #define NATIVE_BUFFER_REPLACE 1 #define NATIVE_BUFFER_SUBRANGE 2 #define NATIVE_BUFFER_TO_STRING 3 #define NATIVE_BUFFER_TO_STRINGS 4 #define NATIVE_BUFFER_FROM_STRING 5 #define NATIVE_BUFFER_FROM_STRINGS 6 #define NATIVE_DICTIONARY_VALUES 7 #define NATIVE_DICTIONARY_KEYS 8 #define NATIVE_DICTIONARY_ADD 9 #define NATIVE_DICTIONARY_UNION 10 #define NATIVE_DICTIONARY_DEL 11 #define NATIVE_DICTIONARY_CONTAINS 12 #define NATIVE_NETWORK_HOSTNAME 13 #define NATIVE_NETWORK_IP 14 #define NATIVE_LIST_LENGTH 15 #define NATIVE_LIST_SUBRANGE 16 #define NATIVE_LIST_INSERT 17 #define NATIVE_LIST_REPLACE 18 #define NATIVE_LIST_DELETE 19 #define NATIVE_LIST_SETADD 20 #define NATIVE_LIST_SETREMOVE 21 #define NATIVE_LIST_UNION 22 #define NATIVE_LIST_JOIN 23 #define NATIVE_LIST_SORT 24 #define NATIVE_STRING_LENGTH 25 #define NATIVE_STRING_SUBRANGE 26 #define NATIVE_STRING_EXPLODE 27 #define NATIVE_STRING_PAD 28 #define NATIVE_STRING_MATCH_BEGIN 29 #define NATIVE_STRING_MATCH_TEMPLATE 30 #define NATIVE_STRING_MATCH_PATTERN 31 #define NATIVE_STRING_MATCH_REGEXP 32 #define NATIVE_STRING_REGEXP 33 #define NATIVE_STRING_SED 34 #define NATIVE_STRING_REPLACE 35 #define NATIVE_STRING_CRYPT 36 #define NATIVE_STRING_UPPERCASE 37 #define NATIVE_STRING_LOWERCASE 38 #define NATIVE_STRING_CAPITALIZE 39 #define NATIVE_STRING_COMPARE 40 #define NATIVE_STRING_FORMAT 41 #define NATIVE_STRING_TRIM 42 #define NATIVE_STRING_SPLIT 43 #define NATIVE_STRING_WORD 44 #define NATIVE_STRING_DBQUOTE_EXPLODE 45 #define NATIVE_SYS_NEXT_OBJNUM 46 #define NATIVE_SYS_STATUS 47 #define NATIVE_SYS_VERSION 48 #define NATIVE_TIME_FORMAT 49 #define NATIVE_INTEGER_AND 50 #define NATIVE_INTEGER_OR 51 #define NATIVE_INTEGER_XOR 52 #define NATIVE_INTEGER_SHLEFT 53 #define NATIVE_INTEGER_SHRIGHT 54 #define NATIVE_INTEGER_NOT 55 #define NATIVE_BUFFER_TO_VEIL_PKTS 56 #define NATIVE_BUFFER_FROM_VEIL_PKTS 57 #define NATIVE_HTTP_DECODE 58 #define NATIVE_HTTP_ENCODE 59 #define NATIVE_STRING_HTML_ESCAPE 60 #define NATIVE_MATH_MINOR 61 #define NATIVE_MATH_MAJOR 62 #define NATIVE_MATH_ADD 63 #define NATIVE_MATH_SUB 64 #define NATIVE_MATH_DOT 65 #define NATIVE_MATH_DISTANCE 66 #define NATIVE_MATH_CROSS 67 #define NATIVE_MATH_SCALE 68 #define NATIVE_MATH_IS_LOWER 69 #define NATIVE_MATH_TRANSPOSE 70 #define NATIVE_LAST 71 #define MAGIC_MODNUMBER 868548184 #ifdef _native_ native_t natives[NATIVE_LAST] = { {"buffer", "length", native_buflen}, {"buffer", "replace", native_buf_replace}, {"buffer", "subrange", native_subbuf}, {"buffer", "to_string", native_buf_to_str}, {"buffer", "to_strings", native_buf_to_strings}, {"buffer", "from_string", native_str_to_buf}, {"buffer", "from_strings", native_strings_to_buf}, {"dictionary", "values", native_dict_values}, {"dictionary", "keys", native_dict_keys}, {"dictionary", "add", native_dict_add}, {"dictionary", "union", native_dict_union}, {"dictionary", "del", native_dict_del}, {"dictionary", "contains", native_dict_contains}, {"network", "hostname", native_hostname}, {"network", "ip", native_ip}, {"list", "length", native_listlen}, {"list", "subrange", native_sublist}, {"list", "insert", native_insert}, {"list", "replace", native_replace}, {"list", "delete", native_delete}, {"list", "setadd", native_setadd}, {"list", "setremove", native_setremove}, {"list", "union", native_union}, {"list", "join", native_join}, {"list", "sort", native_sort}, {"string", "length", native_strlen}, {"string", "subrange", native_substr}, {"string", "explode", native_explode}, {"string", "pad", native_pad}, {"string", "match_begin", native_match_begin}, {"string", "match_template", native_match_template}, {"string", "match_pattern", native_match_pattern}, {"string", "match_regexp", native_match_regexp}, {"string", "regexp", native_regexp}, {"string", "sed", native_strsed}, {"string", "replace", native_strsub}, {"string", "crypt", native_crypt}, {"string", "uppercase", native_uppercase}, {"string", "lowercase", native_lowercase}, {"string", "capitalize", native_capitalize}, {"string", "compare", native_strcmp}, {"string", "format", native_strfmt}, {"string", "trim", native_trim}, {"string", "split", native_split}, {"string", "word", native_word}, {"string", "dbquote_explode", native_dbquote_explode}, {"sys", "next_objnum", native_next_objnum}, {"sys", "status", native_status}, {"sys", "version", native_version}, {"time", "format", native_strftime}, {"integer", "and", native_and}, {"integer", "or", native_or}, {"integer", "xor", native_xor}, {"integer", "shleft", native_shleft}, {"integer", "shright", native_shright}, {"integer", "not", native_not}, {"buffer", "to_veil_pkts", native_to_veil_pkts}, {"buffer", "from_veil_pkts", native_from_veil_pkts}, {"http", "decode", native_decode}, {"http", "encode", native_encode}, {"string", "html_escape", native_html_escape}, {"math", "minor", native_minor}, {"math", "major", native_major}, {"math", "add", native_add}, {"math", "sub", native_sub}, {"math", "dot", native_dot}, {"math", "distance", native_distance}, {"math", "cross", native_cross}, {"math", "scale", native_scale}, {"math", "is_lower", native_is_lower}, {"math", "transpose", native_transpose}, }; #else extern native_t natives[NATIVE_LAST]; #endif #endif