[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/mac/tkn154/interfaces/MLME MLME_ASSOCIATE.nc, NONE, 1.1 MLME_BEACON_NOTIFY.nc, NONE, 1.1 MLME_COMM_STATUS.nc, NONE, 1.1 MLME_DISASSOCIATE.nc, NONE, 1.1 MLME_GET.nc, NONE, 1.1 MLME_GTS.nc, NONE, 1.1 MLME_ORPHAN.nc, NONE, 1.1 MLME_POLL.nc, NONE, 1.1 MLME_RESET.nc, NONE, 1.1 MLME_RX_ENABLE.nc, NONE, 1.1 MLME_SCAN.nc, NONE, 1.1 MLME_SET.nc, NONE, 1.1 MLME_START.nc, NONE, 1.1 MLME_SYNC_LOSS.nc, NONE, 1.1 MLME_SYNC.nc, NONE, 1.1
Jan-Hinrich Hauer
janhauer at users.sourceforge.net
Mon Jun 16 11:00:34 PDT 2008
- Previous message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/mac/tkn154/dummies NoBeaconSynchronizeP.nc, NONE, 1.1 NoBeaconTransmitP.nc, NONE, 1.1 NoCapP.nc, NONE, 1.1 NoCapQueueP.nc, NONE, 1.1 NoCoordCfpP.nc, NONE, 1.1 NoDebugP.nc, NONE, 1.1 NoDeviceCapQueueP.nc, NONE, 1.1 NoDeviceCfpP.nc, NONE, 1.1 NoScanP.nc, NONE, 1.1
- Next message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/mac/tkn154/interfaces/public IEEE154BeaconFrame.nc, NONE, 1.1 IEEE154Frame.nc, NONE, 1.1 IEEE154TxBeaconPayload.nc, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/mac/tkn154/interfaces/MLME
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30549/tos/lib/mac/tkn154/interfaces/MLME
Added Files:
MLME_ASSOCIATE.nc MLME_BEACON_NOTIFY.nc MLME_COMM_STATUS.nc
MLME_DISASSOCIATE.nc MLME_GET.nc MLME_GTS.nc MLME_ORPHAN.nc
MLME_POLL.nc MLME_RESET.nc MLME_RX_ENABLE.nc MLME_SCAN.nc
MLME_SET.nc MLME_START.nc MLME_SYNC_LOSS.nc MLME_SYNC.nc
Log Message:
Initial version of TKN15.4, a platform-independent IEEE 802.15.4-2006 MAC implementation (see tinyos-2.x/tos/lib/mac/tkn154/README.txt)
--- NEW FILE: MLME_ASSOCIATE.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author: Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_ASSOCIATE {
/**
* Requests to associate with a PAN.
*
* @param LogicalChannel The logical channel on which to attempt
* association
* @param ChannelPage The channel page on which to attempt association
* @param CoordAddrMode The coordinator addressing mode
* @param CoordPANID The 16 bit PAN identifier of the coordinator
* @param CoordAddress Individual device address of the coordinator as
* per the CoordAddrMode
* @param CapabilityInformation Specifies the operational capabilities
* of the associating device
* @param security The security options (NULL means security is
* disabled)
* @return IEEE154_SUCCESS if the request succeeded and a confirm event
* will be signalled, an appropriate error code otherwise
* (no confirm event will be signalled in this case)
* @see confirm
*/
command ieee154_status_t request (
uint8_t LogicalChannel,
uint8_t ChannelPage,
uint8_t CoordAddrMode,
uint16_t CoordPANID,
ieee154_address_t CoordAddress,
ieee154_CapabilityInformation_t CapabilityInformation,
ieee154_security_t *security
);
/**
* Notification that a device has requested to associate with a PAN.
*
* @param DeviceAddress the 64-bit address of the requesting device
* @param CapabilityInformation Specifies the operational capabilities
* of the associating device
* @param security The security options (NULL means security is
* disabled)
*/
event void indication (
uint64_t DeviceAddress,
ieee154_CapabilityInformation_t CapabilityInformation,
ieee154_security_t *security
);
/**
* Send a response to a device's request to associate
*
* @param DeviceAddress The 64-bit address of the device to respond to
* @param AssocShortAddress The short device address allocated by the
* coordinator on successful allocation.
* @param status The status of the association attempt
* @param security The security options (NULL means security is
* disabled)
* @return IEEE154_SUCCESS if the request succeeded and an indication event
* will be signalled through the MLME_COMM_STATUS interface later,
* otherwise an appropriate error code (no MLME_COMM_STATUS.indication
* event will be signalled in this case)
*/
command ieee154_status_t response (
uint64_t DeviceAddress,
uint16_t AssocShortAddress,
ieee154_association_status_t status,
ieee154_security_t *security
);
/**
* Confirmation of the association attempt.
*
* @param AssocShortAddress The short device address allocated by the
* coordinator on successful association
* @param status The status of the association attempt
* @param security The security options, NULL means security is
* disabled
*/
event void confirm (
uint16_t AssocShortAddress,
uint8_t status,
ieee154_security_t *security
);
}
--- NEW FILE: MLME_BEACON_NOTIFY.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author: Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
#include <message.h>
interface MLME_BEACON_NOTIFY {
/**
* A beacon frame has been received. This event is signalled only if
* either the PIB attribute macAutoRequest is set to FALSE or the
* beacon payload is not empty.
*
* The beacon parameters can be accessed through the
* <code>IEEE154BeaconFrame<\code> interface. The
* <code>IEEE154Frame<\code> interface can be used to
* inspect the addressing fields in the MAC header.
*
* @param beacon The beacon frame
* @return A frame buffer for the stack to use for the next received frame
*/
event message_t* indication ( message_t *beaconFrame );
}
--- NEW FILE: MLME_COMM_STATUS.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author: Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_COMM_STATUS {
/**
* Allows the MLME to indicate a communications status.
*
* @param PanID The 16-bit PAN identifier of the device from which the
* frame was received or to which the frame was being sent
* @param SrcAddrMode The source addressing mode
* @param SrcAddr Individual device address of the source as per SrcAddrMode
* @param DstAddrMode The destination addressing mode
* @param DstAddr Individual device address of the destination
* as per DstAddrMode
* @param status The communications status
* @param security The security options, NULL means security is
* disabled
*/
event void indication (
uint16_t PANId,
uint8_t SrcAddrMode,
ieee154_address_t SrcAddr,
uint8_t DstAddrMode,
ieee154_address_t DstAddr,
ieee154_status_t status,
ieee154_security_t *security
);
}
--- NEW FILE: MLME_DISASSOCIATE.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author: Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_DISASSOCIATE {
/**
* Request disassociation from a PAN.
*
* @param DeviceAddrMode The addressing mode of the device to which to send
* the disassociation notification command.
* @param DevicePANID The PAN identifier of the device to which to send the
* disassociation notification command.
* @param DeviceAddress The address of the device to which to send the
* disassociation notification command
* @param DisassociateReason The reason for the disassociation
* @param TxIndirect TRUE if disassociation notification command is to be sent
* indirectly
* @param security The security options (NULL means security is
* disabled)
* @return IEEE154_SUCCESS if the request succeeded and a confirm event
* will be signalled, an appropriate error code otherwise
* (no confirm event will be signalled in this case)
* @see confirm
*/
command ieee154_status_t request (
uint8_t DeviceAddrMode,
uint16_t DevicePANID,
ieee154_address_t DeviceAddress,
ieee154_disassociation_reason_t DisassociateReason,
bool TxIndirect,
ieee154_security_t *security
);
/**
* Signals that a device has requested disassociation.
*
* @param DeviceAddress the 64-bit address of the requesting device
* @param DisassociateReason Reason for the disassociation
* @param security The security options (NULL means security is
* disabled)
*/
event void indication (
uint64_t DeviceAddress,
ieee154_disassociation_reason_t DisassociateReason,
ieee154_security_t *security
);
/**
* Confirmation of the disassociation attempt.
*
* @param status The status of the disassociation attempt
* @param DeviceAddrMode The addressing mode of the device that has either
* requested disassociation or been instructed to
* disassociate by its coordinator.
* @param DevicePANID The PAN identifier of the device that has either
* requested disassociation or been instructed to
* disassociate by its coordinator.
* @param DeviceAddress The address of the device that has either requested
* disassociation or been instructed to disassociate
* by its coordinator.
*/
event void confirm (
ieee154_status_t status,
uint8_t DeviceAddrMode,
uint16_t DevicePANID,
ieee154_address_t DeviceAddress
);
}
--- NEW FILE: MLME_GET.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
/**
* This interface can be used to read attribute values from the PHY/MAC PIB.
* Instead of passing the PIB attribute identifier, there is a separate
* command per attribute (and there are no confirm events).
*
* NOTE: for the attributes macBeaconPayload (0x45) and
* macBeaconPayloadLength (0x46) use the <code>IEEE154TxBeaconPayload <\code>
* interface; for promiscuous mode there is a separate (SplitControl)
* interface.
**/
#include "TKN154.h"
interface MLME_GET {
/** @return PIB attribute phyCurrentChannel (0x00) */
command ieee154_phyCurrentChannel_t phyCurrentChannel();
/** @return PIB attribute phyChannelsSupported (0x01) */
command ieee154_phyChannelsSupported_t phyChannelsSupported();
/** @return PIB attribute phyTransmitPower (0x02) */
command ieee154_phyTransmitPower_t phyTransmitPower();
/** @return PIB attribute phyCCAMode (0x03) */
command ieee154_phyCCAMode_t phyCCAMode();
/** @return PIB attribute phyCurrentPage (0x04) */
command ieee154_phyCurrentPage_t phyCurrentPage();
/** @return PIB attribute phyMaxFrameDuration (0x05) */
command ieee154_phyMaxFrameDuration_t phyMaxFrameDuration();
/** @return PIB attribute phySHRDuration (0x06) */
command ieee154_phySHRDuration_t phySHRDuration();
/** @return PIB attribute phySymbolsPerOctet (0x07) */
command ieee154_phySymbolsPerOctet_t phySymbolsPerOctet();
/** @return PIB attribute macAckWaitDuration (0x40) */
command ieee154_macAckWaitDuration_t macAckWaitDuration();
/** @return PIB attribute macAssociationPermit (0x41) */
command ieee154_macAssociationPermit_t macAssociationPermit();
/** @return PIB attribute macAutoRequest (0x42) */
command ieee154_macAutoRequest_t macAutoRequest();
/** @return PIB attribute macBattLifeExt (0x43) */
command ieee154_macBattLifeExt_t macBattLifeExt();
/** @return PIB attribute macBattLifeExtPeriods (0x44) */
command ieee154_macBattLifeExtPeriods_t macBattLifeExtPeriods();
/* macBeaconPayload (0x45) and macBeaconPayloadLength (0x46) are read
* through the <code>IEEE154TxBeaconPayload<\code> interface. */
/** @return PIB attribute macBeaconOrder (0x47) */
command ieee154_macBeaconOrder_t macBeaconOrder();
/** @return PIB attribute macBeaconTxTime (0x48) */
command ieee154_macBeaconTxTime_t macBeaconTxTime();
/** @return PIB attribute macBSN (0x49) */
command ieee154_macBSN_t macBSN();
/** @return PIB attribute macCoordExtendedAddress (0x4A) */
command ieee154_macCoordExtendedAddress_t macCoordExtendedAddress();
/** @return PIB attribute macCoordShortAddress (0x4B) */
command ieee154_macCoordShortAddress_t macCoordShortAddress();
/** @return PIB attribute macDSN (0x4C) */
command ieee154_macDSN_t macDSN();
/** @return PIB attribute macGTSPermit (0x4D) */
command ieee154_macGTSPermit_t macGTSPermit();
/** @return PIB attribute macMaxCSMABackoffs (0x4E) */
command ieee154_macMaxCSMABackoffs_t macMaxCSMABackoffs();
/** @return PIB attribute macMinBE (0x4F) */
command ieee154_macMinBE_t macMinBE();
/** @return PIB attribute macPANId (0x50) */
command ieee154_macPANId_t macPANId();
/** @return PIB attribute macPromiscuousMode (0x51) */
command ieee154_macPromiscuousMode_t macPromiscuousMode();
/** @return PIB attribute macRxOnWhenIdle (0x52) */
command ieee154_macRxOnWhenIdle_t macRxOnWhenIdle();
/** @return PIB attribute macShortAddress (0x53) */
command ieee154_macShortAddress_t macShortAddress();
/** @return PIB attribute macSuperframeOrder (0x54) */
command ieee154_macSuperframeOrder_t macSuperframeOrder();
/** @return PIB attribute macTransactionPersistenceTime (0x55) */
command ieee154_macTransactionPersistenceTime_t macTransactionPersistenceTime();
/** @return PIB attribute macAssociatedPANCoord (0x56) */
command ieee154_macAssociatedPANCoord_t macAssociatedPANCoord();
/** @return PIB attribute macMaxBE (0x57) */
command ieee154_macMaxBE_t macMaxBE();
/** @return PIB attribute macMaxFrameTotalWaitTime (0x58) */
command ieee154_macMaxFrameTotalWaitTime_t macMaxFrameTotalWaitTime();
/** @return PIB attribute macMaxFrameRetries (0x59) */
command ieee154_macMaxFrameRetries_t macMaxFrameRetries();
/** @return PIB attribute macResponseWaitTime (0x5A) */
command ieee154_macResponseWaitTime_t macResponseWaitTime();
/** @return PIB attribute macSyncSymbolOffset (0x5B) */
command ieee154_macSyncSymbolOffset_t macSyncSymbolOffset();
/** @return PIB attribute macTimestampSupported (0x5C) */
command ieee154_macTimestampSupported_t macTimestampSupported();
/** @return PIB attribute macSecurityEnabled (0x5D) */
command ieee154_macSecurityEnabled_t macSecurityEnabled();
/** @return PIB attribute macMinLIFSPeriod */
command ieee154_macMinLIFSPeriod_t macMinLIFSPeriod();
/** @return PIB attribute macMinSIFSPeriod */
command ieee154_macMinSIFSPeriod_t macMinSIFSPeriod();
}
--- NEW FILE: MLME_GTS.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_GTS {
/**
* Request allocation of a new GTS or deallocation from the PAN
* coordinator.
*
* @param GtsCharacteristics The characteristics of the GTS request
* @param security The security options (NULL means security is
* disabled)
* @return IEEE154_SUCCESS if the request succeeded and a confirm event
* will be signalled, an appropriate error code otherwise
* (no confirm event will be signalled in this case)
* @see confirm
*/
command ieee154_status_t request (
uint8_t GtsCharacteristics,
ieee154_security_t *security
);
/**
* Reports the results of a request to allocated a new GTS or
* deallocate an existing GTS
*
* @param GtsCharacteristics The characteristics of the GTS request
* @param status The status of the GTS request
*/
event void confirm (
uint8_t GtsCharacteristics,
ieee154_status_t status
);
/**
* Indicates that a GTS has been allocated or that a previously allocated
* GTS has been deallocated
*
* All pointers are valid only until the return of this event.
*
* @param DeviceAddress Short address of the device that has been allocated
* or deallocated a GTS
* @param GtsCharacteristics The characteristics of the GTS request
* @param security The security options, NULL means security is
* disabled
*/
event void indication (
uint16_t DeviceAddress,
uint8_t GtsCharacteristics,
ieee154_security_t *security
);
}
--- NEW FILE: MLME_ORPHAN.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_ORPHAN {
/**
* Allows the MLME of a coordinator to notify the next higher layer of the
* presence of an orphaned device
*
* @param OrphanAddress The 64-bit extended address of the orphaned device
* @param security The security options (NULL means security is
* disabled)
*/
event void indication (
uint64_t OrphanAddress,
ieee154_security_t *security
);
/**
* Allows the next higher layer of a coordinator to respond to the
* indication primitive
*
* @param OrphanAddres The 64-bit extended address of the orphaned device
* @param ShortAddress The 16-bit short address allocated to the orphaned
* device if it is associated with this coordinator. The
* special short address 0xfffe indicates that no short
* address was allocated, and the device will use its
* 64-bit extended address in all communications. If the
* device was not associated with this coordinator, this
* field will contain the value 0xffff and be ignored on
* receipt.
* @param AssociatedMember TRUE if the orphaned device is associated
* with this coordinator
* @param security The security options (NULL means security is
* disabled)
* @return IEEE154_SUCCESS if the request succeeded and an indication event
* will be signalled through the MLME_COMM_STATUS interface later,
* otherwise an appropriate error code (no MLME_COMM_STATUS.indication
* event will be signalled in this case)
*/
command ieee154_status_t response (
uint64_t OrphanAddres,
uint16_t ShortAddress,
bool AssociatedMember,
ieee154_security_t *security
);
}
--- NEW FILE: MLME_POLL.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_POLL {
/**
* Prompts the device to request data from the coordinator.
*
* @param CoordAddrMode The addressing mode of the coordinator to which
* the poll is intended
* @param CoordPANID The PAN identifier of the coordinator to which the
* poll is intended
* @param CoordAddress The address of the coordinator to which the
* poll is intended
* @param security The security options (NULL means security is
* disabled)
* @return IEEE154_SUCCESS if the request succeeded and a confirm event
* will be signalled, an appropriate error code otherwise
* (no confirm event will be signalled in this case)
* @see confirm
*/
command ieee154_status_t request (
uint8_t CoordAddrMode,
uint16_t CoordPANID,
ieee154_address_t CoordAddress,
ieee154_security_t *security
);
/**
* Reports the results of a request to poll the coordinator for data
*
* @param status The status of the data request
*/
event void confirm (
ieee154_status_t status
);
}
--- NEW FILE: MLME_RESET.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_RESET {
/**
* Allows the next higher layer to request that the MLME performs a
* reset operation. This command initializes the MAC and must be called
* before calling any other MAC primitive. It extends the standard
* interface definition by a parameter <tt>PANType</tt>, which defines
* whether the device/coordinator will operate on a beacon-enabled PAN
* or on a nonbeacon-enabled PAN.
*
* Two things are important:
* (1) This command will fail while promiscuous mode is enabled
* (promiscuous mode is controlled through a separate SplitControl
* interface). (2) While the MLME_RESET.confirm is pending the next
* higher layer MUST NOT call any MAC commands; if there are any
* other pending request the MAC will signal their corresponding confirm
* events before MLME_RESET.confirm is signalled (with a status code of
* IEEE154_TRANSACTION_OVERFLOW).
*
* @param SetDefaultPIB If TRUE, the MAC sublayer is reset and all MAC PIB
* attributes are set to their default values. If
* FALSE, the MAC sublayer is reset but all MAC PIB
* attributes retain their values prior to the
* generation of the reset primitive.
* @param PANType Either BEACON_ENABLED_PAN for beacon-enabled PANs
* or NONBEACON_ENABLED_PAN for nonbeacon-enabled PANs
*
* @return IEEE154_SUCCESS if the request succeeded and a confirm event
* will be signalled, an appropriate error code otherwise
* (no confirm event will be signalled in this case)
*
*/
command ieee154_status_t request (
bool SetDefaultPIB,
uint8_t PANType
);
/**
* Reports the results of the reset operation
*
* @param status The status of the reset operation
*/
event void confirm (
ieee154_status_t status
);
}
--- NEW FILE: MLME_RX_ENABLE.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_RX_ENABLE {
/**
* Allows the next higher layer to request that the receiver is
* enabled for a finite period of time
*
* @param DeferPermit TRUE if the receiver enable can be deferred until
* during the next superframe if the requested time has
* already passed
* @param RxOnTime The number of symbols from the start of the superframe
* before the receiver is to be enabled. The precision
* of this value is a minimum of 20 bits. This parameter
* is ignored for nonbeacon-enabled PANs
* @param RxOnDuration The number of symbols for which the receiver
* is to be enabled
* @return IEEE154_SUCCESS if the request succeeded and a confirm event
* will be signalled, an appropriate error code otherwise
* (no confirm event will be signalled in this case)
* @see confirm
*/
command ieee154_status_t request (
bool DeferPermit,
uint32_t RxOnTime,
uint32_t RxOnDuration
);
/**
* Reports the results of the attempt to enable the receiver
*
* @param status The status of the receiver enable request
*/
event void confirm (
ieee154_status_t status
);
}
--- NEW FILE: MLME_SCAN.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_SCAN
{
/**
* Initializes a channel scan over a given list of channels.
*
* If the PIB attribute <tt>macAutoRequest</tt> is set to FALSE, then
* for each received beacon a PAN descriptor is signalled to the next higher
* layer through a separate <tt>MLME_BEACON_NOTIFY.indication()</tt>
* event; otherwise the result of the channel scan is stored in a user
* allocated buffer, either <tt>EnergyDetectList</tt> or
* <tt>PANDescriptorList</tt> depending on <tt>ScanType</tt>, and the
* buffer is returned when the scan is completed.
*
* Both of the parameters <tt>EnergyDetectList</tt> and
* <tt>PANDescriptorList</tt> may be NULL, but at least one of them
* must be NULL.
*
* @param ScanType The type of scan performed: ENERGY_DETECTION_SCAN,
* ACTIVE_SCAN, PASSIVE_SCAN or ORPHAN_SCAN
* @param ScanChannels The 27 LSBs indicate which channels are to be
* scanned (1 = scan, 0 = don't scan)
* @param ScanDuration Value used to calculate the length of time to
* spend scanning each channel for ED, active, and
* passive scans. This parameter is ignored for
* orphan scans.
* @param ChannelPage The channel page on which to perform the scan
* @param EnergyDetectListNumEntries The number of entries in the
* <tt>EnergyDetectList</tt>.
* @param EnergyDetectList An empty buffer (allocated by the caller)
* to store the result of the energy measurements
* or NULL if the result should not be stored
* @param PANDescriptorListNumEntries The number of entries in the
* <tt>PANDescriptorList</tt>.
* @param PANDescriptorList An empty buffer (allocated by the caller)
* to store the result of the active/passive scan
* or NULL if the result should not be stored
* @param security The security options (NULL means security is
* disabled)
* @return IEEE154_SUCCESS if the request succeeded and a confirm event
* will be signalled, an appropriate error code otherwise
* (no confirm event will be signalled in this case)
* @see confirm
*/
command ieee154_status_t request (
uint8_t ScanType,
uint32_t ScanChannels,
uint8_t ScanDuration,
uint8_t ChannelPage,
uint8_t EnergyDetectListNumEntries,
int8_t* EnergyDetectList,
uint8_t PANDescriptorListNumEntries,
ieee154_PANDescriptor_t* PANDescriptorList,
ieee154_security_t *security
);
/**
* Reports the results of the channel scan request, returning
* the buffers passed in the <tt>request</tt> command.
*
* @param status The status of the scan request
* @param ScanType The type of scan performed
* @param ChannelPage The channel page on which the scan
* was performed (see 6.1.2).
* @param UnscannedChannels The 27 LSBs indicate which channels are not
* scanned (0 = scanned, 1 = not scanned)
* @param EnergyDetectNumResults The number of valid entries in the
* <tt>EnergyDetectList</tt>.
* @param EnergyDetectList The buffer list of energy measurements, one for
* each channel searched during an ED scan
@param PANDescriptorListNumResults The number of valid entries in the
* <tt>PANDescriptorList</tt>.
* @param PANDescriptorList The list of PAN descriptors, one for each
* unique beacon found during an active or passive scan
*/
event void confirm (
ieee154_status_t status,
uint8_t ScanType,
uint8_t ChannelPage,
uint32_t UnscannedChannels,
uint8_t EnergyDetectNumResults,
int8_t* EnergyDetectList,
uint8_t PANDescriptorListNumResults,
ieee154_PANDescriptor_t* PANDescriptorList
);
}
--- NEW FILE: MLME_SET.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
/**
* This interface can be used to set attribute values in the PHY/MAC PIB.
* Instead of passing the PIB attribute identifier, there is a separate
* command per attribute (and there are no confirm events).
*
* NOTE: for the attributes macBeaconPayload (0x45) and
* macBeaconPayloadLength (0x46) use the <code>IEEE154TxBeaconPayload <\code>
* interface; for promiscuous mode there is a separate (SplitControl)
* interface.
**/
#include "TKN154.h"
interface MLME_SET {
/** @param value new PIB attribute value for phyCurrentChannel (0x00)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t phyCurrentChannel(ieee154_phyCurrentChannel_t value);
/** @param value new PIB attribute value for phyTransmitPower (0x02)
* (2 MSBs are ignored)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t phyTransmitPower(ieee154_phyTransmitPower_t value);
/** @param value new PIB attribute value for phyCCAMode (0x03)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t phyCCAMode(ieee154_phyCCAMode_t value);
/** @param value new PIB attribute value for phyCurrentPage (0x04)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t phyCurrentPage(ieee154_phyCurrentPage_t value);
/** @param value new PIB attribute value for macAssociationPermit (0x41)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macAssociationPermit(ieee154_macAssociationPermit_t value);
/** @param value new PIB attribute value for macAutoRequest (0x42)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macAutoRequest(ieee154_macAutoRequest_t value);
/** @param value new PIB attribute value for macBattLifeExt (0x43)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macBattLifeExt(ieee154_macBattLifeExt_t value);
/** @param value new PIB attribute value for macBattLifeExtPeriods (0x44)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macBattLifeExtPeriods(ieee154_macBattLifeExtPeriods_t value);
/* macBeaconPayload (0x45) and macBeaconPayloadLength (0x46) are set
* through the <code>IEEE154TxBeaconPayload<\code> interface. */
/** @param value new PIB attribute value for macBeaconOrder (0x47)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macBeaconOrder(ieee154_macBeaconOrder_t value);
/** @param value new PIB attribute value for macBSN (0x49)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macBSN(ieee154_macBSN_t value);
/** @param value new PIB attribute value for macCoordExtendedAddress (0x4A)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macCoordExtendedAddress(ieee154_macCoordExtendedAddress_t value);
/** @param value new PIB attribute value for macCoordShortAddress (0x4B)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macCoordShortAddress(ieee154_macCoordShortAddress_t value);
/** @param value new PIB attribute value for macDSN (0x4C)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macDSN(ieee154_macDSN_t value);
/** @param value new PIB attribute value for macGTSPermit (0x4D)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macGTSPermit(ieee154_macGTSPermit_t value);
/** @param value new PIB attribute value for macMaxCSMABackoffs (0x4E)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macMaxCSMABackoffs(ieee154_macMaxCSMABackoffs_t value);
/** @param value new PIB attribute value for macMinBE (0x4F)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macMinBE(ieee154_macMinBE_t value);
/** @param value new PIB attribute value for macPANId (0x50)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macPANId(ieee154_macPANId_t value);
/* macPromiscuousMode (0x51) is (re-)set through the
* <code>PromiscuousMode<\code> (SplitControl) interface. */
/** @param value new PIB attribute value for macRxOnWhenIdle (0x52)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macRxOnWhenIdle(ieee154_macRxOnWhenIdle_t value);
/** @param value new PIB attribute value for macShortAddress (0x53)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macShortAddress(ieee154_macShortAddress_t value);
/** @param value new PIB attribute value for macTransactionPersistenceTime (0x55)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macTransactionPersistenceTime(ieee154_macTransactionPersistenceTime_t value);
/** @param value new PIB attribute value for macAssociatedPANCoord (0x56)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macAssociatedPANCoord(ieee154_macAssociatedPANCoord_t value);
/** @param value new PIB attribute value for macMaxBE (0x57)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macMaxBE(ieee154_macMaxBE_t value);
/** @param value new PIB attribute value for macMaxFrameTotalWaitTime (0x58)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macMaxFrameTotalWaitTime(ieee154_macMaxFrameTotalWaitTime_t value);
/** @param value new PIB attribute value for macMaxFrameRetries (0x59)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macMaxFrameRetries(ieee154_macMaxFrameRetries_t value);
/** @param value new PIB attribute value for macResponseWaitTime (0x5A)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macResponseWaitTime(ieee154_macResponseWaitTime_t value);
/** @param value new PIB attribute value for macSecurityEnabled (0x5D)
* @returns IEEE154_SUCCESS if PIB attribute was updated, INVALID_PARAMETER if
* parameter value is out of valid range and PIB was not updated */
command ieee154_status_t macSecurityEnabled(ieee154_macSecurityEnabled_t value);
}
--- NEW FILE: MLME_START.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:31 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_START {
/**
* Requests to start using a new superframe configuration.
*
* @param PANId The PAN identifier to be used by the device
* @param LogicalChannel The logical channel on which to start transmitting
* beacons
* @param ChannelPage The channel page on which to begin using the new
* superframe configuration.
* @param StartTime The time at which to begin transmitting beacons. If this
* parameter is equal to 0x000000, beacon transmissions
* will begin immediately. Otherwise, the specified time is
* relative to the received beacon of the coordinator with
* which the device synchronizes.
* This parameter is ignored if either the beaconOrder
* parameter has a value of 15 or the panCoordinator
* parameter is TRUE.The time is specified in symbols and
* is rounded to a backoff slot boundary. This is a 24-bit
* value, and the precision of this value shall be a
* minimum of 20 bits, with the lowest 4 bits being the
* least significant.
* @param BeaconOrder The beacon order of the superframe
* @param SuperframeOrder The superframe order of the superframe
* @param PanCoordinator If TRUE, the device will become the PAN coordinator
* of a new PAN. If FALSE, the device will begin
* transmitting beacons on the PAN with which it
* is associated
* @param BatteryLifeExtension If TRUE, the receiver of the beaconing
* device is disabled after the IFS period
* @param CoordRealignment TRUE if a coordinator realignment command is to
* be transmitted prior to changing the superframe
* configuration
* @param coordRealignSecurity The security options for the coordinator
* realignment command (NULL means security
* is disabled)
* @param coordRealignSecurity The security options for beacon frames
* (NULL means security is disabled)
*
* @return IEEE154_SUCCESS if the request succeeded and a confirm event
* will be signalled, an appropriate error code otherwise
* (no confirm event will be signalled in this case)
* @see confirm
*/
command ieee154_status_t request (
uint16_t PANId,
uint8_t LogicalChannel,
uint8_t ChannelPage,
uint32_t StartTime,
uint8_t BeaconOrder,
uint8_t SuperframeOrder,
bool PanCoordinator,
bool BatteryLifeExtension,
bool CoordRealignment,
ieee154_security_t *coordRealignSecurity,
ieee154_security_t *beaconSecurity
);
/**
* Signalled in response to a successful request.
* Reports the results of the attempt to start using a new superframe
* configuration
*
* @param status The result of the attempt to start using an
* updated superframe configuration
*/
event void confirm (
ieee154_status_t status
);
}
--- NEW FILE: MLME_SYNC_LOSS.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:32 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
#include "TKN154.h"
interface MLME_SYNC_LOSS {
/**
* Indicates the loss of synchronization with a coordinator
*
* @param lossReason The reason that synchronization was lost
* @param PANId The PAN identifier with which the device lost
* synchronization or to which it was realigned.
* @param LogicalChannel The logical channel on which the device lost
synchronization or to which it was realigned.
* @param ChannelPage The channel page on which the device lost
* synchronization or to which it was realigned.
* @param security The security options, NULL means security is
* disabled.
*/
event void indication (
ieee154_status_t lossReason,
uint16_t PANId,
uint8_t LogicalChannel,
uint8_t ChannelPage,
ieee154_security_t *security
);
}
--- NEW FILE: MLME_SYNC.nc ---
/*
* Copyright (c) 2008, Technische Universitaet Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitaet Berlin nor the names
* of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* - Revision -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 2008/06/16 18:00:32 $
* @author Jan Hauer <hauer at tkn.tu-berlin.de>
* ========================================================================
*/
interface MLME_SYNC {
/**
* Requests to synchronize with the coordinator by acquiring and, if
* specified, tracking its beacons.
*
* @param LogicalChannel Logical channel on which to attempt coordinator
* synchronization
* @param ChannelPage The channel page on which to attempt coordinator
* synchronization.
* @param TrackBeacon TRUE if the MLME is to synchronize with the next
* beacon and attempt to track all future beacons.
* FALSE if the MLME is to synchronize with only the
* next beacon.
* @return IEEE154_SUCCESS if the request succeeded and the device
* is now trying to acquire synchronization with the coordinator.
* Note: the MLME_SYNC_LOSS interface is used to signal
* when synchronization was lost (or never acquired)
*/
command ieee154_status_t request (
uint8_t LogicalChannel,
uint8_t ChannelPage,
bool TrackBeacon
);
}
- Previous message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/mac/tkn154/dummies NoBeaconSynchronizeP.nc, NONE, 1.1 NoBeaconTransmitP.nc, NONE, 1.1 NoCapP.nc, NONE, 1.1 NoCapQueueP.nc, NONE, 1.1 NoCoordCfpP.nc, NONE, 1.1 NoDebugP.nc, NONE, 1.1 NoDeviceCapQueueP.nc, NONE, 1.1 NoDeviceCfpP.nc, NONE, 1.1 NoScanP.nc, NONE, 1.1
- Next message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/mac/tkn154/interfaces/public IEEE154BeaconFrame.nc, NONE, 1.1 IEEE154Frame.nc, NONE, 1.1 IEEE154TxBeaconPayload.nc, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-2-commits
mailing list