windows-build-updates-20030314
[openafs.git] / src / rx / rx_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 _RX_PROTOTYPES_H
11 #define _RX_PROTOTYPES_H
12
13 /* rx.c */
14 extern void rx_SetEpoch (afs_uint32 epoch);
15 extern int rx_Init(u_int port);
16 #ifndef KERNEL
17 extern void rxi_StartServerProcs(int nExistingProcs);
18 #endif
19 extern void rx_StartServer(int donateMe);
20 extern struct rx_connection *rx_NewConnection(register afs_uint32 shost, 
21         u_short sport, u_short sservice, 
22         register struct rx_securityClass *securityObject, int serviceSecurityIndex);
23 extern void rx_SetConnDeadTime(register struct rx_connection *conn, register int seconds);
24 extern void rxi_CleanupConnection(struct rx_connection *conn);
25 extern void rxi_DestroyConnection(register struct rx_connection *conn);
26 extern void rx_DestroyConnection(register struct rx_connection *conn);
27 extern struct rx_call *rx_NewCall(register struct rx_connection *conn);
28 extern int rxi_HasActiveCalls(register struct rx_connection *aconn);
29 extern int rxi_GetCallNumberVector(register struct rx_connection *aconn, 
30         register afs_int32 *aint32s);
31 extern int rxi_SetCallNumberVector(register struct rx_connection *aconn, 
32         register afs_int32 *aint32s);
33 extern struct rx_service *rx_NewService(u_short port, u_short serviceId, 
34         char *serviceName,
35         struct rx_securityClass **securityObjects,
36         int nSecurityObjects, afs_int32 (*serviceProc)(struct rx_call *acall));
37 extern void rxi_ServerProc(int threadID, struct rx_call *newcall, osi_socket *socketp);
38 extern void rx_WakeupServerProcs(void);
39 extern struct rx_call *rx_GetCall(int tno, struct rx_service *cur_service, osi_socket *socketp);
40 extern void rx_SetArrivalProc(register struct rx_call *call, 
41         register VOID (*proc)(register struct rx_call *call,
42         register struct multi_handle *mh, register int index), 
43         register VOID *handle, register VOID *arg);
44 extern afs_int32 rx_EndCall(register struct rx_call *call, afs_int32 rc);
45 extern void rx_Finalize(void);
46 extern void rxi_PacketsUnWait(void);
47 extern struct rx_service *rxi_FindService(register osi_socket socket, 
48         register u_short serviceId);
49 extern struct rx_call *rxi_NewCall(register struct rx_connection *conn,
50         register int channel);
51
52 /* Don't like this - change source at some point to make calls identical */
53 #ifdef RX_ENABLE_LOCKS
54 extern void rxi_FreeCall(register struct rx_call *call, int haveCTLock);
55 #else /* RX_ENABLE_LOCKS */
56 extern void rxi_FreeCall(register struct rx_call *call);
57 #endif /* RX_ENABLE_LOCKS */
58
59 extern char *rxi_Alloc(register size_t size);
60 extern void rxi_Free(void *addr, register size_t size);
61 extern struct rx_peer *rxi_FindPeer(register afs_uint32 host, 
62         register u_short port, struct rx_peer *origPeer, int create);
63 extern struct rx_connection *rxi_FindConnection(osi_socket socket, 
64         register afs_int32 host, register u_short port, u_short serviceId, 
65         afs_uint32 cid, afs_uint32 epoch, int type, u_int securityIndex);
66 extern struct rx_packet *rxi_ReceivePacket(register struct rx_packet *np, 
67         osi_socket socket, afs_uint32 host, u_short port, 
68         int *tnop, struct rx_call **newcallp);
69 extern int rxi_IsConnInteresting(struct rx_connection *aconn);
70 extern struct rx_packet *rxi_ReceiveDataPacket(register struct rx_call *call, 
71         register struct rx_packet *np, int istack, osi_socket socket, 
72         afs_uint32 host, u_short port, int *tnop, struct rx_call **newcallp);
73 extern struct rx_packet *rxi_ReceiveAckPacket(register struct rx_call *call, 
74         struct rx_packet *np, int istack);
75 extern struct rx_packet *rxi_ReceiveResponsePacket(register struct rx_connection *conn, 
76         register struct rx_packet *np, int istack);
77 extern struct rx_packet *rxi_ReceiveChallengePacket(register struct rx_connection *conn, 
78         register struct rx_packet *np, int istack);
79 extern void rxi_AttachServerProc(register struct rx_call *call, 
80         register osi_socket socket, register int *tnop, register struct rx_call **newcallp);
81 extern void rxi_AckAll(struct rxevent *event, register struct rx_call *call, char *dummy);
82 extern void rxi_SendDelayedAck(struct rxevent *event, register struct rx_call *call, char *dummy);
83 extern void rxi_ClearTransmitQueue(register struct rx_call *call, register int force);
84 extern void rxi_ClearReceiveQueue(register struct rx_call *call);
85 extern struct rx_packet *rxi_SendCallAbort(register struct rx_call *call, 
86         struct rx_packet *packet, int istack, int force);
87 extern struct rx_packet *rxi_SendConnectionAbort(register struct rx_connection *conn,
88         struct rx_packet *packet, int istack, int force);
89 extern void rxi_ConnectionError(register struct rx_connection *conn, 
90         register afs_int32 error);
91 extern void rxi_CallError(register struct rx_call *call, afs_int32 error);
92 extern void rxi_ResetCall(register struct rx_call *call, register int newcall);
93 extern struct rx_packet *rxi_SendAck(register struct rx_call *call, 
94         register struct rx_packet *optionalPacket, int serial, 
95         int reason, int istack);
96 extern void rxi_StartUnlocked(struct rxevent *event, register struct rx_call *call, 
97         int istack);
98 extern void rxi_Start(struct rxevent *event, register struct rx_call *call,
99         int istack);
100 extern void rxi_Send(register struct rx_call *call, register struct rx_packet *p, 
101         int istack);
102 #ifdef RX_ENABLE_LOCKS
103 extern int rxi_CheckCall(register struct rx_call *call, int haveCTLock);
104 #else /* RX_ENABLE_LOCKS */
105 extern int rxi_CheckCall(register struct rx_call *call);
106 #endif /* RX_ENABLE_LOCKS */
107 extern void rxi_KeepAliveEvent(struct rxevent *event, register struct rx_call *call, char *dummy);
108 extern void rxi_ScheduleKeepAliveEvent(register struct rx_call *call);
109 extern void rxi_KeepAliveOn(register struct rx_call *call);
110 extern void rxi_SendDelayedConnAbort(struct rxevent *event, register struct rx_connection *conn, 
111         char *dummy);
112 extern void rxi_SendDelayedCallAbort(struct rxevent *event, register struct rx_call *call,
113         char *dummy);
114 extern void rxi_ChallengeEvent(struct rxevent *event, register struct rx_connection *conn, 
115         void *atries);
116 extern void rxi_ChallengeOn(register struct rx_connection *conn);
117 extern void rxi_ComputeRoundTripTime(register struct rx_packet *p, 
118         register struct clock *sentp, register struct rx_peer *peer);
119 extern void rxi_ReapConnections(void);
120 extern int rxs_Release (struct rx_securityClass *aobj);
121 #ifndef KERNEL
122 extern void rx_PrintTheseStats (FILE *file, struct rx_stats *s, int size, 
123         afs_int32 freePackets, char version);
124 extern void rx_PrintStats(FILE *file);
125 extern void rx_PrintPeerStats(FILE *file, struct rx_peer *peer);
126 #endif
127 extern afs_int32 rx_GetServerDebug(osi_socket socket, afs_uint32 remoteAddr, 
128         afs_uint16 remotePort, struct rx_debugStats *stat, afs_uint32 *supportedValues);
129 extern afs_int32 rx_GetServerStats(osi_socket socket, afs_uint32 remoteAddr,
130         afs_uint16 remotePort, struct rx_stats *stat, afs_uint32 *supportedValues);
131 extern afs_int32 rx_GetServerVersion(osi_socket socket, afs_uint32 remoteAddr,
132         afs_uint16 remotePort, size_t version_length, char *version);
133 extern afs_int32 rx_GetServerConnections(osi_socket socket, afs_uint32 remoteAddr,
134         afs_uint16 remotePort, afs_int32 *nextConnection, int allConnections,
135         afs_uint32 debugSupportedValues, struct rx_debugConn *conn, afs_uint32 *supportedValues);
136 extern afs_int32 rx_GetServerPeers(osi_socket socket, afs_uint32 remoteAddr, afs_uint16 remotePort,
137         afs_int32 *nextPeer, afs_uint32 debugSupportedValues, struct rx_debugPeer *peer,
138         afs_uint32 *supportedValues);
139 extern void shutdown_rx(void);
140 #ifndef osirx_AssertMine
141 extern void osirx_AssertMine(afs_kmutex_t *lockaddr, char *msg);
142 #endif
143 #ifndef KERNEL
144 extern int rx_KeyCreate(rx_destructor_t rtn);
145 #endif
146 extern void rx_SetSpecific(struct rx_connection *conn, int key, void *ptr);
147 extern void *rx_GetSpecific(struct rx_connection *conn, int key);
148 extern void rx_IncrementTimeAndCount(struct rx_peer *peer, afs_uint32 rxInterface,
149         afs_uint32 currentFunc, afs_uint32 totalFunc, struct clock *queueTime,
150         struct clock *execTime, afs_hyper_t *bytesSent, afs_hyper_t *bytesRcvd, int isServer);
151 extern void rx_MarshallProcessRPCStats(afs_uint32 callerVersion,
152         int count, rx_function_entry_v1_t *stats, afs_uint32 **ptrP);
153 extern int rx_RetrieveProcessRPCStats(afs_uint32 callerVersion,
154         afs_uint32 *myVersion, afs_uint32 *clock_sec, afs_uint32 *clock_usec,
155         size_t *allocSize, afs_uint32 *statCount, afs_uint32 **stats);
156 extern int rx_RetrievePeerRPCStats(afs_uint32 callerVersion,
157         afs_uint32 *myVersion, afs_uint32 *clock_sec, afs_uint32 *clock_usec,
158         size_t *allocSize, afs_uint32 *statCount, afs_uint32 **stats);
159 extern void rx_FreeRPCStats(afs_uint32 *stats, size_t allocSize);
160 extern int rx_queryProcessRPCStats(void);
161 extern int rx_queryPeerRPCStats(void);
162 extern void rx_enableProcessRPCStats(void);
163 extern void rx_enablePeerRPCStats(void);
164 extern void rx_disableProcessRPCStats(void);
165 extern void rx_disablePeerRPCStats(void);
166 extern void rx_clearProcessRPCStats(afs_uint32 clearFlag);
167 extern void rx_clearPeerRPCStats(afs_uint32 clearFlag);
168 extern void rx_SetRxStatUserOk(int (*proc)(struct rx_call *call));
169 extern int rx_RxStatUserOk(struct rx_call *call);
170
171
172 /* old style till varargs */
173 #if 0
174 void
175 rxi_DebugPrint(char *format, int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10,
176                int a11, int a12, int a13, int a14, int a15);
177 #else
178 void rxi_DebugPrint();
179 #endif
180
181 /* rx_clock.c */
182 #if !defined(clock_Init)
183 extern void clock_Init(void);
184 #endif
185 #if !defined(clock_UnInit)
186 extern int clock_UnInit(void);
187 #endif
188 #if !defined(clock_UpdateTime)
189 extern void clock_UpdateTime(void);
190 #endif
191
192 /* rx_clock_nt.c */
193
194
195 /* rx_conncache.c */
196 extern void rxi_DeleteCachedConnections(void);
197 extern struct rx_connection *rx_GetCachedConnection(unsigned int remoteAddr,
198         unsigned short port, unsigned short service, struct rx_securityClass *securityObject,
199         int securityIndex);
200 extern void rx_ReleaseCachedConnection(struct rx_connection *conn);
201
202
203 /* rxdebug.c */
204
205
206 /* rx_event.c */
207 #if 0
208 extern struct rxevent *rxevent_Post(struct clock *when, 
209         void (*func)(struct rxevent *event,
210         struct rx_connection *conn, struct rx_call *acall),
211         void *arg, void *arg1);
212 /* this func seems to be called with tons of different style routines, need to look
213 at another time. */
214 #else
215 extern struct rxevent *rxevent_Post(struct clock *when, 
216         void (*func)(),
217         void *arg, void *arg1);
218 #endif
219 extern void shutdown_rxevent(void);
220 extern struct rxepoch *rxepoch_Allocate(struct clock *when);
221 extern void rxevent_Init(int nEvents, void (*scheduler)(void));
222 extern void rxevent_Cancel_1(register struct rxevent *ev,
223         register struct rx_call *call, register int type);
224 extern int rxevent_RaiseEvents(struct clock *next);
225
226
227
228
229 /* rx_getaddr.c */
230 extern void rxi_setaddr(afs_int32 x);
231 extern afs_int32 rxi_getaddr(void);
232
233 /* rx_globals.c */
234
235
236 /* rx_kcommon.c */
237 extern int (*rxk_PacketArrivalProc)(register struct rx_packet *ahandle,
238         register struct sockaddr_in *afrom, char *arock,
239         afs_int32 asize);
240 extern int (*rxk_GetPacketProc)(char **ahandle, int asize);
241 extern afs_int32 afs_termState;
242 extern int rxk_initDone;
243
244 extern int rxk_DelPort(u_short aport);
245 extern void rxk_shutdownPorts(void);
246 extern osi_socket rxi_GetUDPSocket(u_short port);
247 extern void osi_Panic();
248 extern int osi_utoa(char *buf, size_t len, unsigned long val);
249 extern void rxi_InitPeerParams(register struct rx_peer *pp);
250 extern void shutdown_rxkernel(void);
251 #ifdef AFS_USERSPACE_IP_ADDR
252 extern int rxi_GetcbiInfo(void);
253 extern afs_int32 rxi_Findcbi(afs_uint32 addr);
254 #else
255 extern int rxi_GetIFInfo(void);
256 #endif
257 #ifndef UKERNEL
258 #if 0
259 extern int rxk_FreeSocket(register struct socket *asocket);
260 #endif
261 #ifndef AFS_NT40_ENV
262 extern struct osi_socket *rxk_NewSocket(short aport);
263 #endif
264 #endif
265 extern int rxk_ReadPacket(osi_socket so, struct rx_packet *p, int *host, int *port);
266 #ifdef UKERNEL
267 extern void rx_ServerProc(void);
268 #endif
269 extern void osi_AssertFailK(const char *expr, const char *file, int line);
270 extern void rxk_ListenerProc(void);
271 extern void rxk_Listener(void);
272 #ifndef UKERNEL
273 extern void afs_rxevent_daemon(void);
274 extern struct ifnet *rxi_FindIfnet(afs_uint32 addr, afs_uint32 *maskp);
275 #endif
276 extern void osi_StopListener(void);
277
278
279 /* ARCH/rx_kmutex.c */
280 #ifdef CONFIG_SMP
281 extern void afs_mutex_init(afs_kmutex_t *l);
282 extern void afs_mutex_enter(afs_kmutex_t *l);
283 extern int afs_mutex_tryenter(afs_kmutex_t *l);
284 extern void afs_mutex_exit(afs_kmutex_t *l);
285 extern int afs_cv_wait(afs_kcondvar_t *cv, afs_kmutex_t *l, int sigok);
286 extern void afs_cv_timedwait(afs_kcondvar_t *cv, afs_kmutex_t *l, int waittime);
287 #endif
288
289
290
291 /* rx_knet.c */
292 #ifndef AFS_NT40_ENV
293 extern struct osi_socket *rxk_NewSocket(short aport);
294 #endif
295 extern int rxk_FreeSocket(register osi_socket asocket);
296 #if defined(KERNEL) && !defined(AFS_SGI_ENV)
297 extern int osi_NetSend(osi_socket asocket, struct sockaddr_in *addr,
298                        struct iovec *dvec, int nvecs, afs_int32 asize, int istack);
299 #endif
300 extern int osi_NetReceive(osi_socket so, struct sockaddr_in *addr,
301                    struct iovec *dvec, int nvecs, int *lengthp);
302 extern void osi_StopListener(void);
303 extern int rxi_FindIfMTU(afs_uint32 addr);
304 #ifndef RXK_LISTENER_ENV
305 extern void rxk_init();
306 #endif
307
308 /* UKERNEL/rx_knet.c */
309 #ifdef UKERNEL
310 extern void afs_rxevent_daemon(void);
311 #endif
312
313
314 /* rx_lwp.c */
315 extern void rx_ServerProc(void);
316 extern void rxi_Sleep(void *addr);
317 extern void rxi_Delay(int seconds);
318 extern void rxi_InitializeThreadSupport(void);
319 extern void rxi_Wakeup(void *addr);
320 extern void rxi_StopListener(void);
321 #ifndef KERNEL
322 extern void rxi_ReScheduleEvents(void);
323 #endif
324 extern void rxi_InitializeThreadSupport(void);
325 extern void rxi_StartServerProc(void (*proc)(void), int stacksize);
326 extern void rxi_StartListener(void);
327 extern void rx_ServerProc(void);
328 extern int rxi_Listen(osi_socket sock);
329 extern int rxi_Recvmsg(int socket, struct msghdr *msg_p, int flags);
330 extern int rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags);
331
332
333 /* rx_misc.c */
334 #ifndef osi_alloc
335 extern char *osi_alloc(afs_int32 x);
336 #endif
337 #ifndef osi_free
338 extern int osi_free(char *x, afs_int32 size);
339 #endif
340 extern int hton_syserr_conv(register afs_int32 code);
341 extern int ntoh_syserr_conv(int code);
342
343
344 /* rx_multi.c */
345 extern struct multi_handle *multi_Init(struct rx_connection **conns, 
346         register int nConns);
347 extern int multi_Select(register struct multi_handle *mh);
348 extern void multi_Ready(register struct rx_call *call,
349         register struct multi_handle *mh, register int index);
350 extern void multi_Finalize(register struct multi_handle *mh);
351 extern void multi_Finalize_Ignore(register struct multi_handle *mh);
352
353
354
355 /* rx_null.c */
356 extern struct rx_securityClass *rxnull_NewServerSecurityObject(void);
357 extern struct rx_securityClass *rxnull_NewClientSecurityObject(void);
358
359 /* rx_packet.c */
360 extern afs_int32 rx_SlowGetInt32(struct rx_packet *packet, size_t offset);
361 extern afs_int32 rx_SlowPutInt32(struct rx_packet *packet, size_t offset, afs_int32 data);
362 extern afs_int32 rx_SlowReadPacket(struct rx_packet *packet, unsigned int offset,
363         int resid, char *out);
364 extern afs_int32 rx_SlowWritePacket(struct rx_packet *packet, int offset,
365         int resid, char *in);
366 extern void rxi_freeCBuf(struct rx_packet *c);
367 extern int rxi_RoundUpPacket(struct rx_packet *p, unsigned int nb);
368 extern int rxi_AllocDataBuf(struct rx_packet *p, int nb, int cla_ss);
369 extern void rxi_MorePackets(int apackets);
370 extern void rxi_MorePacketsNoLock(int apackets);
371 extern void rxi_FreeAllPackets(void);
372 extern void rx_CheckPackets(void);
373 extern void rxi_FreePacketNoLock(struct rx_packet *p);
374 extern int rxi_FreeDataBufsNoLock(struct rx_packet *p, int first);
375 extern void rxi_RestoreDataBufs(struct rx_packet *p);
376 extern int rxi_TrimDataBufs(struct rx_packet *p, int first);
377 extern void rxi_FreePacket(struct rx_packet *p);
378 extern struct rx_packet *rxi_AllocPacketNoLock(int cla_ss);
379 extern struct rx_packet *rxi_AllocPacket(int cla_ss);
380 extern struct rx_packet *rxi_AllocSendPacket(register struct rx_call *call, int want);
381 extern int rxi_ReadPacket(int socket, register struct rx_packet *p, afs_uint32 *host, u_short *port);
382 extern struct rx_packet *rxi_SplitJumboPacket(register struct rx_packet *p, afs_int32 host, 
383         short port, int first);
384 #ifndef KERNEL
385 extern int osi_NetSend(osi_socket socket, void *addr, struct iovec *dvec, int nvecs, 
386         int length, int istack);
387 #endif
388 extern struct rx_packet *rxi_ReceiveDebugPacket(register struct rx_packet *ap, 
389         osi_socket asocket, afs_int32 ahost, short aport, int istack);
390 extern struct rx_packet *rxi_ReceiveVersionPacket(register struct rx_packet *ap, 
391         osi_socket asocket, afs_int32 ahost, short aport, int istack);
392 extern void rxi_SendPacket(struct rx_call * call, struct rx_connection * conn,
393                            struct rx_packet *p, int istack);
394 extern void rxi_SendPacketList(struct rx_call * call, struct rx_connection * conn,
395                                struct rx_packet **list, int len, int istack);
396 extern struct rx_packet *rxi_SendSpecial(register struct rx_call *call,
397         register struct rx_connection *conn, struct rx_packet *optionalPacket,
398         int type, char *data, int nbytes, int istack);
399 extern void rxi_EncodePacketHeader(register struct rx_packet *p);
400 extern void rxi_DecodePacketHeader(register struct rx_packet *p);
401 extern void rxi_PrepareSendPacket(register struct rx_call *call, register struct rx_packet *p, 
402         register int last);
403 extern int rxi_AdjustIfMTU(int mtu);
404 extern int rxi_AdjustMaxMTU(int mtu, int peerMaxMTU);
405 extern int rxi_AdjustDgramPackets(int frags, int mtu);
406
407
408 /* rxperf.c */
409
410
411 /* rx_pthread.c */
412 extern void rxi_Delay(int sec);
413 extern void rxi_InitializeThreadSupport(void);
414 extern void rxi_StartServerProc(void (*proc)(void), int stacksize);
415 #ifndef rxi_ReScheduleEvents
416 extern void rxi_ReScheduleEvents(void);
417 #endif
418 extern void rx_ServerProc(void);
419 extern void rxi_StartListener(void);
420 extern int rxi_Listen(osi_socket sock);
421 extern int rxi_Recvmsg(int socket, struct msghdr *msg_p, int flags);
422 extern int rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags);
423
424
425 /* rx_rdwr.c */
426 extern int rxi_ReadProc(register struct rx_call *call, register char *buf, 
427         register int nbytes);
428 extern int rx_ReadProc(struct rx_call *call, char *buf, int nbytes);
429 extern int rx_ReadProc32(struct rx_call *call, afs_int32 *value);
430 extern int rxi_FillReadVec(struct rx_call *call, afs_uint32 serial);
431 extern int rxi_ReadvProc(struct rx_call *call, struct iovec *iov, int *nio, 
432         int maxio, int nbytes);
433 extern int rx_ReadvProc(struct rx_call *call, struct iovec *iov, 
434         int *nio, int maxio, int nbytes);
435 extern int rxi_WriteProc(register struct rx_call *call, register char *buf,    
436         register int nbytes);
437 extern int rx_WriteProc(struct rx_call *call, char *buf, int nbytes);
438 extern int rx_WriteProc32(register struct rx_call *call, register afs_int32 *value);
439 extern int rxi_WritevAlloc(struct rx_call *call, struct iovec *iov, 
440         int *nio, int maxio, int nbytes);
441 extern int rx_WritevAlloc(struct rx_call *call, struct iovec *iov, int *nio, 
442         int maxio, int nbytes);
443 extern int rxi_WritevProc(struct rx_call *call, struct iovec *iov, 
444         int nio, int nbytes);
445 extern int rx_WritevProc(struct rx_call *call, struct iovec *iov, int nio, int nbytes);
446 extern void rxi_FlushWrite(register struct rx_call *call);
447 extern void rx_FlushWrite(struct rx_call *call);
448
449 /* rx_stream.c */
450
451
452 /* rx_trace.c */
453
454
455 /* rx_user.c */
456 #ifdef AFS_PTHREAD_ENV
457 extern pthread_mutex_t rx_if_init_mutex;
458 extern pthread_mutex_t rx_if_mutex;
459 #endif
460 extern osi_socket rxi_GetUDPSocket(u_short port);
461 extern void osi_AssertFailU(const char *expr, const char *file, int line);
462 extern int rx_getAllAddr (afs_int32 *buffer, int maxSize);
463 extern void osi_Panic(); /* leave without args till stdarg rewrite */
464 extern void rxi_InitPeerParams(struct rx_peer *pp);
465 #ifdef  AFS_AIX32_ENV
466 #ifndef osi_Alloc
467 extern char *osi_Alloc(afs_int32 x);
468 extern void osi_Free(char *x, afs_int32 size);
469 #endif
470 #endif /* AFS_AIX32_ENV */
471 extern void rx_GetIFInfo(void);
472 extern void rx_SetNoJumbo(void);
473
474
475 /* rx_xmit_nt.c */
476
477
478 /* MISC PROTOTYPES - MOVE TO APPROPRIATE LOCATION LATER */
479
480 /* EXTERNAL PROTOTYPES - include here cause it causes too many issues to
481    include the afs_prototypes.h file - just make sure they match */
482 extern void *afs_osi_Alloc(size_t x);
483 extern void *afs_osi_Alloc_NoSleep(size_t x);
484 extern void afs_osi_Free(void *x, size_t asize);
485 #ifndef afs_osi_Wakeup
486 extern int afs_osi_Wakeup(void *event);
487 #endif
488 #ifndef afs_osi_Sleep
489 extern void afs_osi_Sleep(void *event);
490 #endif
491 extern unsigned int afs_random(void);
492 extern void osi_linux_rxkreg(void);
493
494 #endif /* _RX_PROTOTYPES_H */