summaryrefslogtreecommitdiffstats
path: root/include/net/irda/irlap_frame.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/irda/irlap_frame.h')
-rw-r--r--include/net/irda/irlap_frame.h92
1 files changed, 39 insertions, 53 deletions
diff --git a/include/net/irda/irlap_frame.h b/include/net/irda/irlap_frame.h
index 6b661e4b5..7425b41b4 100644
--- a/include/net/irda/irlap_frame.h
+++ b/include/net/irda/irlap_frame.h
@@ -1,12 +1,12 @@
/*********************************************************************
*
* Filename: irlap_frame.h
- * Version: 0.3
+ * Version: 0.9
* Description: Build and transmit IrLAP frames
* Status: Experimental.
* Author: Dag Brattli <dagb@cs.uit.no>
* Created at: Tue Aug 19 10:27:26 1997
- * Modified at: Mon Dec 14 14:22:23 1998
+ * Modified at: Fri Apr 23 09:33:55 1999
* Modified by: Dag Brattli <dagb@cs.uit.no>
*
* Copyright (c) 1998 Dag Brattli <dagb@cs.uit.no>, All Rights Reserved.
@@ -27,7 +27,7 @@
#include <linux/skbuff.h>
-#include <net/irda/irmod.h>
+#include <net/irda/irda.h>
#include <net/irda/irlap.h>
#include <net/irda/qos.h>
@@ -59,81 +59,69 @@
#define I_FRAME 0x00 /* Information Format */
#define UI_FRAME 0x03 /* Unnumbered Information */
-#define CMD_FRAME 0x01
-#define RSP_FRAME 0x00
+#define CMD_FRAME 0x01
+#define RSP_FRAME 0x00
-#define PF_BIT 0x10 /* Poll/final bit */
-
-#define IR_S 0x01 /* Supervisory frames */
-#define IR_RR 0x01 /* Receiver ready */
-#define IR_RNR 0x05 /* Receiver not ready */
-#define IR_REJ 0x09 /* Reject */
-#define IR_U 0x03 /* Unnumbered frames */
-#define IR_SNRM 0x2f /* Set Asynchronous Balanced Mode */
-
-#define IR_DISC 0x43 /* Disconnect */
-#define IR_DM 0x0f /* Disconnected mode */
-#define IR_UA 0x63 /* Unnumbered acknowledge */
-#define IR_FRMR 0x87 /* Frame reject */
-#define IR_UI 0x03 /* Unnumbered information */
+#define PF_BIT 0x10 /* Poll/final bit */
struct xid_frame {
- __u8 caddr __attribute__((packed)); /* Connection address */
- __u8 control __attribute__((packed));
- __u8 ident __attribute__((packed)); /* Should always be XID_FORMAT */
- __u32 saddr __attribute__((packed)); /* Source device address */
- __u32 daddr __attribute__((packed)); /* Destination device address */
- __u8 flags __attribute__((packed)); /* Discovery flags */
- __u8 slotnr __attribute__((packed));
- __u8 version __attribute__((packed));
- __u8 discovery_info[0] __attribute__((packed));
-};
+ __u8 caddr; /* Connection address */
+ __u8 control;
+ __u8 ident; /* Should always be XID_FORMAT */
+ __u32 saddr; /* Source device address */
+ __u32 daddr; /* Destination device address */
+ __u8 flags; /* Discovery flags */
+ __u8 slotnr;
+ __u8 version;
+ __u8 discovery_info[0];
+} PACK;
struct test_frame {
__u8 caddr; /* Connection address */
__u8 control;
- __u8 saddr; /* Source device address */
- __u8 daddr; /* Destination device address */
- __u8 *info; /* Information */
-};
+ __u32 saddr; /* Source device address */
+ __u32 daddr; /* Destination device address */
+ __u8 info[0]; /* Information */
+} PACK;
struct ua_frame {
- __u8 caddr __attribute__((packed));
- __u8 control __attribute__((packed));
+ __u8 caddr;
+ __u8 control;
- __u32 saddr __attribute__((packed)); /* Source device address */
- __u32 daddr __attribute__((packed)); /* Dest device address */
+ __u32 saddr; /* Source device address */
+ __u32 daddr; /* Dest device address */
__u8 params[0];
-};
+} PACK;
struct i_frame {
- __u8 caddr __attribute__((packed));
- __u8 control __attribute__((packed));
- __u8 data[0] __attribute__((packed));
-};
+ __u8 caddr;
+ __u8 control;
+ __u8 data[0];
+} PACK;
struct snrm_frame {
- __u8 caddr __attribute__((packed));
- __u8 control __attribute__((packed));
- __u32 saddr __attribute__((packed));
- __u32 daddr __attribute__((packed));
- __u8 ncaddr __attribute__((packed));
+ __u8 caddr;
+ __u8 control;
+ __u32 saddr;
+ __u32 daddr;
+ __u8 ncaddr;
__u8 params[0];
-};
+} PACK;
/* Per-packet information we need to hide inside sk_buff */
struct irlap_skb_cb {
+ int magic; /* Be sure that we can trust the information */
int mtt; /* minimum turn around time */
int xbofs; /* number of xbofs required */
int vs; /* next frame to send */
int vr; /* next frame to receive */
};
-__inline__ void irlap_insert_mtt( struct irlap_cb *self, struct sk_buff *skb);
-
void irlap_send_discovery_xid_frame( struct irlap_cb *, int S, __u8 s,
- __u8 command, DISCOVERY *discovery);
+ __u8 command, discovery_t *discovery);
void irlap_send_snrm_frame( struct irlap_cb *, struct qos_info *);
+void irlap_send_test_frame(struct irlap_cb *self, __u32 daddr,
+ struct sk_buff *cmd);
void irlap_send_ua_response_frame( struct irlap_cb *, struct qos_info *);
void irlap_send_ui_frame( struct irlap_cb *self, struct sk_buff *skb,
int command);
@@ -150,6 +138,4 @@ void irlap_resend_rejected_frames( struct irlap_cb *, int command);
void irlap_send_i_frame( struct irlap_cb *, struct sk_buff *, int command);
void irlap_send_ui_frame( struct irlap_cb *, struct sk_buff *, int command);
-/* void irlap_input( struct irlap_cb *self, struct sk_buff *skb); */
-
#endif