backport to buster
[hcoop/debian/openafs.git] / src / util / afsutil_prototypes.h
CommitLineData
805e021f
CE
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#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
14# include <pthread.h>
15#endif
16
17/* afs_atomlist.c */
18
19
20/* afs_lhash.c */
21
22/* base32.c */
23extern char *int_to_base32(b32_string_t s, int a);
24extern int base32_to_int(char *s);
25
26/* base64.c */
27extern char *int_to_base64(b64_string_t s, int a);
28extern int base64_to_int(char *s);
29
30/* dirpath.c */
31extern unsigned int initAFSDirPath(void);
32extern const char *afs_getDirPath(afsdir_id_t string_id);
33extern int ConstructLocalPath(const char *cpath, const char *relativeTo,
34 char **fullPathBufp);
35extern int ConstructLocalBinPath(const char *cpath, char **fullPathBufp);
36extern int ConstructLocalLogPath(const char *cpath, char **fullPathBufp);
37
38/* errmap_nt.c */
39extern int nterr_nt2unix(long ntErr, int defaultErr);
40
41/* exec.c */
42extern char* afs_exec_alt(int argc, char **argv, const char *prefix,
43 const char *suffix);
44
45/* fileutil.c */
46extern void FilepathNormalizeEx(char *path, int slashType);
47extern void FilepathNormalize(char *path);
48
49/* flipbase64.c */
50extern char *int_to_base32(b32_string_t s, int a);
51extern int base32_to_int(char *s);
52#if !defined(AFS_NT40_ENV)
53/* base 64 converters for namei interface. Flip bits to differences are
54 * early in name.
55 */
56#define int32_to_flipbase64(S, A) int64_to_flipbase64(S, (afs_uint64)(A))
57extern char *int64_to_flipbase64(lb64_string_t s, afs_uint64 a);
58extern afs_int64 flipbase64_to_int64(char *s);
59#endif
60
61/* hostparse.c */
62extern struct hostent *hostutil_GetHostByName(char *ahost);
63extern char *hostutil_GetNameByINet(afs_uint32 addr);
64extern afs_uint32 extractAddr(char *line, int maxSize);
65extern char *afs_inet_ntoa_r(afs_uint32 addr, char *buf);
66extern char *gettmpdir(void);
67
68/* hputil.c */
69#ifdef AFS_HPUX_ENV
70#ifndef AFS_HPUX102_ENV
71extern int utimes(char *file, struct timeval tvp[2]);
72#endif
73#if !defined(AFS_HPUX110_ENV)
74extern int random(void);
75extern void srandom(int seed);
76#endif
77extern int getdtablesize(void);
78extern void setlinebuf(FILE * file);
79extern void psignal(unsigned int sig, char *s);
80#endif
81
82/* kreltime.c */
83struct ktime;
84struct ktime_date;
85extern afs_int32 ktimeRelDate_ToInt32(struct ktime_date *kdptr);
86extern int Int32To_ktimeRelDate(afs_int32 int32Date,
87 struct ktime_date *kdptr);
88extern int ktimeDate_FromInt32(afs_int32 timeSecs,
89 struct ktime_date *ktimePtr);
90extern afs_int32 ParseRelDate(char *dateStr, struct ktime_date *relDatePtr);
91extern char *RelDatetoString(struct ktime_date *datePtr);
92extern afs_int32 Add_RelDate_to_Time(struct ktime_date *relDatePtr,
93 afs_int32 atime);
94
95/* ktime.c */
96extern char *ktime_DateOf(afs_int32 atime);
97extern afs_int32 ktime_Str2int32(char *astr);
98extern int ktime_ParsePeriodic(char *adate, struct ktime *ak);
99extern int ktime_DisplayString(struct ktime *aparm, char *astring);
100extern afs_int32 ktime_next(struct ktime *aktime, afs_int32 afrom);
101extern afs_int32 ktime_DateToInt32(char *adate, afs_int32 * aint32);
102extern char *ktime_GetDateUsage(void);
103extern afs_int32 ktime_InterpretDate(struct ktime_date *akdate);
104
105/* pthread_glock.c */
106
107
108/* pthread_threadname.c */
109#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
110extern void afs_pthread_setname_self(const char *threadname);
111#else
112/* Allow unconditional references to afs_pthread_setname_self to
113 * reduce #ifdef spaghetti.
114 */
115#define afs_pthread_setname_self(threadname) (void)0
116#endif
117
118/* readdir_nt.c */
119
120
121/* regex.c */
122
123
124/* secutil_nt.c */
125
126
127/* serverLog.c */
128struct logOptions;
129extern void WriteLogBuffer(char *buf, afs_uint32 len);
130extern void SetDebug_Signal(int signo);
131extern void ResetDebug_Signal(int signo);
132extern void SetupLogSignals(void);
133extern int OpenLog(struct logOptions *opts);
134extern int ReOpenLog(void);
135extern int LogThreadNum(void);
136extern void LogCommandLine(int argc, char **argv, const char *progname,
137 const char *version, const char *logstring,
138 void (*log) (const char *format, ...));
139extern void LogDesWarning(void);
140extern int GetLogLevel(void);
141extern enum logDest GetLogDest(void);
142extern const char *GetLogFilename(void);
143
144/* snprintf.c */
145
146
147/* sys.c */
148
149/* tabular_output.c */
150struct util_Table;
151extern struct util_Table* util_newTable(int Type, int numColumns,
152 char **ColumnHeaders, int *ColumnContentTypes,
153 int *ColumnWidths, int sortByColumn);
154extern char ** util_newCellContents(struct util_Table*);
155extern int util_printTableHeader(struct util_Table *Table);
156extern int util_printTableBody(struct util_Table *Table);
157extern int util_printTableFooter(struct util_Table *Table);
158extern int util_printTable(struct util_Table *Table);
159extern int util_addTableBodyRow(struct util_Table *Table, char **Contents);
160extern int util_setTableBodyRow(struct util_Table *Table, int RowIndex,
161 char **Contents);
162extern int util_setTableHeader(struct util_Table *Table, char **Contents);
163extern int util_setTableFooter(struct util_Table *Table, char **Contents);
164extern int util_freeTable(struct util_Table* Table);
165
166/* uuid.c */
167extern afs_int32 afs_uuid_equal(afsUUID * u1, afsUUID * u2);
168extern afs_int32 afs_uuid_is_nil(afsUUID * u1);
169extern void afs_htonuuid(afsUUID * uuidp);
170extern void afs_ntohuuid(afsUUID * uuidp);
171extern afs_int32 afs_uuid_create(afsUUID * uuid);
172extern u_short afs_uuid_hash(afsUUID * uuid);
173#if !defined(KERNEL) && !defined(UKERNEL)
174extern int afsUUID_from_string(const char *str, afsUUID * uuid);
175extern int afsUUID_to_string(const afsUUID * uuid, char *str, size_t strsz);
176#endif
177
178/* volparse.c */
179extern afs_int32 volutil_GetPartitionID(char *aname);
180extern char *volutil_PartitionName_r(int avalue, char *tbuffer, int buflen);
181extern afs_int32 volutil_PartitionName2_r(afs_int32 part, char *tbuffer, size_t buflen);
182extern char *volutil_PartitionName(int avalue);
183extern afs_int32 util_GetInt32(char *as, afs_int32 * aval);
184extern afs_uint32 util_GetUInt32(char *as, afs_uint32 * aval);
185extern afs_int32 util_GetInt64(char *as, afs_int64 * aval);
186extern afs_uint32 util_GetUInt64(char *as, afs_uint64 * aval);
187extern afs_int32 util_GetHumanInt32(char *as, afs_int32 * aval);
188
189/* winsock_nt.c */
190
191
192#endif /* _AFSUTIL_PROTOTYPES_H */