--- /dev/null
+/**
+ * MCPS-DATA-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MCPS_DATA
+{
+ command error_t request(uint8_t SrcAddrMode, uint16_t SrcPANId, uint32_t SrcAddr[], uint8_t DstAddrMode, uint16_t DestPANId, uint32_t DstAddr[], uint8_t msduLength, uint8_t msdu[],uint8_t msduHandle, uint8_t TxOptions);
+
+ event error_t confirm(uint8_t msduHandle, uint8_t status);
+
+ event error_t indication(uint16_t SrcAddrMode, uint16_t SrcPANId, uint32_t SrcAddr[2], uint16_t DstAddrMode, uint16_t DestPANId, uint32_t DstAddr[2], uint16_t msduLength,uint8_t msdu[100],uint16_t mpduLinkQuality, uint16_t SecurityUse, uint16_t ACLEntry);
+
+}
--- /dev/null
+/**
+ * MCPS-PURGE-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+interface OPENZB_MCPS_PURGE
+{
+ command error_t request(uint8_t msduHandle);
+
+ event error_t confirm(uint8_t msduHandle, uint8_t status);
+
+}
--- /dev/null
+/**
+ * MLME-ASSOCIATE-Service Access Point
+ * std pag 65
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_ASSOCIATE
+{
+ command error_t request(uint8_t LogicalChannel,uint8_t CoordAddrMode,uint16_t CoordPANId,uint32_t CoordAddress[],uint8_t CapabilityInformation,bool SecurityEnable);
+
+ event error_t indication(uint32_t DeviceAddress[], uint8_t CapabilityInformation, bool SecurityUse, uint8_t ACLEntry);
+
+ command error_t response(uint32_t DeviceAddress[], uint16_t AssocShortAddress, uint8_t status, bool SecurityEnable);
+
+ event error_t confirm(uint16_t AssocShortAddress, uint8_t status);
+
+}
--- /dev/null
+/*
+ * MLME-BEACON-NOTIFY-Service Access Point
+ * std pag 75
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+includes mac_const;
+
+interface OPENZB_MLME_BEACON_NOTIFY
+{
+ event error_t indication(uint8_t BSN,PANDescriptor pan_descriptor, uint8_t PenAddrSpec, uint8_t AddrList, uint8_t sduLength, uint8_t sdu[]);
+
+}
--- /dev/null
+/**
+ * MLME-DISASSOCIATE-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+interface OPENZB_MLME_DISASSOCIATE
+{
+ command error_t request(uint32_t DeviceAddress[], uint8_t DisassociateReason, uint8_t SecurityEnable);
+
+ event error_t indication(uint32_t DeviceAddress[], uint8_t DisassociateReason, uint8_t SecurityUse, uint8_t ACLEntry);
+
+ event error_t confirm(uint8_t status);
+
+}
--- /dev/null
+/**
+ * MLME-GET-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+interface OPENZB_MLME_GET
+{
+ command error_t request(uint8_t PIBAttribute);
+
+ event error_t confirm(uint8_t status,uint8_t PIBAttribute, uint8_t PIBAttributeValue[]);
+
+}
--- /dev/null
+/**
+ * MLME-GTS-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+interface OPENZB_MLME_GTS
+{
+ command error_t request(uint8_t GTSCharacteristics, uint8_t SecurityEnable);
+
+ event error_t confirm(uint8_t GTSCharacteristics, uint8_t status);
+
+ event error_t indication(uint16_t DevAddress, uint8_t GTSCharacteristics, uint8_t SecurityUse, uint8_t ACLEntry);
+}
--- /dev/null
+/**
+ * MLME-ORPHAN-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_ORPHAN
+{
+
+ event error_t indication(uint32_t OrphanAddress[1], uint8_t SecurityUse, uint8_t ACLEntry);
+
+ command error_t response(uint32_t OrphanAddress[1],uint16_t ShortAddress,uint8_t AssociatedMember, uint8_t security_enabled);
+
+}
--- /dev/null
+/**
+ * MLME-POOL-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_POLL
+{
+ command result_t request(uint8_t CoordAddrMode, uint16_t CoorPANId, uint32_t CoorAddress[], uint8_t Security);
+
+ event result_t confirm(uint8_t status);
+
+}
--- /dev/null
+/**
+ * MLME-RESET-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_RESET
+{
+
+ command error_t request(uint8_t set_default_PIB);
+
+ event error_t confirm(uint8_t status);
+
+
+
+}
--- /dev/null
+/**
+ * MLME-RX-ENABLE-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_RX_ENABLE
+{
+
+ command result_t request(uint8_tDeferPermit, uint32_t RxOnTime, uint32_t RxOnDuration);
+
+ event result_t confirm(uint8_t status);
+
+
+
+}
--- /dev/null
+/**
+ * MLME-SCAN-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_SCAN
+{
+
+ command error_t request(uint8_t ScanType, uint32_t ScanChannels, uint8_t ScanDuration);
+
+ event error_t confirm(uint8_t status,uint8_t ScanType, uint32_t UnscannedChannels, uint8_t ResultListSize, uint8_t EnergyDetectList[], SCAN_PANDescriptor PANDescriptorList[]);
+ //NEED to explain the implementation
+ //Eache value in sequencial to the scanned channels
+ }
--- /dev/null
+/**
+ * MLME-SET-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_SET
+{
+ command error_t request(uint8_t PIBAttribute,uint8_t PIBAttributeValue[]);
+
+ event error_t confirm(uint8_t status,uint8_t PIBAttribute);
+
+}
--- /dev/null
+/**
+ * MLME-START-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_START
+{
+
+ //request for the device to start using new superframe configuration
+ command error_t request(uint32_t PANId, uint8_t LogicalChannel, uint8_t BeaconOrder, uint8_t SuperframeOrder,uint8_t PANCoordinator,uint8_t BatteryLifeExtension,uint8_t CoordRealignment,uint8_t SecurityEnable,uint32_t StartTime);
+
+ event error_t confirm(uint8_t status);
+
+}
--- /dev/null
+/**
+ * MLME-SYNC-Service Access Point
+ *
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_SYNC
+{
+//sd pag 105
+ command error_t request(uint8_t logical_channel,uint8_t track_beacon);
+
+}
--- /dev/null
+/**
+ * MLME-SYNC-LOSS-Service Access Point
+ *
+ * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
+ * @author IPP HURRAY http://www.open-zb.net
+ * @author Ricardo Severino
+ *
+ *
+ */
+
+interface OPENZB_MLME_SYNC_LOSS
+{
+//pag 105
+ event error_t indication(uint8_t LossReason);
+}