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