919cfc6a350d88022fe8c3cb853666e09ca2af8a
[openafs.git] / src / util / afsutil_prototypes.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 #ifndef _AFSUTIL_PROTOTYPES_H
11 #define _AFSUTIL_PROTOTYPES_H
12
13 /* afs_atomlist.c */
14
15
16 /* afs_lhash.c */
17
18
19 /* assert.c */
20 extern void AssertionFailed(char *file, int line);
21
22
23 /* base32.c */
24 extern char *int_to_base32(b32_string_t s, int a);
25 extern int base32_to_int(char *s);
26
27 /* base64.c */
28 extern char *int_to_base64(b64_string_t s, int a);
29 extern int base64_to_int(char *s);
30
31 /* casestrcpy.c */
32 extern char *lcstring(char *d, char *s, int n);
33 extern char *ucstring(char *d, char *s, int n);
34 extern char *strcompose(char *buf, size_t len, ...);
35 extern void stolower(char *s);
36 extern void stoupper(char *s);
37
38 /* daemon.c */
39 #ifndef HAVE_DAEMON
40 int daemon(int nochdir, int noclose);
41 #endif
42
43 /* dirpath.c */
44 extern unsigned int initAFSDirPath(void);
45 extern const char *getDirPath(afsdir_id_t string_id);
46 extern int ConstructLocalPath(const char *cpath, const char *relativeTo,
47                               char **fullPathBufp);
48 extern int ConstructLocalBinPath(const char *cpath, char **fullPathBufp);
49 extern int ConstructLocalLogPath(const char *cpath, char **fullPathBufp);
50
51 /* errmap_nt.c */
52 extern int nterr_nt2unix(long ntErr, int defaultErr);
53
54 /* fileutil.c */
55 extern int renamefile(const char *oldname, const char *newname);
56 extern void FilepathNormalizeEx(char *path, int slashType);
57 extern void FilepathNormalize(char *path);
58
59 /* flipbase64.c */
60 extern char *int_to_base32(b32_string_t s, int a);
61 extern int base32_to_int(char *s);
62 #if defined(AFS_NAMEI_ENV) && !defined(AFS_NT40_ENV)
63 /* base 64 converters for namei interface. Flip bits to differences are
64  * early in name.
65  */
66 #ifdef AFS_64BIT_ENV
67 #define int32_to_flipbase64(S, A) int64_to_flipbase64(S, (afs_uint64)(A))
68 extern char *int64_to_flipbase64(lb64_string_t s, afs_uint64 a);
69 extern afs_int64 flipbase64_to_int64(char *s);
70 #else
71 #define int32_to_flipbase64(S, A) int64_to_flipbase64(S, (u_int64_t)(A))
72 extern char *int64_to_flipbase64(lb64_string_t s, u_int64_t a);
73 extern int64_t flipbase64_to_int64(char *s);
74 #endif
75 #endif
76
77 /* get_krbrlm.c */
78 extern int afs_krb_get_lrealm(char *r, int n);
79 extern int afs_krb_exclusion(char *name);
80 extern int afs_is_foreign_ticket_name(char *tname, char *tinst, char * tcell, char *localrealm);
81 /* hostparse.c */
82 extern struct hostent *hostutil_GetHostByName(register char *ahost);
83 extern char *hostutil_GetNameByINet(afs_uint32 addr);
84 extern afs_uint32 extractAddr(char *line, int maxSize);
85 extern char *afs_inet_ntoa_r(afs_uint32 addr, char *buf);
86 extern char *gettmpdir(void);
87
88 /* hputil.c */
89 #ifdef AFS_HPUX_ENV
90 #ifndef AFS_HPUX102_ENV
91 extern int utimes(char *file, struct timeval tvp[2]);
92 #endif
93 #if !defined(AFS_HPUX110_ENV)
94 extern int random(void);
95 extern void srandom(int seed);
96 #endif
97 extern int getdtablesize(void);
98 extern void setlinebuf(FILE * file);
99 extern void psignal(unsigned int sig, char *s);
100 #endif
101
102 /* isathing.c */
103 extern int util_isint(char *str);
104
105 /* kreltime.c */
106 struct ktime;
107 struct ktime_date;
108 extern afs_int32 ktimeRelDate_ToInt32(struct ktime_date *kdptr);
109 extern int Int32To_ktimeRelDate(afs_int32 int32Date,
110                                 struct ktime_date *kdptr);
111 extern int ktimeDate_FromInt32(afs_int32 timeSecs,
112                                struct ktime_date *ktimePtr);
113 extern afs_int32 ParseRelDate(char *dateStr, struct ktime_date *relDatePtr);
114 extern char *RelDatetoString(struct ktime_date *datePtr);
115 extern afs_int32 Add_RelDate_to_Time(struct ktime_date *relDatePtr,
116                                      afs_int32 atime);
117
118 /* ktime.c */
119 extern char *ktime_DateOf(afs_int32 atime);
120 extern afs_int32 ktime_Str2int32(register char *astr);
121 extern int ktime_ParsePeriodic(char *adate, register struct ktime *ak);
122 extern int ktime_DisplayString(struct ktime *aparm, register char *astring);
123 extern afs_int32 ktime_next(struct ktime *aktime, afs_int32 afrom);
124 extern afs_int32 ktime_DateToInt32(char *adate, afs_int32 * aint32);
125 extern char *ktime_GetDateUsage(void);
126 extern afs_int32 ktime_InterpretDate(struct ktime_date *akdate);
127
128 /* netutils.c */
129 extern afs_uint32 extract_Addr(char *line, int maxSize);
130 extern int parseNetRestrictFile(afs_uint32 outAddrs[], afs_uint32 * mask,
131                                 afs_uint32 * mtu, afs_uint32 maxAddrs,
132                                 afs_uint32 * nAddrs, char reason[],
133                                 const char *fileName);
134 extern int ParseNetInfoFile(afs_uint32 * final, afs_uint32 * mask,
135                             afs_uint32 * mtu, int max, char reason[],
136                             const char *fileName);
137 extern int filterAddrs(afs_uint32 addr1[], afs_uint32 addr2[],
138                        afs_uint32 mask1[], afs_uint32 mask2[],
139                        afs_uint32 mtu1[], afs_uint32 mtu2[], int n1, int n2);
140 extern int parseNetFiles(afs_uint32 addrbuf[], afs_uint32 maskbuf[],
141                          afs_uint32 mtubuf[], afs_uint32 max, char reason[],
142                          const char *niFileName, const char *nrFileName);
143
144
145 /* pthread_glock.c */
146
147
148 /* readdir_nt.c */
149
150
151 /* regex.c */
152
153
154 /* secutil_nt.c */
155
156
157 /* serverLog.c */
158 extern void WriteLogBuffer(char *buf, afs_uint32 len);
159 extern void SetDebug_Signal(int signo);
160 extern void ResetDebug_Signal(int signo);
161 extern void SetupLogSignals(void);
162 extern int OpenLog(const char *fileName);
163 extern int ReOpenLog(const char *fileName);
164 extern int LogThreadNum(void);
165
166 /* snprintf.c */
167
168
169 /* strl */
170 #ifndef HAVE_STRLCPY
171 extern size_t strlcpy(char *dst, const char *src, size_t siz);
172 #endif
173 #ifndef HAVE_STRLCAT
174 extern size_t strlcat(char *dst, const char *src, size_t siz);
175 #endif
176
177 /* strn */
178 extern size_t afs_strnlen(char * buf, size_t len);
179
180
181 /* sys.c */
182
183
184 /* uuid.c */
185 extern afs_int32 afs_uuid_equal(afsUUID * u1, afsUUID * u2);
186 extern afs_int32 afs_uuid_is_nil(afsUUID * u1);
187 extern void afs_htonuuid(afsUUID * uuidp);
188 extern void afs_ntohuuid(afsUUID * uuidp);
189 extern afs_int32 afs_uuid_create(afsUUID * uuid);
190 extern u_short afs_uuid_hash(afsUUID * uuid);
191 #if !defined(KERNEL) && !defined(UKERNEL)
192 extern int afsUUID_from_string(const char *str, afsUUID * uuid);
193 extern int afsUUID_to_string(const afsUUID * uuid, char *str, size_t strsz);
194 #endif
195
196 /* volparse.c */
197 extern afs_int32 volutil_GetPartitionID(char *aname);
198 extern char *volutil_PartitionName_r(int avalue, char *tbuffer, int buflen);
199 extern afs_int32 volutil_PartitionName2_r(afs_int32 part, char *tbuffer, size_t buflen);
200 extern char *volutil_PartitionName(int avalue);
201 extern afs_int32 util_GetInt32(register char *as, afs_int32 * aval);
202 extern afs_uint32 util_GetUInt32(register char *as, afs_uint32 * aval);
203 extern afs_int32 util_GetInt64(char *as, afs_int64 * aval);
204 extern afs_uint32 util_GetUInt64(char *as, afs_uint64 * aval);
205 extern afs_int32 util_GetHumanInt32(register char *as, afs_int32 * aval);
206
207 /* winsock_nt.c */
208
209
210 #endif /* _AFSUTIL_PROTOTYPES_H */