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

Next file: linux/include/net/irda/smc-ircc.h
Previous file: linux/include/net/irda/pc87108.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/qos.h linux/include/net/irda/qos.h
@@ -1,33 +1,41 @@
 /*********************************************************************
  *                
  * Filename:      qos.h
- * Version:       0.1
+ * Version:       1.0
  * Description:   Quality of Service definitions
  * Status:        Experimental.
  * Author:        Dag Brattli <dagb@cs.uit.no>
  * Created at:    Fri Sep 19 23:21:09 1997
- * Modified at:   Wed Dec  9 10:32:47 1998
+ * Modified at:   Thu Dec  2 13:51:54 1999
  * Modified by:   Dag Brattli <dagb@cs.uit.no>
  * 
- *     Copyright (c) 1998 Dag Brattli <dagb@cs.uit.no>, All Rights Reserved.
+ *     Copyright (c) 1999 Dag Brattli, All Rights Reserved.
  *     
  *     This program is free software; you can redistribute it and/or 
  *     modify it under the terms of the GNU General Public License as 
  *     published by the Free Software Foundation; either version 2 of 
  *     the License, or (at your option) any later version.
- *
- *     Neither Dag Brattli nor University of Tromsų admit liability nor
- *     provide warranty for any of this software. This material is 
- *     provided "AS-IS" and at no charge.
- *
+ * 
+ *     This program is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ *     GNU General Public License for more details.
+ * 
+ *     You should have received a copy of the GNU General Public License 
+ *     along with this program; if not, write to the Free Software 
+ *     Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
+ *     MA 02111-1307 USA
+ *     
  ********************************************************************/
 
-#ifndef QOS_H
-#define QOS_H
+#ifndef IRDA_QOS_H
+#define IRDA_QOS_H
 
 #include <linux/config.h>
 #include <linux/skbuff.h>
 
+#include <net/irda/parameters.h>
+
 #define PI_BAUD_RATE     0x01
 #define PI_MAX_TURN_TIME 0x82
 #define PI_DATA_SIZE     0x83
@@ -41,26 +49,27 @@
 #define IR_115200_MAX 0x3f
 
 /* Baud rates (first byte) */
-#define IR_2400    0x01
-#define IR_9600    0x02
-#define IR_19200   0x04
-#define IR_38400   0x08
-#define IR_57600   0x10
-#define IR_115200  0x20
-#define IR_576000  0x40
-#define IR_1152000 0x80
+#define IR_2400     0x01
+#define IR_9600     0x02
+#define IR_19200    0x04
+#define IR_38400    0x08
+#define IR_57600    0x10
+#define IR_115200   0x20
+#define IR_576000   0x40
+#define IR_1152000  0x80
 
 /* Baud rates (second byte) */
-#define IR_4000000 0x01
+#define IR_4000000  0x01
+#define IR_16000000 0x02
 
 /* Quality of Service information */
 typedef struct {
-	int value;
+	__u32 value;
 	__u16 bits; /* LSB is first byte, MSB is second byte */
 } qos_value_t;
 
 struct qos_info {
-	int  magic;
+	magic_t magic;
 
 	qos_value_t baud_rate;       /* IR_11520O | ... */
 	qos_value_t max_turn_time;
@@ -77,24 +86,25 @@
 #endif
 };
 
-extern int baud_rates[];
-extern int data_size[];
-extern int min_turn_time[];
-extern int add_bofs[];
-extern int compression[];
-
-void irda_init_max_qos_capabilies( struct qos_info *qos);
-void irda_qos_compute_intersection( struct qos_info *, struct qos_info *);
-int  irda_insert_qos_negotiation_params( struct qos_info *qos, __u8 *fp);
-void irda_qos_negotiate( struct qos_info *qos_rx, struct qos_info *qos_tx,
-			 struct sk_buff *skb);
-
-int msb_index ( __u16 byte);
-int byte_value( __u8 byte, int *array);
-int value_index( int value, int *array);
-int index_value( int index, int *array);
+extern __u32 baud_rates[];
+extern __u32 data_sizes[];
+extern __u32 min_turn_times[];
+extern __u32 add_bofs[];
+extern __u32 compressions[];
+
+void irda_init_max_qos_capabilies(struct qos_info *qos);
+void irda_qos_compute_intersection(struct qos_info *, struct qos_info *);
+
+__u32 irlap_max_line_capacity(__u32 speed, __u32 max_turn_time);
+__u32 irlap_requested_line_capacity(struct qos_info *qos);
+__u32 irlap_min_turn_time_in_bytes(__u32 speed, __u32 min_turn_time);
+
+int msb_index(__u16 byte);
+int value_index(__u32 value, __u32 *array);
+__u32 byte_value(__u8 byte, __u32 *array);
+__u32 index_value(int index, __u32 *array);
 
-void irda_qos_bits_to_value( struct qos_info *qos);
+void irda_qos_bits_to_value(struct qos_info *qos);
 
 #endif
 

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