OpenAFS
OpenAFS distributed network file system
|
00001 /* Internal structures that are private to RX itself. These shouldn't be 00002 * modified by library callers. 00003 * 00004 * Data structures that are visible to security layers, but not to 00005 * customers of RX belong in rx_private.h, which is installed. 00006 */ 00007 00008 #ifdef AFS_RXERRQ_ENV 00009 # if defined(AFS_LINUX26_ENV) || defined(AFS_USR_LINUX26_ENV) 00010 # include <linux/module.h> 00011 # include <linux/types.h> 00012 # include <linux/errqueue.h> 00013 # include <linux/icmp.h> 00014 # endif 00015 #endif 00016 00017 /* Globals that we don't want the world to know about */ 00018 extern rx_atomic_t rx_nWaiting; 00019 extern rx_atomic_t rx_nWaited; 00020 00021 /* Prototypes for internal functions */ 00022 00023 /* rx.c */ 00024 extern void rxi_PacketsUnWait(void); 00025 extern void rxi_SetPeerMtu(struct rx_peer *peer, afs_uint32 host, 00026 afs_uint32 port, int mtu); 00027 #ifdef AFS_RXERRQ_ENV 00028 extern void rxi_ProcessNetError(struct sock_extended_err *err, 00029 afs_uint32 addr, afs_uint16 port); 00030 #endif 00031 extern struct rx_peer *rxi_FindPeer(afs_uint32 host, u_short port, 00032 struct rx_peer *origPeer, int create); 00033 extern struct rx_packet *rxi_ReceivePacket(struct rx_packet *np, 00034 osi_socket socket, afs_uint32 host, 00035 u_short port, int *tnop, 00036 struct rx_call **newcallp); 00037 extern int rxi_IsConnInteresting(struct rx_connection *aconn); 00038 extern void rxi_PostDelayedAckEvent(struct rx_call *call, struct clock *now); 00039 extern void rxi_ConnectionError(struct rx_connection *conn, afs_int32 error); 00040 extern void rxi_Start(struct rx_call *call, int istack); 00041 extern void rxi_Send(struct rx_call *call, struct rx_packet *p, int istack); 00042 extern struct rx_packet *rxi_SendAck(struct rx_call *call, 00043 struct rx_packet *optionalPacket, 00044 int serial, int reason, int istack); 00045 extern struct rx_packet *rxi_SendConnectionAbort(struct rx_connection *conn, 00046 struct rx_packet *packet, 00047 int istack, int force); 00048 extern void rxi_IncrementTimeAndCount(struct rx_peer *peer, 00049 afs_uint32 rxInterface, 00050 afs_uint32 currentFunc, 00051 afs_uint32 totalFunc, 00052 struct clock *queueTime, 00053 struct clock *execTime, 00054 afs_uint64 bytesSent, 00055 afs_uint64 bytesRcvd, 00056 int isServer); 00057 00058 /* rx_packet.h */ 00059 00060 extern int rxi_SendIovecs(struct rx_connection *conn, struct iovec *iov, 00061 int iovcnt, size_t length, int istack); 00062 extern void rxi_SendRaw(struct rx_call *call, struct rx_connection *conn, 00063 int type, char *data, int bytes, int istack);