OpenWSN Firmware
processIE.h File Reference
#include "openwsn.h"

Go to the source code of this file.

Data Structures

struct  cellInfo_ht
 
struct  header_IE_ht
 Header of header IEs. More...
 
struct  payload_IE_ht
 Header of payload IEs. More...
 
struct  timecorrection_IE_ht
 TSCH ACK/NACK TimeCorrection IE. More...
 
struct  mlme_IE_ht
 MLME IE common header. More...
 
struct  sync_IE_ht
 TSCH Synchronization IE. More...
 
struct  slotframeLink_IE_ht
 TSCH Slotframe and Link IE. More...
 
struct  opcode_IE_ht
 6top Opcode IE More...
 
struct  bandwidth_IE_ht
 6top Bandwidth IE More...
 
struct  schedule_IE_ht
 6top Generic Schedule IE More...
 

Macros

#define SCHEDULEIEMAXNUMCELLS   3
 
#define MLME_IE_SUBID_SHIFT   1
 
#define MLME_IE_SUBID_CHANNELHOPPING   0x09
 
#define MLME_IE_SUBID_SYNC   0x1A
 
#define MLME_IE_SUBID_SLOTFRAME_LINK   0x1B
 
#define MLME_IE_SUBID_TIMESLOT   0x1c
 
#define MLME_IE_SUBID_LINKTYPE   0x40
 
#define MLME_IE_SUBID_OPCODE   0x41
 
#define MLME_IE_SUBID_BANDWIDTH   0x42
 
#define MLME_IE_SUBID_TRACKID   0x43
 
#define MLME_IE_SUBID_SCHEDULE   0x44
 

Functions

END_PACK void processIE_prependMLMEIE (OpenQueueEntry_t *pkt, uint8_t len)
 
uint8_t processIE_prependSyncIE (OpenQueueEntry_t *pkt)
 
uint8_t processIE_prependSlotframeLinkIE (OpenQueueEntry_t *pkt)
 
uint8_t processIE_prependOpcodeIE (OpenQueueEntry_t *pkt, uint8_t uResCommandID)
 
uint8_t processIE_prependBandwidthIE (OpenQueueEntry_t *pkt, uint8_t numOfLinks, uint8_t slotframeID)
 
uint8_t processIE_prependSheduleIE (OpenQueueEntry_t *pkt, uint8_t type, uint8_t frameID, uint8_t flag, cellInfo_ht *cellList)
 
void processIE_retrieveSlotframeLinkIE (OpenQueueEntry_t *pkt, uint8_t *ptr)
 
void processIE_retrieveOpcodeIE (OpenQueueEntry_t *pkt, uint8_t *ptr, opcode_IE_ht *opcodeIE)
 
void processIE_retrieveBandwidthIE (OpenQueueEntry_t *pkt, uint8_t *ptr, bandwidth_IE_ht *bandwidthIE)
 
void processIE_retrieveSheduleIE (OpenQueueEntry_t *pkt, uint8_t *ptr, schedule_IE_ht *schedule_ie)
 

Macro Definition Documentation

#define MLME_IE_SUBID_BANDWIDTH   0x42
#define MLME_IE_SUBID_CHANNELHOPPING   0x09
#define MLME_IE_SUBID_LINKTYPE   0x40
#define MLME_IE_SUBID_OPCODE   0x41
#define MLME_IE_SUBID_SCHEDULE   0x44
#define MLME_IE_SUBID_SHIFT   1
#define MLME_IE_SUBID_SLOTFRAME_LINK   0x1B
#define MLME_IE_SUBID_SYNC   0x1A
#define MLME_IE_SUBID_TIMESLOT   0x1c
#define MLME_IE_SUBID_TRACKID   0x43
#define SCHEDULEIEMAXNUMCELLS   3

Function Documentation

uint8_t processIE_prependBandwidthIE ( OpenQueueEntry_t pkt,
uint8_t  numOfLinks,
uint8_t  slotframeID 
)
END_PACK void processIE_prependMLMEIE ( OpenQueueEntry_t pkt,
uint8_t  len 
)
uint8_t processIE_prependOpcodeIE ( OpenQueueEntry_t pkt,
uint8_t  uResCommandID 
)
uint8_t processIE_prependSheduleIE ( OpenQueueEntry_t pkt,
uint8_t  type,
uint8_t  frameID,
uint8_t  flag,
cellInfo_ht cellList 
)
uint8_t processIE_prependSlotframeLinkIE ( OpenQueueEntry_t pkt)
uint8_t processIE_prependSyncIE ( OpenQueueEntry_t pkt)
void processIE_retrieveBandwidthIE ( OpenQueueEntry_t pkt,
uint8_t *  ptr,
bandwidth_IE_ht bandwidthIE 
)
void processIE_retrieveOpcodeIE ( OpenQueueEntry_t pkt,
uint8_t *  ptr,
opcode_IE_ht opcodeIE 
)
void processIE_retrieveSheduleIE ( OpenQueueEntry_t pkt,
uint8_t *  ptr,
schedule_IE_ht schedule_ie 
)
void processIE_retrieveSlotframeLinkIE ( OpenQueueEntry_t pkt,
uint8_t *  ptr 
)