author | mickeyl <mickeyl> | 2003-04-22 22:11:28 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-04-22 22:11:28 (UTC) |
commit | a0ffe9079338a8b870de5267a22ddbb01cb1cc27 (patch) (unidiff) | |
tree | fe240ab38bd11cd32d51674e4f79a465092476e5 /libopie2/opienet/802_11_user.h | |
parent | bb8965d31b06ec122a0916d8c5bc4c4b68873a14 (diff) | |
download | opie-a0ffe9079338a8b870de5267a22ddbb01cb1cc27.zip opie-a0ffe9079338a8b870de5267a22ddbb01cb1cc27.tar.gz opie-a0ffe9079338a8b870de5267a22ddbb01cb1cc27.tar.bz2 |
add prism header parsing capability!
Diffstat (limited to 'libopie2/opienet/802_11_user.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opienet/802_11_user.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libopie2/opienet/802_11_user.h b/libopie2/opienet/802_11_user.h index f596bd8..cd98503 100644 --- a/libopie2/opienet/802_11_user.h +++ b/libopie2/opienet/802_11_user.h | |||
@@ -324,96 +324,110 @@ struct cf_t { | |||
324 | struct tim_t { | 324 | struct tim_t { |
325 | u_int8_telement_id; | 325 | u_int8_telement_id; |
326 | u_int8_tlength; | 326 | u_int8_tlength; |
327 | u_int8_tcount; | 327 | u_int8_tcount; |
328 | u_int8_tperiod; | 328 | u_int8_tperiod; |
329 | u_int8_tbitmap_control; | 329 | u_int8_tbitmap_control; |
330 | u_int8_tbitmap[251]; | 330 | u_int8_tbitmap[251]; |
331 | }; | 331 | }; |
332 | 332 | ||
333 | 333 | ||
334 | struct ibss_t { | 334 | struct ibss_t { |
335 | u_int8_telement_id; | 335 | u_int8_telement_id; |
336 | u_int8_tlength; | 336 | u_int8_tlength; |
337 | u_int16_tatim_window; | 337 | u_int16_tatim_window; |
338 | }; | 338 | }; |
339 | 339 | ||
340 | 340 | ||
341 | #define E_SSID 0 | 341 | #define E_SSID 0 |
342 | #define E_RATES 1 | 342 | #define E_RATES 1 |
343 | #define E_FH 2 | 343 | #define E_FH 2 |
344 | #define E_DS 3 | 344 | #define E_DS 3 |
345 | #define E_CF 4 | 345 | #define E_CF 4 |
346 | #define E_TIM 5 | 346 | #define E_TIM 5 |
347 | #define E_IBSS 6 | 347 | #define E_IBSS 6 |
348 | #define E_CHALLENGE 16 | 348 | #define E_CHALLENGE 16 |
349 | #define E_CISCO 133 | 349 | #define E_CISCO 133 |
350 | 350 | ||
351 | 351 | ||
352 | struct ieee_802_11_mgmt_body { | 352 | struct ieee_802_11_mgmt_body { |
353 | u_int8_t timestamp[8]; | 353 | u_int8_t timestamp[8]; |
354 | u_int16_t beacon_interval; | 354 | u_int16_t beacon_interval; |
355 | // u_int16_t listen_interval; | 355 | // u_int16_t listen_interval; |
356 | // u_int16_t status_code; | 356 | // u_int16_t status_code; |
357 | // u_int16_t aid; | 357 | // u_int16_t aid; |
358 | // u_char ap[6]; | 358 | // u_char ap[6]; |
359 | // u_int16_treason_code; | 359 | // u_int16_treason_code; |
360 | // u_int16_tauth_alg; | 360 | // u_int16_tauth_alg; |
361 | // u_int16_tauth_trans_seq_num; | 361 | // u_int16_tauth_trans_seq_num; |
362 | // struct challenge_t challenge; | 362 | // struct challenge_t challenge; |
363 | u_int16_t capability_info; | 363 | u_int16_t capability_info; |
364 | // struct ssid_tssid; | 364 | // struct ssid_tssid; |
365 | // struct rates_t rates; | 365 | // struct rates_t rates; |
366 | // struct ds_tds; | 366 | // struct ds_tds; |
367 | // struct cf_tcf; | 367 | // struct cf_tcf; |
368 | // struct fh_tfh; | 368 | // struct fh_tfh; |
369 | // struct tim_ttim; | 369 | // struct tim_ttim; |
370 | }; | 370 | }; |
371 | 371 | ||
372 | /* a 802.11 value */ | ||
373 | struct val_80211 { | ||
374 | unsigned int did; | ||
375 | unsigned short status, len; | ||
376 | unsigned int data; | ||
377 | }; | ||
378 | |||
379 | /* header attached during prism monitor mode */ | ||
380 | struct prism_hdr { | ||
381 | unsigned int msgcode, msglen; | ||
382 | char devname[16]; | ||
383 | struct val_80211 hosttime, mactime, channel, rssi, sq, signal, | ||
384 | noise, rate, istx, frmlen; | ||
385 | }; | ||
372 | 386 | ||
373 | struct ieee_802_11_data_body { | 387 | struct ieee_802_11_data_body { |
374 | //FIXME | 388 | //FIXME |
375 | }; | 389 | }; |
376 | 390 | ||
377 | struct ieee_802_11_control_body { | 391 | struct ieee_802_11_control_body { |
378 | //FIXME | 392 | //FIXME |
379 | }; | 393 | }; |
380 | 394 | ||
381 | struct ctrl_rts_t { | 395 | struct ctrl_rts_t { |
382 | u_int16_tfc; | 396 | u_int16_tfc; |
383 | u_int16_tduration; | 397 | u_int16_tduration; |
384 | u_int8_tra[6]; | 398 | u_int8_tra[6]; |
385 | u_int8_tta[6]; | 399 | u_int8_tta[6]; |
386 | u_int8_tfcs[4]; | 400 | u_int8_tfcs[4]; |
387 | }; | 401 | }; |
388 | 402 | ||
389 | #define CTRL_RTS_LEN(2+2+6+6+4) | 403 | #define CTRL_RTS_LEN(2+2+6+6+4) |
390 | 404 | ||
391 | struct ctrl_cts_t { | 405 | struct ctrl_cts_t { |
392 | u_int16_tfc; | 406 | u_int16_tfc; |
393 | u_int16_tduration; | 407 | u_int16_tduration; |
394 | u_int8_tra[6]; | 408 | u_int8_tra[6]; |
395 | u_int8_tfcs[4]; | 409 | u_int8_tfcs[4]; |
396 | }; | 410 | }; |
397 | 411 | ||
398 | #define CTRL_CTS_LEN(2+2+6+4) | 412 | #define CTRL_CTS_LEN(2+2+6+4) |
399 | 413 | ||
400 | struct ctrl_ack_t { | 414 | struct ctrl_ack_t { |
401 | u_int16_tfc; | 415 | u_int16_tfc; |
402 | u_int16_tduration; | 416 | u_int16_tduration; |
403 | u_int8_tra[6]; | 417 | u_int8_tra[6]; |
404 | u_int8_tfcs[4]; | 418 | u_int8_tfcs[4]; |
405 | }; | 419 | }; |
406 | 420 | ||
407 | #define CTRL_ACK_LEN(2+2+6+4) | 421 | #define CTRL_ACK_LEN(2+2+6+4) |
408 | 422 | ||
409 | struct ctrl_ps_poll_t { | 423 | struct ctrl_ps_poll_t { |
410 | u_int16_tfc; | 424 | u_int16_tfc; |
411 | u_int16_taid; | 425 | u_int16_taid; |
412 | u_int8_tbssid[6]; | 426 | u_int8_tbssid[6]; |
413 | u_int8_tta[6]; | 427 | u_int8_tta[6]; |
414 | u_int8_tfcs[4]; | 428 | u_int8_tfcs[4]; |
415 | }; | 429 | }; |
416 | 430 | ||
417 | #define CTRL_PS_POLL_LEN(2+2+6+6+4) | 431 | #define CTRL_PS_POLL_LEN(2+2+6+6+4) |
418 | 432 | ||
419 | struct ctrl_end_t { | 433 | struct ctrl_end_t { |