CONFIGURE_FILE(tapi.pc.in tapi.pc @ONLY)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/telephony-client)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tapi.pc DESTINATION lib/pkgconfig)
-INSTALL(TARGETS SLP-tapi DESTINATION lib COMPONENT Runtime)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tapi.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS SLP-tapi DESTINATION ${LIB_INSTALL_DIR} COMPONENT Runtime)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME libslp-tapi)
#define TAPI_NETWORK_ORDER_MAX 5 /**< Maximum network order */
#define TAPI_NETWORK_LIST_MAX 15 /**< Maximum network list */
+#define TAPI_NETWORK_PLMN_LEN_MAX 6 /**< Maximum PLMN length*/
#define TAPI_NETWORK_NAME_LEN_MAX 40 /**< Maximum network name or PLMN name length*/
#define TAPI_NETWORK_SPN_LEN_MAX 20 /**< Maximum network service provider name length */
#define TAPI_PREFERRED_PLMN_RECORDS_MAX 150 /**< Maximum record length for preferred plmn list*/
*/
typedef struct {
unsigned char Index; /**< Network Preferred Plmn list index */
- char Plmn[7]; /**< Network Preferred Plmn */
+ char Plmn[TAPI_NETWORK_PLMN_LEN_MAX + 1]; /**< Network Preferred Plmn */
char network_name[TAPI_NETWORK_NAME_LEN_MAX + 1]; /**< Network Name */
char service_provider_name[TAPI_NETWORK_NAME_LEN_MAX + 1]; /**< Service provider name */
TelNetworkSystemType_t SystemType; /**< Network system type */
char network_name[TAPI_NETWORK_NAME_LEN_MAX + 1]; /**< Network Name */
char service_provider_name[TAPI_NETWORK_NAME_LEN_MAX + 1]; /**< Service provider name */
unsigned int plmn_id; /**< PLMN ID */
+ char plmn[TAPI_NETWORK_PLMN_LEN_MAX + 1]; /**< PLMN ID */
TelNetworkPlmnType_t type_of_plmn; /**< PLMN type */
TelNetworkSystemType_t access_technology; /**< Access technology */
} TelNetworkIdentity_t;
typedef struct {
TelNetworkSystemType_t act; /**< Access technology */
- char plmn[7];
+ char plmn[TAPI_NETWORK_PLMN_LEN_MAX + 1];
int lac;
} TelNetworkServing_t;
struct tel_noti_network_change {
TelNetworkSystemType_t act; /**< Access technology */
- char plmn[7];
+ char plmn[TAPI_NETWORK_PLMN_LEN_MAX + 1];
int lac;
};
int gmtoff;
int dstoff;
int isdst;
- char plmn[7];
+ char plmn[TAPI_NETWORK_PLMN_LEN_MAX + 1];
};
struct tel_noti_network_identity {
- char plmn[7];
+ char plmn[TAPI_NETWORK_PLMN_LEN_MAX + 1];
char short_name[17];
char full_name[33];
};
* This data structure defines the data for the apdu.
*/
typedef struct {
- unsigned char apdu_len;
+ unsigned short apdu_len;
unsigned char* apdu;
} TelSimApdu_t;
* This data structure defines the data for the Response of sending apdu.
*/
typedef struct {
- unsigned char apdu_resp_len;
+ unsigned short apdu_resp_len;
unsigned char apdu_resp[TAPI_SIM_APDU_MAX_LEN];
} TelSimApduResp_t;
* This data structure defines the data for the Response of sending apdu.
*/
typedef struct {
- unsigned char atr_resp_len;
+ unsigned short atr_resp_len;
unsigned char atr_resp[TAPI_SIM_APDU_MAX_LEN];
} TelSimAtrResp_t;
-#sbs-git:slp/pkgs/l/libslp-tapi libslp-tapi 0.1.1
Name: libslp-tapi
Summary: Telephony dbus client library
-Version: 0.6.59
+Version: 0.6.69
Release: 1
Group: System/Libraries
-License: Apache
+License: Apache-2.0
Source0: libslp-tapi-%{version}.tar.gz
-Requires(post): /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
BuildRequires: cmake
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-2.0)
%build
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
+%cmake .
make %{?jobs:-j%jobs}
%files
%manifest libslp-tapi.manifest
%defattr(-,root,root,-)
-#%doc COPYING
%{_libdir}/*.so.*
-#%{_bindir}/tapitest
/usr/share/license/libslp-tapi
%files devel
GError *error = NULL;
struct tapi_handle *handle;
gchar *addr;
-
+#if !GLIB_CHECK_VERSION (2, 35, 3)
g_type_init();
+#endif
dbg("process info: env=%s, invocation=%s", getenv("_"), program_invocation_name);
while (g_variant_iter_loop(iter_row, "{sv}", &key, &value)) {
if (!g_strcmp0(key, "plmn")) {
list.network_list[i].plmn_id = atoi(g_variant_get_string(value, NULL));
+ strncpy(list.network_list[i].plmn, g_variant_get_string(value, NULL), TAPI_NETWORK_PLMN_LEN_MAX);
}
if (!g_strcmp0(key, "act")) {
list.network_list[i].access_technology = _convert_act_to_systemtype(g_variant_get_int32(value));
GVariant *param_gv = NULL;
GVariant *inner_gv = NULL;
guchar rt_i;
- int i = 0;
+ unsigned short i = 0;
struct tapi_resp_data *evt_cb_data = user_data;
TelSimAccessResult_t result = TAPI_SIM_ACCESS_SUCCESS;
r_apdu.apdu_resp[i] = rt_i;
i++;
}
- r_apdu.apdu_resp_len = (unsigned char) i;
+ r_apdu.apdu_resp_len = i;
+ dbg("r_apdu.apdu_resp_len=[%d]", r_apdu.apdu_resp_len);
g_variant_iter_free(iter);
g_variant_unref(inner_gv);
g_variant_unref(param_gv);
- /* for(i=0; i < (int)r_apdu.apdu_resp_len; i++)
- dbg("apdu[%d][0x%02x]",i, r_apdu.apdu_resp[i]);*/
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &r_apdu, evt_cb_data->user_data);
GVariant *param_gv = NULL;
GVariant *inner_gv = NULL;
guchar rt_i;
- int i = 0;
+ unsigned short i = 0;
struct tapi_resp_data *evt_cb_data = user_data;
TelSimAccessResult_t result = TAPI_SIM_ACCESS_SUCCESS;
r_atr.atr_resp[i] = rt_i;
i++;
}
- r_atr.atr_resp_len = (unsigned char) i;
+ r_atr.atr_resp_len = i;
+ dbg("r_atr.atr_resp_len=[%d]", r_atr.atr_resp_len);
g_variant_iter_free(iter);
g_variant_unref(inner_gv);
g_variant_unref(param_gv);
- /* for(i=0; i < (int)r_atr.atr_resp_len; i++)
- dbg("r_atr[%d][0x%02x]",i, r_atr.atr_resp[i]);*/
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &r_atr, evt_cb_data->user_data);