1 /*
2  * INET		An implementation of the TCP/IP protocol suite for the LINUX
3  *		operating system.  INET is implemented using the BSD Socket
4  *		interface as the means of communication with the user level.
5  *
6  *		Definitions for the HIPPI handlers.
7  *
8  * Version:	@(#)hippidevice.h	1.0.0	05/26/97
9  *
10  * Author:	Jes Sorensen, <Jes.Sorensen@cern.ch>
11  *
12  *		hippidevice.h is based on previous fddidevice.h work by
13  *			Ross Biro, <bir7@leland.Stanford.Edu>
14  *			Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
15  *			Alan Cox, <gw4pts@gw4pts.ampr.org>
16  *			Lawrence V. Stefani, <stefani@lkg.dec.com>
17  *
18  *		This program is free software; you can redistribute it and/or
19  *		modify it under the terms of the GNU General Public License
20  *		as published by the Free Software Foundation; either version
21  *		2 of the License, or (at your option) any later version.
22  */
23 #ifndef _LINUX_HIPPIDEVICE_H
24 #define _LINUX_HIPPIDEVICE_H
25 
26 #include <linux/if_hippi.h>
27 
28 #ifdef __KERNEL__
29 extern int hippi_header(struct sk_buff *skb,
30 			struct net_device *dev,
31 			unsigned short type,
32 			void *daddr,
33 			void *saddr,
34 			unsigned len);
35 
36 extern int hippi_rebuild_header(struct sk_buff *skb);
37 
38 extern unsigned short hippi_type_trans(struct sk_buff *skb,
39 				       struct net_device *dev);
40 
41 extern void hippi_header_cache_bind(struct hh_cache ** hhp,
42 				    struct net_device *dev,
43 				    unsigned short htype,
44 				    __u32 daddr);
45 
46 extern void hippi_header_cache_update(struct hh_cache *hh,
47 				      struct net_device *dev,
48 				      unsigned char * haddr);
49 extern int hippi_header_parse(struct sk_buff *skb, unsigned char *haddr);
50 
51 extern void hippi_net_init(void);
52 void hippi_setup(struct net_device *dev);
53 
54 extern struct net_device *init_hippi_dev(struct net_device *dev, int sizeof_priv);
55 extern struct net_device *alloc_hippi_dev(int sizeof_priv);
56 extern int register_hipdev(struct net_device *dev);
57 extern void unregister_hipdev(struct net_device *dev);
58 #endif
59 
60 #endif	/* _LINUX_HIPPIDEVICE_H */
61