⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rilsimtkit.h

📁 ril source code for Windows CE
💻 H
📖 第 1 页 / 共 2 页
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:

RilSimTkit.h

Abstract:


Notes:


--*/

#pragma once
#include <simtkit.h>

// Command Qualifier settings
#define SIMTKIT_TEXTPARSE_HELPINFO                0x80
#define SIMTKIT_TEXTPARSE_PRIORITY                0x01
#define SIMTKIT_TEXTPARSE_CLEAR                   0x80
#define SIMTKIT_TEXTPARSE_INPUT_KEYPADDIGITS      0x00
#define SIMTKIT_TEXTPARSE_INPUT_SMDEFAULTALPHABET 0x01
#define SIMTKIT_TEXTPARSE_INPUT_UCS2              0x03
#define SIMTKIT_TEXTPARSE_NOECHO                  0x04
#define SIMTKIT_TEXTPARSE_PACKEDRESPONSE          0x08
#define SIMTKIT_TEXTPARSE_YESNO                   0x04

#define SIMTKIT_TEXTPARSE_RESPONSE_OK             0
#define SIMTKIT_TEXTPARSE_RESPONSE_TERMINATE      1
#define SIMTKIT_TEXTPARSE_RESPONSE_HELP           2
#define SIMTKIT_TEXTPARSE_RESPONSE_BACK           3
#define SIMTKIT_TEXTPARSE_RESPONSE_NORESPONSE     4
#define SIMTKIT_TEXTPARSE_MAINMENU_HELP           1
#define SIMTKIT_TEXTPARSE_SETUPMENU_USER          1
#define SIMTKIT_TEXTPARSE_SETUPMENU_PROBLEM       3
#define SIMTKIT_TEXTPARSE_DISPLAYTEXT_CLEAR       2
#define SIMTKIT_TEXTPARSE_DISPLAYTEXT_BUSY        3
#define SIMTKIT_TEXTPARSE_DISPLAYTEXT_BACK        4
#define SIMTKIT_TEXTPARSE_DISPLAYTEXT_NORESPONSE  5
#define SIMTKIT_TEXTPARSE_PLAYTONE_NOTPLAYED      2
#define SIMTKIT_TEXTPARSE_PLAYTONE_NOTSUPPORTED   3
#define SIMTKIT_TEXTPARSE_IDLETEXT_PROBLEM        1
#define SIMTKIT_TEXTPARSE_SETUPCALL_REJECT        1
#define SIMTKIT_TEXTPARSE_EVENTLIST_ERROR         1

#define SIMTKIT_TEXTPARSE_LAUNCHBROWSER_USERREJECTED     3
#define SIMTKIT_TEXTPARSE_LAUNCHBROWSER_NOCAUSE          4
#define SIMTKIT_TEXTPARSE_LAUNCHBROWSER_BROWSERUNAVAIL   6
#define SIMTKIT_TEXTPARSE_LAUNCHBROWSER_MOBILEINCAPABLE  9

#define SIMTKIT_TEXTPARSE_OPENCHANNEL_NOTACCEPTED 0
#define SIMTKIT_TEXTPARSE_OPENCHANNEL_REQUIRED    1

#define SIMTKIT_TEXTPARSE_SENDDTMF_NOTACCEPTED    0
#define SIMTKIT_TEXTPARSE_SENDDTMF_REQUIRED       1

#define SIMTKIT_TEXTPARSE_GETINKEY_DIGITS         0
#define SIMTKIT_TEXTPARSE_GETINKEY_PACKED         1
#define SIMTKIT_TEXTPARSE_GETINKEY_UCS            2
#define SIMTKIT_TEXTPARSE_GETINKEY_YESNO          3

#define SIMTKIT_TEXTPARSE_GETINPUT_DIGIT_UNPACKED 0
#define SIMTKIT_TEXTPARSE_GETINPUT_DIGIT_PACKED   1
#define SIMTKIT_TEXTPARSE_GETINPUT_DIGIT_UCS2     2
#define SIMTKIT_TEXTPARSE_GETINPUT_ALPHA_UNPACKED 3
#define SIMTKIT_TEXTPARSE_GETINPUT_ALPHA_PACKED   4
#define SIMTKIT_TEXTPARSE_GETINPUT_ALPHA_UCS2     5

#define SIMTKIT_TEXTPARSE_SIMREFRESH_SIMINIT_FULL 0
#define SIMTKIT_TEXTPARSE_SIMREFRESH_FILE         1
#define SIMTKIT_TEXTPARSE_SIMREFRESH_SIMINIT_FILE 2
#define SIMTKIT_TEXTPARSE_SIMREFRESH_SIMINIT      3
#define SIMTKIT_TEXTPARSE_SIMREFRESH_RESET        4

#define SIMTKIT_TEXTPARSE_PARSE_LEADINGZERO       true
#define SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO     false

// Leading encoding byte for EF ADN encoded text.
#define SIMTKIT_TEXTPARSE_ALPHAID_UCS2            (0x80)
#define SIMTKIT_TEXTPARSE_ALPHAID_MIXED_8BIT      (0x81)
#define SIMTKIT_TEXTPARSE_ALPHAID_MIXED_16BIT     (0x82)

#define SIMTKIT_TEXT_ENCODING_ALPHAID             (0x8000)

