aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/wimax/i2400m.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/wimax/i2400m.h')
-rw-r--r--include/linux/wimax/i2400m.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/linux/wimax/i2400m.h b/include/linux/wimax/i2400m.h
index 686eeb2b9704..ad36e073a70c 100644
--- a/include/linux/wimax/i2400m.h
+++ b/include/linux/wimax/i2400m.h
@@ -207,6 +207,7 @@ enum i2400m_pt {
207 I2400M_PT_TRACE, /* For device debug */ 207 I2400M_PT_TRACE, /* For device debug */
208 I2400M_PT_RESET_WARM, /* device reset */ 208 I2400M_PT_RESET_WARM, /* device reset */
209 I2400M_PT_RESET_COLD, /* USB[transport] reset, like reconnect */ 209 I2400M_PT_RESET_COLD, /* USB[transport] reset, like reconnect */
210 I2400M_PT_EDATA, /* Extended RX data */
210 I2400M_PT_ILLEGAL 211 I2400M_PT_ILLEGAL
211}; 212};
212 213
@@ -221,6 +222,32 @@ struct i2400m_pl_data_hdr {
221} __attribute__((packed)); 222} __attribute__((packed));
222 223
223 224
225/*
226 * Payload for an extended data packet
227 *
228 * New in v1.4
229 *
230 * @cs: the type of data in the packet, as defined per (802.16e
231 * T11.13.19.1). Currently only 2 (IPv4 packet) supported.
232 *
233 * This is prefixed to each and every INCOMING DATA packet.
234 */
235struct i2400m_pl_edata_hdr {
236 __le32 reorder;
237 __u8 cs;
238 __u8 reserved[11];
239} __attribute__((packed));
240
241enum i2400m_cs {
242 I2400M_CS_IPV4_0 = 0,
243 I2400M_CS_IPV4 = 2,
244};
245
246enum i2400m_reorder {
247 I2400M_REORDER_NEEDED = 0x01,
248};
249
250
224/* Misc constants */ 251/* Misc constants */
225enum { 252enum {
226 I2400M_PL_PAD = 16, /* Payload data size alignment */ 253 I2400M_PL_PAD = 16, /* Payload data size alignment */
@@ -382,6 +409,7 @@ enum i2400m_tlv {
382 I2400M_TLV_DEVICE_RESET_TYPE = 132, 409 I2400M_TLV_DEVICE_RESET_TYPE = 132,
383 I2400M_TLV_CONFIG_IDLE_PARAMETERS = 601, 410 I2400M_TLV_CONFIG_IDLE_PARAMETERS = 601,
384 I2400M_TLV_CONFIG_IDLE_TIMEOUT = 611, 411 I2400M_TLV_CONFIG_IDLE_TIMEOUT = 611,
412 I2400M_TLV_CONFIG_D2H_DATA_FORMAT = 614,
385}; 413};
386 414
387 415
@@ -518,5 +546,12 @@ struct i2400m_tlv_config_idle_timeout {
518 * 0 disabled */ 546 * 0 disabled */
519} __attribute__((packed)); 547} __attribute__((packed));
520 548
549/* New in v1.4 -- for backward compat, will be removed */
550struct i2400m_tlv_config_d2h_data_format {
551 struct i2400m_tlv_hdr hdr;
552 __u8 format; /* 0 old format, 1 enhanced */
553 __u8 reserved[3];
554} __attribute__((packed));
555
521 556
522#endif /* #ifndef __LINUX__WIMAX__I2400M_H__ */ 557#endif /* #ifndef __LINUX__WIMAX__I2400M_H__ */