tapi_sms: Add SCA encoded buffer length to 12 bytes
authorGuillaume Zajac <guillaume.zajac@linux.intel.com>
Thu, 13 Dec 2012 14:27:37 +0000 (15:27 +0100)
committerwootak.jung <wootak.jung@samsung.com>
Sun, 24 Mar 2013 08:09:33 +0000 (17:09 +0900)
include/TelSms.h
src/tapi_sms.c

index 357cdf9923f2a30434406a0549cce9cbfa8528fc..a316929b145fd5ffcb5e9c4b21fd61e4011fea1a 100644 (file)
@@ -41,23 +41,22 @@ extern "C"
 #endif
 
 /* NetText */
-/** EF-SMSP digit length */
-#define TAPI_SIM_SMSP_ADDRESS_LEN              20
-/** EF-SMSP alpha id length */
-#define TAPI_SIM_SMSP_ALPHA_ID_LEN_MAX         128
-
-#define TAPI_NETTEXT_MSG_SIZE_MAX              918 /**< Maximum Message Size */
-#define TAPI_NETTEXT_CB_SIZE_MAX                       93 /** Maximum CB Message Size */
-#define TAPI_NETTEXT_ETWS_SIZE_MAX                     56 /** Maximum ETWS Message Size */
-#define TAPI_NETTEXT_ADDRESS_LEN_MAX   20 /* Nettext Address Length */
-#define TAPI_NETTEXT_SCADDRESS_LEN_MAX 18 /* SC Address Length */
-
-#define TAPI_NETTEXT_CB_PAGE_SIZE_MAX                           9    /**< CB maximum page size*/
-#define TAPI_NETTEXT_GSM_SMS_MSG_NUM_MAX             255    /**< Maximum GSM SMS message number*/
-#define TAPI_NETTEXT_GSM_SMS_CBMI_LIST_SIZE_MAX      50    /**< Maximum GSM SMS CBMI list size*/
-#define TAPI_NETTEXT_SMDATA_SIZE_MAX                           165  /**< Maximum SMS data size that can be stored*/
-#define TAPI_NETTEXT_MAX_SMS_SERVICE_CENTER_ADDR   12    /**<Maximum SMS service center address*/
-#define TAPI_NETTEXT_MAX_INDEX                                        255 /**< Maximum index value for SMS */
+#define TAPI_SMS_ENCODED_SCA_LEN_MAX                           12      /** Encoded SCA is 12 bytes long maximum */
+#define TAPI_SIM_SMSP_ADDRESS_LEN                              20      /** EF-SMSP digit length */
+#define TAPI_SIM_SMSP_ALPHA_ID_LEN_MAX                         128     /** EF-SMSP alpha id length */
+
+#define TAPI_NETTEXT_MSG_SIZE_MAX                              918     /** Maximum Message Size */
+#define TAPI_NETTEXT_CB_SIZE_MAX                               93      /** Maximum CB Message Size */
+#define TAPI_NETTEXT_ETWS_SIZE_MAX                             56      /** Maximum ETWS Message Size */
+#define TAPI_NETTEXT_ADDRESS_LEN_MAX                           20      /* Nettext Address Length */
+#define TAPI_NETTEXT_SCADDRESS_LEN_MAX                         18      /* SC Address Length */
+
+#define TAPI_NETTEXT_CB_PAGE_SIZE_MAX                          9       /** CB maximum page size*/
+#define TAPI_NETTEXT_GSM_SMS_MSG_NUM_MAX                       255     /** Maximum GSM SMS message number*/
+#define TAPI_NETTEXT_GSM_SMS_CBMI_LIST_SIZE_MAX                50      /** Maximum GSM SMS CBMI list size*/
+#define TAPI_NETTEXT_SMDATA_SIZE_MAX                           164     /** Maximum SMS data size that can be stored*/
+#define TAPI_NETTEXT_MAX_SMS_SERVICE_CENTER_ADDR               12      /** Maximum SMS service center address*/
+#define TAPI_NETTEXT_MAX_INDEX                                 255     /** Maximum index value for SMS */
 
 #define TAPI_NETTEXT_SMSP_PARAMS_MAX_LEN               28
 
