patch-2.3.16 linux/include/net/irda/irda_device.h

Next file: linux/include/net/irda/iriap.h
Previous file: linux/include/net/irda/irda.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.15/linux/include/net/irda/irda_device.h linux/include/net/irda/irda_device.h
@@ -6,7 +6,7 @@
  * Status:        Experimental.
  * Author:        Dag Brattli <dagb@cs.uit.no>
  * Created at:    Tue Apr 14 12:41:42 1998
- * Modified at:   Wed May 19 08:44:48 1999
+ * Modified at:   Tue Aug 24 13:58:23 1999
  * Modified by:   Dag Brattli <dagb@cs.uit.no>
  * 
  *     Copyright (c) 1999 Dag Brattli, All Rights Reserved.
@@ -75,7 +75,7 @@
         int irqflags;         /* interrupt flags (ie, SA_SHIRQ|SA_INTERRUPT) */
 	int direction;        /* Link direction, used by some FIR drivers */
 
-	int baudrate;         /* Currently used baudrate */
+	__u32 baudrate;       /* Currently used baudrate */
 	int dongle_id;        /* Dongle or transceiver currently used */
 };
 
@@ -102,17 +102,17 @@
  * stuff from IrDA port implementations.
  */
 struct irda_device {
-	QUEUE q;               /* Must be first */
+	QUEUE   q;             /* Must be first */
+        magic_t magic;	       /* Our magic bullet */
 
-        int  magic;	       /* Our magic bullet */
 	char name[16];         /* Name of device "irda0" */
 	char description[32];  /* Something like "irda0 <-> ttyS0" */
 
-	struct irlap_cb *irlap; /* The link layer we are connected to  */
-	struct net_device netdev;   /* Yes! we are some kind of netdevice */
+	struct irlap_cb *irlap;   /* The link layer we are connected to  */
+	struct net_device netdev; /* Yes! we are some kind of netdevice */
 	struct enet_statistics stats;
 
- 	int flags;            /* Interface flags (see defs above) */
+ 	__u32 flags;          /* Interface flags (see defs above) */
 
  	void *priv;           /* Pointer to low level implementation */
 
@@ -130,11 +130,16 @@
 	int media_busy;
 	struct timer_list media_busy_timer;
 
-	/* Callbacks for driver specific implementation */
-        void (*change_speed)(struct irda_device *idev, int baud);
+	int raw_mode;
+
+	/* Callbacks to driver specific implementations */
+        void (*change_speed)(struct irda_device *idev, __u32 speed);
  	int  (*is_receiving)(struct irda_device *);    /* receiving? */
 	void (*set_dtr_rts)(struct irda_device *idev, int dtr, int rts);
+	void (*set_raw_mode)(struct irda_device *dev, int mode);
 	int  (*raw_write)(struct irda_device *idev, __u8 *buf, int len);
+	int  (*raw_read)(struct irda_device *idev, __u8 *buf, int len, 
+			 int timeout);
 	void (*wait_until_sent)(struct irda_device *);
 	void (*set_caddr)(struct irda_device *);      /* Set connection addr */
 };
@@ -155,15 +160,18 @@
 inline void irda_device_change_speed(struct irda_device *, int);
 
 inline struct qos_info *irda_device_get_qos(struct irda_device *self);
-int irda_device_txqueue_empty(struct irda_device *self);
+int  irda_device_txqueue_empty(struct irda_device *self);
 void irda_device_init_dongle(struct irda_device *self, int type);
 void irda_device_unregister_dongle(struct dongle *dongle);
-int irda_device_register_dongle(struct dongle *dongle);
-
-int irda_device_setup(struct net_device *dev);
+int  irda_device_register_dongle(struct dongle *dongle);
+int  irda_device_set_raw_mode(struct irda_device* self, int status);
+int  irda_device_setup(struct net_device *dev);
 
 void setup_dma(int channel, char *buffer, int count, int mode);
 
+int irda_device_net_open(struct net_device *dev);
+int irda_device_net_close(struct net_device *dev);
+
 /*
  * Function irda_get_mtt (skb)
  *
@@ -174,10 +182,10 @@
 {
 	__u16 mtt;
 
-	if (((struct irlap_skb_cb *)(skb->cb))->magic != LAP_MAGIC)
+	if (((struct irda_skb_cb *)(skb->cb))->magic != LAP_MAGIC)
 		mtt = 10000;
 	else
-		mtt = ((struct irlap_skb_cb *)(skb->cb))->mtt;
+		mtt = ((struct irda_skb_cb *)(skb->cb))->mtt;
 
 	ASSERT(mtt <= 10000, return 10000;);
 	

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)