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

📄 sul.h

📁 这是法国Kaleido公司提供了一个手机mmi设计平台
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************/


/******************************************************************************/
/*                           [begin] Phone Utility		                      */
/******************************************************************************/
#define SUL_SIZEOFFORLOWSTRING      	50  //define the string's size for getURLString function,这个也可以看作是URL的长度要求
#define SUL_SIZEOFPATTERN				0X07
#define SUL_MAXEMAILLENGTHBEFORESYMBOL	25
#define SUL_MAXEMAILLENGTHAFTERSYMBOL	25
#define SUL_PHONE_MAXWEBADDLENGTH      50

BOOL  SRVAPI SUL_IsValidPhoneNumber(
                             TCHAR * PhoneNumber, 
                             UINT8 nSize
);
UINT32	SRVAPI SUL_CompressPhoneString(
                                 PCSTR pSrc,	
                                 UINT8 nSrcSize, 
                                 PSTR pDest, 
                                 UINT8 nDestSize
);
UINT32	SRVAPI SUL_UnCompressPhoneString(
                                   PCSTR pSrc, 
                                   UINT8 nSrcSize, 
                                   PSTR pDest, 
                                   UINT8 nDestSize
);
UINT32	SRVAPI SUL_GetNumberString (
                              PCSTR pString, 
                              UINT8 * pArray, 
                              UINT8 nSize,  
                              UINT8 nCount, 
                              UINT8 nMode
);
UINT32	SRVAPI SUL_GetURLString (
                           PCSTR pString, 
                           UINT8 * pArray, 
                           UINT8 nSize,  
                           UINT8 nCount, 
                           UINT8 nMode
);
UINT32	SRVAPI SUL_GetEmaiString (
                            PCSTR pString, 
                            UINT8 * pArray, 
                            UINT8 nSize,  
                            UINT8 nCount, 
                            UINT8 nMode
);
BOOL SRVAPI  SUL_IsValidWebAddr(
                          PCSTR pString,
                          UINT8 nSize);
BOOL SRVAPI  SUL_IsValidEmailAddr(
                           PCSTR pString,
                           UINT8 nSize
);

#define IsValidWebAddr          SUL_IsValidWebAddr
#define IsValidWebAddr          SUL_IsValidWebAddr
#define IsValidPhoneNumber		SUL_IsValidPhoneNumber
#define CompressPhoneString		SUL_CompressPhoneString
#define UnCompressPhoneString	SUL_UnCompressPhoneString
#define GetNumberString			SUL_GetNumberString
#define GetURLString			SUL_GetURLString
#define GetEmaiString			SUL_GetEmaiString

/******************************************************************************/
/*                           [END] PHONE Utiltiy                              */
/******************************************************************************/


INT32 SRVAPI SUL_CharacterLen(
  PCSTR   pString,		// The given SMS string.
  UINT16  nSize			//The size of the SMS string
);

INT32 SRVAPI SUL_Encode7Bit(
  PCSTR   pSrc,	       // The given SMS string.
  PSTR    pDest,         // Output encode SMS string.
  UINT16  nSrcSize      // the given SMS sting size in bytes.
);

INT32 SRVAPI SUL_Decode7Bit(
  PCSTR   pSrc,	            // The given SMS string.
  PSTR    pDest,            // Output Decode SMS string.
  UINT16  nSrcSize          // the given SMS sting size in bytes.
);

INT32 SRVAPI SUL_ASCII2GSM(
  PCSTR  pSrc,	  	    // The given ASCII string.	
  UINT16 nSrcSize,   	// the given string's length.
  PSTR   pDest      	// Output translation string.
);

INT32 SRVAPI SUL_GSM2ASCII(
  PCSTR  pSrc,	  	// The given GSM string.	
  UINT16 nSrcSize,   	// the given string's length.
  PSTR   pDest      	// Output translation string.
);

INT32 SRVAPI SUL_LocallanguageToUCS2(
  PCSTR  pSrc,	  	    // The given local language string.	
  UINT16 nSrcSize,   	// the given string's length.
  PSTR   pDest      	// Output translation string.s
);

INT32 SRVAPI SUL_UCS2ToLocallanguage(
  PCSTR  pSrc,	  	    // The given local language string.	
  UINT16 nSrcSize,   	// the given string's length.
  PSTR   pDest      	// Output translation string.
);

PSTR SRVAPI SUL_CharLower(PSTR string);

PSTR SRVAPI CharLowerBuff(
                   PSTR string,
                   UINT32 Count
                   );

PSTR SRVAPI SUL_CharUpper(PSTR string);

PSTR SRVAPI SUL_CharUpperBuff(
                       PSTR string,
                       UINT32 Count
                       );

BOOL SRVAPI IsCharAlpha(
                 TCHAR ch
                 );

BOOL SRVAPI IsCharAlphaNumeric(
                        TCHAR ch
                        );
