123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- #ifndef MAC_MLME_SCAN_H_INCLUDED
- #define MAC_MLME_SCAN_H_INCLUDED
- #include <stdint.h>
- #include "mac_common.h"
- #include "mac_mlme_beacon_notify.h"
- #include "mac_task_scheduler.h"
- typedef enum
- {
- ED_SCAN = 0,
- ACTIVE_SCAN,
- PASSIVE_SCAN,
- ORPHAN_SCAN
- } mac_scan_type_t;
- typedef struct
- {
- mac_status_t status;
- mac_scan_type_t scan_type;
- #ifdef CONFIG_SUB_GHZ
- uint8_t channel_page;
- #endif
- uint32_t unscanned_channels;
- uint8_t result_list_size;
- uint8_t * energy_detect_list;
- mac_pan_descriptor_t * pan_descriptor_list;
- } mlme_scan_conf_t;
- typedef struct
- {
-
- mac_abstract_req_t service;
-
- mlme_scan_conf_t confirm;
- mac_scan_type_t scan_type;
- uint32_t scan_channels;
- uint8_t scan_duration;
- uint8_t pan_descriptors_buf_size;
- mac_pan_descriptor_t * pan_descriptors_buf;
- uint8_t energy_detect_buf_size;
- uint8_t * energy_detect_buf;
- #ifdef CONFIG_SUB_GHZ
- uint8_t channel_page;
- #endif
- #if (CONFIG_SECURE == 1)
- uint8_t security_level;
- uint8_t key_id_mode;
- uint64_t key_source;
- uint8_t key_index;
- #endif
- } mlme_scan_req_t;
- typedef void (* mlme_scan_conf_cb_t)(mlme_scan_conf_t *);
- void mlme_scan_req(mlme_scan_req_t * req, mlme_scan_conf_cb_t conf_cb);
- #endif
|