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 void rxi_CancelDelayedAckEvent(struct rx_call
*);
24 extern void rxi_PacketsUnWait(void);
25 extern void rxi_SetPeerMtu(struct rx_peer
*peer
, afs_uint32 host
,
26 afs_uint32 port
, int mtu
);
28 extern void rxi_ProcessNetError(struct sock_extended_err
*err
,
29 afs_uint32 addr
, afs_uint16 port
);
31 extern struct rx_peer
*rxi_FindPeer(afs_uint32 host
, u_short port
,
33 extern struct rx_packet
*rxi_ReceivePacket(struct rx_packet
*np
,
34 osi_socket socket
, afs_uint32 host
,
35 u_short port
, int *tnop
,
36 struct rx_call
**newcallp
);
37 extern int rxi_IsConnInteresting(struct rx_connection
*aconn
);
38 extern void rxi_PostDelayedAckEvent(struct rx_call
*call
, struct clock
*now
);
39 extern void rxi_ConnectionError(struct rx_connection
*conn
, afs_int32 error
);
40 extern void rxi_Start(struct rx_call
*call
, int istack
);
41 extern void rxi_Send(struct rx_call
*call
, struct rx_packet
*p
, int istack
);
42 extern struct rx_packet
*rxi_SendAck(struct rx_call
*call
,
43 struct rx_packet
*optionalPacket
,
44 int serial
, int reason
, int istack
);
45 extern struct rx_packet
*rxi_SendConnectionAbort(struct rx_connection
*conn
,
46 struct rx_packet
*packet
,
47 int istack
, int force
);
48 extern void rxi_IncrementTimeAndCount(struct rx_peer
*peer
,
49 afs_uint32 rxInterface
,
50 afs_uint32 currentFunc
,
52 struct clock
*queueTime
,
53 struct clock
*execTime
,
57 #ifdef RX_ENABLE_LOCKS
58 extern void rxi_WaitforTQBusy(struct rx_call
*call
);
60 # define rxi_WaitforTQBusy(call)
65 extern int rxi_SendIovecs(struct rx_connection
*conn
, struct iovec
*iov
,
66 int iovcnt
, size_t length
, int istack
);
67 extern void rxi_SendRaw(struct rx_call
*call
, struct rx_connection
*conn
,
68 int type
, char *data
, int bytes
, int istack
);