rx: Use native 64bit data counters
[openafs.git] / src / rx / rx_internal.h
1 /* Internal structures that are private to RX itself. These shouldn't be
2  * modified by library callers.
3  *
4  * Data structures that are visible to security layers, but not to
5  * customers of RX belong in rx_private.h, which is installed.
6  */
7
8
9 /* Globals that we don't want the world to know about */
10 extern rx_atomic_t rx_nWaiting;
11 extern rx_atomic_t rx_nWaited;
12
13 /* Prototypes for internal functions */
14
15 /* rx.c */
16 extern void rxi_PacketsUnWait(void);
17 extern void rxi_SetPeerMtu(struct rx_peer *peer, afs_uint32 host,
18                            afs_uint32 port, int mtu);
19 extern struct rx_peer *rxi_FindPeer(afs_uint32 host, u_short port,
20                                     struct rx_peer *origPeer, int create);
21 extern struct rx_packet *rxi_ReceivePacket(struct rx_packet *np,
22                                            osi_socket socket, afs_uint32 host,
23                                            u_short port, int *tnop,
24                                            struct rx_call **newcallp);
25 extern int rxi_IsConnInteresting(struct rx_connection *aconn);
26 extern void rxi_PostDelayedAckEvent(struct rx_call *call, struct clock *now);
27 extern void rxi_ConnectionError(struct rx_connection *conn, afs_int32 error);
28 extern void rxi_Start(struct rx_call *call, int istack);
29 extern void rxi_Send(struct rx_call *call, struct rx_packet *p, int istack);
30 extern struct rx_packet *rxi_SendAck(struct rx_call *call,
31                                      struct rx_packet *optionalPacket,
32                                      int serial, int reason, int istack);
33 extern struct rx_packet *rxi_SendConnectionAbort(struct rx_connection *conn,
34                                                  struct rx_packet *packet,
35                                                  int istack, int force);
36 extern void rxi_IncrementTimeAndCount(struct rx_peer *peer,
37                                       afs_uint32 rxInterface,
38                                       afs_uint32 currentFunc,
39                                       afs_uint32 totalFunc,
40                                       struct clock *queueTime,
41                                       struct clock *execTime,
42                                       afs_uint64 bytesSent,
43                                       afs_uint64 bytesRcvd,
44                                       int isServer);
45
46 /* rx_packet.h */
47
48 extern int rxi_SendIovecs(struct rx_connection *conn, struct iovec *iov,
49                           int iovcnt, size_t length, int istack);
50 extern void rxi_SendRaw(struct rx_call *call, struct rx_connection *conn,
51                         int type, char *data, int bytes, int istack);