blob: 2942ad6ab932eb5e0f0fbbd8395803175b4592aa [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*********************************************************************
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 *
John Anthony Kazos Jr121e70b2007-05-09 08:30:57 +020020 * Neither Dag Brattli nor University of Tromsø admit liability nor
Linus Torvalds1da177e2005-04-16 15:20:36 -070021 * 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> /* iobuff_t */
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 */
46enum {
47 OUTSIDE_FRAME,
48 BEGIN_FRAME,
49 LINK_ESCAPE,
50 INSIDE_FRAME
51};
52
53/* Proto definitions */
54int async_wrap_skb(struct sk_buff *skb, __u8 *tx_buff, int buffsize);
55void async_unwrap_char(struct net_device *dev, struct net_device_stats *stats,
56 iobuff_t *buf, __u8 byte);
57
58#endif