| /*=========================================================================== |
| FILE: |
| GobiConnectionMgmtExports.cpp |
| |
| DESCRIPTION: |
| QUALCOMM Gobi 3000 Connection Management API exports |
| |
| Copyright (c) 2011, Code Aurora Forum. 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 Code Aurora Forum 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. |
| ==========================================================================*/ |
| |
| //--------------------------------------------------------------------------- |
| // Include Files |
| //--------------------------------------------------------------------------- |
| #include "GobiConnectionMgmt.h" |
| #include "GobiConnectionMgmtAPI.h" |
| |
| //--------------------------------------------------------------------------- |
| // Definitions |
| //--------------------------------------------------------------------------- |
| |
| // Maximum length for adapter device path |
| const ULONG MAX_AI_DEVICE_PATH = 256; |
| |
| // Maximum length for adapter key |
| const ULONG MAX_AI_KEY = 16; |
| |
| //--------------------------------------------------------------------------- |
| // Pragmas (pack structs) |
| //--------------------------------------------------------------------------- |
| #pragma pack( push, 1 ) |
| |
| /*=========================================================================*/ |
| // Struct sAdapterInfo |
| // Struct to represent Gobi adapter info |
| /*=========================================================================*/ |
| struct sAdapterInfo |
| { |
| public: |
| CHAR mPath[MAX_AI_DEVICE_PATH]; |
| CHAR mKey[MAX_AI_KEY]; |
| }; |
| |
| //--------------------------------------------------------------------------- |
| // Pragmas |
| //--------------------------------------------------------------------------- |
| #pragma pack( pop ) |
| |
| /*=========================================================================*/ |
| // Exported Methods |
| /*=========================================================================*/ |
| |
| /* Returns the type of the connected device */ |
| GobiType GetDeviceType() |
| { |
| cGobiConnectionMgmt *pAPI = gConnectionDLL.GetAPI(); |
| if (!pAPI) |
| return GOBITYPE_UNKNOWN; |
| return pAPI->GetDeviceType(); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| QCWWANEnumerateDevices |
| |
| DESCRIPTION: |
| This function enumerates the Gobi devices currently attached to the |
| system |
| |
| PARAMETERS: |
| pDevicesSize [I/O] - Upon input the maximum number of elements that the |
| device array can contain. Upon successful output |
| the actual number of elements in the device array |
| pDevices [ O ] - The device array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG QCWWANEnumerateDevices( |
| BYTE * pDevicesSize, |
| BYTE * pDevices ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| // Validate arguments |
| if (pDevicesSize == 0 || pDevices == 0) |
| { |
| return (ULONG)eGOBI_ERR_INVALID_ARG; |
| } |
| |
| // Assume failure |
| BYTE maxInstances = *pDevicesSize; |
| *pDevicesSize = 0; |
| |
| // Obtain adapter info |
| std::vector <cGobiConnectionMgmt::tDeviceID> adapters; |
| adapters = pAPI->GetAvailableDevices(); |
| |
| ULONG sz = (ULONG)adapters.size(); |
| if (sz > (ULONG)maxInstances) |
| { |
| sz = (ULONG)maxInstances; |
| } |
| |
| sAdapterInfo * pOutput = (sAdapterInfo *)pDevices; |
| for (ULONG a = 0; a < sz; a++) |
| { |
| const cGobiConnectionMgmt::tDeviceID & id = adapters[a]; |
| |
| memset( &pOutput->mPath[0], 0, (SIZE_T)MAX_AI_DEVICE_PATH ); |
| memset( &pOutput->mKey[0], 0, (SIZE_T)MAX_AI_KEY ); |
| |
| ULONG len = id.first.size(); |
| if (len > 0) |
| { |
| if (len >= MAX_AI_DEVICE_PATH) |
| { |
| len = MAX_AI_DEVICE_PATH - 1; |
| } |
| |
| memcpy( (LPVOID)&pOutput->mPath[0], |
| (LPVOID)id.first.c_str(), |
| (SIZE_T)len ); |
| } |
| |
| len = id.second.size(); |
| if (len > 0) |
| { |
| if (len >= MAX_AI_KEY) |
| { |
| len = MAX_AI_KEY - 1; |
| } |
| |
| memcpy( (LPVOID)&pOutput->mKey[0], |
| (LPCVOID)id.second.c_str(), |
| (SIZE_T)len ); |
| } |
| |
| pOutput++; |
| } |
| |
| *pDevicesSize = (BYTE)sz; |
| return eGOBI_ERR_NONE; |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| QCWWANConnect |
| |
| DESCRIPTION: |
| This function connects the CM API library to the specified Gobi |
| device |
| |
| Both device node and key are case sensitive |
| |
| PARAMETERS: |
| pDeviceNode [ I ] - The device node |
| pDeviceKey [ I ] - The device key (unique, stored on-device) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG QCWWANConnect( |
| CHAR * pDeviceNode, |
| CHAR * pDeviceKey ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| // Validate arguments |
| if (pDeviceNode == 0 && pDeviceKey != 0) |
| { |
| // If you specify a device key then you have to specify a device ID |
| return (ULONG)eGOBI_ERR_INVALID_ARG; |
| } |
| |
| bool bConnect = pAPI->Connect( (LPCSTR)pDeviceNode, |
| (LPCSTR)pDeviceKey ); |
| if (bConnect == false) |
| { |
| return (ULONG)pAPI->GetCorrectedLastError(); |
| } |
| |
| return (ULONG)eGOBI_ERR_NONE; |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| QCWWANCancel |
| |
| DESCRIPTION: |
| This function cancels the most recent outstanding request |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG QCWWANCancel() |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->CancelSend(); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| QCWWANDisconnect |
| |
| DESCRIPTION: |
| This function disconnects the CM API library from the currently |
| connected Gobi device |
| |
| PARAMETERS: |
| pState [ O ] - State of the current packet session |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG QCWWANDisconnect() |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| bool bDisco = pAPI->Disconnect(); |
| if (bDisco == false) |
| { |
| return (ULONG)pAPI->GetCorrectedLastError(); |
| } |
| |
| return (ULONG)eGOBI_ERR_NONE; |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| QCWWANGetConnectedDeviceID |
| |
| DESCRIPTION: |
| This function returns the Node/key of the device the Gobi CM API library |
| is currently connected to |
| |
| PARAMETERS: |
| deviceNodeSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the device Node array can contain |
| pDeviceNode [ O ] - Device Node (NULL terminated string) |
| deviceKeySize [ I ] - The maximum number of characters (including NULL |
| terminator) that the device key array can contain |
| pDeviceKey [ O ] - Device key (NULL terminated string) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG QCWWANGetConnectedDeviceID( |
| ULONG deviceNodeSize, |
| CHAR * pDeviceNode, |
| ULONG deviceKeySize, |
| CHAR * pDeviceKey ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| // Validate arguments |
| if ( (deviceNodeSize == 0) |
| || (pDeviceNode == 0) |
| || (deviceKeySize == 0) |
| || (pDeviceKey == 0) ) |
| { |
| return (ULONG)eGOBI_ERR_INVALID_ARG; |
| } |
| |
| *pDeviceNode = 0; |
| *pDeviceKey = 0; |
| |
| std::string devNode = ""; |
| std::string devKey = ""; |
| bool bOK = pAPI->GetConnectedDeviceID( devNode, devKey ); |
| if (bOK == false) |
| { |
| return (ULONG)pAPI->GetCorrectedLastError(); |
| } |
| |
| ULONG lenNode = (ULONG)devNode.size(); |
| |
| // Space to perform the copy? |
| if (deviceNodeSize < lenNode + 1) |
| { |
| return eGOBI_ERR_BUFFER_SZ; |
| } |
| |
| memcpy( (LPVOID)pDeviceNode, (LPVOID)devNode.c_str(), lenNode ); |
| |
| // Enforce null termination |
| pDeviceNode[lenNode] = 0; |
| |
| ULONG lenKey = (ULONG)devKey.size(); |
| |
| // Space to perform the copy? |
| if (deviceKeySize < lenKey + 1) |
| { |
| return eGOBI_ERR_BUFFER_SZ; |
| } |
| |
| memcpy( (LPVOID)pDeviceKey, (LPVOID)devKey.c_str(), lenKey ); |
| |
| // Enforce null termination |
| pDeviceKey[lenKey] = 0; |
| |
| return eGOBI_ERR_NONE; |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSessionState |
| |
| DESCRIPTION: |
| This function returns the state of the current packet data session |
| |
| PARAMETERS: |
| pState [ O ] - State of the current packet session |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSessionState( ULONG * pState ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSessionState( pState ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSessionDuration |
| |
| DESCRIPTION: |
| This function returns the duration of the current packet data session |
| |
| PARAMETERS: |
| pDuration [ O ] - Duration of the current packet session |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSessionDuration( ULONGLONG * pDuration ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSessionDuration( pDuration ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetDormancyState |
| |
| DESCRIPTION: |
| This function returns the dormancy state of the current packet |
| data session (when connected) |
| |
| PARAMETERS: |
| pState [ O ] - Dormancy state of the current packet session |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetDormancyState( ULONG * pState ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetDormancyState( pState ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetAutoconnect (Deprecated) |
| |
| DESCRIPTION: |
| This function returns the current autoconnect data session setting |
| |
| PARAMETERS: |
| pSetting [ O ] - NDIS autoconnect setting |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetAutoconnect( ULONG * pSetting ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| ULONG dummy; |
| return (ULONG)pAPI->GetEnhancedAutoconnect( pSetting, &dummy ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetAutoconnect (Deprecated) |
| |
| DESCRIPTION: |
| This function sets the autoconnect data session setting |
| |
| PARAMETERS: |
| setting [ I ] - NDIS autoconnect disabled (0) or enabled (non-zero) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetAutoconnect( ULONG setting ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetEnhancedAutoconnect( setting, 0 ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetEnhancedAutoconnect |
| |
| DESCRIPTION: |
| This function returns the current autoconnect data session setting |
| |
| PARAMETERS: |
| pSetting [ O ] - NDIS autoconnect setting |
| pRoamSetting [ O ] - NDIS autoconnect roam setting |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetEnhancedAutoconnect( |
| ULONG * pSetting, |
| ULONG * pRoamSetting ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetEnhancedAutoconnect( pSetting, pRoamSetting ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetEnhancedAutoconnect |
| |
| DESCRIPTION: |
| This function sets the autoconnect data session setting |
| |
| PARAMETERS: |
| setting [ I ] - NDIS autoconnect setting |
| pRoamSetting [ I ] - (Optional) NDIS autoconnect roam setting |
| |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetEnhancedAutoconnect( |
| ULONG setting, |
| ULONG * pRoamSetting ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetEnhancedAutoconnect( setting, pRoamSetting ); |
| } |
| |
| |
| /*=========================================================================== |
| METHOD: |
| SetDefaultProfile |
| |
| DESCRIPTION: |
| This function writes the default profile settings to the device, the |
| default profile is used during autoconnect |
| |
| PARAMETERS: |
| profileType [ I ] - Profile type being written |
| pPDPType [ I ] - (Optional) PDP type |
| pIPAddress [ I ] - (Optional) Preferred assigned IPv4 address |
| pPrimaryDNS [ I ] - (Optional) Primary DNS IPv4 address |
| pSecondaryDNS [ I ] - (Optional) Secondary DNS IPv4 address |
| pAuthentication [ I ] - (Optional) Authentication algorithm bitmap |
| pName [ I ] - (Optional) The profile name or description |
| pAPNName [ I ] - (Optional) Access point name |
| pUsername [ I ] - (Optional) Username used during authentication |
| pPassword [ I ] - (Optional) Password used during authentication |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetDefaultProfile( |
| ULONG profileType, |
| ULONG * pPDPType, |
| ULONG * pIPAddress, |
| ULONG * pPrimaryDNS, |
| ULONG * pSecondaryDNS, |
| ULONG * pAuthentication, |
| CHAR * pName, |
| CHAR * pAPNName, |
| CHAR * pUsername, |
| CHAR * pPassword ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetDefaultProfile( profileType, |
| pPDPType, |
| pIPAddress, |
| pPrimaryDNS, |
| pSecondaryDNS, |
| pAuthentication, |
| pName, |
| pAPNName, |
| pUsername, |
| pPassword ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetDefaultProfile |
| |
| DESCRIPTION: |
| This function reads the default profile settings from the device, the |
| default profile is used during autoconnect |
| |
| PARAMETERS: |
| profileType [ I ] - Profile type being read |
| pPDPType [ O ] - PDP type |
| pIPAddress [ O ] - Preferred assigned IPv4 address |
| pPrimaryDNS [ O ] - Primary DNS IPv4 address |
| pSecondaryDNS [ O ] - Secondary DNS IPv4 address |
| pAuthentication [ O ] - Authentication algorithm bitmap |
| nameSize [ I ] - The maximum number of characters (including |
| NULL terminator) that the profile name array |
| can contain |
| pName [ O ] - The profile name or description |
| apnSize [ I ] - The maximum number of characters (including |
| NULL terminator) that the APN name array |
| can contain |
| pAPNName [ O ] - Access point name represented as a NULL |
| terminated string (empty string returned when |
| unknown) |
| userSize [ I ] - The maximum number of characters (including |
| NULL terminator) that the username array |
| can contain |
| pUsername [ O ] - Username used during authentication |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetDefaultProfile( |
| ULONG profileType, |
| ULONG * pPDPType, |
| ULONG * pIPAddress, |
| ULONG * pPrimaryDNS, |
| ULONG * pSecondaryDNS, |
| ULONG * pAuthentication, |
| BYTE nameSize, |
| CHAR * pName, |
| BYTE apnSize, |
| CHAR * pAPNName, |
| BYTE userSize, |
| CHAR * pUsername ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetDefaultProfile( profileType, |
| pPDPType, |
| pIPAddress, |
| pPrimaryDNS, |
| pSecondaryDNS, |
| pAuthentication, |
| nameSize, |
| pName, |
| apnSize, |
| pAPNName, |
| userSize, |
| pUsername ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| StartDataSession |
| |
| DESCRIPTION: |
| This function activates a packet data session |
| |
| PARAMETERS: |
| pTechnology [ I ] - (Optional) Technology bitmap |
| pPrimaryDNS [ I ] - (Optional) Primary DNS IPv4 address |
| pSecondaryDNS [ I ] - (Optional) Secondary DNS IPv4 address |
| pPrimaryNBNS [ I ] - (Optional) Primary NetBIOS NS IPv4 address |
| pSecondaryNBNS [ I ] - (Optional) Secondary NetBIOS NS IPv4 address |
| pAPNName [ I ] - (Optional) Access point name |
| pIPAddress [ I ] - (Optional) Preferred assigned IPv4 address |
| pAuthentication [ I ] - (Optional) Authentication algorithm bitmap |
| pUsername [ I ] - (Optional) Username used during authentication |
| pPassword [ I ] - (Optional) Password used during authentication |
| pSessionId [ O ] - The assigned session ID |
| pFailureReason [ O ] - Upon call failure the failure reason provided |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG StartDataSession( |
| ULONG * pTechnology, |
| ULONG * pPrimaryDNS, |
| ULONG * pSecondaryDNS, |
| ULONG * pPrimaryNBNS, |
| ULONG * pSecondaryNBNS, |
| CHAR * pAPNName, |
| ULONG * pIPAddress, |
| ULONG * pAuthentication, |
| CHAR * pUsername, |
| CHAR * pPassword, |
| ULONG * pSessionId, |
| ULONG * pFailureReason ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->StartDataSession( pTechnology, |
| pPrimaryDNS, |
| pSecondaryDNS, |
| pPrimaryNBNS, |
| pSecondaryNBNS, |
| pAPNName, |
| pIPAddress, |
| pAuthentication, |
| pUsername, |
| pPassword, |
| pSessionId, |
| pFailureReason ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| CancelDataSession |
| |
| DESCRIPTION: |
| This function cancels an in-progress packet data session activation |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG CancelDataSession() |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->CancelDataSession(); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| StopDataSession |
| |
| DESCRIPTION: |
| This function stops the current data session |
| |
| PARAMETERS: |
| sessionId [ I ] - The ID of the session to terminate |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG StopDataSession( ULONG sessionId ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->StopDataSession( sessionId ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetIPAddress |
| |
| DESCRIPTION: |
| This function returns the current packet data session IP address |
| |
| PARAMETERS: |
| pIPAddress [ O ] - Assigned IPv4 address |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetIPAddress( ULONG * pIPAddress ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->GetIPAddress( pIPAddress ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetConnectionRate |
| |
| DESCRIPTION: |
| This function returns connection rate information for the packet data |
| connection |
| |
| PARAMETERS: |
| pCurrentChannelTXRate [ O ] - Current channel TX rate (bps) |
| pCurrentChannelRXRate [ O ] - Current channel RX rate (bps) |
| pMaxChannelTXRate [ O ] - Maximum channel TX rate (bps) |
| pMaxChannelRXRate [ O ] - Maximum channel RX rate (bps) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetConnectionRate( |
| ULONG * pCurrentChannelTXRate, |
| ULONG * pCurrentChannelRXRate, |
| ULONG * pMaxChannelTXRate, |
| ULONG * pMaxChannelRXRate ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetConnectionRate( pCurrentChannelTXRate, |
| pCurrentChannelRXRate, |
| pMaxChannelTXRate, |
| pMaxChannelRXRate ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetPacketStatus |
| |
| DESCRIPTION: |
| This function returns the packet data transfer statistics since the start |
| of the current packet data session |
| |
| PARAMETERS: |
| pTXPacketSuccesses [ O ] - Packets transmitted without error |
| pRXPacketSuccesses [ O ] - Packets received without error |
| pTXPacketErrors [ O ] - Outgoing packets with framing errors |
| pRXPacketErrors [ O ] - Incoming packets with framing errors |
| pTXPacketOverflows [ O ] - Packets dropped because TX buffer overflowed |
| pRXPacketOverflows [ O ] - Packets dropped because RX buffer overflowed |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetPacketStatus( |
| ULONG * pTXPacketSuccesses, |
| ULONG * pRXPacketSuccesses, |
| ULONG * pTXPacketErrors, |
| ULONG * pRXPacketErrors, |
| ULONG * pTXPacketOverflows, |
| ULONG * pRXPacketOverflows ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetPacketStatus( pTXPacketSuccesses, |
| pRXPacketSuccesses, |
| pTXPacketErrors, |
| pRXPacketErrors, |
| pTXPacketOverflows, |
| pRXPacketOverflows ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetByteTotals |
| |
| DESCRIPTION: |
| This function returns the RX/TX byte counts since the start of the |
| current packet data session |
| |
| PARAMETERS: |
| pTXTotalBytes [ O ] - Bytes transmitted without error |
| pRXTotalBytes [ O ] - Bytes received without error |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetByteTotals( |
| ULONGLONG * pTXTotalBytes, |
| ULONGLONG * pRXTotalBytes ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetByteTotals( pTXTotalBytes, pRXTotalBytes ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetMobileIP |
| |
| DESCRIPTION: |
| This function sets the current mobile IP setting |
| |
| PARAMETERS: |
| mode [ I ] - Desired mobile IP setting |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetMobileIP( ULONG mode ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->SetMobileIP( mode ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetMobileIP |
| |
| DESCRIPTION: |
| This function gets the current mobile IP setting |
| |
| PARAMETERS: |
| pMode [ O ] - Current mobile IP setting |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetMobileIP( ULONG * pMode ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetMobileIP( pMode ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetActiveMobileIPProfile |
| |
| DESCRIPTION: |
| This function sets the active mobile IP profile index |
| |
| PARAMETERS: |
| pSPC [ I ] - Six digit service programming code |
| index [ I ] - Desired mobile IP profile index |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetActiveMobileIPProfile( |
| CHAR * pSPC, |
| BYTE index ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetActiveMobileIPProfile( pSPC, index ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetActiveMobileIPProfile |
| |
| DESCRIPTION: |
| This function gets the the active mobile IP profile index |
| |
| PARAMETERS: |
| pIndex [ O ] - Active mobile IP profile index |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetActiveMobileIPProfile( BYTE * pIndex ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetActiveMobileIPProfile( pIndex ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetMobileIPProfile |
| |
| DESCRIPTION: |
| This function sets the specified mobile IP profile settings |
| |
| PARAMETERS: |
| pSPC [ I ] - Six digit service programming code |
| index [ I ] - Mobile IP profile ID |
| pEnabled [ I ] - (Optional) Enable MIP profile? |
| pAddress [ I ] - (Optional) Home IPv4 address |
| pPrimaryHA [ I ] - (Optional) Primary home agent IPv4 address |
| pSecondaryHA [ I ] - (Optional) Secondary home agent IPv4 address |
| bRevTunneling [ I ] - (Optional) Enable reverse tunneling? |
| pNAI [ I ] - (Optional) Network access identifier string |
| pHASPI [ I ] - (Optional) HA security parameter index |
| pAAASPI [ I ] - (Optional) AAA security parameter index |
| pMNHA [ I ] - (Optional) MN-HA string |
| pMNAAA [ I ] - (Optional) MN-AAA string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetMobileIPProfile( |
| CHAR * pSPC, |
| BYTE index, |
| BYTE * pEnabled, |
| ULONG * pAddress, |
| ULONG * pPrimaryHA, |
| ULONG * pSecondaryHA, |
| BYTE * pRevTunneling, |
| CHAR * pNAI, |
| ULONG * pHASPI, |
| ULONG * pAAASPI, |
| CHAR * pMNHA, |
| CHAR * pMNAAA ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetMobileIPProfile( pSPC, |
| index, |
| pEnabled, |
| pAddress, |
| pPrimaryHA, |
| pSecondaryHA, |
| pRevTunneling, |
| pNAI, |
| pHASPI, |
| pAAASPI, |
| pMNHA, |
| pMNAAA ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetMobileIPProfile |
| |
| DESCRIPTION: |
| This function gets the specified mobile IP profile settings |
| |
| PARAMETERS: |
| index [ I ] - Mobile IP profile ID |
| pEnabled [ O ] - Mobile IP profile enabled? |
| pAddress [ O ] - Home IPv4 address |
| pPrimaryHA [ O ] - Primary home agent IPv4 address |
| pSecondaryHA [ O ] - Secondary home agent IPv4 address |
| pRevTunneling [ O ] - Reverse tunneling enabled? |
| naiSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the NAI array can contain |
| pNAI [ O ] - Network access identifier string |
| pHASPI [ O ] - HA security parameter index |
| pAAASPI [ O ] - AAA security parameter index |
| pHAState [ O ] - HA key state |
| pAAAState [ O ] - AAA key state |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetMobileIPProfile( |
| BYTE index, |
| BYTE * pEnabled, |
| ULONG * pAddress, |
| ULONG * pPrimaryHA, |
| ULONG * pSecondaryHA, |
| BYTE * pRevTunneling, |
| BYTE naiSize, |
| CHAR * pNAI, |
| ULONG * pHASPI, |
| ULONG * pAAASPI, |
| ULONG * pHAState, |
| ULONG * pAAAState ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetMobileIPProfile( index, |
| pEnabled, |
| pAddress, |
| pPrimaryHA, |
| pSecondaryHA, |
| pRevTunneling, |
| naiSize, |
| pNAI, |
| pHASPI, |
| pAAASPI, |
| pHAState, |
| pAAAState ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetMobileIPParameters |
| |
| DESCRIPTION: |
| This function sets the specified mobile IP parameters |
| |
| PARAMETERS: |
| pSPC [ I ] - Six digit service programming code |
| pMode [ I ] - (Optional) Desired mobile IP setting |
| pRetryLimit [ I ] - (Optional) Retry attempt limit |
| pRetryInterval [ I ] - (Optional) Retry attempt interval |
| pReRegPeriod [ I ] - (Optional) Re-registration period |
| pReRegTraffic [ I ] - (Optional) Re-registration only with traffic? |
| pHAAuthenticator [ I ] - (Optional) MH-HA authenticator calculator? |
| pHA2002bis [ I ] - (Optional) MH-HA RFC 2002bis authentication? |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetMobileIPParameters( |
| CHAR * pSPC, |
| ULONG * pMode, |
| BYTE * pRetryLimit, |
| BYTE * pRetryInterval, |
| BYTE * pReRegPeriod, |
| BYTE * pReRegTraffic, |
| BYTE * pHAAuthenticator, |
| BYTE * pHA2002bis ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetMobileIPParameters( pSPC, |
| pMode, |
| pRetryLimit, |
| pRetryInterval, |
| pReRegPeriod, |
| pReRegTraffic, |
| pHAAuthenticator, |
| pHA2002bis ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetMobileIPParameters |
| |
| DESCRIPTION: |
| This function gets the mobile IP parameters |
| |
| PARAMETERS: |
| pMode [ O ] - Current mobile IP setting |
| pRetryLimit [ O ] - Retry attempt limit |
| pRetryInterval [ O ] - Retry attempt interval |
| pReRegPeriod [ O ] - Re-registration period |
| pReRegTraffic [ O ] - Re-registration only with traffic? |
| pHAAuthenticator [ O ] - MH-HA authenticator calculator? |
| pHA2002bis [ O ] - MH-HA RFC 2002bis authentication? |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetMobileIPParameters( |
| ULONG * pMode, |
| BYTE * pRetryLimit, |
| BYTE * pRetryInterval, |
| BYTE * pReRegPeriod, |
| BYTE * pReRegTraffic, |
| BYTE * pHAAuthenticator, |
| BYTE * pHA2002bis ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetMobileIPParameters( pMode, |
| pRetryLimit, |
| pRetryInterval, |
| pReRegPeriod, |
| pReRegTraffic, |
| pHAAuthenticator, |
| pHA2002bis ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetLastMobileIPError |
| |
| DESCRIPTION: |
| This function gets the last mobile IP error |
| |
| PARAMETERS: |
| pError [ O ] - Last mobile IP error |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetLastMobileIPError( ULONG * pError ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetLastMobileIPError( pError ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetDNSSettings |
| |
| DESCRIPTION: |
| This function sets the DNS settings for the device |
| |
| PARAMETERS: |
| pPrimaryDNS [ I ] - (Optional) Primary DNS IPv4 address |
| pSecondaryDNS [ I ] - (Optional) Secondary DNS IPv4 address |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetDNSSettings( |
| ULONG * pPrimaryDNS, |
| ULONG * pSecondaryDNS ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetDNSSettings( pPrimaryDNS, pSecondaryDNS ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetDNSSettings |
| |
| DESCRIPTION: |
| This function gets the DNS settings for the device |
| |
| PARAMETERS: |
| pPrimaryDNS [ O ] - Primary DNS IPv4 address |
| pSecondaryDNS [ O ] - Secondary DNS IPv4 address |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetDNSSettings( |
| ULONG * pPrimaryDNS, |
| ULONG * pSecondaryDNS ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetDNSSettings( pPrimaryDNS, pSecondaryDNS ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetANAAAAuthenticationStatus |
| |
| DESCRIPTION: |
| This function gets the AN-AAA authentication status |
| |
| PARAMETERS: |
| pStatus [ O ] - AN-AAA authentication status |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetANAAAAuthenticationStatus( ULONG * pStatus ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetANAAAAuthenticationStatus( pStatus ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSignalStrengths |
| |
| DESCRIPTION: |
| This function gets the current available signal strengths (in dBm) |
| as measured by the device |
| |
| PARAMETERS: |
| pArraySizes [I/O] - Upon input the maximum number of elements |
| that each array can contain can contain. |
| Upon successful output the actual number |
| of elements in each array |
| pSignalStrengths [ O ] - Received signal strength array (dBm) |
| pRadioInterfaces [ O ] - Radio interface technology array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSignalStrengths( |
| ULONG * pArraySizes, |
| INT8 * pSignalStrengths, |
| ULONG * pRadioInterfaces ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSignalStrengths( pArraySizes, |
| pSignalStrengths, |
| pRadioInterfaces ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetRFInfo |
| |
| DESCRIPTION: |
| This function gets the current RF information |
| |
| PARAMETERS: |
| pInstanceSize [I/O] - Upon input the maximum number of elements that the |
| RF info instance array can contain. Upon success |
| the actual number of elements in the RF info |
| instance array |
| pInstances [ O ] - The RF info instance array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetRFInfo( |
| BYTE * pInstanceSize, |
| BYTE * pInstances ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetRFInfo( pInstanceSize, pInstances ); |
| } |
| |
| |
| |
| /*=========================================================================== |
| METHOD: |
| PerformNetworkScan |
| |
| DESCRIPTION: |
| This function performs a scan for available networks |
| |
| PARAMETERS: |
| pInstanceSize [I/O] - Upon input the maximum number of elements that the |
| network info instance array can contain. Upon |
| success the actual number of elements in the |
| network info instance array |
| pInstances [ O ] - The network info instance array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG PerformNetworkScan( |
| BYTE * pInstanceSize, |
| BYTE * pInstances ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->PerformNetworkScan( pInstanceSize, pInstances ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| PerformNetworkRATScan |
| |
| DESCRIPTION: |
| This function performs a scan for available networks (includes RAT) |
| |
| PARAMETERS: |
| pInstanceSize [I/O] - Upon input the maximum number of elements that the |
| network info instance array can contain. Upon |
| success the actual number of elements in the |
| network info instance array |
| pInstances [ O ] - The network info instance array |
| pRATSize [I/O] - Upon input the maximum number of elements that the |
| RAT info instance array can contain. Upon success |
| the actual number of elements in the RAT info |
| instance array |
| pRATInstances [ O ] - The RAT info instance array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG PerformNetworkRATScan( |
| BYTE * pInstanceSize, |
| BYTE * pInstances, |
| BYTE * pRATSize, |
| BYTE * pRATInstances ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->PerformNetworkRATScan( pInstanceSize, |
| pInstances, |
| pRATSize, |
| pRATInstances ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| InitiateNetworkRegistration |
| |
| DESCRIPTION: |
| This function initiates a network registration |
| |
| PARAMETERS: |
| regType [ I ] - Registration type |
| mcc [ I ] - Mobile country code (ignored for auto registration) |
| mnc [ I ] - Mobile network code (ignored for auto registration) |
| rat [ I ] - Radio access type (ignored for auto registration) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG InitiateNetworkRegistration( |
| ULONG regType, |
| WORD mcc, |
| WORD mnc, |
| ULONG rat ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->InitiateNetworkRegistration( regType, |
| mcc, |
| mnc, |
| rat ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| InitiateDomainAttach |
| |
| DESCRIPTION: |
| This function initiates a domain attach (or detach) |
| |
| PARAMETERS: |
| action [ I ] - PS attach action (attach or detach) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG InitiateDomainAttach( ULONG action ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->InitiateDomainAttach( action ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetServingNetwork |
| |
| DESCRIPTION: |
| Gets information regarding the system that currently provides service |
| to the device |
| |
| PARAMETERS: |
| pRegistrationState [ O ] - Registration state |
| pCSDomain [ O ] - Circuit switch domain status |
| pPSDomain [ O ] - Packet switch domain status |
| pRAN [ O ] - Radio access network |
| pRadioIfacesSize [I/O] - Upon input the maximum number of elements |
| that the radio interfaces can contain. Upon |
| successful output the actual number of elements |
| in the radio interface array |
| pRadioIfaces [ O ] - The radio interface array |
| pRoaming [ O ] - Roaming indicator (0xFFFFFFFF - Unknown) |
| pMCC [ O ] - Mobile country code (0xFFFF - Unknown) |
| pMNC [ O ] - Mobile network code (0xFFFF - Unknown) |
| nameSize [ I ] - The maximum number of characters (including |
| NULL terminator) that the network name array |
| can contain |
| pName [ O ] - The network name or description represented |
| as a NULL terminated string (empty string |
| returned when unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetServingNetwork( |
| ULONG * pRegistrationState, |
| ULONG * pCSDomain, |
| ULONG * pPSDomain, |
| ULONG * pRAN, |
| BYTE * pRadioIfacesSize, |
| BYTE * pRadioIfaces, |
| ULONG * pRoaming, |
| WORD * pMCC, |
| WORD * pMNC, |
| BYTE nameSize, |
| CHAR * pName ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetServingNetwork( pRegistrationState, |
| pCSDomain, |
| pPSDomain, |
| pRAN, |
| pRadioIfacesSize, |
| pRadioIfaces, |
| pRoaming, |
| pMCC, |
| pMNC, |
| nameSize, |
| pName ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetServingNetworkCapabilities |
| |
| DESCRIPTION: |
| Gets information regarding the data capabilities of the system that |
| currently provides service to the device |
| |
| PARAMETERS: |
| pDataCapsSize [I/O] - Upon input the maximum number of elements that the |
| data capabilities array can contain. Upon success |
| the actual number of elements in the data |
| capabilities array |
| pDataCaps [ O ] - The data capabilities array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetServingNetworkCapabilities( |
| BYTE * pDataCapsSize, |
| BYTE * pDataCaps ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetServingNetworkCapabilities( pDataCapsSize, |
| pDataCaps ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetDataBearerTechnology |
| |
| DESCRIPTION: |
| This function retrieves the current data bearer technology (only |
| valid when connected) |
| |
| PARAMETERS: |
| pDataCaps [ O ] - The data bearer technology |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetDataBearerTechnology( ULONG * pDataBearer ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetDataBearerTechnology( pDataBearer ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetHomeNetwork |
| |
| DESCRIPTION: |
| This function retrieves information about the home network of the device |
| |
| PARAMETERS: |
| pMCC [ O ] - Mobile country code |
| pMNC [ O ] - Mobile network code |
| nameSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the network name array can contain |
| pName [ O ] - The network name or description represented as a NULL |
| terminated string (empty string returned when unknown) |
| pSID [ O ] - Home network system ID (0xFFFF - Unknown) |
| pNID [ O ] - Home network ID (0xFFFF - Unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetHomeNetwork( |
| WORD * pMCC, |
| WORD * pMNC, |
| BYTE nameSize, |
| CHAR * pName, |
| WORD * pSID, |
| WORD * pNID ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetHomeNetwork( pMCC, |
| pMNC, |
| nameSize, |
| pName, |
| pSID, |
| pNID ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetNetworkPreference |
| |
| DESCRIPTION: |
| This function sets the network registration preference |
| |
| PARAMETERS: |
| technologyPref [ I ] - Technology preference bitmap |
| duration [ I ] - Duration of active preference |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetNetworkPreference( |
| ULONG technologyPref, |
| ULONG duration ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->SetNetworkPreference( technologyPref, duration ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetNetworkPreference |
| |
| DESCRIPTION: |
| This function returns the network registration preference |
| |
| PARAMETERS: |
| pTechnologyPref [ O ] - Technology preference bitmap |
| pDuration [ O ] - Duration of active preference |
| pPersistentTechnologyPref [ O ] - Persistent technology preference bitmap |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetNetworkPreference( |
| ULONG * pTechnologyPref, |
| ULONG * pDuration, |
| ULONG * pPersistentTechnologyPref ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetNetworkPreference( pTechnologyPref, |
| pDuration, |
| pPersistentTechnologyPref ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetCDMANetworkParameters |
| |
| DESCRIPTION: |
| This function sets the desired CDMA network parameters |
| |
| PARAMETERS: |
| pSPC [ I ] - Six digit service programming code |
| pForceRev0 [ I ] - (Optional) Force CDMA 1x-EV-DO Rev. 0 mode? |
| pCustomSCP [ I ] - (Optional) Use a custom config for CDMA 1x-EV-DO SCP? |
| pProtocol [ I ] - (Optional) Protocol mask for custom SCP config |
| pBroadcast [ I ] - (Optional) Broadcast mask for custom SCP config |
| pApplication [ I ] - (Optional) Application mask for custom SCP config |
| pRoaming [ I ] - (Optional) Roaming preference |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetCDMANetworkParameters( |
| CHAR * pSPC, |
| BYTE * pForceRev0, |
| BYTE * pCustomSCP, |
| ULONG * pProtocol, |
| ULONG * pBroadcast, |
| ULONG * pApplication, |
| ULONG * pRoaming ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->SetCDMANetworkParameters( pSPC, |
| pForceRev0, |
| pCustomSCP, |
| pProtocol, |
| pBroadcast, |
| pApplication, |
| pRoaming ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetEVDONetworkParameters |
| |
| DESCRIPTION: |
| This function gets the current CDMA network parameters |
| |
| PARAMETERS: |
| pSCI [ O ] - Slot cycle index |
| pSCM [ O ] - Station class mark |
| pRegHomeSID [ O ] - Register on home SID? |
| pRegForeignSID [ O ] - Register on foreign SID? |
| pRegForeignNID [ O ] - Register on foreign NID? |
| pForceRev0 [ O ] - Force CDMA 1x-EV-DO Rev. 0 mode? |
| pCustomSCP [ O ] - Use a custom config for CDMA 1x-EV-DO SCP? |
| pProtocol [ O ] - Protocol mask for custom SCP config |
| pBroadcast [ O ] - Broadcast mask for custom SCP config |
| pApplication [ O ] - Application mask for custom SCP config |
| pRoaming [ O ] - Roaming preference |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetCDMANetworkParameters( |
| BYTE * pSCI, |
| BYTE * pSCM, |
| BYTE * pRegHomeSID, |
| BYTE * pRegForeignSID, |
| BYTE * pRegForeignNID, |
| BYTE * pForceRev0, |
| BYTE * pCustomSCP, |
| ULONG * pProtocol, |
| ULONG * pBroadcast, |
| ULONG * pApplication, |
| ULONG * pRoaming ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->GetCDMANetworkParameters( pSCI, |
| pSCM, |
| pRegHomeSID, |
| pRegForeignSID, |
| pRegForeignNID, |
| pForceRev0, |
| pCustomSCP, |
| pProtocol, |
| pBroadcast, |
| pApplication, |
| pRoaming ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetACCOLC |
| |
| DESCRIPTION: |
| This function returns the Access Overload Class (ACCOLC) of the device |
| |
| PARAMETERS: |
| pACCOLC [ O ] - The ACCOLC |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetACCOLC( BYTE * pACCOLC ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetACCOLC( pACCOLC ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetACCOLC |
| |
| DESCRIPTION: |
| This function sets the Access Overload Class (ACCOLC) of the device |
| |
| PARAMETERS: |
| pSPC [ I ] - NULL terminated string representing the six digit |
| service programming code |
| accolc [ I ] - The ACCOLC |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetACCOLC( |
| CHAR * pSPC, |
| BYTE accolc ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->SetACCOLC( pSPC, accolc ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetPLMNMode |
| |
| DESCRIPTION: |
| This function returns the PLMN mode from the CSP |
| |
| PARAMETERS: |
| pMode [ O ] - PLMN mode |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetPLMNMode( ULONG * pMode ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->GetPLMNMode( pMode ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetPLMNName |
| |
| DESCRIPTION: |
| This function returns PLMN name information for the given MCC/MNC |
| |
| PARAMETERS: |
| mcc [ I ] - Mobile country code |
| mnc [ I ] - Mobile network code |
| pNamesSize [I/O] - Upon input the size in BYTEs of the name structure |
| array. Upon success the actual number of BYTEs |
| copied to the name structure array |
| pNames [ O ] - The name structure array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetPLMNName( |
| USHORT mcc, |
| USHORT mnc, |
| ULONG * pNamesSize, |
| BYTE * pNames ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->GetPLMNName( mcc, mnc, pNamesSize, pNames ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetDeviceCapabilities |
| |
| DESCRIPTION: |
| This function gets device capabilities |
| |
| PARAMETERS: |
| pMaxTXChannelRate [ O ] - Maximum transmission rate (bps) |
| pMaxRXChannelRate [ O ] - Maximum reception rate (bps) |
| pDataServiceCapability [ O ] - CS/PS data service capability |
| pSimCapability [ O ] - Device SIM support |
| pRadioIfacesSize [I/O] - Upon input the maximum number of elements |
| that the radio interfaces can contain. |
| Upon successful output the actual number |
| of elements in the radio interface array |
| pRadioIfaces [ O ] - The radio interface array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetDeviceCapabilities( |
| ULONG * pMaxTXChannelRate, |
| ULONG * pMaxRXChannelRate, |
| ULONG * pDataServiceCapability, |
| ULONG * pSimCapability, |
| ULONG * pRadioIfacesSize, |
| BYTE * pRadioIfaces ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetDeviceCapabilities( pMaxTXChannelRate, |
| pMaxRXChannelRate, |
| pDataServiceCapability, |
| pSimCapability, |
| pRadioIfacesSize, |
| pRadioIfaces ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetManufacturer |
| |
| DESCRIPTION: |
| This function returns the device manufacturer name |
| |
| PARAMETERS: |
| stringSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the string array can contain |
| pString [ O ] - NULL terminated string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetManufacturer( |
| BYTE stringSize, |
| CHAR * pString ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetManufacturer( stringSize, pString ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetModelID |
| |
| DESCRIPTION: |
| This function returns the device model ID |
| |
| PARAMETERS: |
| stringSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the string array can contain |
| pString [ O ] - NULL terminated string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetModelID( |
| BYTE stringSize, |
| CHAR * pString ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetModelID( stringSize, pString ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetFirmwareRevision |
| |
| DESCRIPTION: |
| This function returns the device firmware revision |
| |
| PARAMETERS: |
| stringSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the string array can contain |
| pString [ O ] - NULL terminated string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetFirmwareRevision( |
| BYTE stringSize, |
| CHAR * pString ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetFirmwareRevision( stringSize, pString ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetFirmwareRevisions |
| |
| DESCRIPTION: |
| This function returns the device firmware (AMSS, boot, and PRI) |
| revisions |
| |
| PARAMETERS: |
| amssSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the AMSS string array can contain |
| pAMSSString [ O ] - NULL terminated AMSS revision string |
| bootSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the boot string array can contain |
| pBootString [ O ] - NULL terminated boot code revision string |
| priSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the PRI string array can contain |
| pPRIString [ O ] - NULL terminated PRI revision string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetFirmwareRevisions( |
| BYTE amssSize, |
| CHAR * pAMSSString, |
| BYTE bootSize, |
| CHAR * pBootString, |
| BYTE priSize, |
| CHAR * pPRIString ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetFirmwareRevisions( amssSize, |
| pAMSSString, |
| bootSize, |
| pBootString, |
| priSize, |
| pPRIString ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetFirmwareInfo |
| |
| DESCRIPTION: |
| Returns image information obtained from the current device firmware |
| |
| PARAMETERS: |
| pFirmwareID [ O ] - Firmware ID obtained from the firmware image |
| pTechnology [ O ] - Technology (0xFFFFFFFF if unknown) |
| pCarrier [ O ] - Carrier (0xFFFFFFFF if unknown) |
| pRegion [ O ] - Region (0xFFFFFFFF if unknown) |
| pGPSCapability [ O ] - GPS capability (0xFFFFFFFF if unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetFirmwareInfo( |
| ULONG * pFirmwareID, |
| ULONG * pTechnology, |
| ULONG * pCarrier, |
| ULONG * pRegion, |
| ULONG * pGPSCapability ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetFirmwareInfo( pFirmwareID, |
| pTechnology, |
| pCarrier, |
| pRegion, |
| pGPSCapability ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetVoiceNumber |
| |
| DESCRIPTION: |
| This function returns the voice number in use by the device |
| |
| PARAMETERS: |
| voiceNumberSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the voice number array can |
| contain |
| pVoiceNumber [ O ] - Voice number (MDN or ISDN) string |
| minSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the MIN array can contain |
| pMIN [ O ] - MIN string (empty string returned when MIN is |
| not supported/programmed) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetVoiceNumber( |
| BYTE voiceNumberSize, |
| CHAR * pVoiceNumber, |
| BYTE minSize, |
| CHAR * pMIN ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetVoiceNumber( voiceNumberSize, |
| pVoiceNumber, |
| minSize, |
| pMIN ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetIMSI |
| |
| DESCRIPTION: |
| This function returns the device IMSI |
| |
| PARAMETERS: |
| stringSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the string array can contain |
| pString [ O ] - NULL terminated string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetIMSI( |
| BYTE stringSize, |
| CHAR * pString ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetIMSI( stringSize, pString ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSerialNumbers |
| |
| DESCRIPTION: |
| This command returns all serial numbers assigned to the device |
| |
| PARAMETERS: |
| esnSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the ESN array can contain |
| pESNString [ O ] - ESN string (empty string returned when ESN is |
| not supported/programmed) |
| imeiSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the IMEI array can contain |
| pIMEIString [ O ] - IMEI string (empty string returned when IMEI is |
| not supported/programmed) |
| meidSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the MEID array can contain |
| pMEIDString [ O ] - MEID string (empty string returned when MEID is |
| not supported/programmed) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSerialNumbers( |
| BYTE esnSize, |
| CHAR * pESNString, |
| BYTE imeiSize, |
| CHAR * pIMEIString, |
| BYTE meidSize, |
| CHAR * pMEIDString ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSerialNumbers( esnSize, |
| pESNString, |
| imeiSize, |
| pIMEIString, |
| meidSize, |
| pMEIDString ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetLock |
| |
| DESCRIPTION: |
| This function sets the user lock state maintained by the device |
| |
| PARAMETERS: |
| state [ I ] - Desired lock state |
| pCurrentPIN [ I ] - Current four digit PIN string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetLock( |
| ULONG state, |
| CHAR * pCurrentPIN ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->SetLock( state, pCurrentPIN ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| QueryLock |
| |
| DESCRIPTION: |
| This function sets the user lock state maintained by the device |
| |
| PARAMETERS: |
| pState [ O ] - Current lock state |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG QueryLock( ULONG * pState ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->QueryLock( pState ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| ChangeLockPIN |
| |
| DESCRIPTION: |
| This command sets the user lock code maintained by the device |
| |
| PARAMETERS: |
| pCurrentPIN [ O ] - Current four digit PIN string |
| pDesiredPIN [ O ] - New four digit PIN string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG ChangeLockPIN( |
| CHAR * pCurrentPIN, |
| CHAR * pDesiredPIN ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->ChangeLockPIN( pCurrentPIN, pDesiredPIN ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetHardwareRevision |
| |
| DESCRIPTION: |
| This function returns the device hardware revision |
| |
| PARAMETERS: |
| stringSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the string array can contain |
| pString [ O ] - NULL terminated string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetHardwareRevision( |
| BYTE stringSize, |
| CHAR * pString ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetHardwareRevision( stringSize, pString ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetPRLVersion |
| |
| DESCRIPTION: |
| This function returns the version of the active Preferred Roaming List |
| (PRL) in use by the device |
| |
| PARAMETERS: |
| pPRLVersion [ O ] - The PRL version number |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetPRLVersion( WORD * pPRLVersion ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetPRLVersion( pPRLVersion ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetERIFile |
| |
| DESCRIPTION: |
| This command returns the ERI file that is stored in EFS on the device |
| |
| PARAMETERS: |
| pFileSize [I/O] - Upon input the maximum number of bytes that the file |
| contents array can contain. Upon successful output |
| the actual number of bytes written to the file contents |
| array |
| pFile [ O ] - The file contents |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetERIFile( |
| ULONG * pFileSize, |
| BYTE * pFile ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetERIFile( pFileSize, pFile ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| ActivateAutomatic |
| |
| DESCRIPTION: |
| This function requests the device to perform automatic service activation |
| |
| PARAMETERS: |
| pActivationCode [ I ] - Activation code (maximum string length of 12) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG ActivateAutomatic( CHAR * pActivationCode ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->ActivateAutomatic( pActivationCode ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| ActivateManual |
| |
| DESCRIPTION: |
| This function requests the device perform manual service activation |
| |
| PARAMETERS: |
| pSPC [ I ] - NULL terminated string representing the six digit |
| service programming code |
| sid [ I ] - System identification number |
| pMDN [ I ] - Mobile Directory Number string |
| pMIN [ I ] - Mobile Identification Number string |
| prlSize [ I ] - (Optional) Size of PRL file array |
| pPRL [ I ] - (Optional) The PRL file contents |
| pMNHA [ I ] - (Optional) MN-HA string |
| pMNAAA [ I ] - (Optional) MN-AAA string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG ActivateManual( |
| CHAR * pSPC, |
| WORD sid, |
| CHAR * pMDN, |
| CHAR * pMIN, |
| ULONG prlSize, |
| BYTE * pPRL, |
| CHAR * pMNHA, |
| CHAR * pMNAAA ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->ActivateManual( pSPC, |
| sid, |
| pMDN, |
| pMIN, |
| prlSize, |
| pPRL, |
| pMNHA, |
| pMNAAA ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| ResetToFactoryDefaults |
| |
| DESCRIPTION: |
| This function requests the device reset configuration to factory defaults |
| |
| PARAMETERS: |
| pSPC [ I ] - NULL terminated string representing the six digit |
| service programming code |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG ResetToFactoryDefaults( CHAR * pSPC ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->ResetToFactoryDefaults( pSPC ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetActivationState |
| |
| DESCRIPTION: |
| This function returns the device activation state |
| |
| PARAMETERS: |
| pActivationState [ O ] - Service activation state |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetActivationState( ULONG * pActivationState ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetActivationState( pActivationState ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetPower |
| |
| DESCRIPTION: |
| This function sets the operating mode of the device |
| |
| PARAMETERS: |
| powerMode [ I ] - Selected operating mode |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetPower( ULONG powerMode ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->SetPower( powerMode ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetPower |
| |
| DESCRIPTION: |
| This function returns the operating mode of the device |
| |
| PARAMETERS: |
| pPowerMode [ O ] - Current operating mode |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetPower( ULONG * pPowerMode ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetPower( pPowerMode ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetOfflineReason |
| |
| DESCRIPTION: |
| This function returns the reason why the operating mode of the device |
| is currently offline |
| |
| PARAMETERS: |
| pReasonMask [ O ] - Bitmask of offline reasons |
| pbPlatform [ O ] - Offline due to being platform retricted? |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetOfflineReason( |
| ULONG * pReasonMask, |
| ULONG * pbPlatform ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetOfflineReason( pReasonMask, pbPlatform ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetNetworkTime |
| |
| DESCRIPTION: |
| This function returns the current time of the device |
| |
| PARAMETERS: |
| pTimeStamp [ O ] - Count of 1.25ms that have elapsed from the start |
| of GPS time (Jan 6, 1980) |
| pTimeSource [ O ] - Source of the timestamp |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetNetworkTime( |
| ULONGLONG * pTimeCount, |
| ULONG * pTimeSource ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetNetworkTime( pTimeCount, pTimeSource ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| ValidateSPC |
| |
| DESCRIPTION: |
| This function validates the service programming code |
| |
| PARAMETERS: |
| pSPC [ I ] - Six digit service programming code |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG ValidateSPC( CHAR * pSPC ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->ValidateSPC( pSPC ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| DeleteSMS |
| |
| DESCRIPTION: |
| This function deletes one or more SMS messages from device memory |
| |
| PARAMETERS: |
| storageType [ I ] - SMS message storage type |
| pMessageIndex [ I ] - (Optional) message index |
| pMessageTag [ I ] - (Optional) message tag |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG DeleteSMS( |
| ULONG storageType, |
| ULONG * pMessageIndex, |
| ULONG * pMessageTag ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->DeleteSMS( storageType, pMessageIndex, pMessageTag ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSMSList |
| |
| DESCRIPTION: |
| This function returns the list of SMS messages stored on the device |
| |
| PARAMETERS: |
| storageType [ I ] - SMS message storage type |
| pRequestedTag [ I ] - Message index |
| pMessageListSize [I/O] - Upon input the maximum number of elements that the |
| message list array can contain. Upon successful |
| output the actual number of elements in the message |
| list array |
| pMessageList [ O ] - The message list array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSMSList( |
| ULONG storageType, |
| ULONG * pRequestedTag, |
| ULONG * pMessageListSize, |
| BYTE * pMessageList ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSMSList( storageType, |
| pRequestedTag, |
| pMessageListSize, |
| pMessageList ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSMS |
| |
| DESCRIPTION: |
| This function returns an SMS message from device memory |
| |
| PARAMETERS: |
| storageType [ I ] - SMS message storage type |
| messageIndex [ I ] - Message index |
| pMessageTag [ O ] - Message tag |
| pMessageFormat [ O ] - Message format |
| pMessageSize [I/O] - Upon input the maximum number of bytes that can be |
| written to the message array. Upon successful |
| output the actual number of bytes written to the |
| message array |
| pMessage [ I ] - The message contents array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSMS( |
| ULONG storageType, |
| ULONG messageIndex, |
| ULONG * pMessageTag, |
| ULONG * pMessageFormat, |
| ULONG * pMessageSize, |
| BYTE * pMessage ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSMS( storageType, |
| messageIndex, |
| pMessageTag, |
| pMessageFormat, |
| pMessageSize, |
| pMessage ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| ModifySMSStatus |
| |
| DESCRIPTION: |
| This function modifies the status of an SMS message saved in storage on |
| the device |
| |
| PARAMETERS: |
| storageType [ I ] - SMS message storage type |
| messageIndex [ I ] - Message index |
| messageTag [ I ] - Message tag |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG ModifySMSStatus( |
| ULONG storageType, |
| ULONG messageIndex, |
| ULONG messageTag ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return pAPI->ModifySMSStatus( storageType, messageIndex, messageTag ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SaveSMS |
| |
| DESCRIPTION: |
| This function saves an SMS message to device memory |
| |
| PARAMETERS: |
| storageType [ I ] - SMS message storage type |
| messageFormat [ I ] - Message format |
| messageSize [ I ] - The length of the message contents in bytes |
| pMessage [ I ] - The message contents |
| pMessageIndex [ O ] - The message index assigned by the device |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SaveSMS( |
| ULONG storageType, |
| ULONG messageFormat, |
| ULONG messageSize, |
| BYTE * pMessage, |
| ULONG * pMessageIndex ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SaveSMS( storageType, |
| messageFormat, |
| messageSize, |
| pMessage, |
| pMessageIndex ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SendSMS |
| |
| DESCRIPTION: |
| This function sends an SMS message for immediate over the air transmission |
| |
| PARAMETERS: |
| messageFormat [ I ] - Message format |
| messageSize [ I ] - The length of the message contents in bytes |
| pMessage [ I ] - The message contents |
| pMessageFailureCode [ O ] - When the function fails due to an error sending |
| the message this parameter may contain the |
| message failure cause code (see 3GPP2 N.S0005 |
| Section 6.5.2.125). If the cause code is not |
| provided then the value will be 0xFFFFFFFF |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SendSMS( |
| ULONG messageFormat, |
| ULONG messageSize, |
| BYTE * pMessage, |
| ULONG * pMessageFailureCode ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SendSMS( messageFormat, |
| messageSize, |
| pMessage, |
| pMessageFailureCode ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSMSCAddress |
| |
| DESCRIPTION: |
| This function returns the SMS center address |
| |
| PARAMETERS: |
| addressSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the SMS center address array |
| can contain |
| pSMSCAddress [ 0 ] - The SMS center address represented as a NULL |
| terminated string |
| typeSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the SMS center address type array |
| can contain |
| pSMSCType [ 0 ] - The SMS center address type represented as a NULL |
| terminated string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSMSCAddress( |
| BYTE addressSize, |
| CHAR * pSMSCAddress, |
| BYTE typeSize, |
| CHAR * pSMSCType ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSMSCAddress( addressSize, |
| pSMSCAddress, |
| typeSize, |
| pSMSCType ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetSMSCAddress |
| |
| DESCRIPTION: |
| This function sets the SMS center address |
| |
| PARAMETERS: |
| pSMSCAddress [ 0 ] - The SMS center address represented as a NULL |
| terminated string |
| pSMSCType [ 0 ] - The SMS center address type represented as a NULL |
| terminated string (optional) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetSMSCAddress( |
| CHAR * pSMSCAddress, |
| CHAR * pSMSCType ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetSMSCAddress( pSMSCAddress, pSMSCType ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSMSRoutes |
| |
| DESCRIPTION: |
| This function gets the current incoming SMS routing information |
| |
| PARAMETERS: |
| pRouteSize [I/O] - Upon input the maximum number of elements that the |
| SMS route array can contain. Upon succes the actual |
| number of elements in the SMS route array |
| pRoutes [ O ] - The SMS route array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSMSRoutes( |
| BYTE * pRouteSize, |
| BYTE * pRoutes ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSMSRoutes( pRouteSize, pRoutes ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetSMSRoutes |
| |
| DESCRIPTION: |
| This function sets the desired incoming SMS routing information |
| |
| PARAMETERS: |
| pRouteSize [ I ] - The number of elements in the SMS route array |
| pRoutes [ I ] - The SMS route array |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetSMSRoutes( |
| BYTE * pRouteSize, |
| BYTE * pRoutes ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetSMSRoutes( pRouteSize, pRoutes ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMSetPINProtection |
| |
| DESCRIPTION: |
| This function enables or disables protection of UIM contents by a |
| given PIN |
| |
| PARAMETERS: |
| id [ I ] - PIN ID (1/2) |
| bEnable [ I ] - Enable/disable PIN protection (0 = disable)? |
| pValue [ I ] - PIN value of the PIN to be enabled/disabled |
| pVerifyRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of retries left, after which the |
| PIN will be blocked (0xFFFFFFFF = unknown) |
| pUnblockRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of unblock retries left, after |
| which the PIN will be permanently blocked, |
| i.e. UIM is unusable (0xFFFFFFFF = unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMSetPINProtection( |
| ULONG id, |
| ULONG bEnable, |
| CHAR * pValue, |
| ULONG * pVerifyRetriesLeft, |
| ULONG * pUnblockRetriesLeft ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMSetPINProtection( id, |
| bEnable, |
| pValue, |
| pVerifyRetriesLeft, |
| pUnblockRetriesLeft ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMVerifyPIN |
| |
| DESCRIPTION: |
| This function verifies the PIN before accessing the UIM contents |
| |
| PARAMETERS: |
| id [ I ] - PIN ID (1/2) |
| pValue [ I ] - PIN value of the PIN to verify |
| pVerifyRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of retries left, after which the |
| PIN will be blocked (0xFFFFFFFF = unknown) |
| pUnblockRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of unblock retries left, after |
| which the PIN will be permanently blocked, |
| i.e. UIM is unusable (0xFFFFFFFF = unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMVerifyPIN( |
| ULONG id, |
| CHAR * pValue, |
| ULONG * pVerifyRetriesLeft, |
| ULONG * pUnblockRetriesLeft ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMVerifyPIN( id, |
| pValue, |
| pVerifyRetriesLeft, |
| pUnblockRetriesLeft ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMUnblockPIN |
| |
| DESCRIPTION: |
| This function unblocks a blocked PIN |
| |
| PARAMETERS: |
| id [ I ] - PIN ID (1/2) |
| pPUKValue [ I ] - PUK value of the PIN to unblock |
| pNewValue [ I ] - New PIN value of the PIN to unblock |
| pVerifyRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of retries left, after which the |
| PIN will be blocked (0xFFFFFFFF = unknown) |
| pUnblockRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of unblock retries left, after |
| which the PIN will be permanently blocked, |
| i.e. UIM is unusable (0xFFFFFFFF = unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMUnblockPIN( |
| ULONG id, |
| CHAR * pPUKValue, |
| CHAR * pNewValue, |
| ULONG * pVerifyRetriesLeft, |
| ULONG * pUnblockRetriesLeft ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMUnblockPIN( id, |
| pPUKValue, |
| pNewValue, |
| pVerifyRetriesLeft, |
| pUnblockRetriesLeft ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMChangePIN |
| |
| DESCRIPTION: |
| This function change the PIN value |
| |
| PARAMETERS: |
| id [ I ] - PIN ID (1/2) |
| pOldValue [ I ] - Old PIN value of the PIN to change |
| pNewValue [ I ] - New PIN value of the PIN to change |
| pVerifyRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of retries left, after which the |
| PIN will be blocked (0xFFFFFFFF = unknown) |
| pUnblockRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of unblock retries left, after |
| which the PIN will be permanently blocked, |
| i.e. UIM is unusable (0xFFFFFFFF = unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMChangePIN( |
| ULONG id, |
| CHAR * pOldValue, |
| CHAR * pNewValue, |
| ULONG * pVerifyRetriesLeft, |
| ULONG * pUnblockRetriesLeft ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMChangePIN( id, |
| pOldValue, |
| pNewValue, |
| pVerifyRetriesLeft, |
| pUnblockRetriesLeft ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMGetPINStatus |
| |
| DESCRIPTION: |
| This function returns the status of the pin |
| |
| PARAMETERS: |
| id [ I ] - PIN ID (1/2) |
| pStatus [ O ] - PIN status (0xFFFFFFFF = unknown) |
| pVerifyRetriesLeft [ O ] - The number of retries left, after which the |
| PIN will be blocked (0xFFFFFFFF = unknown) |
| pUnblockRetriesLeft [ O ] - The number of unblock retries left, after |
| which the PIN will be permanently blocked, |
| i.e. UIM is unusable (0xFFFFFFFF = unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMGetPINStatus( |
| ULONG id, |
| ULONG * pStatus, |
| ULONG * pVerifyRetriesLeft, |
| ULONG * pUnblockRetriesLeft ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMGetPINStatus( id, |
| pStatus, |
| pVerifyRetriesLeft, |
| pUnblockRetriesLeft ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMGetICCID |
| |
| DESCRIPTION: |
| This function returns the UIM ICCID |
| |
| PARAMETERS: |
| stringSize [ I ] - The maximum number of characters (including NULL |
| terminator) that the string array can contain |
| pString [ O ] - NULL terminated string |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMGetICCID( |
| BYTE stringSize, |
| CHAR * pString ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMGetICCID( stringSize, pString ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMGetControlKeyStatus |
| |
| DESCRIPTION: |
| This function returns the status of the specified facility control key |
| |
| PARAMETERS: |
| id [ I ] - Facility ID |
| pStatus [ O ] - Control key status |
| pVerifyRetriesLeft [ O ] - The number of retries left, after which the |
| control key will be blocked |
| pUnblockRetriesLeft [ O ] - The number of unblock retries left, after |
| which the control key will be permanently |
| blocked |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMGetControlKeyStatus( |
| ULONG id, |
| ULONG * pStatus, |
| ULONG * pVerifyRetriesLeft, |
| ULONG * pUnblockRetriesLeft ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMGetControlKeyBlockingStatus( id, |
| pStatus, |
| pVerifyRetriesLeft, |
| pUnblockRetriesLeft, |
| 0 ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMGetControlKeyBlockingStatus |
| |
| DESCRIPTION: |
| This function returns the blocking status of the specified facility |
| control key |
| |
| PARAMETERS: |
| id [ I ] - Facility ID |
| pStatus [ O ] - Control key status |
| pVerifyRetriesLeft [ O ] - The number of retries left, after which the |
| control key will be blocked |
| pUnblockRetriesLeft [ O ] - The number of unblock retries left, after |
| which the control key will be permanently |
| blocked |
| pbBlocking [ O ] - (Optional) Is the facility blocking? |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMGetControlKeyBlockingStatus( |
| ULONG id, |
| ULONG * pStatus, |
| ULONG * pVerifyRetriesLeft, |
| ULONG * pUnblockRetriesLeft, |
| ULONG * pbBlocking ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMGetControlKeyBlockingStatus( id, |
| pStatus, |
| pVerifyRetriesLeft, |
| pUnblockRetriesLeft, |
| pbBlocking); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMSetControlKeyProtection |
| |
| DESCRIPTION: |
| This function changes the specified facility control key |
| |
| PARAMETERS: |
| id [ I ] - Facility ID |
| status [ I ] - Control key status |
| pValue [ I ] - Control key de-personalization string |
| pVerifyRetriesLeft [ O ] - Upon operational failure this will indicate |
| the number of retries left, after which the |
| control key will be blocked |
| (0xFFFFFFFF = unknown) |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMSetControlKeyProtection( |
| ULONG id, |
| ULONG status, |
| CHAR * pValue, |
| ULONG * pVerifyRetriesLeft ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMSetControlKeyProtection( id, |
| status, |
| pValue, |
| pVerifyRetriesLeft ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UIMUnblockControlKey |
| |
| DESCRIPTION: |
| This function unblocks the specified facility control key |
| |
| PARAMETERS: |
| id [ I ] - Facility ID |
| pValue [ I ] - Control key de-personalization string |
| pUnblockRetriesLeft [ O ] - The number of unblock retries left, after |
| which the control key will be permanently |
| blocked |
| (0xFFFFFFFF = unknown) |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UIMUnblockControlKey( |
| ULONG id, |
| CHAR * pValue, |
| ULONG * pUnblockRetriesLeft ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UIMUnblockControlKey( id, |
| pValue, |
| pUnblockRetriesLeft ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetPDSState |
| |
| DESCRIPTION: |
| This function returns the current PDS state |
| |
| PARAMETERS: |
| pEnabled [ O ] - Current PDS state (0 = disabled) |
| pTracking [ O ] - Current PDS tracking session state |
| |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetPDSState( |
| ULONG * pEnabled, |
| ULONG * pTracking ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetPDSState( pEnabled, pTracking ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetPDSState |
| |
| DESCRIPTION: |
| This function sets the PDS state |
| |
| PARAMETERS: |
| enable [ I ] - Desired PDS state (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetPDSState( ULONG enable ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetPDSState( enable ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| PDSInjectTimeReference |
| |
| DESCRIPTION: |
| This function injects a system time into the PDS engine |
| |
| PARAMETERS: |
| sysTime [ I ] - System time |
| sysDiscontinuities [ I ] - Number of system time discontinuities |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG PDSInjectTimeReference( |
| ULONGLONG systemTime, |
| USHORT systemDiscontinuities ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->PDSInjectTimeReference( systemTime, |
| systemDiscontinuities ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetPDSDefaults |
| |
| DESCRIPTION: |
| This function returns the default tracking session configuration |
| |
| PARAMETERS: |
| pOperation [ O ] - Current session operating mode |
| pTimeout [ O ] - Maximum amount of time (seconds) to work on each fix |
| pInterval [ O ] - Interval (milliseconds) between fix requests |
| pAccuracy [ O ] - Current accuracy threshold (meters) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetPDSDefaults( |
| ULONG * pOperation, |
| BYTE * pTimeout, |
| ULONG * pInterval, |
| ULONG * pAccuracy ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetPDSDefaults( pOperation, |
| pTimeout, |
| pInterval, |
| pAccuracy ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetPDSDefaults |
| |
| DESCRIPTION: |
| This function sets the default tracking session configuration |
| |
| PARAMETERS: |
| operation [ I ] - Desired session operating mode |
| timeout [ I ] - Maximum amount of time (seconds) to work on each fix |
| interval [ I ] - Interval (milliseconds) between fix requests |
| accuracy [ I ] - Desired accuracy threshold (meters) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetPDSDefaults( |
| ULONG operation, |
| BYTE timeout, |
| ULONG interval, |
| ULONG accuracy ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetPDSDefaults( operation, |
| timeout, |
| interval, |
| accuracy ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetXTRAAutomaticDownload |
| |
| DESCRIPTION: |
| This function returns the XTRA automatic download configuration |
| |
| PARAMETERS: |
| pbEnabled [ O ] - Automatic download enabled? |
| pInterval [ O ] - Interval (hours) between XTRA downloads |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetXTRAAutomaticDownload( |
| ULONG * pbEnabled, |
| USHORT * pInterval ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetXTRAAutomaticDownload( pbEnabled, pInterval ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetXTRAAutomaticDownload |
| |
| DESCRIPTION: |
| This function sets the XTRA automatic download configuration |
| |
| PARAMETERS: |
| bEnabled [ I ] - Automatic download enabled? |
| interval [ I ] - Interval (hours) between XTRA downloads |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetXTRAAutomaticDownload( |
| ULONG bEnabled, |
| USHORT interval ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetXTRAAutomaticDownload( bEnabled, interval ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetXTRANetwork |
| |
| DESCRIPTION: |
| This function returns the XTRA WWAN network preference |
| |
| PARAMETERS: |
| pPreference [ O ] - XTRA WWAN network preference |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetXTRANetwork( ULONG * pPreference ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetXTRANetwork( pPreference ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetXTRANetwork |
| |
| DESCRIPTION: |
| This function sets the XTRA WWAN network preference |
| |
| PARAMETERS: |
| preference [ I ] - XTRA WWAN network preference |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetXTRANetwork( ULONG preference ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetXTRANetwork( preference ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetXTRAValidity |
| |
| DESCRIPTION: |
| This function returns the XTRA database validity period |
| |
| PARAMETERS: |
| pGPSWeek [ O ] - Starting GPS week of validity period |
| pGPSWeekOffset [ O ] - Starting GPS week offset (minutes) of validity period |
| pDuration [ O ] - Length of validity period (hours) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetXTRAValidity( |
| USHORT * pGPSWeek, |
| USHORT * pGPSWeekOffset, |
| USHORT * pDuration ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetXTRAValidity( pGPSWeek, |
| pGPSWeekOffset, |
| pDuration ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| ForceXTRADownload |
| |
| DESCRIPTION: |
| This function forces the XTRA database to be downloaded to the device |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG ForceXTRADownload() |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->ForceXTRADownload(); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetXTRADataState |
| |
| DESCRIPTION: |
| This function returns the XTRA data positioning state |
| |
| PARAMETERS: |
| pState [ O ] - XTRA data positioning state |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetXTRADataState( ULONG * pState ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetXTRADataState( pState ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetXTRADataState |
| |
| DESCRIPTION: |
| This function sets the XTRA data positioning state |
| |
| PARAMETERS: |
| state [ I ] - XTRA data positioning state |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetXTRADataState( ULONG state ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetXTRADataState( state ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetXTRATimeState |
| |
| DESCRIPTION: |
| This function returns the XTRA time positioning state |
| |
| PARAMETERS: |
| pState [ O ] - XTRA time positioning state |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetXTRATimeState( ULONG * pState ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetXTRATimeState( pState ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetXTRATimeState |
| |
| DESCRIPTION: |
| This function sets the XTRA time positioning state |
| |
| PARAMETERS: |
| state [ I ] - XTRA time positioning state |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetXTRATimeState( ULONG state ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetXTRATimeState( state ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetAGPSConfig |
| |
| DESCRIPTION: |
| This function returns the PDS AGPS configuration |
| |
| PARAMETERS: |
| pServerAddress [ O ] - IPv4 address of AGPS server |
| pServerPort [ O ] - Port number of AGPS server |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetAGPSConfig( |
| ULONG * pServerAddress, |
| ULONG * pServerPort ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetAGPSConfig( pServerAddress, pServerPort ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetAGPSConfig |
| |
| DESCRIPTION: |
| This function sets the PDS AGPS configuration |
| |
| PARAMETERS: |
| serverAddress [ I ] - IPv4 address of AGPS server |
| serverPort [ I ] - Port number of AGPS server |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetAGPSConfig( |
| ULONG serverAddress, |
| ULONG serverPort ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetAGPSConfig( serverAddress, serverPort ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetServiceAutomaticTracking |
| |
| DESCRIPTION: |
| This function returns the automatic tracking state for the service |
| |
| PARAMETERS: |
| pbAuto [ O ] - Automatic tracking session started for service? |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetServiceAutomaticTracking( ULONG * pbAuto ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetServiceAutomaticTracking( pbAuto ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetServiceAutomaticTracking |
| |
| DESCRIPTION: |
| This function sets the automatic tracking state for the service |
| |
| PARAMETERS: |
| pbAuto [ I ] - Start automatic tracking session for service? |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetServiceAutomaticTracking( ULONG bAuto ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetServiceAutomaticTracking( bAuto ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetPortAutomaticTracking |
| |
| DESCRIPTION: |
| This function returns the automatic tracking configuration for the NMEA |
| COM port |
| |
| PARAMETERS: |
| pbAuto [ O ] - Automatic tracking enabled for NMEA COM port? |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetPortAutomaticTracking( ULONG * pbAuto ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetPortAutomaticTracking( pbAuto ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetPortAutomaticTracking |
| |
| DESCRIPTION: |
| This function sets the automatic tracking configuration for the NMEA |
| COM port |
| |
| PARAMETERS: |
| pbAuto [ I ] - Enable automatic tracking for NMEA COM port? |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetPortAutomaticTracking( ULONG bAuto ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetPortAutomaticTracking( bAuto ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| ResetPDSData |
| |
| DESCRIPTION: |
| This function resets the specified PDS data |
| |
| PARAMETERS: |
| pGPSDataMask [ I ] - Bitmask of GPS data to clear (optional) |
| pCellDataMask [ I ] - Bitmask of cell data to clear (optional) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG ResetPDSData( |
| ULONG * pGPSDataMask, |
| ULONG * pCellDataMask ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->ResetPDSData( pGPSDataMask, pCellDataMask ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| CATSendTerminalResponse |
| |
| DESCRIPTION: |
| This function sends the terminal response to the device |
| |
| PARAMETERS: |
| refID [ I ] - UIM reference ID (from CAT event) |
| dataLen [ I ] - Terminal response data length |
| pData [ I ] - Terminal response data |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG CATSendTerminalResponse( |
| ULONG refID, |
| ULONG dataLen, |
| BYTE * pData ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->CATSendTerminalResponse( refID, dataLen, pData ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| CATSendEnvelopeCommand |
| |
| DESCRIPTION: |
| This function sends the envelope command to the device |
| |
| PARAMETERS: |
| cmdID [ I ] - Envelope command ID |
| dataLen [ I ] - Envelope command data length |
| pData [ I ] - Envelope command data |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG CATSendEnvelopeCommand( |
| ULONG cmdID, |
| ULONG dataLen, |
| BYTE * pData ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->CATSendEnvelopeCommand( cmdID, dataLen, pData ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetSMSWake |
| |
| DESCRIPTION: |
| This function queries the state of the SMS wake functionality |
| |
| PARAMETERS: |
| pbEnabled [ O ] - SMS wake functionality enabled? |
| pWakeMask [ O ] - SMS wake mask (only relevant when enabled) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetSMSWake( |
| ULONG * pbEnabled, |
| ULONG * pWakeMask ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetSMSWake( pbEnabled, pWakeMask ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetSMSWake |
| |
| DESCRIPTION: |
| This function enables/disables the SMS wake functionality |
| |
| PARAMETERS: |
| bEnable [ I ] - Enable SMS wake functionality? |
| wakeMask [ I ] - SMS wake mask (only relevant when enabling) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetSMSWake( |
| ULONG bEnable, |
| ULONG wakeMask ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetSMSWake( bEnable, wakeMask ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OMADMStartSession |
| |
| DESCRIPTION: |
| This function starts an OMA-DM session |
| |
| PARAMETERS: |
| sessionType [ I ] - Type of session to initiate |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OMADMStartSession( ULONG sessionType ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OMADMStartSession( sessionType ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OMADMCancelSession |
| |
| DESCRIPTION: |
| This function cancels an ongoing OMA-DM session |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OMADMCancelSession() |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OMADMCancelSession(); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OMADMGetSessionInfo |
| |
| DESCRIPTION: |
| This function returns information related to the current (or previous |
| if no session is active) OMA-DM session |
| |
| PARAMETERS: |
| pSessionState [ O ] - State of session |
| pSessionType [ O ] - Type of session |
| pFailureReason [ O ] - Session failure reason (when state indicates failure) |
| pRetryCount [ O ] - Session retry count (when state indicates retrying) |
| pSessionPause [ O ] - Session pause timer (when state indicates retrying) |
| pTimeRemaining [ O ] - Pause time remaining (when state indicates retrying) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OMADMGetSessionInfo( |
| ULONG * pSessionState, |
| ULONG * pSessionType, |
| ULONG * pFailureReason, |
| BYTE * pRetryCount, |
| WORD * pSessionPause, |
| WORD * pTimeRemaining ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OMADMGetSessionInfo( pSessionState, |
| pSessionType, |
| pFailureReason, |
| pRetryCount, |
| pSessionPause, |
| pTimeRemaining ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OMADMGetPendingNIA |
| |
| DESCRIPTION: |
| This function returns information about the pending network initiated |
| alert |
| |
| PARAMETERS: |
| pSessionType [ O ] - Type of session |
| pSessionID [ O ] - Unique session ID |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OMADMGetPendingNIA( |
| ULONG * pSessionType, |
| USHORT * pSessionID ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OMADMGetPendingNIA( pSessionType, pSessionID ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OMADMSendSelection |
| |
| DESCRIPTION: |
| This function sends the specified OMA-DM selection for the current |
| network initiated session |
| |
| PARAMETERS: |
| selection [ I ] - Selection |
| sessionID [ I ] - Unique session ID |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OMADMSendSelection( |
| ULONG selection, |
| USHORT sessionID ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OMADMSendSelection( selection, sessionID ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OMADMGetFeatureSettings |
| |
| DESCRIPTION: |
| This function returns the OMA-DM feature settings |
| |
| PARAMETERS: |
| pbProvisioning [ O ] - Device provisioning service update enabled |
| pbPRLUpdate [ O ] - PRL service update enabled |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OMADMGetFeatureSettings( |
| ULONG * pbProvisioning, |
| ULONG * pbPRLUpdate ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OMADMGetFeatureSettings( pbProvisioning, |
| pbPRLUpdate ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OMADMSetProvisioningFeature |
| |
| DESCRIPTION: |
| This function sets the OMA-DM device provisioning service |
| update feature setting |
| |
| PARAMETERS: |
| bProvisioning [ I ] - Device provisioning service update enabled |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OMADMSetProvisioningFeature( |
| ULONG bProvisioning ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OMADMSetProvisioningFeature( bProvisioning ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OMADMSetPRLUpdateFeature |
| |
| DESCRIPTION: |
| This function sets the OMA-DM PRL service update feature setting |
| |
| PARAMETERS: |
| bPRLUpdate [ I ] - PRL service update enabled |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OMADMSetPRLUpdateFeature( |
| ULONG bPRLUpdate ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OMADMSetPRLUpdateFeature( bPRLUpdate ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| OriginateUSSD |
| |
| DESCRIPTION: |
| This function initiates a USSD operation |
| |
| PARAMETERS: |
| pInfo [ I ] - USSD information |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG OriginateUSSD( BYTE * pInfo ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->OriginateUSSD( pInfo ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| AnswerUSSD |
| |
| DESCRIPTION: |
| This function responds to a USSD request from the network |
| |
| PARAMETERS: |
| pInfo [ I ] - USSD information |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG AnswerUSSD( BYTE * pInfo ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->AnswerUSSD( pInfo ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| CancelUSSD |
| |
| DESCRIPTION: |
| This function cancels an in-progress USSD operation |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG CancelUSSD() |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->CancelUSSD(); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| UpgradeFirmware |
| |
| DESCRIPTION: |
| This function performs the following set of steps: |
| a) Verifies arguments |
| b) Updates firmware ID on device |
| c) Resets the device |
| |
| NOTE: Upon successful completion the above steps will have been completed, |
| however the actual upgrade of the firmware will necessarily then |
| follow. |
| |
| PARAMETERS: |
| pDestinationPath [ I ] - The fully qualified path to the destination folder |
| that the firmware download service will use |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG UpgradeFirmware( CHAR * pDestinationPath ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->UpgradeFirmware( pDestinationPath ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetImageInfo |
| |
| DESCRIPTION: |
| Returns image information obtained from the firmware image located at the |
| provided path |
| |
| PARAMETERS: |
| pPath [ I ] - Location of the firmware image |
| pFirmwareID [ O ] - Firmware ID obtained from the firmware image |
| pTechnology [ O ] - Technology (0xFFFFFFFF if unknown) |
| pCarrier [ O ] - Carrier (0xFFFFFFFF if unknown) |
| pRegion [ O ] - Region (0xFFFFFFFF if unknown) |
| pGPSCapability [ O ] - GPS capability (0xFFFFFFFF if unknown) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetImageInfo( |
| CHAR * pPath, |
| ULONG * pFirmwareID, |
| ULONG * pTechnology, |
| ULONG * pCarrier, |
| ULONG * pRegion, |
| ULONG * pGPSCapability ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetImageInfo( pPath, |
| pFirmwareID, |
| pTechnology, |
| pCarrier, |
| pRegion, |
| pGPSCapability ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| GetImageStore |
| |
| DESCRIPTION: |
| Returns the image store folder, i.e. the folder co-located with the |
| QDL Service executable which (by default) contains one or more carrier |
| specific image subfolders |
| |
| PARAMETERS: |
| pathSize [ I ] - Maximum number of characters (including NULL |
| terminator) that can be copied to the image |
| store path array |
| pImageStorePath [ O ] - The path to the image store |
| |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG GetImageStore( |
| WORD pathSize, |
| CHAR * pImageStorePath ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->GetImageStore( pathSize, pImageStorePath ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetSessionStateCallback |
| |
| DESCRIPTION: |
| This function enables/disables the session state callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetSessionStateCallback( tFNSessionState pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetSessionStateCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetByteTotalsCallback |
| |
| DESCRIPTION: |
| This function enables/disables the RX/TX byte counts callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| interval [ I ] - Interval in seconds (ignored when disabling) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetByteTotalsCallback( |
| tFNByteTotals pCallback, |
| BYTE interval ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetByteTotalsCallback( pCallback, interval ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetDataCapabilitiesCallback |
| |
| DESCRIPTION: |
| This function enables/disables the serving system data capabilities |
| callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetDataCapabilitiesCallback( |
| tFNDataCapabilities pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetDataCapabilitiesCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetDataBearerCallback |
| |
| DESCRIPTION: |
| This function enables/disables the data bearer status callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetDataBearerCallback( tFNDataBearer pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetDataBearerCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetDormancyStatusCallback |
| |
| DESCRIPTION: |
| This function enables/disables the dormancy status callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetDormancyStatusCallback( |
| tFNDormancyStatus pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetDormancyStatusCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetMobileIPStatusCallback |
| |
| DESCRIPTION: |
| This function enables/disables the mobile IP status callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetMobileIPStatusCallback( |
| tFNMobileIPStatus pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetMobileIPStatusCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetActivationStatusCallback |
| |
| DESCRIPTION: |
| This function enables/disables the activation status callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetActivationStatusCallback( |
| tFNActivationStatus pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetActivationStatusCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetPowerCallback |
| |
| DESCRIPTION: |
| Enable/disable power operating mode callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetPowerCallback( tFNPower pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetPowerCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetWirelessDisableCallback |
| |
| DESCRIPTION: |
| Enable/disable wireless disable state callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetWirelessDisableCallback( |
| tFNWirelessDisable pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetWirelessDisableCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetRoamingIndicatorCallback |
| |
| DESCRIPTION: |
| This function enables/disables the roaming indicator callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetRoamingIndicatorCallback( |
| tFNRoamingIndicator pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetRoamingIndicatorCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetSignalStrengthCallback |
| |
| DESCRIPTION: |
| This function enables/disables the signal strength callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| thresholdsSize [ I ] - Number of elements the threshold array contain |
| (a maximum of 5 thresholds is supported), must |
| be 0 when disabling the callback |
| pThresholds [ I ] - Signal threshold array (each entry in dBm), |
| must be 0 when disabling the callback |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetSignalStrengthCallback( |
| tFNSignalStrength pCallback, |
| BYTE thresholdsSize, |
| INT8 * pThresholds ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| if (thresholdsSize > 0 && pThresholds == 0) |
| { |
| return (ULONG)eGOBI_ERR_INVALID_ARG; |
| } |
| |
| std::list <INT8> thresholdsList; |
| for (BYTE t = 0; t < thresholdsSize; t++) |
| { |
| thresholdsList.push_back( pThresholds[t] ); |
| } |
| |
| return (ULONG)pAPI->SetSignalStrengthCallback( pCallback, thresholdsList ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetRFInfoCallback |
| |
| DESCRIPTION: |
| This function enables/disables the RF information callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetRFInfoCallback( tFNRFInfo pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetRFInfoCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetLURejectCallback |
| |
| DESCRIPTION: |
| This function enables/disables the LU reject callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetLURejectCallback( tFNLUReject pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetLURejectCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetPLMNModeCallback |
| |
| DESCRIPTION: |
| Enable/disable PLMN mode callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetPLMNModeCallback( tFNPLMNMode pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetPLMNModeCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetNewSMSCallback |
| |
| DESCRIPTION: |
| This function enables/disables the new SMS callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetNewSMSCallback( tFNNewSMS pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetNewSMSCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetNMEACallback |
| |
| DESCRIPTION: |
| This function enables/disables the NMEA sentence callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetNMEACallback( tFNNewNMEA pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetNMEACallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetPDSStateCallback |
| |
| DESCRIPTION: |
| This function enables/disables the PDS service state callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetPDSStateCallback( tFNPDSState pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetPDSStateCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetCATEventCallback |
| |
| DESCRIPTION: |
| This function enables/disables the CAT event callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| eventMask [ I ] - Bitmask of CAT events to register for |
| pErrorMask [ O ] - Error bitmask |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetCATEventCallback( |
| tFNCATEvent pCallback, |
| ULONG eventMask, |
| ULONG * pErrorMask ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetCATEventCallback( pCallback, eventMask, pErrorMask ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetOMADMAlertCallback |
| |
| DESCRIPTION: |
| This function enables/disables the OMA-DM network initiated alert |
| callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetOMADMAlertCallback( tFNOMADMAlert pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetOMADMAlertCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetOMADMStateCallback |
| |
| DESCRIPTION: |
| This function enables/disables the OMA-DM state callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function (0 = disable) |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetOMADMStateCallback( tFNOMADMState pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetOMADMStateCallback( pCallback ); |
| } |
| |
| #ifdef VOICE_SUPPORT |
| /*=========================================================================== |
| METHOD: |
| SetUSSDReleaseCallback |
| |
| DESCRIPTION: |
| Enable/disable USSD release callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetUSSDReleaseCallback( |
| tFNUSSDRelease pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetUSSDReleaseCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetUSSDNotificationCallback |
| |
| DESCRIPTION: |
| Enable/disable USSD notification callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetUSSDNotificationCallback( |
| tFNUSSDNotification pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetUSSDNotificationCallback( pCallback ); |
| } |
| |
| /*=========================================================================== |
| METHOD: |
| SetUSSDOriginationCallback |
| |
| DESCRIPTION: |
| Enable/disable USSD origination callback function |
| |
| PARAMETERS: |
| pCallback [ I ] - Callback function |
| |
| RETURN VALUE: |
| ULONG - Return code |
| ===========================================================================*/ |
| ULONG SetUSSDOriginationCallback( |
| tFNUSSDOrigination pCallback ) |
| { |
| cGobiConnectionMgmt * pAPI = gConnectionDLL.GetAPI(); |
| if (pAPI == 0) |
| { |
| return (ULONG)eGOBI_ERR_INTERNAL; |
| } |
| |
| return (ULONG)pAPI->SetUSSDOriginationCallback( pCallback ); |
| } |
| #endif |