00001 00044 #ifndef LEGATO_PASMS_INCLUDE_GUARD 00045 #define LEGATO_PASMS_INCLUDE_GUARD 00046 00047 00048 #include "legato.h" 00049 #include "le_mdm_defs.h" 00050 00051 //-------------------------------------------------------------------------------------------------- 00052 // Symbol and Enum definitions. 00053 //-------------------------------------------------------------------------------------------------- 00054 00055 00056 //-------------------------------------------------------------------------------------------------- 00062 //-------------------------------------------------------------------------------------------------- 00063 typedef enum 00064 { 00065 PA_SMS_SMS_DELIVER = 0, 00066 PA_SMS_SMS_SUBMIT = 1, 00067 PA_SMS_SMS_STATUS_REPORT = 2, 00068 PA_SMS_PDU = 3 00069 } 00070 pa_sms_MsgType_t; 00071 00072 00073 //-------------------------------------------------------------------------------------------------- 00074 // APIs. 00075 //-------------------------------------------------------------------------------------------------- 00076 00077 //-------------------------------------------------------------------------------------------------- 00082 //-------------------------------------------------------------------------------------------------- 00083 typedef struct { 00084 le_sms_msg_Status_t status; 00085 char oa[LE_SMS_TEL_NMBR_MAX_LEN]; 00086 char scts[LE_SMS_TIMESTAMP_MAX_LEN]; 00087 le_sms_msg_Format_t format; 00088 uint8_t data[LE_SMS_TEXT_MAX_LEN]; 00089 uint32_t dataLen; 00090 } 00091 pa_sms_SmsDeliver_t; 00092 00093 //-------------------------------------------------------------------------------------------------- 00098 //-------------------------------------------------------------------------------------------------- 00099 typedef struct { 00100 le_sms_msg_Status_t status; 00101 char da[LE_SMS_TEL_NMBR_MAX_LEN]; 00102 uint8_t data[LE_SMS_TEXT_MAX_LEN]; 00103 uint32_t dataLen; 00104 } 00105 pa_sms_SmsSubmit_t; 00106 00107 //-------------------------------------------------------------------------------------------------- 00112 //-------------------------------------------------------------------------------------------------- 00113 typedef struct { 00114 le_sms_msg_Status_t status; 00115 uint8_t data[LE_SMS_PDU_MAX_LEN]; 00116 uint32_t dataLen; 00117 } 00118 pa_sms_Pdu_t; 00119 00120 //-------------------------------------------------------------------------------------------------- 00125 //-------------------------------------------------------------------------------------------------- 00126 typedef struct { 00127 pa_sms_MsgType_t type; 00128 union { 00129 pa_sms_SmsDeliver_t smsDeliver; 00130 pa_sms_SmsSubmit_t smsSubmit; 00131 pa_sms_Pdu_t pdu; 00132 }; 00133 } 00134 pa_sms_Message_t; 00135 00136 //-------------------------------------------------------------------------------------------------- 00142 //-------------------------------------------------------------------------------------------------- 00143 typedef void (*pa_sms_NewMsgHdlrFunc_t) 00144 ( 00145 uint32_t* msgRef 00146 ); 00147 00148 00149 //-------------------------------------------------------------------------------------------------- 00156 //-------------------------------------------------------------------------------------------------- 00157 le_result_t pa_sms_SetNewMsgHandler 00158 ( 00159 pa_sms_NewMsgHdlrFunc_t msgHandler 00160 00161 ); 00162 00163 //-------------------------------------------------------------------------------------------------- 00170 //-------------------------------------------------------------------------------------------------- 00171 le_result_t pa_sms_ClearNewMsgHandler 00172 ( 00173 void 00174 ); 00175 00176 //-------------------------------------------------------------------------------------------------- 00184 //-------------------------------------------------------------------------------------------------- 00185 int32_t pa_sms_SendPduMsg 00186 ( 00187 uint32_t length, 00188 const uint8_t* dataPtr 00189 ); 00190 00191 //-------------------------------------------------------------------------------------------------- 00200 //-------------------------------------------------------------------------------------------------- 00201 le_result_t pa_sms_RdPDUMsgFromMem 00202 ( 00203 uint32_t index, 00204 pa_sms_Pdu_t* msgPtr 00205 ); 00206 00207 //-------------------------------------------------------------------------------------------------- 00217 //-------------------------------------------------------------------------------------------------- 00218 le_result_t pa_sms_ListMsgFromMem 00219 ( 00220 le_sms_msg_Status_t status, 00221 uint32_t* numPtr, 00222 uint32_t* idxPtr 00223 00224 ); 00225 00226 //-------------------------------------------------------------------------------------------------- 00235 //-------------------------------------------------------------------------------------------------- 00236 le_result_t pa_sms_DelMsgFromMem 00237 ( 00238 uint32_t index 00239 ); 00240 00241 //-------------------------------------------------------------------------------------------------- 00249 //-------------------------------------------------------------------------------------------------- 00250 le_result_t pa_sms_DelAllMsg 00251 ( 00252 void 00253 ); 00254 00255 //-------------------------------------------------------------------------------------------------- 00263 //-------------------------------------------------------------------------------------------------- 00264 le_result_t pa_sms_ChangeMessageStatus 00265 ( 00266 uint32_t index, 00267 le_sms_msg_Status_t status 00268 ); 00269 00270 #endif // LEGATO_PASMS_INCLUDE_GUARD