Add toolchain and mbtk source
Change-Id: Ie12546301367ea59240bf23d5e184ad7e36e40b3
diff --git a/mbtk/include/ql/ql_sms.h b/mbtk/include/ql/ql_sms.h
new file mode 100755
index 0000000..cf5c872
--- /dev/null
+++ b/mbtk/include/ql/ql_sms.h
@@ -0,0 +1,196 @@
+/*****************************************************************************
+ * Copyright Statement:
+ * --------------------
+ * This software is protected by Copyright and the information contained
+ * herein is confidential. The software may not be copied and the information
+ * contained herein may not be used or disclosed except with the written
+ * permission of Quectel Co., Ltd. 2016
+ *
+ *****************************************************************************/
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * ql_sms.h
+ *
+ * Project:
+ * --------
+ * OpenLinux
+ *
+ * Description:
+ * ------------
+ * API definition for SMS.
+ *
+ *============================================================================
+ * HISTORY
+ *----------------------------------------------------------------------------
+ * WHO WHEN WHAT
+ *----------------------------------------------------------------------------
+ * Pony.ma 19/09/2019 Create
+ ****************************************************************************/
+
+#ifndef __QL_SMS_H__
+#define __QL_SMS_H__
+
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define MAX_ADDR_LEN 24
+#define FALSE 0
+#define TRUE 1
+
+#define QL_SMS_MIN_LEN 1
+#define MAX_LONGSMS_SEGMENT 8
+#define MAX_SMS_LENGTH (160*4)
+#define SMS_BUF_LEN (MAX_SMS_LENGTH + 32)
+#define MAX_LONGSMS_LENGTH (160*4*MAX_LONGSMS_SEGMENT)
+#define CI_MAX_COUNT_SMS_OF_SIM 50
+
+
+typedef unsigned char UINT8;
+typedef unsigned short UINT16;
+typedef unsigned int UINT32;
+
+typedef enum{
+ QL_SMS_SUCCESS,
+ QL_SMS_GENERIC_FAILURE,
+ QL_SMS_PRAR_ERROR,
+ QL_GET_RESPONSE_ERROR,
+}QL_SMS_ERROR_CODE;
+
+typedef enum
+{
+ QL_SMS_RECV_EVENT = 0, /**< SMS come event. */
+ QL_SMS_RECV_INDEX_EVENT, /**< SMS come event for index. */
+}QL_SMS_NFY_MSG_ID;
+
+typedef enum
+{
+ QL_SMS_MODE_GSM = 0, //GSM
+ QL_SMS_MODE_UCS2 //UCS2
+}QL_SMS_CODE_MODE;
+
+typedef struct
+{
+ char number[32];
+ char body[280]; // 姣忔潯鏀跺埌鐨勭煭淇¢暱搴︽渶澶т负280
+ char time[32];
+ int body_len;
+ QL_SMS_CODE_MODE code_mode;
+ char *pdu_str;
+}QL_SMS_STATUS_INFO;
+
+typedef struct
+{
+ int item;
+ char *name;
+}ql_sms_item;
+
+typedef void (*QL_SMS_StatusIndMsgHandlerFunc_t)
+ (
+ QL_SMS_NFY_MSG_ID msg_id,
+ void *pv_data,
+ int pv_data_len,
+ void *contextPtr
+ );
+
+typedef enum{
+ QL_SMS_ClientInit = 0,
+ QL_SMS_ClientRelease,
+ //QL_SMS_SendSMS,
+ QL_SMS_DeleteSMS,
+ QL_SMS_SearchSMSTextMessage,
+ QL_SMS_SearchSMSPduMessage,
+ QL_SMS_AddSMSEventHandler,
+ QL_SMS_GetSMSCenterAddress,
+ QL_SMS_SetSMSCenterAddress,
+ QL_SMS_SetSaveLocation,
+ QL_SMS_GetSaveLocation,
+ QL_SMS_SetSMSNotSave,
+ QL_SMS_SetSMSMsgMode,
+ QL_SMS_GetSMSMsgMode,
+ QL_SMS_SetSMSCodeMode,
+ QL_SMS_GetSMSCodeMode,
+ QL_SMS_SetSMSReceiveDealmode,
+ QL_SMS_SendTextSMS,
+ QL_SMS_SendPduSMS,
+ QL_SMS_GetSimNum,
+ QL_SMS_GetIndex,
+ QL_SMS_OptionMax,
+}QL_SMS_OPTION;
+
+typedef struct
+{
+ char mem[5];
+ int cur_num; //current sms numbers
+ int max_nums; //Maximum number of messages that can be stored
+}sms_mem_t;
+
+typedef struct
+{
+ sms_mem_t mem1; //messages to be read and deleted from this memory storage.
+ sms_mem_t mem2; //messages will be written and sent to this memory storage.
+ sms_mem_t mem3; //received messages will be placed in this memory storage if routing to PC is not set.
+}ql_sms_mem_info_t;
+
+typedef struct recvmessage_struct{
+ char num[32];
+ char buf[400];
+ int buflen;
+}recvmessage;
+typedef struct{
+ int storage_index; // 存贮索引
+} ql_sms_recv_index_event_t;
+
+
+typedef struct{
+ int sms_index[CI_MAX_COUNT_SMS_OF_SIM];
+ int count;
+} ql_auto_sms_index;
+
+
+
+
+/* init sms client */
+QL_SMS_ERROR_CODE ql_sms_init();
+/* deinit sms clint */
+QL_SMS_ERROR_CODE ql_sms_release();
+/* send message api */
+//QL_SMS_ERROR_CODE ql_sms_send_msg(uint8_t *destNum,uint8_t *data,size_t dataLen,int sms_type);
+/* get smsc api */
+QL_SMS_ERROR_CODE ql_sms_get_sms_center_address(uint8_t *sms_center_addree);
+/* register sms event header api*/
+QL_SMS_ERROR_CODE ql_sms_add_event_handler(QL_SMS_StatusIndMsgHandlerFunc_t handlerPtr, void* contextPtr);
+/* set smsc api */
+QL_SMS_ERROR_CODE ql_sms_set_sms_center_address(unsigned char *destNum);
+/* delete message api */
+QL_SMS_ERROR_CODE ql_sms_delete_msg(size_t index);
+/* set sms storage api */
+QL_SMS_ERROR_CODE ql_sms_set_sms_pref_storage(size_t location);
+/* set sms not storage api */
+QL_SMS_ERROR_CODE ql_sms_set_sms_desave();
+QL_SMS_ERROR_CODE ql_set_sms_msg_mode(int messagemode);
+QL_SMS_ERROR_CODE ql_get_sms_msg_mode(int *messagemode);
+QL_SMS_ERROR_CODE ql_set_sms_code_mode(char* codemode);
+QL_SMS_ERROR_CODE ql_get_sms_code_mode(char *codemode);
+QL_SMS_ERROR_CODE ql_sms_get_sms_pref_storage(ql_sms_mem_info_t *mem_info);
+//QL_SMS_ERROR_CODE ql_search_sms_message(int index, recvmessage* payload);
+QL_SMS_ERROR_CODE ql_search_sms_text_message(int index, recvmessage* payload);
+QL_SMS_ERROR_CODE ql_search_sms_pdu_message(int index, recvmessage* payload);
+QL_SMS_ERROR_CODE ql_set_sms_recive_dealmode(int dealmode);
+QL_SMS_ERROR_CODE ql_sms_send_pdu_msg(uint8_t *phone_num,uint8_t *data,int sms_type);
+QL_SMS_ERROR_CODE ql_sms_send_text_msg(uint8_t *phone_num,uint8_t *data,int sms_type);
+QL_SMS_ERROR_CODE ql_sms_get_sim_num(uint8_t *sim_num);
+QL_SMS_ERROR_CODE ql_get_sms_index( int *sms_msg_info_ptr,int *smsnum);
+QL_SMS_ERROR_CODE ql_sms_list_sms(int stat, int index, char *data);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+