| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /********************************************************************* | 
 | 2 |  *                 | 
 | 3 |  * Filename:      irda.h | 
 | 4 |  * Version:       1.0 | 
 | 5 |  * Description:   IrDA common include file for kernel internal use | 
 | 6 |  * Status:        Stable | 
 | 7 |  * Author:        Dag Brattli <dagb@cs.uit.no> | 
 | 8 |  * Created at:    Tue Dec  9 21:13:12 1997 | 
 | 9 |  * Modified at:   Fri Jan 28 13:16:32 2000 | 
 | 10 |  * Modified by:   Dag Brattli <dagb@cs.uit.no> | 
 | 11 |  *  | 
 | 12 |  *     Copyright (c) 1998-2000 Dag Brattli, All Rights Reserved. | 
 | 13 |  *     Copyright (c) 2000-2002 Jean Tourrilhes <jt@hpl.hp.com> | 
 | 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 NET_IRDA_H | 
 | 27 | #define NET_IRDA_H | 
 | 28 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | #include <linux/skbuff.h>		/* struct sk_buff */ | 
 | 30 | #include <linux/kernel.h> | 
 | 31 | #include <linux/if.h>			/* sa_family_t in <linux/irda.h> */ | 
 | 32 | #include <linux/irda.h> | 
 | 33 |  | 
 | 34 | typedef __u32 magic_t; | 
 | 35 |  | 
 | 36 | #ifndef TRUE | 
 | 37 | #define TRUE 1 | 
 | 38 | #endif | 
 | 39 |  | 
 | 40 | #ifndef FALSE  | 
 | 41 | #define FALSE 0 | 
 | 42 | #endif | 
 | 43 |  | 
 | 44 | /* Hack to do small backoff when setting media busy in IrLAP */ | 
 | 45 | #ifndef SMALL | 
 | 46 | #define SMALL 5 | 
 | 47 | #endif | 
 | 48 |  | 
 | 49 | #ifndef IRDA_MIN /* Lets not mix this MIN with other header files */ | 
 | 50 | #define IRDA_MIN(a, b) (((a) < (b)) ? (a) : (b)) | 
 | 51 | #endif | 
 | 52 |  | 
 | 53 | #ifndef IRDA_ALIGN | 
 | 54 | #  define IRDA_ALIGN __attribute__((aligned)) | 
 | 55 | #endif | 
 | 56 | #ifndef IRDA_PACK | 
 | 57 | #  define IRDA_PACK __attribute__((packed)) | 
 | 58 | #endif | 
 | 59 |  | 
 | 60 |  | 
 | 61 | #ifdef CONFIG_IRDA_DEBUG | 
 | 62 |  | 
 | 63 | extern unsigned int irda_debug; | 
 | 64 |  | 
 | 65 | /* use 0 for production, 1 for verification, >2 for debug */ | 
 | 66 | #define IRDA_DEBUG_LEVEL 0 | 
 | 67 |  | 
 | 68 | #define IRDA_DEBUG(n, args...) \ | 
 | 69 | do {	if (irda_debug >= (n)) \ | 
 | 70 | 		printk(KERN_DEBUG args); \ | 
 | 71 | } while (0) | 
 | 72 | #define IRDA_ASSERT(expr, func) \ | 
 | 73 | do { if(!(expr)) { \ | 
 | 74 | 	printk( "Assertion failed! %s:%s:%d %s\n", \ | 
 | 75 | 		__FILE__,__FUNCTION__,__LINE__,(#expr) ); \ | 
 | 76 | 	func } } while (0) | 
 | 77 | #define IRDA_ASSERT_LABEL(label)	label | 
 | 78 | #else | 
 | 79 | #define IRDA_DEBUG(n, args...) do { } while (0) | 
 | 80 | #define IRDA_ASSERT(expr, func) do { (void)(expr); } while (0) | 
 | 81 | #define IRDA_ASSERT_LABEL(label) | 
 | 82 | #endif /* CONFIG_IRDA_DEBUG */ | 
 | 83 |  | 
| Joe Perches | 7a11c4d | 2006-02-13 15:34:11 -0800 | [diff] [blame] | 84 | #define IRDA_WARNING(args...) do { if (net_ratelimit()) printk(KERN_WARNING args); } while (0) | 
 | 85 | #define IRDA_MESSAGE(args...) do { if (net_ratelimit()) printk(KERN_INFO args); } while (0) | 
 | 86 | #define IRDA_ERROR(args...)   do { if (net_ratelimit()) printk(KERN_ERR args); } while (0) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 87 |  | 
 | 88 | /* | 
 | 89 |  *  Magic numbers used by Linux-IrDA. Random numbers which must be unique to  | 
 | 90 |  *  give the best protection | 
 | 91 |  */ | 
 | 92 |  | 
 | 93 | #define IRTTY_MAGIC        0x2357 | 
 | 94 | #define LAP_MAGIC          0x1357 | 
 | 95 | #define LMP_MAGIC          0x4321 | 
 | 96 | #define LMP_LSAP_MAGIC     0x69333 | 
 | 97 | #define LMP_LAP_MAGIC      0x3432 | 
 | 98 | #define IRDA_DEVICE_MAGIC  0x63454 | 
 | 99 | #define IAS_MAGIC          0x007 | 
 | 100 | #define TTP_MAGIC          0x241169 | 
 | 101 | #define TTP_TSAP_MAGIC     0x4345 | 
 | 102 | #define IROBEX_MAGIC       0x341324 | 
 | 103 | #define HB_MAGIC           0x64534 | 
 | 104 | #define IRLAN_MAGIC        0x754 | 
 | 105 | #define IAS_OBJECT_MAGIC   0x34234 | 
 | 106 | #define IAS_ATTRIB_MAGIC   0x45232 | 
 | 107 | #define IRDA_TASK_MAGIC    0x38423 | 
 | 108 |  | 
 | 109 | #define IAS_DEVICE_ID 0x0000 /* Defined by IrDA, IrLMP section 4.1 (page 68) */ | 
 | 110 | #define IAS_PNP_ID    0xd342 | 
 | 111 | #define IAS_OBEX_ID   0x34323 | 
 | 112 | #define IAS_IRLAN_ID  0x34234 | 
 | 113 | #define IAS_IRCOMM_ID 0x2343 | 
 | 114 | #define IAS_IRLPT_ID  0x9876 | 
 | 115 |  | 
| Adrian Bunk | a39a219 | 2007-02-20 01:06:40 -0800 | [diff] [blame] | 116 | struct net_device; | 
 | 117 | struct packet_type; | 
 | 118 |  | 
 | 119 | extern void irda_proc_register(void); | 
 | 120 | extern void irda_proc_unregister(void); | 
 | 121 |  | 
 | 122 | extern int irda_sysctl_register(void); | 
 | 123 | extern void irda_sysctl_unregister(void); | 
 | 124 |  | 
 | 125 | extern int irsock_init(void); | 
 | 126 | extern void irsock_cleanup(void); | 
 | 127 |  | 
 | 128 | extern int irlap_driver_rcv(struct sk_buff *skb, struct net_device *dev, | 
 | 129 | 			    struct packet_type *ptype, | 
 | 130 | 			    struct net_device *orig_dev); | 
 | 131 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 132 | #endif /* NET_IRDA_H */ |