@@ -546,12 +545,21 @@ typedef struct {
 } TelSmsParams_t;
 
 /**
- * This structure defines the fields related to an Sms like SIM index, TPDU  and length
+ * This structure defines the fields related to an Sms like SIM index, TPDU
+ * and length.
  */
 typedef struct {
-       unsigned char Sca[TAPI_SIM_SMSP_ADDRESS_LEN]; /**< Service Centre address - an optional parameter. If this parameter is not present, then this field will be Null.If present, the valid service centre address information is filled as per 3GPP TS23.040 9.1.2.5 Address fields */
-       int MsgLength; /**< Size of array szData (which is actual TPDU message) */
-       unsigned char szData[TAPI_NETTEXT_SMDATA_SIZE_MAX + 1]; /**<SMS TPDU message */
+       /**
+        * Service Centre address - an optional parameter. If this parameter
+        * is not present, then this field will be Null.If present, the valid
+        * service centre address information is filled as per 3GPP TS23.040
+        * 9.1.2.5 Address fields
+        */
+       unsigned char Sca[TAPI_SMS_ENCODED_SCA_LEN_MAX];
+       /**< Size of array szData (which is actual TPDU message) */
+       int MsgLength;
+       /**< SMS TPDU message */
+       unsigned char szData[TAPI_NETTEXT_SMDATA_SIZE_MAX + 1];
 } TelSmsDatapackageInfo_t;
 
 /**
index 6188d54cb08fc55a1c75a63e11da42e23f12b0a6..e5347af87d539fd2746bc7e6a9c42368a84b78dd 100644 (file)
@@ -133,7 +133,7 @@ static void on_response_read_msg(GObject *source_object, GAsyncResult *res, gpoi
 
        decoded_sca = g_base64_decode(sca, &length);
        if (decoded_sca) {
-               memcpy(&(readMsg.SmsData.Sca[0]), decoded_sca, TAPI_SIM_SMSP_ADDRESS_LEN);
+               memcpy(&(readMsg.SmsData.Sca[0]), decoded_sca, TAPI_SMS_ENCODED_SCA_LEN_MAX);
                g_free(decoded_sca);
        }
 
@@ -593,7 +593,7 @@ EXPORT_API int tel_send_sms(struct tapi_handle *handle,
 
        MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
 
-       encoded_sca = g_base64_encode(&(pDataPackage->Sca[0]), TAPI_SIM_SMSP_ADDRESS_LEN);
+       encoded_sca = g_base64_encode(&(pDataPackage->Sca[0]), TAPI_SMS_ENCODED_SCA_LEN_MAX);
        if (encoded_sca == NULL) {
                dbg("g_base64_encode: Failed to Enocde the SCA");
                return TAPI_API_OPERATION_FAILED;
@@ -696,7 +696,7 @@ EXPORT_API int tel_write_sms_in_sim(struct tapi_handle *handle, const TelSmsData
 
        MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
 
-       encoded_sca = g_base64_encode(&(pWriteData->SmsData.Sca[0]), TAPI_SIM_SMSP_ADDRESS_LEN);
+       encoded_sca = g_base64_encode(&(pWriteData->SmsData.Sca[0]), TAPI_SMS_ENCODED_SCA_LEN_MAX);
        if (encoded_sca == NULL) {
                dbg("g_base64_encode: Failed to Enocde the SCA");
                return TAPI_API_OPERATION_FAILED;
@@ -1133,7 +1133,7 @@ EXPORT_API int tel_send_sms_deliver_report(struct tapi_handle *handle,
 
        MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
 
-       encoded_sca = g_base64_encode(&(pDataPackage->Sca[0]), TAPI_SIM_SMSP_ADDRESS_LEN);
+       encoded_sca = g_base64_encode(&(pDataPackage->Sca[0]), TAPI_SMS_ENCODED_SCA_LEN_MAX);
        if (encoded_sca == NULL) {
                dbg("g_base64_encode: Failed to Enocde the SCA");
                return TAPI_API_OPERATION_FAILED;