Temporarily use -O1 until segfault with -O2+krb5+iksd is fixed
[ckermit.git] / ckclib.h
1 /* ckclib.h -- C-Kermit library routine prototypes */
2 /*
3   Author: Frank da Cruz <fdc@columbia.edu>,
4   Columbia University Academic Information Systems, New York City.
5
6   Copyright (C) 2002, 2009,
7     Trustees of Columbia University in the City of New York.
8     All rights reserved.  See the C-Kermit COPYING.TXT file or the
9     copyright text in the ckcmai.c module for disclaimer and permissions.
10 */
11 #ifndef CKCLIB_H
12 #define CKCLIB_H
13
14 struct stringarray {
15     char ** a_head;
16     int a_size;
17 };
18
19 #ifdef CK_ANSIC
20 _PROTOTYP( int ckstrncpy, (char *, const char *, int) );
21 _PROTOTYP( int ckstrncat, (char *, const char *, int) );
22 #else
23 _PROTOTYP( int ckstrncpy, (char *, char *, int) );
24 _PROTOTYP( int ckstrncat, (char *, char *, int) );
25 #endif /* CK_ANSIC */
26
27 _PROTOTYP( int ckmakmsg,  (char *, int, char *, char *, char *, char *) );
28 _PROTOTYP( int ckmakxmsg, (char *, int,
29                            char *, char *, char *, char *, char *, char *,
30                            char *, char *, char *, char *, char *, char *) );
31
32 _PROTOTYP( char * ckstrpbrk, (char *, char *) );
33 _PROTOTYP( char * ckstrstr, (char *, char *) );
34 _PROTOTYP( char * chartostr, (int) );
35 _PROTOTYP( int cklower, (char *) );
36 _PROTOTYP( int ckupper, (char *) );
37 _PROTOTYP( int ckindex, (char *, char *, int, int, int) );
38 _PROTOTYP( char * ckctoa, (char) );
39 _PROTOTYP( char * ckctox, (CHAR, int) );
40 _PROTOTYP( char * ckitoa, (int) );
41 _PROTOTYP( char * ckuitoa, (unsigned int) );
42 _PROTOTYP( char * ckltoa, (long) );
43 _PROTOTYP( char * ckultoa, (unsigned long) );
44 _PROTOTYP( char * ckfstoa, (CK_OFF_T) );
45 _PROTOTYP( CK_OFF_T ckatofs, (char *) );
46 _PROTOTYP( char * ckitox, (int) );
47 _PROTOTYP( char * ckltox, (long) );
48 _PROTOTYP( int ispattern, (char *) );
49 _PROTOTYP( int ckmatch, (char *, char *, int, int ) );
50 _PROTOTYP( VOID ckmemcpy, (char *, char *, int) );
51 _PROTOTYP( char * ckstrchr, (char *, char) );
52 _PROTOTYP( char * ckstrrchr, (char *, char) );
53 _PROTOTYP( int ckrchar, (char *) );
54 _PROTOTYP( int ckstrcmp, (char *, char *, int, int) );
55 #define xxstrcmp(a,b,c) ckstrcmp(a,b,c,0)
56 _PROTOTYP( int ckstrpre, (char *, char *) );
57 _PROTOTYP( VOID sh_sort, (char **, char **, int, int, int, int) );
58 _PROTOTYP( char * brstrip, (char *) );
59 _PROTOTYP( char * fnstrip, (char *) );
60 #ifdef COMMENT
61 _PROTOTYP( char * brace, (char *) );
62 #endif /* COMMENT */
63 _PROTOTYP( int dquote, (char *, int, int) );
64 _PROTOTYP( int untabify, (char *, char *, int) );
65 _PROTOTYP( VOID makelist, (char *, char *[], int) );
66 #ifndef CK_ANSIC
67 _PROTOTYP( VOID makestr, (char **, char *) );
68 _PROTOTYP( VOID xmakestr, (char **, char *) );
69 #else /* CK_ANSIC */
70 _PROTOTYP( VOID makestr, (char **, const char *) );
71 _PROTOTYP( VOID xmakestr, (char **, const char *) );
72 #endif /* CK_ANSIC */
73 _PROTOTYP( int chknum, (char *) );
74 _PROTOTYP( int rdigits, (char *) );
75 _PROTOTYP( char * ckradix, (char *,int,int) );
76
77 /* Base-64 conversion needed for script programming and HTTP */
78
79 #ifndef NOB64
80 _PROTOTYP( int b8tob64, (char *,int,char *,int));
81 _PROTOTYP( int b64tob8, (char *,int,char *,int));
82 #endif /* NOB64 */
83
84 #ifdef CKFLOAT
85 _PROTOTYP( int isfloat, (char *,int) );
86 #ifndef CKCLIB_C
87 #ifndef CKWART_C
88 extern CKFLOAT floatval;
89 #endif /* CKWART_C */
90 #endif /* CKCLIB_C */
91 #endif /* CKFLOAT */
92
93 _PROTOTYP( char * parnam, (char) );
94 _PROTOTYP( char *hhmmss, (long) );
95
96 _PROTOTYP( VOID lset, (char *, char *, int, int) );
97 _PROTOTYP( VOID rset, (char *, char *, int, int) );
98 _PROTOTYP( char * ulongtohex, (unsigned long, int) );
99 _PROTOTYP( long hextoulong, (char *, int) );
100 _PROTOTYP( struct stringarray * cksplit, (int,int,
101                                           char *,char *,char *,int,int,int) );
102
103 _PROTOTYP( int ckhexbytetoint, (char *) );
104 #endif /* CKCLIB_H */