patch-2.2.15 linux/include/net/irda/timer.h

Next file: linux/include/net/irda/toshoboe.h
Previous file: linux/include/net/irda/smc-ircc.h
Back to the patch index
Back to the overall index

diff -u --new-file --recursive --exclude-from ../../exclude v2.2.14/include/net/irda/timer.h linux/include/net/irda/timer.h
@@ -6,10 +6,10 @@
  * Status:        Experimental.
  * Author:        Dag Brattli <dagb@cs.uit.no>
  * Created at:    Sat Aug 16 00:59:29 1997
- * Modified at:   Tue Apr  6 16:17:16 1999
+ * Modified at:   Thu Oct  7 12:25:24 1999
  * Modified by:   Dag Brattli <dagb@cs.uit.no>
  * 
- *     Copyright (c) 1997, 1998 Dag Brattli <dagb@cs.uit.no>, 
+ *     Copyright (c) 1997, 1998-1999 Dag Brattli <dagb@cs.uit.no>, 
  *     All Rights Reserved.
  *     
  *     This program is free software; you can redistribute it and/or 
@@ -26,6 +26,8 @@
 #ifndef TIMER_H
 #define TIMER_H
 
+#include <linux/netdevice.h>
+
 #include <asm/param.h>  /* for HZ */
 
 #include <net/irda/irda.h>
@@ -37,28 +39,34 @@
 /* 
  *  Timeout definitions, some defined in IrLAP p. 92
  */
-#define POLL_TIMEOUT        450*HZ/1000    /* Must never exceed 500 ms */
-#define FINAL_TIMEOUT       500*HZ/1000    /* Must never exceed 500 ms */
+#define POLL_TIMEOUT        (450*HZ/1000)    /* Must never exceed 500 ms */
+#define FINAL_TIMEOUT       (500*HZ/1000)    /* Must never exceed 500 ms */
 
 /* 
  *  Normally twice of p-timer. Note 3, IrLAP p. 60 suggests at least twice 
  *  duration of the P-timer.
  */
-#define WD_TIMEOUT          POLL_TIMEOUT*2
-#define MEDIABUSY_TIMEOUT   500*HZ/1000    /* 500 msec */
+#define WD_TIMEOUT          (POLL_TIMEOUT*2)
+#define MEDIABUSY_TIMEOUT   (500*HZ/1000)    /* 500 msec */
 
 /*
  *  Slot timer must never exceed 85 ms, and must always be at least 25 ms, 
- *  suggested to  75-85 msec by IrDA lite
+ *  suggested to  75-85 msec by IrDA lite. This doesn't work with a lot of
+ *  devices, and other stackes uses a lot more, so it's best we do it as well
  */
-#define SLOT_TIMEOUT            80*HZ/1000
-#define QUERY_TIMEOUT           HZ          /* 1 sec */
+#define SLOT_TIMEOUT            (90*HZ/1000)
 
-#define WATCHDOG_TIMEOUT        20*HZ       /* 20 sec */
+/* 
+ *  We set the query timeout to 100 ms and then expect the value to be 
+ *  multiplied with the number of slots to product the actual timeout value
+ */
+#define QUERY_TIMEOUT           (HZ/10)       
 
-typedef void (*TIMER_CALLBACK)(unsigned long);
+#define WATCHDOG_TIMEOUT        (20*HZ)       /* 20 sec */
 
-void irda_start_timer(struct timer_list *ptimer, int timeout, int data,
+typedef void (*TIMER_CALLBACK)(void *);
+
+void irda_start_timer(struct timer_list *ptimer, int timeout, void* data,
 		      TIMER_CALLBACK callback);
 
 inline void irlap_start_slot_timer(struct irlap_cb *self, int timeout);
@@ -67,16 +75,13 @@
 inline void irlap_start_wd_timer(struct irlap_cb *self, int timeout);
 inline void irlap_start_backoff_timer(struct irlap_cb *self, int timeout);
 
-inline void irda_device_start_mbusy_timer(struct irda_device *self);
+void irlap_start_mbusy_timer(struct irlap_cb *);
 
 struct lsap_cb;
 struct lap_cb;
 inline void irlmp_start_watchdog_timer(struct lsap_cb *, int timeout);
 inline void irlmp_start_discovery_timer(struct irlmp_cb *, int timeout);
 inline void irlmp_start_idle_timer(struct lap_cb *, int timeout);
-
-struct irobex_cb;
-inline void irobex_start_watchdog_timer(struct irobex_cb *, int timeout);
 
 #endif
 

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