xref: /openbmc/linux/include/net/datalink.h (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds #ifndef _NET_INET_DATALINK_H_
31da177e4SLinus Torvalds #define _NET_INET_DATALINK_H_
41da177e4SLinus Torvalds 
5*949d6b40SJakub Kicinski #include <linux/list.h>
6*949d6b40SJakub Kicinski 
7*949d6b40SJakub Kicinski struct llc_sap;
8*949d6b40SJakub Kicinski struct net_device;
9*949d6b40SJakub Kicinski struct packet_type;
10*949d6b40SJakub Kicinski struct sk_buff;
11*949d6b40SJakub Kicinski 
121da177e4SLinus Torvalds struct datalink_proto {
131da177e4SLinus Torvalds         unsigned char   type[8];
141da177e4SLinus Torvalds 
151da177e4SLinus Torvalds 	struct llc_sap   *sap;
161da177e4SLinus Torvalds 
171da177e4SLinus Torvalds         unsigned short  header_length;
181da177e4SLinus Torvalds 
191da177e4SLinus Torvalds         int     (*rcvfunc)(struct sk_buff *, struct net_device *,
20f2ccd8faSDavid S. Miller                                 struct packet_type *, struct net_device *);
211da177e4SLinus Torvalds 	int     (*request)(struct datalink_proto *, struct sk_buff *,
222ef6db76SJakub Kicinski 			   const unsigned char *);
231da177e4SLinus Torvalds 	struct list_head node;
241da177e4SLinus Torvalds };
251da177e4SLinus Torvalds 
261da177e4SLinus Torvalds #endif
27