aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2021-01-29 18:36:29 +0100
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2021-02-01 17:09:52 +0100
commitf1da1a29a8e368ae883648e70bda8a4c5fa44ae6 (patch)
treed346f6f389d60d712913cf72465d8de8ba03f2f3
parentb6f34ab34ffc2c187a697b7df82d5ee7e818aed5 (diff)
downloadhardware_replicant_libsamsung-ipc-patches-todo/ipc-client-TODO-for-1.0.tar.gz
hardware_replicant_libsamsung-ipc-patches-todo/ipc-client-TODO-for-1.0.tar.bz2
hardware_replicant_libsamsung-ipc-patches-todo/ipc-client-TODO-for-1.0.zip
TODO: finish ipc_client conversionpatches-todo/ipc-client-TODO-for-1.0
struct ipc_client needs to be added to all these functions possibly before adding support again in other daemon than rild / libsamsung-ril. It could probably be automated with coccinelle / spatch. As for the rest of the functions, they aren't exposed externally, so it's less an issue. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r--include/misc.h9
-rw-r--r--include/net.h10
-rw-r--r--include/rfs.h8
-rw-r--r--include/samsung-ipc.h49
-rw-r--r--include/sec.h16
-rw-r--r--include/sms.h19
-rw-r--r--include/svc.h5
7 files changed, 78 insertions, 38 deletions
diff --git a/include/misc.h b/include/misc.h
index 2a13fa6..b73d164 100644
--- a/include/misc.h
+++ b/include/misc.h
@@ -85,8 +85,11 @@ struct ipc_misc_time_info_data {
* Helpers
*/
-int ipc_misc_me_version_setup(struct ipc_misc_me_version_request_data *data);
-char *ipc_misc_me_imsi_imsi_extract(const void *data, size_t size);
-char *ipc_misc_me_sn_extract(const struct ipc_misc_me_sn_response_data *data);
+int ipc_misc_me_version_setup(struct ipc_client *client,
+ struct ipc_misc_me_version_request_data *data);
+char *ipc_misc_me_imsi_imsi_extract(struct ipc_client *client,
+ const void *data, size_t size);
+char *ipc_misc_me_sn_extract(struct ipc_client *client,
+ const struct ipc_misc_me_sn_response_data *data);
#endif /* __SAMSUNG_IPC_MISC_H__ */
diff --git a/include/net.h b/include/net.h
index bd3b664..432076b 100644
--- a/include/net.h
+++ b/include/net.h
@@ -131,13 +131,17 @@ struct ipc_net_mode_sel_data {
* Helpers
*/
-int ipc_net_plmn_sel_setup(struct ipc_net_plmn_sel_request_data *data,
+int ipc_net_plmn_sel_setup(struct ipc_client *client,
+ struct ipc_net_plmn_sel_request_data *data,
unsigned char mode_sel, const char *plmn,
unsigned char act);
-int ipc_net_regist_setup(struct ipc_net_regist_request_data *data,
+int ipc_net_regist_setup(struct ipc_client *client,
+ struct ipc_net_regist_request_data *data,
unsigned char domain);
-unsigned char ipc_net_plmn_list_count_extract(const void *data, size_t size);
+unsigned char ipc_net_plmn_list_count_extract(struct ipc_client *client,
+ const void *data, size_t size);
struct ipc_net_plmn_list_entry *ipc_net_plmn_list_entry_extract(
+ struct ipc_client *client,
const void *data, size_t size, unsigned int index);
#endif /* __SAMSUNG_IPC_NET_H__ */
diff --git a/include/rfs.h b/include/rfs.h
index f2a091e..7b68280 100644
--- a/include/rfs.h
+++ b/include/rfs.h
@@ -84,12 +84,16 @@ void *ipc_nv_data_read(struct ipc_client *client, size_t size,
int ipc_nv_data_write(struct ipc_client *client, const void *data, size_t size,
unsigned int offset);
size_t ipc_rfs_nv_data_item_size_setup(
+ struct ipc_client *client,
struct ipc_rfs_nv_read_item_response_header *header,
const void *nv_data, size_t nv_size);
void *ipc_rfs_nv_read_item_setup(
+ struct ipc_client *client,
struct ipc_rfs_nv_read_item_response_header *header,
const void *nv_data, size_t nv_size);
-size_t ipc_rfs_nv_write_item_size_extract(const void *data, size_t size);
-void *ipc_rfs_nv_write_item_extract(const void *data, size_t size);
+size_t ipc_rfs_nv_write_item_size_extract(struct ipc_client *client,
+ const void *data, size_t size);
+void *ipc_rfs_nv_write_item_extract(struct ipc_client *client,
+ const void *data, size_t size);
#endif /* __SAMSUNG_IPC_RFS_H__ */
diff --git a/include/samsung-ipc.h b/include/samsung-ipc.h
index 25106c6..1e2dcf3 100644
--- a/include/samsung-ipc.h
+++ b/include/samsung-ipc.h
@@ -67,7 +67,7 @@ struct ipc_poll_fds {
* Helpers
*/
-int ipc_device_detect(void);
+int ipc_device_detect(struct ipc_client *client);
struct ipc_client *ipc_client_create(int type);
int ipc_client_destroy(struct ipc_client *client);
@@ -132,12 +132,12 @@ char *ipc_client_nv_data_secret(struct ipc_client *client);
size_t ipc_client_nv_data_size(struct ipc_client *client);
size_t ipc_client_nv_data_chunk_size(struct ipc_client *client);
-int ipc_seq_valid(unsigned char seq);
+int ipc_seq_valid(struct ipc_client *client, unsigned char seq);
-const char *ipc_request_type_string(unsigned char type);
-const char *ipc_response_type_string(unsigned char type);
-const char *ipc_command_string(unsigned short command);
-const char *ipc_group_string(unsigned char group);
+const char *ipc_request_type_string(struct ipc_client *client, unsigned char type);
+const char *ipc_response_type_string(struct ipc_client *client, unsigned char type);
+const char *ipc_command_string(struct ipc_client *client, unsigned short command);
+const char *ipc_group_string(struct ipc_client *client, unsigned char group);
int ipc_data_dump(struct ipc_client *client, const void *data, size_t size);
void ipc_client_log_send(struct ipc_client *client, struct ipc_message *message,
@@ -145,13 +145,17 @@ void ipc_client_log_send(struct ipc_client *client, struct ipc_message *message,
void ipc_client_log_recv(struct ipc_client *client, struct ipc_message *message,
const char *prefix);
-int ipc_fmt_header_setup(struct ipc_fmt_header *header,
+int ipc_fmt_header_setup(struct ipc_client *client,
+ struct ipc_fmt_header *header,
const struct ipc_message *message);
-int ipc_fmt_message_setup(const struct ipc_fmt_header *header,
+int ipc_fmt_message_setup(struct ipc_client *client,
+ const struct ipc_fmt_header *header,
struct ipc_message *message);
-int ipc_rfs_header_setup(struct ipc_rfs_header *header,
+int ipc_rfs_header_setup(struct ipc_client *client,
+ struct ipc_rfs_header *header,
const struct ipc_message *message);
-int ipc_rfs_message_setup(const struct ipc_rfs_header *header,
+int ipc_rfs_message_setup(struct ipc_client *client,
+ const struct ipc_rfs_header *header,
struct ipc_message *message);
void *file_data_read(struct ipc_client *client, const char *path, size_t size,
@@ -160,16 +164,21 @@ int file_data_write(struct ipc_client *client, const char *path,
const void *data, size_t size, size_t chunk_size,
unsigned int offset);
off_t file_data_size(struct ipc_client *client, const char *path);
-int network_iface_up(const char *iface, int domain, int type);
-int network_iface_down(const char *iface, int domain, int type);
-int sysfs_value_read(const char *path);
-int sysfs_value_write(const char *path, int value);
-char *sysfs_string_read(const char *path, size_t length);
-int sysfs_string_write(const char *path, const char *buffer, size_t length);
-size_t data2string_length(const void *data, size_t size);
-char *data2string(const void *data, size_t size);
-size_t string2data_size(const char *string);
-void *string2data(const char *string);
+int network_iface_up(struct ipc_client *client, const char *iface, int domain,
+ int type);
+int network_iface_down(struct ipc_client *client, const char *iface, int domain,
+ int type);
+int sysfs_value_read(struct ipc_client *client, const char *path);
+int sysfs_value_write(struct ipc_client *client, const char *path, int value);
+char *sysfs_string_read(struct ipc_client *client, const char *path,
+ size_t length);
+int sysfs_string_write(struct ipc_client *client, const char *path,
+ const char *buffer, size_t length);
+size_t data2string_length(struct ipc_client *client, const void *data,
+ size_t size);
+char *data2string(struct ipc_client *client, const void *data, size_t size);
+size_t string2data_size(struct ipc_client *client, const char *string);
+void *string2data(struct ipc_client *client, const char *string);
/*
* Samsung-IPC protocol
diff --git a/include/sec.h b/include/sec.h
index cc3cd51..40eb503 100644
--- a/include/sec.h
+++ b/include/sec.h
@@ -166,26 +166,34 @@ struct ipc_sec_lock_information_response_data {
* Helpers
*/
-int ipc_sec_pin_status_setup(struct ipc_sec_pin_status_request_data *data,
+int ipc_sec_pin_status_setup(struct ipc_client *client,
+ struct ipc_sec_pin_status_request_data *data,
unsigned char type, const char *pin1,
const char *pin2);
int ipc_sec_phone_lock_request_set_setup(
+ struct ipc_client *client,
struct ipc_sec_phone_lock_request_set_data *data,
unsigned char facility_type, unsigned char active,
const char *password);
-int ipc_sec_change_locking_pw_setup(struct ipc_sec_change_locking_pw_data *data,
+int ipc_sec_change_locking_pw_setup(struct ipc_client *client,
+ struct ipc_sec_change_locking_pw_data *data,
unsigned char facility_type,
const char *password_old,
const char *password_new);
size_t ipc_sec_rsim_access_size_setup(
+ struct ipc_client *client,
struct ipc_sec_rsim_access_request_header *header,
const void *sim_io_data, size_t sim_io_size);
void *ipc_sec_rsim_access_setup(
+ struct ipc_client *client,
struct ipc_sec_rsim_access_request_header *header,
const void *sim_io_data, size_t sim_io_size);
-size_t ipc_sec_rsim_access_size_extract(const void *data, size_t size);
-void *ipc_sec_rsim_access_extract(const void *data, size_t size);
+size_t ipc_sec_rsim_access_size_extract(struct ipc_client *client,
+ const void *data, size_t size);
+void *ipc_sec_rsim_access_extract(struct ipc_client *client, const void *data,
+ size_t size);
int ipc_sec_lock_information_setup(
+ struct ipc_client *client,
struct ipc_sec_lock_information_request_data *data, unsigned char type);
#endif /* __SAMSUNG_IPC_SEC_H__ */
diff --git a/include/sms.h b/include/sms.h
index 5068dd9..153222b 100644
--- a/include/sms.h
+++ b/include/sms.h
@@ -136,22 +136,31 @@ struct ipc_sms_svc_center_addr_header {
*/
size_t ipc_sms_send_msg_size_setup(
+ struct ipc_client *client,
struct ipc_sms_send_msg_request_header *header,
const void *smsc, size_t smsc_size, const void *pdu, size_t pdu_size);
void *ipc_sms_send_msg_setup(
+ struct ipc_client *client,
struct ipc_sms_send_msg_request_header *header,
const void *smsc, size_t smsc_size, const void *pdu, size_t pdu_size);
-size_t ipc_sms_incoming_msg_pdu_size_extract(const void *data, size_t size);
-void *ipc_sms_incoming_msg_pdu_extract(const void *data, size_t size);
+size_t ipc_sms_incoming_msg_pdu_size_extract(struct ipc_client *client,
+ const void *data, size_t size);
+void *ipc_sms_incoming_msg_pdu_extract(struct ipc_client *client,
+ const void *data, size_t size);
size_t ipc_sms_save_msg_size_setup(
+ struct ipc_client *client,
struct ipc_sms_save_msg_request_header *header,
const void *smsc, size_t smsc_size, const void *pdu, size_t pdu_size);
void *ipc_sms_save_msg_setup(
+ struct ipc_client *client,
struct ipc_sms_save_msg_request_header *header,
const void *smsc, size_t smsc_size, const void *pdu, size_t pdu_size);
-int ipc_sms_del_msg_setup(struct ipc_sms_del_msg_request_data *data,
+int ipc_sms_del_msg_setup(struct ipc_client *client,
+ struct ipc_sms_del_msg_request_data *data,
unsigned short index);
-size_t ipc_sms_svc_center_addr_smsc_size_extract(const void *data, size_t size);
-void *ipc_sms_svc_center_addr_smsc_extract(const void *data, size_t size);
+size_t ipc_sms_svc_center_addr_smsc_size_extract(struct ipc_client *client,
+ const void *data, size_t size);
+void *ipc_sms_svc_center_addr_smsc_extract(struct ipc_client *client,
+ const void *data, size_t size);
#endif /* __SAMSUNG_IPC_SMS_H__ */
diff --git a/include/svc.h b/include/svc.h
index a570271..6689a44 100644
--- a/include/svc.h
+++ b/include/svc.h
@@ -122,11 +122,14 @@ struct ipc_svc_change_svc_mode_data {
* Helpers
*/
-int ipc_svc_enter_setup(struct ipc_svc_enter_data *data,
+int ipc_svc_enter_setup(struct ipc_client *client,
+ struct ipc_svc_enter_data *data,
unsigned char mode, unsigned char type);
unsigned char ipc_svc_display_screen_count_extract(
+ struct ipc_client *client,
const void *data, size_t size);
struct ipc_svc_display_screen_entry *ipc_svc_display_screen_extract(
+ struct ipc_client *client,
const void *data, size_t size, unsigned int index);
#endif /* __SAMSUNG_IPC_SVC_H__ */