123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- /* internal.h: internal Rx RPC stuff
- *
- * Copyright (c) 2002 David Howells (dhowells@redhat.com).
- */
- #ifndef RXRPC_INTERNAL_H
- #define RXRPC_INTERNAL_H
- #include <linux/compiler.h>
- #include <linux/kernel.h>
- /*
- * debug accounting
- */
- #if 1
- #define __RXACCT_DECL(X) X
- #define __RXACCT(X) do { X; } while(0)
- #else
- #define __RXACCT_DECL(X)
- #define __RXACCT(X) do { } while(0)
- #endif
- __RXACCT_DECL(extern atomic_t rxrpc_transport_count);
- __RXACCT_DECL(extern atomic_t rxrpc_peer_count);
- __RXACCT_DECL(extern atomic_t rxrpc_connection_count);
- __RXACCT_DECL(extern atomic_t rxrpc_call_count);
- __RXACCT_DECL(extern atomic_t rxrpc_message_count);
- /*
- * debug tracing
- */
- #define kenter(FMT, a...) printk("==> %s("FMT")\n",__FUNCTION__ , ##a)
- #define kleave(FMT, a...) printk("<== %s()"FMT"\n",__FUNCTION__ , ##a)
- #define kdebug(FMT, a...) printk(" "FMT"\n" , ##a)
- #define kproto(FMT, a...) printk("### "FMT"\n" , ##a)
- #define knet(FMT, a...) printk(" "FMT"\n" , ##a)
- #if 0
- #define _enter(FMT, a...) kenter(FMT , ##a)
- #define _leave(FMT, a...) kleave(FMT , ##a)
- #define _debug(FMT, a...) kdebug(FMT , ##a)
- #define _proto(FMT, a...) kproto(FMT , ##a)
- #define _net(FMT, a...) knet(FMT , ##a)
- #else
- #define _enter(FMT, a...) do { if (rxrpc_ktrace) kenter(FMT , ##a); } while(0)
- #define _leave(FMT, a...) do { if (rxrpc_ktrace) kleave(FMT , ##a); } while(0)
- #define _debug(FMT, a...) do { if (rxrpc_kdebug) kdebug(FMT , ##a); } while(0)
- #define _proto(FMT, a...) do { if (rxrpc_kproto) kproto(FMT , ##a); } while(0)
- #define _net(FMT, a...) do { if (rxrpc_knet) knet (FMT , ##a); } while(0)
- #endif
- static inline void rxrpc_discard_my_signals(void)
- {
- while (signal_pending(current)) {
- siginfo_t sinfo;
- spin_lock_irq(¤t->sighand->siglock);
- dequeue_signal(current, ¤t->blocked, &sinfo);
- spin_unlock_irq(¤t->sighand->siglock);
- }
- }
- /*
- * call.c
- */
- extern struct list_head rxrpc_calls;
- extern struct rw_semaphore rxrpc_calls_sem;
- /*
- * connection.c
- */
- extern struct list_head rxrpc_conns;
- extern struct rw_semaphore rxrpc_conns_sem;
- extern unsigned long rxrpc_conn_timeout;
- extern void rxrpc_conn_clearall(struct rxrpc_peer *peer);
- /*
- * peer.c
- */
- extern struct list_head rxrpc_peers;
- extern struct rw_semaphore rxrpc_peers_sem;
- extern unsigned long rxrpc_peer_timeout;
- extern void rxrpc_peer_calculate_rtt(struct rxrpc_peer *peer,
- struct rxrpc_message *msg,
- struct rxrpc_message *resp);
- extern void rxrpc_peer_clearall(struct rxrpc_transport *trans);
- /*
- * proc.c
- */
- #ifdef CONFIG_PROC_FS
- extern int rxrpc_proc_init(void);
- extern void rxrpc_proc_cleanup(void);
- #endif
- /*
- * transport.c
- */
- extern struct list_head rxrpc_proc_transports;
- extern struct rw_semaphore rxrpc_proc_transports_sem;
- #endif /* RXRPC_INTERNAL_H */
|