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