Fixed newline characters throughout the code
[com/gs-lite.git] / cfg / external_fcns.def
index 3d979e5..0dabc6e 100644 (file)
- ///////////////////////////////////////////////////////////\r
-//          Matching predicates\r
-///////////////////////////////////////////////////////////\r
-        PRED [LFTA_LEGAL, COST HIGH]str_exists_substr[string, string];\r
-        PRED [LFTA_LEGAL, COST HIGH]str_compare[string,string];\r
-        PRED [LFTA_LEGAL, COST LOW] str_match_offset [uint,string,string];\r
-        PRED [LFTA_LEGAL, COST LOW] byte_match_offset [uint,uint,string];\r
-    \r
-///////////////////////////////////////////////////////////\r
-//          MIN/MAX functions\r
-///////////////////////////////////////////////////////////\r
-\r
-\r
-        ullong FUN [LFTA_LEGAL, COST FREE] LLMIN (ullong,ullong);\r
-        ullong FUN [LFTA_LEGAL, COST FREE] LLMAX (ullong,ullong); \r
-        uint FUN [LFTA_LEGAL, COST FREE] UMIN (uint,uint);\r
-        uint FUN [LFTA_LEGAL, COST FREE] UMAX (uint,uint); \r
-\r
-        IP FUN [LFTA_LEGAL, COST FREE] UMIN (IP,IP);\r
-        IP FUN [LFTA_LEGAL, COST FREE] UMAX (IP,IP);\r
-   \r
-///////////////////////////////////////////////////////////\r
-//          conditional functions\r
-///////////////////////////////////////////////////////////\r
-\r
-       uint FUN [LFTA_LEGAL, COST FREE] EQ (uint, uint);\r
-       uint FUN [LFTA_LEGAL, COST FREE] GEQ (uint, uint);\r
-       uint FUN [LFTA_LEGAL, COST FREE] LEQ (uint, uint);\r
-\r
-\r
-///////////////////////////////////////////////////////////\r
-//          Function for regex matching\r
-///////////////////////////////////////////////////////////\r
-\r
-\r
-uint FUN [LFTA_LEGAL, COST EXPENSIVE]\r
-               str_regex_match( string, string HANDLE);\r
-       uint FUN [LFTA_LEGAL, COST EXPENSIVE] \r
-               str_partial_regex_match( string, string HANDLE, uint);\r
-       string FUN [PARTIAL, COST EXPENSIVE] str_extract_regex( string, string HANDLE);\r
-  \r
-///////////////////////////////////////////////////////////\r
-//         Truncating strings        \r
-///////////////////////////////////////////////////////////\r
-       \r
-        string FUN [LFTA_LEGAL,PARTIAL,COST FREE] str_truncate (string, uint);\r
\r
-///////////////////////////////////////////////////////////\r
-//          Function for casting\r
-///////////////////////////////////////////////////////////\r
-\r
-    int FUN [LFTA_LEGAL,COST FREE] non_temporal(int);\r
-       uint FUN [LFTA_LEGAL,COST FREE] non_temporal(uint);\r
-       llong FUN [LFTA_LEGAL,COST FREE] non_temporal(llong);\r
-       ullong FUN [LFTA_LEGAL,COST FREE] non_temporal(ullong);\r
-\r
-       int FUN [LFTA_LEGAL,COST FREE]INT(uint);\r
-        int FUN [LFTA_LEGAL,COST FREE]INT(ullong);\r
-        int FUN [LFTA_LEGAL,COST FREE]INT(llong);\r
\r
-        uint FUN [LFTA_LEGAL,COST FREE]UINT(int);\r
-        uint FUN [LFTA_LEGAL,COST FREE]UINT(ullong);\r
-        uint FUN [LFTA_LEGAL,COST FREE]UINT(llong);\r
-       uint FUN [LFTA_LEGAL,COST FREE]UINT(IP);\r
-\r
-       float FUN [LFTA_LEGAL,COST FREE] FLOAT(llong);\r
-       float FUN [LFTA_LEGAL,COST FREE] FLOAT(ullong);\r
-       float FUN [LFTA_LEGAL,COST FREE] FLOAT(int);\r
-       float FUN [LFTA_LEGAL,COST FREE] FLOAT(uint);\r
-\r
-       ullong FUN [LFTA_LEGAL,COST FREE]ULLONG(uint);\r
-       ullong FUN [LFTA_LEGAL,COST FREE]ULLONG(int);\r
-\r
-///////////////////////////////////////////////////////////\r
-//          Numeric functions\r
-///////////////////////////////////////////////////////////\r
-\r
-       float FUN [LFTA_LEGAL, COST LOW] sqrt(float); \r
-\r
-\r
-///////////////////////////////////////////////////////////\r
-//          Convert an IPv4 address \r
-///////////////////////////////////////////////////////////\r
-\r
-\r
-    uint FUN [PARTIAL,COST HIGH] strtoi(string);\r
-       IP FUN [PARTIAL,COST HIGH] strtoip(string); \r
-\r
-//     for constant strings - faster at runtime\r
-       uint FUN [LFTA_LEGAL,COST LOW] strtoi_c(string HANDLE);\r
-       IP FUN [LFTA_LEGAL,COST LOW] strtoip_c(string HANDLE); \r
-\r
-\r
-///////////////////////////////////////////////////////////\r
-//          Compute running sum\r
-///////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-    ullong UDAF [RUNNING, SUBAGGR moving_sum_lfta, SUPERAGGR super_moving_sum_udaf ] moving_sum_udaf fstring12 (uint, uint);\r
-\r
-       uint EXTR moving_sum moving_sum_udaf moving_sum_extract (uint,uint);\r
-       uint FUN  [COST LOW] moving_sum_extract(ullong);\r
-\r
-       float EXTR moving_sum_exp moving_sum_udaf moving_sum_extract_exp (uint,uint, float);\r
-       float FUN  [COST LOW]  moving_sum_extract_exp(ullong, float);\r
-\r
-       ullong UDAF [RUNNING] super_moving_sum_udaf fstring12 (ullong);\r
-       ullong UDAF moving_sum_lfta fstring8 (uint, uint);\r
-\r
-\r
-///////////////////////////////////////////////////////////\r
-//               Compute the average of \r
-//             all positive numbers \r
-///////////////////////////////////////////////////////////\r
-\r
-       float UDAF POSAVG fstring16(float);\r
-\r
-\r
-///////////////////////////////////////////////////////////\r
-//               Simple average example \r
-///////////////////////////////////////////////////////////\r
-\r
-       float EXTR extr_avg avg_udaf extr_avg_fcn (uint);\r
-       float FUN extr_avg_fcn (string);\r
-       string UDAF[SUBAGGR avg_udaf_lfta, SUPERAGGR avg_udaf_hfta] avg_udaf fstring12 (uint);\r
-       string UDAF avg_udaf_hfta fstring12 (string);\r
-       string UDAF avg_udaf_lfta fstring12 (uint);\r
-\r
-///////////////////////////////////////////////////////////\r
-//               SAMPLING \r
-///////////////////////////////////////////////////////////\r
-\r
-        fstring100 STATE smart_sampling_state;\r
-       int SFUN packet_count smart_sampling_state ();\r
-       float SFUN gamma smart_sampling_state ();\r
-       int SFUN do_clean_count smart_sampling_state ();\r
-       int SFUN init_threshold smart_sampling_state ();\r
-        int SFUN delay smart_sampling_state();\r
-        int SFUN newly_closed smart_sampling_state();\r
-\r
-///////////////////////////////////////////////////////////\r
-//               Manku Heavy Hitter \r
-///////////////////////////////////////////////////////////\r
-\r
\r
-       fstring20 STATE manku_hh_state;\r
-       BOOL SFUN local_count manku_hh_state (UINT);\r
-        int SFUN current_bucket manku_hh_state ();\r
-\r
-///////////////////////////////////////////////////////////\r
-//         Flips approximate quantile\r
-///////////////////////////////////////////////////////////\r
-\r
-        uint EXTR quantile_of quant_udaf_hfta0 extr_quant_hfta0_fcn (uint, float);\r
-        uint  FUN [COST LOW] extr_quant_hfta0_fcn(string, float);\r
-        uint EXTR median_of quant_udaf_hfta0 extr_med_hfta0_fcn (uint);\r
-        uint  FUN [COST LOW] extr_med_hfta0_fcn(string);\r
-        uint EXTR qspace_of quant_udaf_hfta0 extr_quant_hfta0_space (uint);\r
-        uint  FUN [COST LOW] extr_quant_hfta0_space(string);\r
-        string UDAF [SUBAGGR quant_udaf_lfta3, SUPERAGGR quant_udaf_hfta3] quant_udaf_hfta0 fstring8 (uint);\r
-        string UDAF quant_udaf_hfta3 fstring16 (string);\r
-        string UDAF quant_udaf_lfta3 fstring6600 (uint);\r
-\r
-///////////////////////////////////////////////////////////\r
-//               FIRST and LAST aggregation funciton\r
-//     Should be replaced by builtins\r
-///////////////////////////////////////////////////////////\r
-\r
-       uint UDAF [RUNNING, SUBAGGR FIRST_lfta, SUPERAGGR FIRST_hfta] FIRST uint (uint);\r
-       uint UDAF [RUNNING] FIRST_hfta uint (uint);\r
-       uint UDAF [RUNNING] FIRST_lfta uint (uint);\r
-\r
-       ullong UDAF [RUNNING, SUBAGGR FIRST_ULL_lfta, SUPERAGGR FIRST_ULL_hfta] FIRST ullong (ullong);\r
-       ullong UDAF [RUNNING] FIRST_ULL_hfta ullong (ullong);\r
-       ullong UDAF [RUNNING] FIRST_ULL_lfta ullong (ullong);\r
-\r
-       IP UDAF [RUNNING, SUBAGGR FIRST_lfta, SUPERAGGR FIRST_hfta] FIRST IP (IP);\r
-       IP UDAF [RUNNING] FIRST_hfta IP (IP);\r
-       IP UDAF [RUNNING] FIRST_lfta IP (IP);\r
-\r
-       string UDAF [RUNNING, SUBAGGR FIRST_STR_lfta, SUPERAGGR FIRST_STR_hfta] FIRST string (string);\r
-       string UDAF [RUNNING] FIRST_STR_hfta string (string);\r
-       string UDAF [RUNNING] FIRST_STR_lfta string (string);\r
-\r
-       uint UDAF [RUNNING, SUBAGGR LAST_lfta, SUPERAGGR LAST_hfta] LAST uint (uint);\r
-       uint UDAF [RUNNING] LAST_hfta uint (uint);\r
-       uint UDAF [RUNNING] LAST_lfta uint (uint);\r
-\r
-       ullong UDAF [RUNNING, SUBAGGR LAST_ULL_lfta, SUPERAGGR LAST_ULL_hfta] LAST ullong (ullong);\r
-       ullong UDAF [RUNNING] LAST_ULL_hfta ullong (ullong);\r
-       ullong UDAF [RUNNING] LAST_ULL_lfta ullong (ullong);\r
-\r
-       IP UDAF [RUNNING, SUBAGGR LAST_lfta, SUPERAGGR LAST_hfta] LAST IP (IP);\r
-       IP UDAF [RUNNING] LAST_hfta IP (IP);\r
-       IP UDAF [RUNNING] LAST_lfta IP (IP);\r
-\r
-       string UDAF [RUNNING, SUBAGGR LAST_STR_lfta, SUPERAGGR LAST_STR_hfta] LAST string (string);\r
-       string UDAF [RUNNING] LAST_STR_hfta string (string);\r
-       string UDAF [RUNNING] LAST_STR_lfta string (string);\r
-\r
-///////////////////////////////////////////////////////////\r
-//               integer array aggregation funciton\r
-//     We are going to store 4 values in LFTA in fixed size buffer\r
-//  plus one byte for array length (17 bytes total)\r
-//  HFTA will combine partial aggregates\r
-///////////////////////////////////////////////////////////\r
-\r
-       string UDAF [RUNNING, SUBAGGR running_array_aggr_lfta, SUPERAGGR running_array_aggr_hfta] running_array_aggr string (uint);\r
-       string UDAF [RUNNING] running_array_aggr_hfta string (string);\r
-       string UDAF [RUNNING] running_array_aggr_lfta fstring17 (uint);\r
-       \r
+ ///////////////////////////////////////////////////////////
+//          Matching predicates
+///////////////////////////////////////////////////////////
+        PRED [LFTA_LEGAL, COST HIGH]str_exists_substr[string, string];
+        PRED [LFTA_LEGAL, COST HIGH]str_compare[string,string];
+        PRED [LFTA_LEGAL, COST LOW] str_match_offset [uint,string,string];
+        PRED [LFTA_LEGAL, COST LOW] byte_match_offset [uint,uint,string];
+    
+///////////////////////////////////////////////////////////
+//          MIN/MAX functions
+///////////////////////////////////////////////////////////
+
+
+        ullong FUN [LFTA_LEGAL, COST FREE] LLMIN (ullong,ullong);
+        ullong FUN [LFTA_LEGAL, COST FREE] LLMAX (ullong,ullong); 
+        uint FUN [LFTA_LEGAL, COST FREE] UMIN (uint,uint);
+        uint FUN [LFTA_LEGAL, COST FREE] UMAX (uint,uint); 
+
+        IP FUN [LFTA_LEGAL, COST FREE] UMIN (IP,IP);
+        IP FUN [LFTA_LEGAL, COST FREE] UMAX (IP,IP);
+   
+///////////////////////////////////////////////////////////
+//          conditional functions
+///////////////////////////////////////////////////////////
+
+       uint FUN [LFTA_LEGAL, COST FREE] EQ (uint, uint);
+       uint FUN [LFTA_LEGAL, COST FREE] GEQ (uint, uint);
+       uint FUN [LFTA_LEGAL, COST FREE] LEQ (uint, uint);
+
+
+///////////////////////////////////////////////////////////
+//          Function for regex matching
+///////////////////////////////////////////////////////////
+
+
+uint FUN [LFTA_LEGAL, COST EXPENSIVE]
+               str_regex_match( string, string HANDLE);
+       uint FUN [LFTA_LEGAL, COST EXPENSIVE] 
+               str_partial_regex_match( string, string HANDLE, uint);
+       string FUN [PARTIAL, COST EXPENSIVE] str_extract_regex( string, string HANDLE);
+  
+///////////////////////////////////////////////////////////
+//         Truncating strings        
+///////////////////////////////////////////////////////////
+       
+        string FUN [LFTA_LEGAL,PARTIAL,COST FREE] str_truncate (string, uint);
+///////////////////////////////////////////////////////////
+//          Function for casting
+///////////////////////////////////////////////////////////
+
+    int FUN [LFTA_LEGAL,COST FREE] non_temporal(int);
+       uint FUN [LFTA_LEGAL,COST FREE] non_temporal(uint);
+       llong FUN [LFTA_LEGAL,COST FREE] non_temporal(llong);
+       ullong FUN [LFTA_LEGAL,COST FREE] non_temporal(ullong);
+
+       int FUN [LFTA_LEGAL,COST FREE]INT(uint);
+        int FUN [LFTA_LEGAL,COST FREE]INT(ullong);
+        int FUN [LFTA_LEGAL,COST FREE]INT(llong);
+        uint FUN [LFTA_LEGAL,COST FREE]UINT(int);
+        uint FUN [LFTA_LEGAL,COST FREE]UINT(ullong);
+        uint FUN [LFTA_LEGAL,COST FREE]UINT(llong);
+       uint FUN [LFTA_LEGAL,COST FREE]UINT(IP);
+
+       float FUN [LFTA_LEGAL,COST FREE] FLOAT(llong);
+       float FUN [LFTA_LEGAL,COST FREE] FLOAT(ullong);
+       float FUN [LFTA_LEGAL,COST FREE] FLOAT(int);
+       float FUN [LFTA_LEGAL,COST FREE] FLOAT(uint);
+
+       ullong FUN [LFTA_LEGAL,COST FREE]ULLONG(uint);
+       ullong FUN [LFTA_LEGAL,COST FREE]ULLONG(int);
+
+///////////////////////////////////////////////////////////
+//          Numeric functions
+///////////////////////////////////////////////////////////
+
+       float FUN [LFTA_LEGAL, COST LOW] sqrt(float); 
+
+
+///////////////////////////////////////////////////////////
+//          Convert an IPv4 address 
+///////////////////////////////////////////////////////////
+
+
+    uint FUN [PARTIAL,COST HIGH] strtoi(string);
+       IP FUN [PARTIAL,COST HIGH] strtoip(string); 
+
+//     for constant strings - faster at runtime
+       uint FUN [LFTA_LEGAL,COST LOW] strtoi_c(string HANDLE);
+       IP FUN [LFTA_LEGAL,COST LOW] strtoip_c(string HANDLE); 
+
+
+///////////////////////////////////////////////////////////
+//          Compute running sum
+///////////////////////////////////////////////////////////
+
+
+
+    ullong UDAF [RUNNING, SUBAGGR moving_sum_lfta, SUPERAGGR super_moving_sum_udaf ] moving_sum_udaf fstring12 (uint, uint);
+
+       uint EXTR moving_sum moving_sum_udaf moving_sum_extract (uint,uint);
+       uint FUN  [COST LOW] moving_sum_extract(ullong);
+
+       float EXTR moving_sum_exp moving_sum_udaf moving_sum_extract_exp (uint,uint, float);
+       float FUN  [COST LOW]  moving_sum_extract_exp(ullong, float);
+
+       ullong UDAF [RUNNING] super_moving_sum_udaf fstring12 (ullong);
+       ullong UDAF moving_sum_lfta fstring8 (uint, uint);
+
+
+///////////////////////////////////////////////////////////
+//               Compute the average of 
+//             all positive numbers 
+///////////////////////////////////////////////////////////
+
+       float UDAF POSAVG fstring16(float);
+
+
+///////////////////////////////////////////////////////////
+//               Simple average example 
+///////////////////////////////////////////////////////////
+
+       float EXTR extr_avg avg_udaf extr_avg_fcn (uint);
+       float FUN extr_avg_fcn (string);
+       string UDAF[SUBAGGR avg_udaf_lfta, SUPERAGGR avg_udaf_hfta] avg_udaf fstring12 (uint);
+       string UDAF avg_udaf_hfta fstring12 (string);
+       string UDAF avg_udaf_lfta fstring12 (uint);
+
+///////////////////////////////////////////////////////////
+//               SAMPLING 
+///////////////////////////////////////////////////////////
+
+        fstring100 STATE smart_sampling_state;
+       int SFUN packet_count smart_sampling_state ();
+       float SFUN gamma smart_sampling_state ();
+       int SFUN do_clean_count smart_sampling_state ();
+       int SFUN init_threshold smart_sampling_state ();
+        int SFUN delay smart_sampling_state();
+        int SFUN newly_closed smart_sampling_state();
+
+///////////////////////////////////////////////////////////
+//               Manku Heavy Hitter 
+///////////////////////////////////////////////////////////
+
+       fstring20 STATE manku_hh_state;
+       BOOL SFUN local_count manku_hh_state (UINT);
+        int SFUN current_bucket manku_hh_state ();
+
+///////////////////////////////////////////////////////////
+//         Flips approximate quantile
+///////////////////////////////////////////////////////////
+
+        uint EXTR quantile_of quant_udaf_hfta0 extr_quant_hfta0_fcn (uint, float);
+        uint  FUN [COST LOW] extr_quant_hfta0_fcn(string, float);
+        uint EXTR median_of quant_udaf_hfta0 extr_med_hfta0_fcn (uint);
+        uint  FUN [COST LOW] extr_med_hfta0_fcn(string);
+        uint EXTR qspace_of quant_udaf_hfta0 extr_quant_hfta0_space (uint);
+        uint  FUN [COST LOW] extr_quant_hfta0_space(string);
+        string UDAF [SUBAGGR quant_udaf_lfta3, SUPERAGGR quant_udaf_hfta3] quant_udaf_hfta0 fstring8 (uint);
+        string UDAF quant_udaf_hfta3 fstring16 (string);
+        string UDAF quant_udaf_lfta3 fstring6600 (uint);
+
+///////////////////////////////////////////////////////////
+//               FIRST and LAST aggregation funciton
+//     Should be replaced by builtins
+///////////////////////////////////////////////////////////
+
+       uint UDAF [RUNNING, SUBAGGR FIRST_lfta, SUPERAGGR FIRST_hfta] FIRST uint (uint);
+       uint UDAF [RUNNING] FIRST_hfta uint (uint);
+       uint UDAF [RUNNING] FIRST_lfta uint (uint);
+
+       ullong UDAF [RUNNING, SUBAGGR FIRST_ULL_lfta, SUPERAGGR FIRST_ULL_hfta] FIRST ullong (ullong);
+       ullong UDAF [RUNNING] FIRST_ULL_hfta ullong (ullong);
+       ullong UDAF [RUNNING] FIRST_ULL_lfta ullong (ullong);
+
+       IP UDAF [RUNNING, SUBAGGR FIRST_lfta, SUPERAGGR FIRST_hfta] FIRST IP (IP);
+       IP UDAF [RUNNING] FIRST_hfta IP (IP);
+       IP UDAF [RUNNING] FIRST_lfta IP (IP);
+
+       string UDAF [RUNNING, SUBAGGR FIRST_STR_lfta, SUPERAGGR FIRST_STR_hfta] FIRST string (string);
+       string UDAF [RUNNING] FIRST_STR_hfta string (string);
+       string UDAF [RUNNING] FIRST_STR_lfta string (string);
+
+       uint UDAF [RUNNING, SUBAGGR LAST_lfta, SUPERAGGR LAST_hfta] LAST uint (uint);
+       uint UDAF [RUNNING] LAST_hfta uint (uint);
+       uint UDAF [RUNNING] LAST_lfta uint (uint);
+
+       ullong UDAF [RUNNING, SUBAGGR LAST_ULL_lfta, SUPERAGGR LAST_ULL_hfta] LAST ullong (ullong);
+       ullong UDAF [RUNNING] LAST_ULL_hfta ullong (ullong);
+       ullong UDAF [RUNNING] LAST_ULL_lfta ullong (ullong);
+
+       IP UDAF [RUNNING, SUBAGGR LAST_lfta, SUPERAGGR LAST_hfta] LAST IP (IP);
+       IP UDAF [RUNNING] LAST_hfta IP (IP);
+       IP UDAF [RUNNING] LAST_lfta IP (IP);
+
+       string UDAF [RUNNING, SUBAGGR LAST_STR_lfta, SUPERAGGR LAST_STR_hfta] LAST string (string);
+       string UDAF [RUNNING] LAST_STR_hfta string (string);
+       string UDAF [RUNNING] LAST_STR_lfta string (string);
+
+///////////////////////////////////////////////////////////
+//               integer array aggregation funciton
+//     We are going to store 4 values in LFTA in fixed size buffer
+//  plus one byte for array length (17 bytes total)
+//  HFTA will combine partial aggregates
+///////////////////////////////////////////////////////////
+
+       string UDAF [RUNNING, SUBAGGR running_array_aggr_lfta, SUPERAGGR running_array_aggr_hfta] running_array_aggr string (uint);
+       string UDAF [RUNNING] running_array_aggr_hfta string (string);
+       string UDAF [RUNNING] running_array_aggr_lfta fstring17 (uint);
+