extern int (*rx_justReceived) (struct rx_packet *, struct sockaddr_in *);
extern int (*rx_almostSent) (struct rx_packet *, struct sockaddr_in *);
+extern void rx_rto_setPeerTimeoutSecs(struct rx_peer *, int secs);
extern void rx_SetEpoch(afs_uint32 epoch);
extern int rx_Init(u_int port);
extern int rx_InitHost(u_int host, u_int port);
+extern void rx_SetBusyChannelError(afs_int32 error);
#ifdef AFS_NT40_ENV
extern void rx_DebugOnOff(int on);
extern void rx_StatsOnOff(int on);
extern void rx_StartClientThread(void);
#endif
-#ifndef KERNEL
-extern void rxi_StartServerProcs(int nExistingProcs);
-#endif
extern void rx_StartServer(int donateMe);
extern struct rx_connection *rx_NewConnection(afs_uint32 shost,
u_short sport, u_short sservice,
int seconds);
extern void rx_SetConnHardDeadTime(struct rx_connection *conn, int seconds);
extern void rx_SetConnIdleDeadTime(struct rx_connection *conn, int seconds);
-extern void rxi_CleanupConnection(struct rx_connection *conn);
extern void rxi_DestroyConnection(struct rx_connection *conn);
extern void rx_GetConnection(struct rx_connection *conn);
extern void rx_DestroyConnection(struct rx_connection *conn);
extern struct rx_call *rx_NewCall(struct rx_connection *conn);
-extern int rxi_HasActiveCalls(struct rx_connection *aconn);
extern int rxi_GetCallNumberVector(struct rx_connection *aconn,
afs_int32 * aint32s);
extern int rxi_SetCallNumberVector(struct rx_connection *aconn,
extern void rx_InterruptCall(struct rx_call *call, afs_int32 error);
extern void rx_Finalize(void);
extern void rxi_PacketsUnWait(void);
-extern struct rx_service *rxi_FindService(osi_socket socket,
- u_short serviceId);
-extern struct rx_call *rxi_NewCall(struct rx_connection *conn,
- int channel);
-extern void rxi_FreeCall(struct rx_call *call, int haveCTLock);
extern void *rxi_Alloc(size_t size);
extern void rxi_Free(void *addr, size_t size);
extern void rxi_SetPeerMtu(struct rx_peer *peer, afs_uint32 host,
struct rx_call **newcallp);
extern void rxi_AckAll(struct rxevent *event, struct rx_call *call,
char *dummy);
-extern void rxi_SendDelayedAck(struct rxevent *event,
- void *call /* struct rx_call *call */, void *dummy);
+extern void rxi_PostDelayedAckEvent(struct rx_call *call, struct clock *now);
extern void rxi_ClearTransmitQueue(struct rx_call *call,
int force);
extern void rxi_ClearReceiveQueue(struct rx_call *call);
extern struct rx_packet *rxi_SendAck(struct rx_call *call, struct rx_packet
*optionalPacket, int serial, int reason,
int istack);
-extern void rxi_StartUnlocked(struct rxevent *event,
- void *call, /* struct rx_call */
- void *arg1, int istack);
-extern void rxi_Start(struct rxevent *event,
- void *call, /* struct rx_call */
- void *arg1, int istack);
+extern void rxi_Start(struct rx_call *call, int istack);
extern void rxi_Send(struct rx_call *call,
struct rx_packet *p, int istack);
#ifdef RX_ENABLE_LOCKS
extern afs_int32 rx_SetSecurityConfiguration(struct rx_service *service,
rx_securityConfigVariables type,
void *value);
+extern int rx_GetThreadNum(void);
+extern int rx_SetThreadNum(void);
void rxi_DebugInit(void);
void rxi_DebugPrint(char *format, ...)
struct iovec *dvec, int nvecs, afs_int32 asize,
int istack);
# endif
+# ifdef RXK_UPCALL_ENV
+extern void rx_upcall(socket_t so, void *arg, __unused int waitflag);
+# else
extern int osi_NetReceive(osi_socket so, struct sockaddr_in *addr,
struct iovec *dvec, int nvecs, int *lengthp);
+# endif
# if defined(AFS_SUN510_ENV)
extern void osi_StartNetIfPoller(void);
extern void osi_NetIfPoller(void);
struct rx_call **newcallp);
# endif
-# ifndef RXK_LISTENER_ENV
-extern void rxk_init();
+# if !defined(RXK_LISTENER_ENV) && !defined(RXK_UPCALL_ENV)
+extern void rxk_init(void);
# endif
/* UKERNEL/rx_knet.c */
extern int rx_WriteProc(struct rx_call *call, char *buf, int nbytes);
extern int rx_WriteProc32(struct rx_call *call,
afs_int32 * value);
-extern int rxi_WritevAlloc(struct rx_call *call, struct iovec *iov, int *nio,
- int maxio, int nbytes);
extern int rx_WritevAlloc(struct rx_call *call, struct iovec *iov, int *nio,
int maxio, int nbytes);
extern int rxi_WritevProc(struct rx_call *call, struct iovec *iov, int nio,