Cascoda SDK
Cascoda SDK for building software to run with CA-821x transceivers
Loading...
Searching...
No Matches
mac_messages.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019, Cascoda Ltd.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * 3. Neither the name of the copyright holder nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
27 */
40#ifndef MAC_MESSAGES_H
41#define MAC_MESSAGES_H
42
43#include <stdint.h>
44
45#include "ca821x_config.h"
46#include "ca821x_error.h"
47#include "hwme_tdme.h"
48#include "ieee_802_15_4.h"
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
54#define MAX_HWME_ATTRIBUTE_SIZE 16
55#define MAX_TDME_ATTRIBUTE_SIZE 2
57/******************************************************************************/
58/****** Structures used in the MAC MCPS/MLME Procedure Definitions ******/
59/******************************************************************************/
60
63{
64 uint8_t AddressMode;
65 uint8_t PANId[2];
66 uint8_t Address[8];
67};
68
71{
72 uint8_t Address[2];
73};
74
76struct ExtAddr
77{
78 uint8_t Address[8];
79};
80
82struct MacAddr
83{
84 uint8_t AddressMode;
85 uint8_t Address[8];
86};
87
89struct SecSpec
90{
91 uint8_t SecurityLevel;
92 uint8_t KeyIdMode;
93 uint8_t KeySource[8];
94 uint8_t KeyIndex;
95};
96
99{
102 uint8_t SuperframeSpec[2];
103 uint8_t GTSPermit;
104 uint8_t LinkQuality;
105 uint8_t TimeStamp[4];
108};
109
110// MCPS
111#if CASCODA_CA_VER >= 8212
114{
115 uint8_t SrcAddrMode;
116 struct FullAddr Dst;
117 uint8_t HeaderIELength;
118 uint8_t PayloadIELength;
119 uint8_t MsduLength;
120 uint8_t MsduHandle;
121 uint8_t TxOptions[2];
122 uint8_t Data[MAX_DATA_SIZE];
123};
124#else
127{
128 uint8_t SrcAddrMode;
129 struct FullAddr Dst;
130 uint8_t MsduLength;
131 uint8_t MsduHandle;
132 uint8_t TxOptions;
134};
135#endif // CASCODA_CA_VER >= 8212
136
137// PCPS
138#if CASCODA_CA_VER >= 8212
140struct PCPS_DATA_request_pset
141{
142 uint8_t PsduHandle;
143 uint8_t TxOpts;
144 /* 6 bytes (Optional: SCH timestamp and period) + 1 byte PsduLength + aMaxPHYPacketSize bytes Psdu */
145 uint8_t VariableData[7 + aMaxPHYPacketSize];
146};
147#elif CASCODA_CA_VER == 8211
149struct PCPS_DATA_request_pset
150{
151 uint8_t PsduHandle;
152 uint8_t TxOpts;
153 uint8_t PsduLength;
154 uint8_t Psdu[aMaxPHYPacketSize];
155};
156#endif // CASCODA_CA_VER >= 8212
157
158// MLME
159
168
177
186
193
203
212
215{
217#if CASCODA_CA_VER == 8210
218 uint8_t Interval[2]; /* polling interval in 0.1 seconds res */
219 /* 0 means poll once */
220 /* 0xFFFF means stop polling */
221#endif // CASCODA_CA_VER == 8210
222#if CASCODA_CA_VER >= 8212
223 uint8_t FrameVersion; /* Determines if the Data request frame to be sent is a 2015 frame (FrameVersion set to 1) */
224#endif // CASCODA_CA_VER >= 8212
226};
227
228#if CASCODA_CA_VER >= 8212
229struct MLME_POLL_confirm_pset
230{
231 uint8_t Status;
232};
233#endif // CASCODA_CA_VER >= 8212
234
237{
238 uint8_t DeferPermit;
239 uint8_t RxOnTime[4];
240 uint8_t RxOnDuration[4];
241};
242
245{
246 uint8_t ScanType;
247 uint8_t ScanChannels[4];
250};
251
260
263{
264 uint8_t Status;
267};
268
282
283// HWME
284
292
295{
296 uint8_t HWAttribute;
297};
298
301{
302 uint8_t HAESMode;
303 uint8_t HAESData[16];
304};
305
306// TDME
307
310{
311 uint8_t SFRPage;
312 uint8_t SFRAddress;
313 uint8_t SFRValue;
314};
315
318{
319 uint8_t SFRPage;
320 uint8_t SFRAddress;
321};
322
325{
326 uint8_t TestMode;
327};
328
336
345
348{
349 uint8_t TestChannel;
350 uint8_t TestRxTxb;
351};
352
353// MCPS
354
357{
358 uint8_t MsduHandle;
359 uint8_t Status;
360 uint8_t TimeStamp[4];
361#if CASCODA_CA_VER >= 8211
362 uint8_t FramePending;
363#endif // CASCODA_CA_VER >= 8211
364#if CASCODA_CA_VER >= 8212
365 uint8_t FailCount_NoAck;
366 uint8_t FailCount_CsmaCa;
367 uint8_t Channel;
368#endif // CASCODA_CA_VER >= 8212
369};
370
373{
374 uint8_t MsduHandle;
375 uint8_t Status;
376};
377
384{
385 struct FullAddr Src;
386 struct FullAddr Dst;
387#if CASCODA_CA_VER >= 8212
388 uint8_t HeaderIELength;
389 uint8_t PayloadIELength;
390#endif // CASCODA_CA_VER >= 8212
391 uint8_t MsduLength;
393 uint8_t DSN;
394 uint8_t TimeStamp[4];
395#if CASCODA_CA_VER >= 8211
396 uint8_t FramePending;
397#endif // CASCODA_CA_VER >= 8212
398#if CASCODA_CA_VER >= 8212
399 uint8_t Data[MAX_DATA_SIZE]; /* IEs and MSDU and Security are concatenated into Data */
400#else
401 uint8_t Msdu[MAX_DATA_SIZE]; /* Security is concatenated here */
402#endif // CASCODA_CA_VER >= 8212
403};
404
405#if CASCODA_CA_VER >= 8212
407struct PCPS_DATA_indication_pset
408{
409 uint8_t CS;
410 uint8_t ED;
411 uint8_t Timestamp[4];
412 uint8_t PsduLength;
413 uint8_t Psdu[aMaxPHYPacketSize];
414};
415
417struct PCPS_DATA_confirm_pset
418{
419 uint8_t PsduHandle;
420 uint8_t Status;
421 uint8_t TimeStamp[4];
422 uint8_t FramePending;
423 uint8_t FailCount_NoAck;
424 uint8_t FailCount_CsmaCa;
425};
426
428struct MLME_IE_NOTIFY_indication_pset
429{
430 struct FullAddr Src;
431 struct FullAddr Dst;
432 uint8_t HeaderIELength;
433 uint8_t PayloadIELength;
434 uint8_t FrameType;
435 uint8_t CommandID;
436 uint8_t VariableData[MAX_DATA_SIZE];
437};
438#elif CASCODA_CA_VER == 8211
440struct PCPS_DATA_indication_pset
441{
442 uint8_t CS;
443 uint8_t ED;
444 uint8_t PsduLength;
445 uint8_t Psdu[aMaxPHYPacketSize];
446};
447
449struct PCPS_DATA_confirm_pset
450{
451 uint8_t PsduHandle;
452 uint8_t Status;
453 uint8_t FramePending;
454};
455#endif // CASCODA_CA_VER >= 8212
456
457// MLME
458
466
474
481
484{
485 uint8_t DevAddr[8];
486 uint8_t Reason;
488};
489
492{
493 uint8_t BSN;
497 /* u8_t PendAddrSpec; */
498 /* variable Address List */
499 /* variable Beacon payload */
500};
501
503#define DEFAULT_RESULT_LIST_SIZE (128)
504
514
517{
518 uint8_t PANId[2];
519 uint8_t SrcAddrMode;
520 uint8_t SrcAddr[8];
521 uint8_t DstAddrMode;
522 uint8_t DstAddr[8];
523 uint8_t Status;
525};
526
533
542
544{
545 struct FullAddr Src;
546 struct FullAddr Dst;
547 uint8_t LQI;
548 uint8_t DSN;
549#if CASCODA_CA_VER >= 8212
550 uint8_t Timestamp[4];
551#endif // CASCODA_CA_VER >= 8212
553};
554
555// HWME
556
559{
560 uint8_t Status;
561 uint8_t HWAttribute;
562};
563
572
575{
576 uint8_t Status;
577 uint8_t HAESData[16];
578};
579
585
586// TDME
587
590{
591 uint8_t Status;
592 uint8_t SFRPage;
593 uint8_t SFRAddress;
594};
595
598{
599 uint8_t Status;
600 uint8_t SFRPage;
601 uint8_t SFRAddress;
602 uint8_t SFRValue;
603};
604
607{
608 uint8_t Status;
609 uint8_t TestMode;
610};
611
614{
615 uint8_t Status;
616 uint8_t TDAttribute;
617};
618
627
638
647
650{
651 uint8_t ErrorCode;
652};
653
664
665/******************************************************************************/
666/****** Security PIB Table Size Definitions ******/
667/******************************************************************************/
669{
670#if CASCODA_CA_VER >= 8212
671 KEY_TABLE_SIZE = 6,
672 LOOKUP_DESC_TABLE_SIZE = 10,
673 DEVICE_TABLE_SIZE = 150,
674 SECURITY_LEVEL_TABLE_SIZE = 10,
675 COMMAND_ID_SECURITY_LEVEL_TABLE_SIZE = 10,
676 IE_SECURITY_LEVEL_TABLE_SIZE = 10,
677 SECURITY_LEVEL_EXEMPTION_TABLE_SIZE = 4,
678#elif CASCODA_CA_VER == 8211
679 KEY_TABLE_SIZE = 4,
680 LOOKUP_DESC_TABLE_SIZE = 5,
681 KEY_DEVICE_TABLE_SIZE = 32,
682 KEY_USAGE_TABLE_SIZE = 12,
683 SECURITY_LEVEL_TABLE_SIZE = 2,
684 DEVICE_TABLE_SIZE = 32,
685#elif CASCODA_CA_VER == 8210
686 KEY_TABLE_SIZE = 4,
687 LOOKUP_DESC_TABLE_SIZE = 5,
688 KEY_DEVICE_TABLE_SIZE = 10,
689 KEY_USAGE_TABLE_SIZE = 12,
690 SECURITY_LEVEL_TABLE_SIZE = 2,
691 DEVICE_TABLE_SIZE = 10,
692#else
693#error "Security table sizes undefined"
694#endif // CASCODA_CA_VER >= 8212
695};
696
697/*******************************************************************************
698 * Structures used by security PIB attributes
699 ******************************************************************************/
700
701#if CASCODA_CA_VER >= 8212
702struct DeviceTable
703{
704 uint8_t NumEntries;
705 struct DeviceTableShortPan
706 {
707 uint8_t ShortAddr[2];
708 uint8_t PANId[2];
709 } ShortPan[DEVICE_TABLE_SIZE];
710 struct DeviceTableExtAddr
711 {
712 uint8_t ExtAddr[8];
713 } ExtAddr[DEVICE_TABLE_SIZE];
714 struct
715 {
716 uint8_t FrameCounter[4];
717 uint8_t EnhAckFCOffset;
718 uint8_t KeyMask : 7;
719 uint8_t ThreadKeyIndexEnabled : 1;
720 } Entry[DEVICE_TABLE_SIZE];
721};
722
723struct KeyTable
724{
725 uint8_t NumEntries;
726 struct
727 {
728 uint8_t Key[16];
729 uint8_t ThreadKeyIDMode2 : 1;
730 } Entry[KEY_TABLE_SIZE];
731};
732
733struct KeyLookupTable
734{
735 uint8_t NumEntries;
736 struct LookupTableData
737 {
738 uint8_t KeyIdMode;
739 uint8_t LookupData[9];
740 } LookupData[LOOKUP_DESC_TABLE_SIZE];
741 struct
742 {
743 uint8_t KeyTableIndex;
744 } Entry[LOOKUP_DESC_TABLE_SIZE];
745};
746
747struct SecurityLevelTable
748{
749 uint8_t NumEntries;
750 struct
751 {
752 uint8_t FrameTypeMask;
753 uint8_t SecLevelMask;
754 uint8_t KeyMask;
755 } Entry[SECURITY_LEVEL_TABLE_SIZE];
756};
757
758struct CommandIdSecurityLevelTable
759{
760 uint8_t NumEntries;
761 uint8_t CommandId[COMMAND_ID_SECURITY_LEVEL_TABLE_SIZE];
762 struct
763 {
764 uint8_t SecLevelMask;
765 uint8_t KeyMask;
766 } Entry[COMMAND_ID_SECURITY_LEVEL_TABLE_SIZE];
767};
768
769struct IESecurityLevelTable
770{
771 uint8_t NumEntries;
772 uint8_t IEId[IE_SECURITY_LEVEL_TABLE_SIZE];
773 struct
774 {
775 uint8_t FrameTypeMask;
776 uint8_t SecLevelMask;
777 uint8_t KeyMask;
778 } Entry[IE_SECURITY_LEVEL_TABLE_SIZE];
779};
780
781struct SecurityLevelExemptionTable
782{
783 uint8_t NumEntries;
784 struct
785 {
786 uint8_t FrameTypeMask;
787 uint8_t CommandIdMask;
788 uint8_t SecLevelMask;
789 uint8_t KeyMask;
790 uint8_t DeviceTableIndex;
791 } Entry[SECURITY_LEVEL_EXEMPTION_TABLE_SIZE];
792};
793
794// MLME Get/Set representations of security table entries
795struct DeviceTablePib
796{
797 uint8_t ShortAddr[2];
798 uint8_t PANId[2];
799 uint8_t ExtAddr[8];
800 uint8_t FrameCounter[4];
801 uint8_t EnhAckFCOffset;
802 uint8_t KeyMask;
803 uint8_t ThreadKeyIndexEnabled;
804};
805
806struct KeyTablePib
807{
808 uint8_t Key[16];
809 uint8_t ThreadKeyIDMode2;
810};
811
812struct KeyLookupTablePib
813{
814 uint8_t KeyIdMode;
815 uint8_t LookupData[9];
816 uint8_t KeyTableIndex;
817};
818
819struct SecurityLevelTablePib
820{
821 uint8_t FrameTypeMask;
822 uint8_t SecLevelMask;
823 uint8_t KeyMask;
824};
825
826struct CommandIdSecurityLevelTablePib
827{
828 uint8_t CommandId;
829 uint8_t SecLevelMask;
830 uint8_t KeyMask;
831};
832
833struct IESecurityLevelTablePib
834{
835 uint8_t IEId;
836 uint8_t FrameTypeMask;
837 uint8_t SecLevelMask;
838 uint8_t KeyMask;
839};
840
841struct SecurityLevelExemptionTablePib
842{
843 uint8_t FrameTypeMask;
844 uint8_t CommandIdMask;
845 uint8_t SecLevelMask;
846 uint8_t KeyMask;
847 uint8_t DeviceTableIndex;
848};
849#else
851{
852 uint8_t LookupData[9];
854};
855
857{
858 uint8_t PANId[2];
859 uint8_t ShortAddress[2];
860 uint8_t ExtAddress[8];
861 uint8_t FrameCounter[4];
862 uint8_t Exempt;
863};
864
872
874{
875 // uint8_t DeviceDescriptorHandle : 6;
876 // uint8_t UniqueDevice : 1;
877 // uint8_t Blacklisted : 1;
878 uint8_t Flags;
879};
880
883{
887#if CASCODA_CA_VER == 8211
888 KDD_NewMask = 0x20,
889#endif // CASCODA_CA_VER == 8211
890};
891
893{
894 // uint8_t FrameType : 2;
895 // uint8_t CommandFrameIdentifier : 4;
896 uint8_t Flags;
897};
898
906
914
916{
918 struct M_KeyIdLookupDesc KeyIdLookupList[LOOKUP_DESC_TABLE_SIZE];
919 struct M_KeyDeviceDesc KeyDeviceList[KEY_DEVICE_TABLE_SIZE];
920 struct M_KeyUsageDesc KeyUsageList[KEY_USAGE_TABLE_SIZE];
921};
922#endif // CASCODA_CA_VER >= 8212
923
924/***************************************************************************/
927struct ca821x_dev;
928
930 struct ca821x_dev *pDeviceRef);
932 struct ca821x_dev *pDeviceRef);
934 struct ca821x_dev *pDeviceRef);
936 struct ca821x_dev *pDeviceRef);
938 struct ca821x_dev *pDeviceRef);
940 struct ca821x_dev *pDeviceRef);
942 struct ca821x_dev *pDeviceRef);
944 struct ca821x_dev *pDeviceRef);
946 struct ca821x_dev *pDeviceRef);
948 struct ca821x_dev *pDeviceRef);
949#if CASCODA_CA_VER >= 8212
950typedef ca_error (*MLME_POLL_confirm_callback)(struct MLME_POLL_confirm_pset *params, struct ca821x_dev *pDeviceRef);
951typedef ca_error (*MLME_IE_NOTIFY_indication_callback)(struct MLME_IE_NOTIFY_indication_pset *params,
952 struct ca821x_dev *pDeviceRef);
953#endif // CASCODA_CA_VER >= 8212
954typedef ca_error (*MLME_SCAN_confirm_callback)(struct MLME_SCAN_confirm_pset *params, struct ca821x_dev *pDeviceRef);
956 struct ca821x_dev *pDeviceRef);
957typedef ca_error (*MCPS_DATA_confirm_callback)(struct MCPS_DATA_confirm_pset *params, struct ca821x_dev *pDeviceRef);
958#if CASCODA_CA_VER >= 8211
959typedef ca_error (*PCPS_DATA_indication_callback)(struct PCPS_DATA_indication_pset *params,
960 struct ca821x_dev *pDeviceRef);
961typedef ca_error (*PCPS_DATA_confirm_callback)(struct PCPS_DATA_confirm_pset *params, struct ca821x_dev *pDeviceRef);
962#endif // CASCODA_CA_VER >= 8211
964 struct ca821x_dev *pDeviceRef);
966 struct ca821x_dev *pDeviceRef);
968 struct ca821x_dev *pDeviceRef);
969typedef ca_error (*ca821x_generic_callback)(void *params, struct ca821x_dev *pDeviceRef);
970
1000
1001/***************************************************************************/
1017{
1018 uint8_t CommandId;
1019 uint8_t Length;
1020 union
1021 {
1022 /* MAC MCPS / MLME */
1048#if CASCODA_CA_VER >= 8211
1049 struct MLME_POLL_indication_pset PollInd;
1050#if CASCODA_CA_VER >= 8212
1051 struct MLME_POLL_confirm_pset PollCnf;
1052 struct MLME_IE_NOTIFY_indication_pset IENotifyInd;
1053#endif // CASCODA_CA_VER >= 8212
1054 /* PCPS */
1055 struct PCPS_DATA_request_pset PhyDataReq;
1056 struct PCPS_DATA_confirm_pset PhyDataCnf;
1057 struct PCPS_DATA_indication_pset PhyDataInd;
1058#endif // CASCODA_CA_VER >= 8211
1059 /* HWME */
1067 /* TDME */
1083 /* Common */
1084 uint8_t u8Param;
1085 uint8_t Status;
1086 uint8_t Payload[254];
1088};
1089
1090/******************************************************************************/
1091/****** SPI Command IDs ******/
1092/******************************************************************************/
1094{
1096 SPI_S2M = 0x20,
1097 SPI_SYN = 0x40,
1099};
1100
1103{
1104 //CA821x control bytes
1105 SPI_IDLE = 0xFF,
1106 SPI_NACK = 0xF0,
1107 // MAC MCPS
1113// MAC PCPS
1114#if CASCODA_CA_VER >= 8211
1115 SPI_PCPS_DATA_REQUEST = 0x07,
1116 SPI_PCPS_DATA_CONFIRM = 0x38,
1117 SPI_PCPS_DATA_INDICATION = 0x28,
1118#endif // CASCODA_CA_VER >= 8211
1119 // MAC MLME
1131#if CASCODA_CA_VER >= 8212
1132 SPI_MLME_POLL_REQUEST = 0x32,
1133#else
1135#endif // CASCODA_CA_VER >= 8212
1150#if CASCODA_CA_VER >= 8212
1151 SPI_MLME_POLL_CONFIRM = 0x33,
1152 SPI_MLME_IE_NOTIFY_INDICATION = 0x22,
1153#else
1155#endif // CASCODA_CA_VER >= 8212
1156#if CASCODA_CA_VER >= 8211
1157 SPI_MLME_POLL_INDICATION = 0x31,
1158#endif // CASCODA_CA_VER >= 8211
1159 // HWME
1167 // TDME
1183};
1184
1185#ifdef __cplusplus
1186}
1187#endif
1188
1193#endif // MAC_MESSAGES_H
Global error declarations for use across the Cascoda SDK.
ca_error
Cascoda error type.
Definition ca821x_error.h:51
@ aMaxPHYPacketSize
Definition ieee_802_15_4.h:52
@ MAX_ATTRIBUTE_SIZE
Definition ieee_802_15_4.h:65
@ MAX_DATA_SIZE
Definition ieee_802_15_4.h:69
kud_mask
Masks for M_KeyUsageDesc Flags.
Definition mac_messages.h:901
ca_error(* ca821x_generic_callback)(void *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:969
ca_error(* MLME_SYNC_LOSS_indication_callback)(struct MLME_SYNC_LOSS_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:945
SecurityPibSize
Definition mac_messages.h:669
ca_error(* TDME_RXPKT_indication_callback)(struct TDME_RXPKT_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:963
ca_error(* MLME_ASSOCIATE_indication_callback)(struct MLME_ASSOCIATE_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:931
ca_error(* TDME_ERROR_indication_callback)(struct TDME_ERROR_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:967
ca_error(* MCPS_DATA_confirm_callback)(struct MCPS_DATA_confirm_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:957
kdd_mask
Masks for M_KeyDeviceDesc Flags.
Definition mac_messages.h:883
ca_error(* MCPS_DATA_indication_callback)(struct MCPS_DATA_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:955
ca_error(* MLME_COMM_STATUS_indication_callback)(struct MLME_COMM_STATUS_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:943
ca_error(* HWME_WAKEUP_indication_callback)(struct HWME_WAKEUP_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:929
ca_error(* MLME_DISASSOCIATE_indication_callback)(struct MLME_DISASSOCIATE_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:935
ca_error(* TDME_EDDET_indication_callback)(struct TDME_EDDET_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:965
#define MAX_HWME_ATTRIBUTE_SIZE
Longest hwme attribute in octets.
Definition mac_messages.h:54
#define MAX_TDME_ATTRIBUTE_SIZE
Longest tdme attribute in octets.
Definition mac_messages.h:55
ca_error(* MLME_POLL_indication_callback)(struct MLME_POLL_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:947
#define DEFAULT_RESULT_LIST_SIZE
Default size of scan results list.
Definition mac_messages.h:503
ca_error(* MLME_BEACON_NOTIFY_indication_callback)(struct MLME_BEACON_NOTIFY_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:939
ca_error(* MLME_ORPHAN_indication_callback)(struct MLME_ORPHAN_indication_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:941
ca_error(* MLME_SCAN_confirm_callback)(struct MLME_SCAN_confirm_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:954
ca_error(* MLME_DISASSOCIATE_confirm_callback)(struct MLME_DISASSOCIATE_confirm_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:937
spi_command_masks
Definition mac_messages.h:1094
ca_error(* MLME_ASSOCIATE_confirm_callback)(struct MLME_ASSOCIATE_confirm_pset *params, struct ca821x_dev *pDeviceRef)
Definition mac_messages.h:933
spi_command_ids
SPI Command IDs.
Definition mac_messages.h:1103
@ KUD_CommandFrameIdentifierMask
Key Usage Descriptor frame type mask.
Definition mac_messages.h:903
@ KUD_FrameTypeMask
Definition mac_messages.h:902
@ KUD_CommandFrameIdentifierShift
Key Usage Descriptor command frame identifier mask.
Definition mac_messages.h:904
@ KDD_UniqueDeviceMask
Key Device Descriptor is blacklisted mask.
Definition mac_messages.h:886
@ KDD_BlacklistedMask
Key Device Descriptor handle mask.
Definition mac_messages.h:885
@ KDD_DeviceDescHandleMask
Definition mac_messages.h:884
@ SPI_MID_MASK
Definition mac_messages.h:1095
@ SPI_INVALID
Bit indicating a Synchronous Message.
Definition mac_messages.h:1098
@ SPI_SYN
Bit indicating a Confirm or Indication from Slave to Master.
Definition mac_messages.h:1097
@ SPI_S2M
Mask to derive the Message ID Code from the Command ID.
Definition mac_messages.h:1096
@ SPI_MCPS_DATA_REQUEST
Definition mac_messages.h:1108
@ SPI_HWME_HAES_CONFIRM
Definition mac_messages.h:1165
@ SPI_TDME_SETSFR_CONFIRM
Definition mac_messages.h:1174
@ SPI_MCPS_DATA_CONFIRM
Definition mac_messages.h:1111
@ SPI_HWME_SET_REQUEST
Definition mac_messages.h:1160
@ SPI_MCPS_DATA_INDICATION
Definition mac_messages.h:1110
@ SPI_TDME_EDDET_INDICATION
Definition mac_messages.h:1180
@ SPI_MLME_SYNC_LOSS_INDICATION
Definition mac_messages.h:1149
@ SPI_TDME_TXPKT_CONFIRM
Definition mac_messages.h:1178
@ SPI_NACK
Present on SPI when buffer full or busy - resend Request.
Definition mac_messages.h:1106
@ SPI_MLME_DISASSOCIATE_INDICATION
Definition mac_messages.h:1138
@ SPI_MLME_DISASSOCIATE_CONFIRM
Definition mac_messages.h:1139
@ SPI_MLME_POLL_CONFIRM
Definition mac_messages.h:1154
@ SPI_TDME_TXPKT_REQUEST
Definition mac_messages.h:1172
@ SPI_MLME_ORPHAN_RESPONSE
Definition mac_messages.h:1124
@ SPI_IDLE
Present on SPI when stream is idle - No Data.
Definition mac_messages.h:1105
@ SPI_HWME_GET_CONFIRM
Definition mac_messages.h:1164
@ SPI_MLME_SCAN_REQUEST
Definition mac_messages.h:1127
@ SPI_MLME_GET_CONFIRM
Definition mac_messages.h:1141
@ SPI_MLME_START_REQUEST
Definition mac_messages.h:1129
@ SPI_MLME_GET_REQUEST
Definition mac_messages.h:1123
@ SPI_TDME_TESTMODE_REQUEST
Definition mac_messages.h:1170
@ SPI_TDME_RXPKT_INDICATION
Definition mac_messages.h:1179
@ SPI_MLME_COMM_STATUS_INDICATION
Definition mac_messages.h:1146
@ SPI_MLME_ASSOCIATE_REQUEST
Definition mac_messages.h:1120
@ SPI_MLME_DISASSOCIATE_REQUEST
Definition mac_messages.h:1122
@ SPI_MLME_SET_REQUEST
Definition mac_messages.h:1128
@ SPI_MLME_RX_ENABLE_REQUEST
Definition mac_messages.h:1126
@ SPI_MLME_SCAN_CONFIRM
Definition mac_messages.h:1145
@ SPI_MLME_RX_ENABLE_CONFIRM
Definition mac_messages.h:1144
@ SPI_TDME_TESTMODE_CONFIRM
Definition mac_messages.h:1176
@ SPI_TDME_ERROR_INDICATION
Definition mac_messages.h:1181
@ SPI_TDME_LOTLK_REQUEST
Definition mac_messages.h:1173
@ SPI_TDME_SETSFR_REQUEST
Definition mac_messages.h:1168
@ SPI_HWME_GET_REQUEST
Definition mac_messages.h:1161
@ SPI_MLME_ASSOCIATE_INDICATION
Definition mac_messages.h:1136
@ SPI_MLME_SET_CONFIRM
Definition mac_messages.h:1147
@ SPI_MLME_RESET_REQUEST
Definition mac_messages.h:1125
@ SPI_HWME_SET_CONFIRM
Definition mac_messages.h:1163
@ SPI_MLME_ASSOCIATE_RESPONSE
Definition mac_messages.h:1121
@ SPI_MCPS_PURGE_CONFIRM
Definition mac_messages.h:1112
@ SPI_MLME_POLL_REQUEST
Definition mac_messages.h:1134
@ SPI_MLME_ASSOCIATE_CONFIRM
Definition mac_messages.h:1137
@ SPI_MCPS_PURGE_REQUEST
Definition mac_messages.h:1109
@ SPI_MLME_SYNC_REQUEST
Definition mac_messages.h:1130
@ SPI_MLME_RESET_CONFIRM
Definition mac_messages.h:1143
@ SPI_MLME_START_CONFIRM
Definition mac_messages.h:1148
@ SPI_HWME_WAKEUP_INDICATION
Definition mac_messages.h:1166
@ SPI_TDME_GETSFR_REQUEST
Definition mac_messages.h:1169
@ SPI_TDME_SET_CONFIRM
Definition mac_messages.h:1177
@ SPI_HWME_HAES_REQUEST
Definition mac_messages.h:1162
@ SPI_MLME_ORPHAN_INDICATION
Definition mac_messages.h:1142
@ SPI_MLME_BEACON_NOTIFY_INDICATION
Definition mac_messages.h:1140
@ SPI_TDME_SET_REQUEST
Definition mac_messages.h:1171
@ SPI_TDME_GETSFR_CONFIRM
Definition mac_messages.h:1175
@ SPI_TDME_LOTLK_CONFIRM
Definition mac_messages.h:1182
Definitions relating to HWME and TDME API messages.
802.15.4 specific definitions (status codes, attributes etc).
Contains raw extended address.
Definition mac_messages.h:77
uint8_t Address[8]
Extended Address.
Definition mac_messages.h:78
Contains full addressing information for a node.
Definition mac_messages.h:63
uint8_t PANId[2]
PanId (little-endian)
Definition mac_messages.h:65
uint8_t Address[8]
Short or Extended Address, based on AddressMode (little-endian)
Definition mac_messages.h:66
uint8_t AddressMode
Clarifies the contents of Address (empty, short, extended).
Definition mac_messages.h:64
HWME_GET_confirm parameter set.
Definition mac_messages.h:566
uint8_t HWAttribute
Definition mac_messages.h:568
uint8_t Status
Definition mac_messages.h:567
uint8_t HWAttributeLength
Definition mac_messages.h:569
uint8_t HWAttributeValue[MAX_HWME_ATTRIBUTE_SIZE]
Definition mac_messages.h:570
HWME_GET_request parameter set.
Definition mac_messages.h:295
uint8_t HWAttribute
Definition mac_messages.h:296
HWME_HAES_confirm parameter set.
Definition mac_messages.h:575
uint8_t HAESData[16]
Definition mac_messages.h:577
uint8_t Status
Definition mac_messages.h:576
HWME_HAES_request parameter set.
Definition mac_messages.h:301
uint8_t HAESMode
Definition mac_messages.h:302
uint8_t HAESData[16]
Definition mac_messages.h:303
HWME_SET_confirm parameter set.
Definition mac_messages.h:559
uint8_t HWAttribute
Definition mac_messages.h:561
uint8_t Status
Definition mac_messages.h:560
HWME_SET_request parameter set.
Definition mac_messages.h:287
uint8_t HWAttribute
Definition mac_messages.h:288
uint8_t HWAttributeValue[MAX_HWME_ATTRIBUTE_SIZE]
Definition mac_messages.h:290
uint8_t HWAttributeLength
Definition mac_messages.h:289
HWME_WAKEUP_indication parameter set.
Definition mac_messages.h:582
uint8_t WakeUpCondition
Definition mac_messages.h:583
SPI Message Format Typedef.
Definition mac_messages.h:1017
struct HWME_SET_confirm_pset HWMESetCnf
Definition mac_messages.h:1063
struct TDME_SET_confirm_pset TDMESetCnf
Definition mac_messages.h:1077
struct MCPS_DATA_request_pset DataReq
Definition mac_messages.h:1023
uint8_t Payload[254]
Definition mac_messages.h:1086
struct MLME_RX_ENABLE_request_pset RxEnableReq
Definition mac_messages.h:1030
struct MLME_START_request_pset StartReq
Definition mac_messages.h:1034
struct MLME_ASSOCIATE_indication_pset AssocInd
Definition mac_messages.h:1038
struct MCPS_DATA_indication_pset DataInd
Definition mac_messages.h:1037
uint8_t Status
Definition mac_messages.h:1085
struct TDME_EDDET_indication_pset TDMEEDDetInd
Definition mac_messages.h:1080
struct HWME_GET_confirm_pset HWMEGetCnf
Definition mac_messages.h:1064
struct MLME_ASSOCIATE_confirm_pset AssocCnf
Definition mac_messages.h:1039
struct TDME_GETSFR_request_pset TDMEGetSFRReq
Definition mac_messages.h:1069
struct TDME_SET_request_pset TDMESetReq
Definition mac_messages.h:1071
struct TDME_TXPKT_confirm_pset TDMETxPktCnf
Definition mac_messages.h:1078
uint8_t CommandId
Definition mac_messages.h:1018
struct TDME_GETSFR_confirm_pset TDMEGetSFRCnf
Definition mac_messages.h:1075
struct MCPS_DATA_confirm_pset DataCnf
Definition mac_messages.h:1035
struct HWME_HAES_request_pset HWMEHAESReq
Definition mac_messages.h:1062
struct TDME_RXPKT_indication_pset TDMERxPktInd
Definition mac_messages.h:1079
struct HWME_GET_request_pset HWMEGetReq
Definition mac_messages.h:1061
struct MLME_COMM_STATUS_indication_pset CommStatusInd
Definition mac_messages.h:1045
struct MLME_ORPHAN_response_pset OrphanRsp
Definition mac_messages.h:1028
struct MLME_BEACON_NOTIFY_indication_pset BeaconInd
Definition mac_messages.h:1042
struct TDME_SETSFR_request_pset TDMESetSFRReq
Definition mac_messages.h:1068
struct HWME_HAES_confirm_pset HWMEHAESCnf
Definition mac_messages.h:1065
struct MLME_ORPHAN_indication_pset OrphanInd
Definition mac_messages.h:1047
struct MLME_SET_request_pset SetReq
Definition mac_messages.h:1032
struct MLME_DISASSOCIATE_request_pset DisassocReq
Definition mac_messages.h:1026
struct MLME_SCAN_confirm_pset ScanCnf
Definition mac_messages.h:1044
struct MLME_DISASSOCIATE_indication_pset DisassocInd
Definition mac_messages.h:1040
struct MLME_ASSOCIATE_request_pset AssocReq
Definition mac_messages.h:1024
struct TDME_ERROR_indication_pset TDMEErrorInd
Definition mac_messages.h:1081
struct MLME_GET_confirm_pset GetCnf
Definition mac_messages.h:1043
struct MLME_SET_confirm_pset SetCnf
Definition mac_messages.h:1033
struct MLME_SCAN_request_pset ScanReq
Definition mac_messages.h:1031
struct MLME_GET_request_pset GetReq
Definition mac_messages.h:1027
struct TDME_TESTMODE_request_pset TDMETestModeReq
Definition mac_messages.h:1070
struct MLME_SYNC_LOSS_indication_pset SyncLossInd
Definition mac_messages.h:1046
uint8_t u8Param
Definition mac_messages.h:1084
struct MLME_DISASSOCIATE_confirm_pset DisassocCnf
Definition mac_messages.h:1041
struct TDME_TESTMODE_confirm_pset TDMETestModeCnf
Definition mac_messages.h:1076
struct MLME_POLL_request_pset PollReq
Definition mac_messages.h:1029
struct TDME_LOTLK_confirm_pset TDMELOTlkCnf
Definition mac_messages.h:1082
struct TDME_TXPKT_request_pset TDMETxPktReq
Definition mac_messages.h:1072
uint8_t Length
Definition mac_messages.h:1019
struct MLME_ASSOCIATE_response_pset AssocRsp
Definition mac_messages.h:1025
union MAC_Message::@13 PData
struct HWME_WAKEUP_indication_pset HWMEWakeupInd
Definition mac_messages.h:1066
struct TDME_LOTLK_request_pset TDMELOTlkReq
Definition mac_messages.h:1073
struct MCPS_PURGE_confirm_pset PurgeCnf
Definition mac_messages.h:1036
struct TDME_SETSFR_confirm_pset TDMESetSFRCnf
Definition mac_messages.h:1074
struct HWME_SET_request_pset HWMESetReq
Definition mac_messages.h:1060
MCPS_DATA_confirm parameter set.
Definition mac_messages.h:357
uint8_t TimeStamp[4]
Definition mac_messages.h:360
uint8_t Status
Definition mac_messages.h:359
uint8_t MsduHandle
Definition mac_messages.h:358
MCPS_DATA_indication parameter set.
Definition mac_messages.h:384
struct FullAddr Src
Definition mac_messages.h:385
struct FullAddr Dst
Definition mac_messages.h:386
uint8_t DSN
Definition mac_messages.h:393
uint8_t MpduLinkQuality
Definition mac_messages.h:392
uint8_t TimeStamp[4]
Definition mac_messages.h:394
uint8_t Msdu[MAX_DATA_SIZE]
Definition mac_messages.h:401
uint8_t MsduLength
Definition mac_messages.h:391
MCPS_DATA_request parameter set.
Definition mac_messages.h:127
uint8_t MsduHandle
Handle of Data.
Definition mac_messages.h:131
uint8_t TxOptions
Tx options bit field.
Definition mac_messages.h:132
struct FullAddr Dst
Destination addressing information.
Definition mac_messages.h:129
uint8_t Msdu[MAX_DATA_SIZE]
Data.
Definition mac_messages.h:133
uint8_t MsduLength
Length of Data.
Definition mac_messages.h:130
uint8_t SrcAddrMode
Source addressing mode.
Definition mac_messages.h:128
MCPS_PURGE_confirm parameter set.
Definition mac_messages.h:373
uint8_t MsduHandle
Definition mac_messages.h:374
uint8_t Status
Definition mac_messages.h:375
MLME_ASSOCIATE_confirm parameter set.
Definition mac_messages.h:469
uint8_t Status
Definition mac_messages.h:471
uint8_t AssocShortAddress[2]
Definition mac_messages.h:470
struct SecSpec Security
Definition mac_messages.h:472
MLME_ASSOCIATE_indication parameter set.
Definition mac_messages.h:461
uint8_t DeviceAddress[8]
Definition mac_messages.h:462
uint8_t CapabilityInformation
Definition mac_messages.h:463
struct SecSpec Security
Definition mac_messages.h:464
MLME_ASSOCIATE_request parameter set.
Definition mac_messages.h:162
struct SecSpec Security
Security specification.
Definition mac_messages.h:166
uint8_t LogicalChannel
Channel number.
Definition mac_messages.h:163
struct FullAddr Dst
Destination addressing information.
Definition mac_messages.h:164
uint8_t CapabilityInfo
Bitmap of operational capabilities.
Definition mac_messages.h:165
MLME_ASSOCIATE_response parameter set.
Definition mac_messages.h:171
uint8_t Status
Definition mac_messages.h:174
uint8_t DeviceAddress[8]
IEEE address to give to associating device.
Definition mac_messages.h:172
uint8_t AssocShortAddress[2]
Definition mac_messages.h:173
struct SecSpec Security
Definition mac_messages.h:175
MLME_BEACON_NOTIFY_indication parameter set.
Definition mac_messages.h:492
uint8_t BSN
Definition mac_messages.h:493
MLME_COMM_STATUS_indication parameter set.
Definition mac_messages.h:517
uint8_t Status
Definition mac_messages.h:523
uint8_t SrcAddrMode
Definition mac_messages.h:519
uint8_t DstAddr[8]
Definition mac_messages.h:522
uint8_t SrcAddr[8]
Definition mac_messages.h:520
uint8_t DstAddrMode
Definition mac_messages.h:521
struct SecSpec Security
Definition mac_messages.h:524
uint8_t PANId[2]
Definition mac_messages.h:518
MLME_DISASSOCIATE_confirm parameter set.
Definition mac_messages.h:477
struct FullAddr Address
Definition mac_messages.h:479
uint8_t Status
Definition mac_messages.h:478
MLME_DISASSOCIATE_indication parameter set.
Definition mac_messages.h:484
uint8_t DevAddr[8]
Definition mac_messages.h:485
uint8_t Reason
Definition mac_messages.h:486
struct SecSpec Security
Definition mac_messages.h:487
MLME_DISASSOCIATE_request parameter set.
Definition mac_messages.h:180
struct SecSpec Security
Definition mac_messages.h:184
uint8_t TxIndirect
Definition mac_messages.h:183
uint8_t DisassociateReason
Definition mac_messages.h:182
struct FullAddr DevAddr
Definition mac_messages.h:181
MLME_GET_confirm parameter set.
Definition mac_messages.h:196
uint8_t PIBAttribute
Definition mac_messages.h:198
uint8_t PIBAttributeValue[MAX_ATTRIBUTE_SIZE]
Definition mac_messages.h:201
uint8_t PIBAttributeIndex
Definition mac_messages.h:199
uint8_t Status
Definition mac_messages.h:197
uint8_t PIBAttributeLength
Definition mac_messages.h:200
MLME_GET_request parameter set.
Definition mac_messages.h:189
uint8_t PIBAttribute
Definition mac_messages.h:190
uint8_t PIBAttributeIndex
Definition mac_messages.h:191
MLME_ORPHAN_indication parameter set.
Definition mac_messages.h:529
struct SecSpec Security
Definition mac_messages.h:531
uint8_t OrphanAddr[8]
Definition mac_messages.h:530
MLME_ORPHAN_response parameter set.
Definition mac_messages.h:206
uint8_t AssociatedMember
Definition mac_messages.h:209
uint8_t ShortAddress[2]
Definition mac_messages.h:208
struct SecSpec Security
Definition mac_messages.h:210
uint8_t OrphanAddress[8]
Definition mac_messages.h:207
Definition mac_messages.h:544
struct FullAddr Dst
Definition mac_messages.h:546
uint8_t LQI
Definition mac_messages.h:547
struct SecSpec Security
Definition mac_messages.h:552
struct FullAddr Src
Definition mac_messages.h:545
uint8_t DSN
Definition mac_messages.h:548
MLME_POLL_request parameter set.
Definition mac_messages.h:215
struct FullAddr CoordAddress
Definition mac_messages.h:216
struct SecSpec Security
Definition mac_messages.h:225
MLME_RX_ENABLE_request parameter set.
Definition mac_messages.h:237
uint8_t RxOnTime[4]
Definition mac_messages.h:239
uint8_t DeferPermit
Definition mac_messages.h:238
uint8_t RxOnDuration[4]
Definition mac_messages.h:240
MLME_SCAN_confirm parameter set.
Definition mac_messages.h:507
uint8_t ScanType
Definition mac_messages.h:509
uint8_t ResultListSize
Definition mac_messages.h:511
uint8_t UnscannedChannels[4]
Definition mac_messages.h:510
uint8_t ResultList[DEFAULT_RESULT_LIST_SIZE]
Definition mac_messages.h:512
uint8_t Status
Definition mac_messages.h:508
MLME_SCAN_request parameter set.
Definition mac_messages.h:245
uint8_t ScanType
Definition mac_messages.h:246
struct SecSpec Security
Definition mac_messages.h:249
uint8_t ScanChannels[4]
Definition mac_messages.h:247
uint8_t ScanDuration
Definition mac_messages.h:248
MLME_SET_confirm parameter set.
Definition mac_messages.h:263
uint8_t PIBAttributeIndex
Definition mac_messages.h:266
uint8_t PIBAttribute
Definition mac_messages.h:265
uint8_t Status
Definition mac_messages.h:264
MLME_SET_request parameter set.
Definition mac_messages.h:254
uint8_t PIBAttributeIndex
Definition mac_messages.h:256
uint8_t PIBAttributeValue[MAX_ATTRIBUTE_SIZE]
Definition mac_messages.h:258
uint8_t PIBAttribute
Definition mac_messages.h:255
uint8_t PIBAttributeLength
Definition mac_messages.h:257
MLME_START_request parameter set.
Definition mac_messages.h:271
uint8_t BeaconOrder
Definition mac_messages.h:274
uint8_t PANCoordinator
Definition mac_messages.h:276
uint8_t BatteryLifeExtension
Definition mac_messages.h:277
uint8_t PANId[2]
Definition mac_messages.h:272
struct SecSpec BeaconSecurity
Definition mac_messages.h:280
uint8_t SuperframeOrder
Definition mac_messages.h:275
struct SecSpec CoordRealignSecurity
Definition mac_messages.h:279
uint8_t CoordRealignment
Definition mac_messages.h:278
uint8_t LogicalChannel
Definition mac_messages.h:273
MLME_SYNC_LOSS_indication parameter set.
Definition mac_messages.h:536
uint8_t LogicalChannel
Definition mac_messages.h:539
uint8_t LossReason
Definition mac_messages.h:537
uint8_t PANId[2]
Definition mac_messages.h:538
struct SecSpec Security
Definition mac_messages.h:540
Definition mac_messages.h:857
uint8_t ShortAddress[2]
Definition mac_messages.h:859
uint8_t ExtAddress[8]
Definition mac_messages.h:860
uint8_t Exempt
Definition mac_messages.h:862
uint8_t FrameCounter[4]
Definition mac_messages.h:861
uint8_t PANId[2]
Definition mac_messages.h:858
Definition mac_messages.h:916
struct M_KeyIdLookupDesc KeyIdLookupList[LOOKUP_DESC_TABLE_SIZE]
Definition mac_messages.h:918
struct M_KeyDeviceDesc KeyDeviceList[KEY_DEVICE_TABLE_SIZE]
Definition mac_messages.h:919
struct M_KeyUsageDesc KeyUsageList[KEY_USAGE_TABLE_SIZE]
Definition mac_messages.h:920
struct M_KeyTableEntryFixed Fixed
Definition mac_messages.h:917
Definition mac_messages.h:874
uint8_t Flags
Definition mac_messages.h:878
Definition mac_messages.h:851
uint8_t LookupData[9]
Definition mac_messages.h:852
uint8_t LookupDataSizeCode
Definition mac_messages.h:853
Definition mac_messages.h:908
uint8_t Key[16]
Definition mac_messages.h:912
uint8_t KeyUsageListEntries
Definition mac_messages.h:911
uint8_t KeyDeviceListEntries
Definition mac_messages.h:910
uint8_t KeyIdLookupListEntries
Definition mac_messages.h:909
Definition mac_messages.h:893
uint8_t Flags
Definition mac_messages.h:896
Definition mac_messages.h:866
uint8_t FrameType
Definition mac_messages.h:867
uint8_t DeviceOverrideSecurityMinimum
Definition mac_messages.h:870
uint8_t CommandFrameIdentifier
Definition mac_messages.h:868
uint8_t SecurityMinimum
Definition mac_messages.h:869
Holds either short or extended address.
Definition mac_messages.h:83
uint8_t Address[8]
Short or Extended Address, based on AddressMode (little-endian)
Definition mac_messages.h:85
uint8_t AddressMode
Clarifies the contents of Address (empty, short, extended).
Definition mac_messages.h:84
Describes a discovered PAN.
Definition mac_messages.h:99
uint8_t SuperframeSpec[2]
Superframe specification.
Definition mac_messages.h:102
struct FullAddr Coord
PAN coordinator addressing information.
Definition mac_messages.h:100
uint8_t TimeStamp[4]
Time at which the beacon was received, in symbols.
Definition mac_messages.h:105
uint8_t SecurityFailure
Security processing status of the beacon frame.
Definition mac_messages.h:106
uint8_t GTSPermit
True if the beacon originator is a PAN coordinator accepting GTS requests.
Definition mac_messages.h:103
uint8_t LinkQuality
LQI of the received beacon.
Definition mac_messages.h:104
struct SecSpec Security
Security specification of the beacon.
Definition mac_messages.h:107
uint8_t LogicalChannel
Current operating channel.
Definition mac_messages.h:101
Security specification to be applied to MAC frames.
Definition mac_messages.h:90
uint8_t KeySource[8]
Source part of key lookup data (commonly addressing info)
Definition mac_messages.h:93
uint8_t KeyIndex
Index part of key lookup data.
Definition mac_messages.h:94
uint8_t KeyIdMode
How the key is to be retrieved.
Definition mac_messages.h:92
uint8_t SecurityLevel
Specifies level of authentication and encryption.
Definition mac_messages.h:91
Contains raw little endian short address.
Definition mac_messages.h:71
uint8_t Address[2]
Short Address (little-endian)
Definition mac_messages.h:72
TDME_EDDET_indication parameter set.
Definition mac_messages.h:641
uint8_t TestCSValue
Definition mac_messages.h:644
uint8_t TestTimeAboveThreshold_us[2]
Definition mac_messages.h:645
uint8_t TestEDThreshold
Definition mac_messages.h:642
uint8_t TestEDValue
Definition mac_messages.h:643
TDME_ERROR_indication parameter set.
Definition mac_messages.h:650
uint8_t ErrorCode
Definition mac_messages.h:651
TDME_GETSFR_confirm parameter set.
Definition mac_messages.h:598
uint8_t SFRPage
Definition mac_messages.h:600
uint8_t SFRValue
Definition mac_messages.h:602
uint8_t Status
Definition mac_messages.h:599
uint8_t SFRAddress
Definition mac_messages.h:601
TDME_GETSFR_request parameter set.
Definition mac_messages.h:318
uint8_t SFRPage
Definition mac_messages.h:319
uint8_t SFRAddress
Definition mac_messages.h:320
TDME_LOTLK_confirm parameter set.
Definition mac_messages.h:656
uint8_t TestLOTXCALValue
Definition mac_messages.h:662
uint8_t TestLOFDACValue
Definition mac_messages.h:660
uint8_t TestLOAMPValue
Definition mac_messages.h:661
uint8_t TestChannel
Definition mac_messages.h:658
uint8_t TestRxTxb
Definition mac_messages.h:659
uint8_t Status
Definition mac_messages.h:657
TDME_LOTLK_request parameter set.
Definition mac_messages.h:348
uint8_t TestChannel
Definition mac_messages.h:349
uint8_t TestRxTxb
Definition mac_messages.h:350
TDME_RXPKT_indication parameter set.
Definition mac_messages.h:630
uint8_t TestPacketLength
Definition mac_messages.h:635
uint8_t TestPacketEDValue
Definition mac_messages.h:632
uint8_t Status
Definition mac_messages.h:631
uint8_t TestPacketData[128]
Definition mac_messages.h:636
uint8_t TestPacketFoffsValue
Definition mac_messages.h:634
uint8_t TestPacketCSValue
Definition mac_messages.h:633
TDME_SETSFR_confirm parameter set.
Definition mac_messages.h:590
uint8_t Status
Definition mac_messages.h:591
uint8_t SFRAddress
Definition mac_messages.h:593
uint8_t SFRPage
Definition mac_messages.h:592
TDME_SETSFR_request parameter set.
Definition mac_messages.h:310
uint8_t SFRValue
Definition mac_messages.h:313
uint8_t SFRAddress
Definition mac_messages.h:312
uint8_t SFRPage
Definition mac_messages.h:311
TDME_SET_confirm parameter set.
Definition mac_messages.h:614
uint8_t TDAttribute
Definition mac_messages.h:616
uint8_t Status
Definition mac_messages.h:615
TDME_SET_request parameter set.
Definition mac_messages.h:331
uint8_t TDAttributeValue[MAX_TDME_ATTRIBUTE_SIZE]
Definition mac_messages.h:334
uint8_t TDAttributeLength
Definition mac_messages.h:333
uint8_t TDAttribute
Definition mac_messages.h:332
TDME_TESTMODE_confirm parameter set.
Definition mac_messages.h:607
uint8_t Status
Definition mac_messages.h:608
uint8_t TestMode
Definition mac_messages.h:609
TDME_TESTMODE_request parameter set.
Definition mac_messages.h:325
uint8_t TestMode
Definition mac_messages.h:326
TDME_TXPKT_confirm parameter set.
Definition mac_messages.h:621
uint8_t TestPacketData[128]
Definition mac_messages.h:625
uint8_t TestPacketSequenceNumber
Definition mac_messages.h:623
uint8_t TestPacketLength
Definition mac_messages.h:624
uint8_t Status
Definition mac_messages.h:622
TDME_TXPKT_request parameter set.
Definition mac_messages.h:339
uint8_t TestPacketDataType
Definition mac_messages.h:340
uint8_t TestPacketData[128]
Definition mac_messages.h:343
uint8_t TestPacketSequenceNumber
Definition mac_messages.h:341
uint8_t TestPacketLength
Definition mac_messages.h:342
CA-821x Device reference struct.
Definition ca821x_api.h:123
Union of all compatible callback types.
Definition mac_messages.h:973
MLME_DISASSOCIATE_confirm_callback MLME_DISASSOCIATE_confirm
Definition mac_messages.h:983
ca821x_generic_callback generic_callback
Definition mac_messages.h:998
TDME_RXPKT_indication_callback TDME_RXPKT_indication
Definition mac_messages.h:995
MLME_SCAN_confirm_callback MLME_SCAN_confirm
Definition mac_messages.h:986
MLME_ASSOCIATE_indication_callback MLME_ASSOCIATE_indication
Definition mac_messages.h:980
MLME_COMM_STATUS_indication_callback MLME_COMM_STATUS_indication
Definition mac_messages.h:987
TDME_EDDET_indication_callback TDME_EDDET_indication
Definition mac_messages.h:996
TDME_ERROR_indication_callback TDME_ERROR_indication
Definition mac_messages.h:997
MLME_ORPHAN_indication_callback MLME_ORPHAN_indication
Definition mac_messages.h:985
MLME_POLL_indication_callback MLME_POLL_indication
Definition mac_messages.h:988
MLME_SYNC_LOSS_indication_callback MLME_SYNC_LOSS_indication
Definition mac_messages.h:993
MLME_ASSOCIATE_confirm_callback MLME_ASSOCIATE_confirm
Definition mac_messages.h:981
MCPS_DATA_indication_callback MCPS_DATA_indication
Definition mac_messages.h:974
MLME_BEACON_NOTIFY_indication_callback MLME_BEACON_NOTIFY_indication
Definition mac_messages.h:984
HWME_WAKEUP_indication_callback HWME_WAKEUP_indication
Definition mac_messages.h:994
MCPS_DATA_confirm_callback MCPS_DATA_confirm
Definition mac_messages.h:975
MLME_DISASSOCIATE_indication_callback MLME_DISASSOCIATE_indication
Definition mac_messages.h:982