/* * PowerMgr_API.h * * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. * 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 Texas Instruments 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. */ /** \file PowerMgr_API.h * \brief This is the Power Manager module API. * \ */ /**************************************************************************** * * * MODULE: Power Manager * * PURPOSE: Power Manager Module API * * * ****************************************************************************/ #ifndef _POWER_MGR_API_H_ #define _POWER_MGR_API_H_ #include "tidef.h" #include "paramOut.h" #include "DrvMainModules.h" /***************************************************************************** ** Constants ** *****************************************************************************/ /***************************************************************************** ** Enumerations ** *****************************************************************************/ /***************************************************************************** ** Typedefs ** *****************************************************************************/ /***************************************************************************** ** Structures ** *****************************************************************************/ /***************************************************************************** ** External data definitions ** *****************************************************************************/ /***************************************************************************** ** External functions definitions ** *****************************************************************************/ /***************************************************************************** ** Public Function prototypes ** *****************************************************************************/ /** * \ * \date 24-Oct-2005\n * \brief Creates the object of the power Manager. * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the OS.\n * Return Value: TI_HANDLE - handle to the PowerMgr object.\n */ TI_HANDLE PowerMgr_create(TI_HANDLE theOsHandle); /** * \ * \date 24-Oct-2005\n * \brief Destroy the object of the power Manager. * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the PowerMgr object.\n * Return Value: TI_STATUS - TI_OK on success else TI_NOK.\n */ TI_STATUS PowerMgr_destroy(TI_HANDLE thePowerMgrHandle); /** * \ * \date 24-Oct-2005\n * \brief Initialization of the PowerMgr module. * * Function Scope \e Public.\n * Parameters: pStadHandles - The driver modules handles \n * Return Value: void \n */ void PowerMgr_init (TStadHandlesList *pStadHandles); TI_STATUS PowerMgr_SetDefaults (TI_HANDLE hPowerMgr, PowerMgrInitParams_t* pPowerMgrInitParams); /** * \ * \date 24-Oct-2005\n * \brief Start the power save algorithm of the driver and also the 802.11 PS. * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the PowerMgr object.\n * Return Value: TI_STATUS - TI_OK on success else TI_NOK.\n * \b Description:\n * PsEnable = true, and decide on the proper power mode. */ TI_STATUS PowerMgr_startPS(TI_HANDLE thePowerMgrHandle); /** * \ * \date 24-Oct-2005\n * \brief stop the power save algorithm of the driver and also the 802.11 PS. * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the PowerMgr object.\n * 2) TI_BOOL - indicates if this is roaming (FALSE) or disconnect (TRUE) * Return Value: TI_STATUS - TI_OK on success else TI_NOK.\n * \b Description:\n * PsEnable = false, and set the power mode to active. */ TI_STATUS PowerMgr_stopPS(TI_HANDLE thePowerMgrHandle, TI_BOOL bDisconnect); /** * \ * \date 24-Oct-2005\n * \brief returns the 802.11 power save status (enable / disable). * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the PowerMgr object.\n * Return Value: TI_BOOL - TI_TRUE if enable else TI_FALSE.\n */ TI_BOOL PowerMgr_getPsStatus(TI_HANDLE thePowerMgrHandle); /** * \ * \date 24-Oct-2005\n * \brief Configure of the PowerMode (auto / active / short doze / long doze). * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the PowerMgr object.\n * 2) PowerMgr_PowerMode_e - the requested power mode (auto / active / short doze / long doze). * Return Value: TI_STATUS - TI_OK on success else TI_NOK.\n * \b Description:\n * desiredPowerModeProfile = PowerMode input parameter, and set the proper power mode. */ TI_STATUS PowerMgr_setPowerMode(TI_HANDLE thePowerMgrHandle); /** * \ * \date 24-Oct-2005\n * \brief Get the current PowerMode of the PowerMgr module. * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the PowerMgr object.\n * Return Value: PowerMgr_PowerMode_e .\n */ PowerMgr_PowerMode_e PowerMgr_getPowerMode(TI_HANDLE thePowerMgrHandle); TI_STATUS powerMgr_getParam(TI_HANDLE thePowerMgrHandle, paramInfo_t *theParamP); TI_STATUS powerMgr_setParam(TI_HANDLE thePowerMgrHandle, paramInfo_t *theParamP); /** * \ * \date 20-July-2004\n * \brief print configuration of the PowerMgr object - use for debug! * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the PowerMgr object.\n * Return Value: void.\n */ void PowerMgr_printObject(TI_HANDLE thePowerMgrHandle); /** * \date 10-April-2007\n * \brief reset PM upon recovery event. * * Function Scope \e Public.\n * Parameters:\n * 1) TI_HANDLE - handle to the PowerMgr object.\n * Return Value: void.\n */ TI_STATUS PowerMgr_notifyFWReset(TI_HANDLE hPowerMgr); TI_BOOL PowerMgr_getReAuthActivePriority(TI_HANDLE thePowerMgrHandle); #endif /*_POWER_MGR_API_H_*/