123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- #ifndef MAC_MLME_DISASSOCIATE_H_INCLUDED
- #define MAC_MLME_DISASSOCIATE_H_INCLUDED
- #if (CONFIG_DISASSOCIATE_ENABLED == 1)
- #include <stdint.h>
- #include <stdbool.h>
- #include "mac_common.h"
- #include "mac_task_scheduler.h"
- typedef enum
- {
-
- MAC_COORD_REASON = 1,
-
- MAC_DEV_REASON = 2
- } mac_disassociate_reason_t;
- typedef struct
- {
- mac_status_t status;
- mac_addr_mode_t device_addr_mode;
- uint16_t device_pan_id;
- mac_addr_t device_address;
- } mlme_disassociate_conf_t;
- typedef struct
- {
-
- mac_abstract_req_t service;
-
- mlme_disassociate_conf_t confirm;
- mac_addr_mode_t device_addr_mode;
- uint16_t device_pan_id;
- mac_addr_t device_address;
- mac_disassociate_reason_t disassociate_reason;
- bool tx_indirect;
- #if (CONFIG_SECURE == 1)
- uint8_t security_level;
- uint8_t key_id_mode;
- uint64_t key_source;
- uint8_t key_index;
- #endif
- } mlme_disassociate_req_t;
- typedef struct
- {
- uint64_t device_address;
- mac_disassociate_reason_t disassociate_reason;
- #if (CONFIG_SECURE == 1)
- uint8_t security_level;
- uint8_t key_id_mode;
- uint64_t key_source;
- uint8_t key_index;
- #endif
- } mlme_disassociate_ind_t;
- typedef void (* mlme_disassociate_conf_cb_t)(mlme_disassociate_conf_t *);
- void mlme_disassociate_req(mlme_disassociate_req_t * req, mlme_disassociate_conf_cb_t conf_cb);
- extern void mlme_disassociate_ind(mlme_disassociate_ind_t * ind);
- #endif
- #endif
|