File: /usr/src/linux/include/net/irda/wrapper.h

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