1 /* Internal structures that are private to RX itself. These shouldn't be
2 * modified by library callers.
4 * Data structures that are visible to security layers, but not to
5 * customers of RX belong in rx_private.h, which is installed.
9 # if defined(AFS_LINUX26_ENV) || defined(AFS_USR_LINUX26_ENV)
10 # include <linux/types.h>
11 # include <linux/errqueue.h>
12 # include <linux/icmp.h>
16 /* Globals that we don't want the world to know about */
17 extern rx_atomic_t rx_nWaiting
;
18 extern rx_atomic_t rx_nWaited
;
20 /* Prototypes for internal functions */
23 extern int rxi_IsRunning(void);
24 extern void rxi_CancelDelayedAckEvent(struct rx_call
*);
25 extern void rxi_PacketsUnWait(void);
26 extern void rxi_SetPeerMtu(struct rx_peer
*peer
, afs_uint32 host
,
27 afs_uint32 port
, int mtu
);
29 extern void rxi_ProcessNetError(struct sock_extended_err
*err
,
30 afs_uint32 addr
, afs_uint16 port
);
32 extern struct rx_peer
*rxi_FindPeer(afs_uint32 host
, u_short port
,
34 extern struct rx_packet
*rxi_ReceivePacket(struct rx_packet
*np
,
35 osi_socket socket
, afs_uint32 host
,
36 u_short port
, int *tnop
,
37 struct rx_call
**newcallp
);
38 extern int rxi_IsConnInteresting(struct rx_connection
*aconn
);
39 extern void rxi_PostDelayedAckEvent(struct rx_call
*call
, struct clock
*now
);
40 extern void rxi_ConnectionError(struct rx_connection
*conn
, afs_int32 error
);
41 extern void rxi_Start(struct rx_call
*call
, int istack
);
42 extern void rxi_Send(struct rx_call
*call
, struct rx_packet
*p
, int istack
);
43 extern struct rx_packet
*rxi_SendAck(struct rx_call
*call
,
44 struct rx_packet
*optionalPacket
,
45 int serial
, int reason
, int istack
);
46 extern struct rx_packet
*rxi_SendConnectionAbort(struct rx_connection
*conn
,
47 struct rx_packet
*packet
,
48 int istack
, int force
);
49 extern void rxi_IncrementTimeAndCount(struct rx_peer
*peer
,
50 afs_uint32 rxInterface
,
51 afs_uint32 currentFunc
,
53 struct clock
*queueTime
,
54 struct clock
*execTime
,
58 #ifdef RX_ENABLE_LOCKS
59 extern void rxi_WaitforTQBusy(struct rx_call
*call
);
61 # define rxi_WaitforTQBusy(call)
66 extern int rxi_SendIovecs(struct rx_connection
*conn
, struct iovec
*iov
,
67 int iovcnt
, size_t length
, int istack
);
68 extern void rxi_SendRaw(struct rx_call
*call
, struct rx_connection
*conn
,
69 int type
, char *data
, int bytes
, int istack
);