1 /*********************************************************************
2  *
3  * Filename:      wrapper.h
4  * Version:       1.2
5  * Description:   IrDA SIR async wrapper layer
6  * Status:        Experimental.
7  * Author:        Dag Brattli <dagb@cs.uit.no>
8  * Created at:    Mon Aug  4 20:40:53 1997
9  * Modified at:   Tue Jan 11 12:37:29 2000
10  * Modified by:   Dag Brattli <dagb@cs.uit.no>
11  *
12  *     Copyright (c) 1998-2000 Dag Brattli <dagb@cs.uit.no>,
13  *     All Rights Reserved.
14  *
15  *     This program is free software; you can redistribute it and/or
16  *     modify it under the terms of the GNU General Public License as
17  *     published by the Free Software Foundation; either version 2 of
18  *     the License, or (at your option) any later version.
19  *
20  *     Neither Dag Brattli nor University of Troms� admit liability nor
21  *     provide warranty for any of this software. This material is
22  *     provided "AS-IS" and at no charge.
23  *
24  ********************************************************************/
25 
26 #ifndef WRAPPER_H
27 #define WRAPPER_H
28 
29 #include <linux/types.h>
30 #include <linux/skbuff.h>
31 #include <linux/netdevice.h>
32 
33 #include <net/irda/irda_device.h>
34 
35 #define BOF  0xc0 /* Beginning of frame */
36 #define XBOF 0xff
37 #define EOF  0xc1 /* End of frame */
38 #define CE   0x7d /* Control escape */
39 
40 #define STA BOF  /* Start flag */
41 #define STO EOF  /* End flag */
42 
43 #define IRDA_TRANS 0x20    /* Asynchronous transparency modifier */
44 
45 /* States for receving a frame in async mode */
46 enum {
47 	OUTSIDE_FRAME,
48 	BEGIN_FRAME,
49 	LINK_ESCAPE,
50 	INSIDE_FRAME
51 };
52 
53 /* Proto definitions */
54 int async_wrap_skb(struct sk_buff *skb, __u8 *tx_buff, int buffsize);
55 void async_bump(struct net_device *dev, struct net_device_stats *stats,
56 		__u8 *buf, int len);
57 void async_unwrap_char(struct net_device *dev, struct net_device_stats *stats,
58 		       iobuff_t *buf, __u8 byte);
59 
60 #endif
61