afs_kmutex_t rx_atomic_mutex;
#endif
+/* Forward prototypes */
+static struct rx_call * rxi_NewCall(struct rx_connection *, int);
+
#ifdef AFS_PTHREAD_ENV
/*
#if defined(RX_ENABLE_LOCKS) && defined(KERNEL)
static afs_kmutex_t rx_rpc_stats;
-void rxi_StartUnlocked(struct rxevent *event, void *call,
+static void rxi_StartUnlocked(struct rxevent *event, void *call,
void *arg1, int istack);
#endif
/* Called by rx_StartServer to start up lwp's to service calls.
NExistingProcs gives the number of procs already existing, and which
therefore needn't be created. */
-void
+static void
rxi_StartServerProcs(int nExistingProcs)
{
struct rx_service *service;
* Cleanup a connection that was destroyed in rxi_DestroyConnectioNoLock.
* NOTE: must not be called with rx_connHashTable_lock held.
*/
-void
+static void
rxi_CleanupConnection(struct rx_connection *conn)
{
/* Notify the service exporter, if requested, that this connection
return call;
}
-int
+static int
rxi_HasActiveCalls(struct rx_connection *aconn)
{
int i;
/* Return this process's service structure for the
* specified socket and service */
-struct rx_service *
+static struct rx_service *
rxi_FindService(osi_socket socket, u_short serviceId)
{
struct rx_service **sp;
/* Allocate a call structure, for the indicated channel of the
* supplied connection. The mode and state of the call must be set by
* the caller. Returns the call with mutex locked. */
-struct rx_call *
+static struct rx_call *
rxi_NewCall(struct rx_connection *conn, int channel)
{
struct rx_call *call;
* call->lock amd rx_refcnt_mutex are held upon entry.
* haveCTLock is set when called from rxi_ReapConnections.
*/
-void
+static void
rxi_FreeCall(struct rx_call *call, int haveCTLock)
{
int channel = call->channel;
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,
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 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,