// TLV tag values
#define COMMANDIDTAG         0x01
#define DEVICEIDTAG          0x02
#define RESULTTAG            0x03
#define DURATIONTAG          0x04
#define ALPHAIDTAG           0x05
#define ADDRESSTAG           0x06
#define CAPABILITYTAG        0x07
#define SUBADDRTAG           0x08
#define SSSTRINGTAG          0x09
#define USSDSTRINGTAG        0x0A
#define TPDUTAG              0x0B
// 0x0C is Cell Broadcast page tag
#define TEXTTAG              0x0D
#define TONETAG              0x0E
#define MENUITEMTAG          0x0F
#define ITEMIDTAG            0x10
#define RESPONSETAG          0x11
#define FILELISTTAG          0x12
#define LOCINFOTAG           0x13
#define IMEITAG              0x14
#define HELPTAG              0x15
#define NMRTAG               0x16
#define DEFTEXTTAG           0x17
#define NEXTACTIONTAG        0x18
#define EVENTLISTTAG         0x19
#define ICONTAG              0x1E
#define ICONLISTTAG          0x1F
#define ATCMDTAG             0x28
#define IMMEDIATETAG         0x2B
#define DTMFTAG              0x2C
#define LANGUAGETAG          0x2D
#define BROWSERIDTAG         0x30
#define URLTAG               0x31
#define BEARERTAG            0x32
#define PROVISIONFILETAG     0x33
#define BEARERDESCRIPTTAG    0x35
#define CHANNELDATATAG       0x36
#define CHANNELDATALENTAG    0x37
#define BUFFERSIZETAG        0x39
#define TRANSPORTLVLTAG      0x3C
#define OTHERADDRTAG         0x3E
#define NETACCESSNAMETAG     0x47

#define BCCHTAG              0x1D
#define MENUSELECTTAG        0xD3
#define EVENTDOWNLOADTAG     0xD6
#define OPTIONALTAG          0x80000000

#define COMMANDLENGTH        5
#define MAX_BYTE_RSP         255
#define MAX_TEXT_RSP         512
#define SIMTKIT_TEXTPARSE_EMPTY_STRING L"\0"
#define SIMTKIT_TEXTPARSE_YES          L"01"
#define SIMTKIT_TEXTPARSE_NO           L"00"
#define SIMTKIT_INVALID_VALUE          (0xFFFFFFFF)

#define SIMTK_OPENCHANNEL_CS    ADDRESSTAG
#define SIMTK_OPENCHANNEL_GPRS  BEARERDESCRIPTTAG

// Default Terminal Profile constants
#define MAX_TERMINAL_PROFILE                      (32)
#define DEF_TERMINAL_PROFILE_SIZE                 (9)
static const TCHAR* gsc_szTerminalProfileRegKey = TEXT("TerminalProfile");

#define ROUNDTODWORD(p)             (DWORD) (4 * (((DWORD) p + 3) / 4))


BOOL ParseBytes(const BYTE *pbData, LPBYTE& rpbData, size_t& rcbData, LPBYTE& rpbPointer);
BOOL ParseEncodedText(const LPBYTE pbData, DWORD dwEncoding, LPWSTR& rwszOut, size_t& rcbOut, LPBYTE& rpbPointer);
BOOL CreateEncodedText(DWORD dwEncoding, const WCHAR *wszIn, LPSTR& rszOut, UINT& ruiOutSize);
BOOL ConvertAlphaIDTextToUnicode(const LPCSTR szInput, const UINT uiInputLength, const LPWSTR wszOutput, const UINT uiOutputLength, UINT& ruiCharactersUsed);


class CRilSimToolkitCommand
{
public:
    // Creation
    CRilSimToolkitCommand();
    ~CRilSimToolkitCommand();

    // Parsing commands
    DWORD ParseCommand(LPCSTR szData, DWORD dwDataSize, RILSIMTOOLKITCMD **ppCommand, DWORD *pdwCommandSize);

private:

    // Common reading functions
    HRESULT ReadCmdLength(DWORD *pdwLength);
    HRESULT ReadCommonTextString(TCHAR **ppwszText, DWORD *pdwLen);
    HRESULT ReadDialNumberString(TCHAR **ppwsz, DWORD *pdwLen);
    HRESULT ReadEFADNText(TCHAR **ppwszText, DWORD dwLength, DWORD *pdwUsedLen);
    HRESULT ReadCommonEFADNText(TCHAR **ppwszText, DWORD *pdwLen);
    HRESULT ReadCommonByte(DWORD *pdwData);
    HRESULT ReadCommonByteList(BYTE **ppbData, DWORD *pdwLen);
    HRESULT ReadCommonByteAndByteList(DWORD* pdwByte, BYTE **ppbData, DWORD *pdwLen);
    HRESULT ReadCommonIconIdentifier(LPDWORD pdwIconIdentifier, LPDWORD pdwIconQualifier);

    // Text Format Parse command Functions
    HRESULT ParseTextFormatCommand(DWORD* pdwNotifyCode, BYTE* pbCmdQualifier, DWORD* pdwRetVal);
    HRESULT ParseSetupMenu(DWORD dwCommandID, BYTE* pbCmdQualifier);
    HRESULT ParseMenuItem(LPBYTE& rpbParse);
    HRESULT ParseDisplayText(BYTE* pbCmdQualifier);
    HRESULT ParseGetInKey(BYTE* pbCmdQualifier);
    HRESULT ParseGetInput(BYTE* pbCmdQualifier);
    HRESULT ParsePlayTone(void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -