1 2 /******************************************** 3 bi_funct.h 4 copyright 1991, Michael D. Brennan 5 6 This is a source file for mawk, an implementation of 7 the AWK programming language. 8 9 Mawk is distributed without warranty under the terms of 10 the GNU General Public License, version 2, 1991. 11 ********************************************/ 12 13 14 /* $Log: bi_funct.h,v $ 15 * Revision 1.2 1994/12/11 22:10:15 mike 16 * fflush 17 * 18 * Revision 1.1.1.1 1993/07/03 18:58:08 mike 19 * move source to cvs 20 * 21 * Revision 5.1 1991/12/05 07:59:03 brennan 22 * 1.1 pre-release 23 * 24 */ 25 26 #ifndef BI_FUNCT_H 27 #define BI_FUNCT_H 1 28 29 #include "symtype.h" 30 31 extern BI_REC bi_funct[] ; 32 33 void PROTO(bi_init, (void) ) ; 34 35 /* builtin string functions */ 36 CELL *PROTO( bi_print, (CELL *) ) ; 37 CELL *PROTO( bi_printf, (CELL *) ) ; 38 CELL *PROTO( bi_length, (CELL *) ) ; 39 CELL *PROTO( bi_index, (CELL *) ) ; 40 CELL *PROTO( bi_substr, (CELL *) ) ; 41 CELL *PROTO( bi_sprintf, (CELL *) ) ; 42 CELL *PROTO( bi_split, (CELL *) ) ; 43 CELL *PROTO( bi_match, (CELL *) ) ; 44 CELL *PROTO( bi_getline, (CELL *) ) ; 45 CELL *PROTO( bi_sub, (CELL *) ) ; 46 CELL *PROTO( bi_gsub, (CELL *) ) ; 47 CELL *PROTO( bi_gensub, (CELL *) ) ; 48 CELL *PROTO( bi_toupper, (CELL*) ) ; 49 CELL *PROTO( bi_tolower, (CELL*) ) ; 50 51 /* builtin arith functions */ 52 CELL *PROTO( bi_sin, (CELL *) ) ; 53 CELL *PROTO( bi_cos, (CELL *) ) ; 54 CELL *PROTO( bi_atan2, (CELL *) ) ; 55 CELL *PROTO( bi_log, (CELL *) ) ; 56 CELL *PROTO( bi_exp, (CELL *) ) ; 57 CELL *PROTO( bi_int, (CELL *) ) ; 58 CELL *PROTO( bi_sqrt, (CELL *) ) ; 59 CELL *PROTO( bi_srand, (CELL *) ) ; 60 CELL *PROTO( bi_rand, (CELL *) ) ; 61 62 /* other builtins */ 63 CELL *PROTO( bi_close, (CELL *) ) ; 64 CELL *PROTO( bi_system, (CELL *) ) ; 65 CELL *PROTO( bi_fflush, (CELL *) ) ; 66 67 /* more string functions */ 68 CELL *PROTO( bi_trim, (CELL*) ) ; 69 CELL *PROTO( bi_ltrim, (CELL*) ) ; 70 CELL *PROTO( bi_rtrim, (CELL*) ) ; 71 CELL *PROTO( bi_left, (CELL*) ) ; 72 CELL *PROTO( bi_right, (CELL*) ) ; 73 CELL *PROTO( bi_totitle, (CELL*) ) ; 74 CELL *PROTO( bi_ascii, (CELL *) ) ; 75 CELL *PROTO( bi_char, (CELL *) ) ; 76 77 /* bit operations */ 78 CELL *PROTO( bi_and, (CELL *) ) ; 79 CELL *PROTO( bi_or, (CELL *) ) ; 80 CELL *PROTO( bi_xor, (CELL *) ) ; 81 CELL *PROTO( bi_compl, (CELL *) ) ; 82 CELL *PROTO( bi_lshift, (CELL *) ) ; 83 CELL *PROTO( bi_rshift, (CELL *) ) ; 84 85 /* date functions */ 86 CELL *PROTO( bi_time, (CELL *) ) ; 87 CELL *PROTO( bi_localtime, (CELL *) ) ; 88 CELL *PROTO( bi_gmtime, (CELL *) ) ; 89 CELL *PROTO( bi_mktime, (CELL *) ) ; 90 CELL *PROTO( bi_systime, (CELL *) ) ; 91 CELL *PROTO( bi_strftime, (CELL *) ) ; 92 93 /* useful for performance */ 94 CELL *PROTO( bi_min, (CELL *) ) ; 95 CELL *PROTO( bi_max, (CELL *) ) ; 96 97 CELL *PROTO( bi_asort, (CELL *) ) ; 98 CELL *PROTO( bi_alength, (CELL *) ) ; 99 CELL *PROTO( bi_argcount, (CELL *) ) ; 100 CELL *PROTO( bi_argval, (CELL *) ) ; 101 102 char bi_funct_find(char *) ; 103 104 #endif /* BI_FUNCT_H */ 105 106