BOOL SRVAPI IsCharLower(
                 TCHAR ch 
                 );

BOOL SRVAPI IsCharUpper(
                 TCHAR ch
                 );

PTCHAR SRVAPI SUL_CharPrev(
                     const TCHAR *lpszStart, 
                     const TCHAR *lpszCurrent 
                     );

PTCHAR SRVAPI SUL_CharNext(
                    const TCHAR * lpsz 
                    );

INT32 SRVAPI SUL_CountChar(
                    const TCHAR * pStrStart 
                    );

BOOL SRVAPI SUL_SeekCodeTable(HRES hdata,
                       INT32 src, 
                       UINT8 srcByte, 
                       UINT16 *pNum
                       );

BOOL SRVAPI SUL_EncodePDU(
                   UINT8 * pSmsContent, 
                   INT8  * phoneNum, 
                   UINT8 * pPackedSubmitMsg
                   );

#define GSM_7BIT        0
#define GSM_8BIT        4
#define GSM_UCS2        8
#define MAX_SMS_CONTENT 140

typedef struct _PSMS_PDU_INFO{
    UINT8 pSCA[21];       
    UINT8 pTPA[21];       
    UINT8 TP_PID;        
    UINT8 TP_DCS;        
    UINT8 pTP_SCTS[16];  
    UINT8 TP_UD[161];
    UINT8 index;
}SMS_PDU_INFO, *PSMS_PDU_INFO;

UINT16 SRVAPI SUL_DecodePdu(
                     CONST INT8 * pSrc, 
                     PSMS_PDU_INFO pDst
                     );

UINT16 SRVAPI SUL_GSM2UCS2(
                    UINT8 * pSrc,
                    UINT8 *pDes,
                    UINT16 nLength);

UINT16 SRVAPI SUL_String2Bytes(
                        CONST UINT8 * pSrc, 
                        UINT8 * pDst, 
                        UINT16 nSrcLength
                        );

UINT16 SRVAPI SUL_SerializeNumbers(
                            INT8 * pSrc,
                            INT8 * pDst, 
                            UINT16 nSrcLength
                            );

VOID SRVAPI SUL_SetLastError(
  UINT32 nErrCode   // error code
);

UINT32 SRVAPI SUL_GetLastError(VOID);

typedef struct _SCA_PARAM{
	UINT8 nBCD[22];
	UINT8 nLength;
	UINT8 nType;
}SCA_PARAM;

//
//该函数会去掉最后的F
//0x08, 0x91, 0x68, 0x31 0x18 0x11 0x98 0x38 0xF6 --> '13811189836' 
//
BOOL SRVAPI SUL_GetSCAStruct(
						UINT8 nSCABcd[12], 
						SCA_PARAM *pParam
						);

//
// GSMBCD码,如果转化奇数个数字的话,将会在对应高位补F
// 支持'*''#'''+'p'
// +13811189836 --> 0x0D, 0x31 0x18 0x11 0x98 0x38 0xF6
// 13811189836 --> 0x31 0x18 0x11 0x98 0x38 0xF6
//
UINT16 SRVAPI SUL_AsciiToGsmBcd(
    INT8 * pNumber, // input
    UINT8 nNumberLen,
    UINT8 * pBCD          // output (The size of this buffer should >= nNumberLen/2+1)
);

//
// 该函数会去掉最后的F,同时将A转化为‘*’将B转化为‘#’将C转化为‘p’
// 将D转化为"+"
// 0x31 0x18 0x11 0x98 0x38 0xF6 --> 13811189836 
//
UINT16 SRVAPI SUL_GsmBcdToAscii (
    UINT8 * pBcd,    // input 
    UINT8 nBcdLen,
    UINT8 * pNumber // output (The size of this buffer should >= nBcdLen*2)
);

#if !defined(ISODDNUM)
#define ISODDNUM(a)            ((a & 0x01) ? (TRUE) : (FALSE))
#endif
#if !defined(ISEVENNUM)
#define ISEVENNUM(a)           ((a & 0x01) ? (FALSE) : (TRUE))
#endif

//
//Change the user dial number(UDN) to stack dial number(SDN).
//The space's of SDN is  alloted by the user,and the length of SDN is 2 bytes
//biger than the UDN length at least.
//Also the pUDN and pSDN can be pointed to the same pointer.
//
#if 0 
UINT32 SUL_UserDialNum2StackDialNum(
					CFW_DIALNUMBER *pNumber,
					UINT8 * pSDN,
					UINT8 * pSDNLen
					);
#endif 

// "+,001,138111" ---> "91,001,138111". // internal type
// "+,138111" ---> "91,138111".   // national
// "138111" ---> "81,138111".     // unknown type
// "86138111" ---> "81,86138111". // unknown type

#endif // _H_

⌨️ 快捷键说明

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