diff options
Diffstat (limited to 'gobi-api/fixed-GobiAPI-1.0.40/GobiConnectionMgmt/GobiConnectionMgmtExports.cpp')
-rwxr-xr-x | gobi-api/fixed-GobiAPI-1.0.40/GobiConnectionMgmt/GobiConnectionMgmtExports.cpp | 5030 |
1 files changed, 5030 insertions, 0 deletions
diff --git a/gobi-api/fixed-GobiAPI-1.0.40/GobiConnectionMgmt/GobiConnectionMgmtExports.cpp b/gobi-api/fixed-GobiAPI-1.0.40/GobiConnectionMgmt/GobiConnectionMgmtExports.cpp new file mode 100755 index 0000000..acee0b7 --- /dev/null +++ b/gobi-api/fixed-GobiAPI-1.0.40/GobiConnectionMgmt/GobiConnectionMgmtExports.cpp @@ -0,0 +1,5030 @@ +/*=========================================================================== +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 + devKey[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 + |