rx: Add a helper function for delayed acks
[openafs.git] / src / rx / rx_prototypes.h
index 21eada6..5473d5c 100644 (file)
@@ -20,18 +20,17 @@ extern int (*swapNameProgram) (PROCESS, const char *, char *);
 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,
@@ -42,12 +41,10 @@ extern void rx_SetConnDeadTime(struct rx_connection *conn,
                               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,
@@ -84,11 +81,6 @@ extern afs_int32 rx_EndCall(struct rx_call *call, afs_int32 rc);
 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,
@@ -129,8 +121,7 @@ extern void rxi_AttachServerProc(struct rx_call *call,
                                 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);
@@ -149,12 +140,7 @@ extern void rxi_ResetCall(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
@@ -270,6 +256,8 @@ extern int rx_RxStatUserOk(struct rx_call *call);
 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, ...)
@@ -433,8 +421,12 @@ extern int osi_NetSend(osi_socket asocket, struct sockaddr_in *addr,
                       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);
@@ -448,8 +440,8 @@ extern void rxi_ListenerProc(osi_socket usockp, int *tnop,
                             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 */
@@ -603,8 +595,6 @@ extern int rxi_WriteProc(struct rx_call *call, char *buf,
 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,