diff options
Diffstat (limited to 'include/net/ping.h')
| -rw-r--r-- | include/net/ping.h | 55 | 
1 files changed, 55 insertions, 0 deletions
diff --git a/include/net/ping.h b/include/net/ping.h new file mode 100644 index 00000000000..682b5ae9af5 --- /dev/null +++ b/include/net/ping.h @@ -0,0 +1,55 @@ +/* + * INET		An implementation of the TCP/IP protocol suite for the LINUX + *		operating system.  INET is implemented using the  BSD Socket + *		interface as the means of communication with the user level. + * + *		Definitions for the "ping" module. + * + *		This program is free software; you can redistribute it and/or + *		modify it under the terms of the GNU General Public License + *		as published by the Free Software Foundation; either version + *		2 of the License, or (at your option) any later version. + */ +#ifndef _PING_H +#define _PING_H + +#include <net/netns/hash.h> + +/* PING_HTABLE_SIZE must be power of 2 */ +#define PING_HTABLE_SIZE 	64 +#define PING_HTABLE_MASK 	(PING_HTABLE_SIZE-1) + +#define ping_portaddr_for_each_entry(__sk, node, list) \ +	hlist_nulls_for_each_entry(__sk, node, list, sk_nulls_node) + +/* + * gid_t is either uint or ushort.  We want to pass it to + * proc_dointvec_minmax(), so it must not be larger than MAX_INT + */ +#define GID_T_MAX (((gid_t)~0U) >> 1) + +struct ping_table { +	struct hlist_nulls_head	hash[PING_HTABLE_SIZE]; +	rwlock_t		lock; +}; + +struct ping_iter_state { +	struct seq_net_private  p; +	int			bucket; +}; + +extern struct proto ping_prot; + + +extern void ping_rcv(struct sk_buff *); +extern void ping_err(struct sk_buff *, u32 info); + +#ifdef CONFIG_PROC_FS +extern int __init ping_proc_init(void); +extern void ping_proc_exit(void); +#endif + +void __init ping_init(void); + + +#endif /* _PING_H */  |