aboutsummaryrefslogtreecommitdiffstats
path: root/include/net.h
diff options
context:
space:
mode:
authorPaulK <contact@paulk.fr>2012-02-22 00:03:08 +0100
committerPaulK <contact@paulk.fr>2012-02-01 04:51:28 +0100
commitd3e5290bd938267422b4a6653faa689cab85987c (patch)
treeaf0e3c894172c0418aa5614c9268c25978bd3f24 /include/net.h
parent27a65c82d7a74e4aad025f794ae10e8686c54fd0 (diff)
downloadhardware_replicant_libsamsung-ipc-d3e5290bd938267422b4a6653faa689cab85987c.tar.gz
hardware_replicant_libsamsung-ipc-d3e5290bd938267422b4a6653faa689cab85987c.tar.bz2
hardware_replicant_libsamsung-ipc-d3e5290bd938267422b4a6653faa689cab85987c.zip
Added NET_MODE_SEL headers, fixed NET_PLMN_SEL structure and related function
Also: * renamed IPC_NET_PLMN_SEL_MODE to IPC_NET_PLMN_SEL_... * switched plmn from unsigned to signed char array as it's a string
Diffstat (limited to 'include/net.h')
-rw-r--r--include/net.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/include/net.h b/include/net.h
index 4532fc8..2d5cd8b 100644
--- a/include/net.h
+++ b/include/net.h
@@ -45,8 +45,8 @@
#define IPC_NET_PLMN_STATUS_CURRENT 0x03
#define IPC_NET_PLMN_STATUS_FORBIDDEN 0x04
-#define IPC_NET_PLMN_SEL_MODE_MANUAL 0x03
-#define IPC_NET_PLMN_SEL_MODE_AUTO 0x02
+#define IPC_NET_PLMN_SEL_MANUAL 0x03
+#define IPC_NET_PLMN_SEL_AUTO 0x02
#define IPC_NET_REGISTRATION_STATE_NONE 0x01
#define IPC_NET_REGISTRATION_STATE_HOME 0x02
@@ -58,6 +58,10 @@
#define IPC_NET_SERVICE_DOMAIN_GSM 0x02
#define IPC_NET_SERVICE_DOMAIN_GPRS 0x03
+#define IPC_NET_MODE_SEL_GSM_UMTS 0x01
+#define IPC_NET_MODE_SEL_GSM_ONLY 0x02
+#define IPC_NET_MODE_SEL_UMTS_ONLY 0x03
+
struct ipc_net_regist_get {
unsigned char net;
unsigned char domain;
@@ -85,18 +89,21 @@ struct ipc_net_plmn_entries {
} __attribute__((__packed__));
struct ipc_net_mode_sel {
- unsigned char mode;
+ unsigned char mode_sel;
} __attribute__((__packed__));
-struct ipc_net_plmn_sel {
+struct ipc_net_plmn_sel_get {
+ unsigned char plmn_sel;
+} __attribute__((__packed__));
+
+struct ipc_net_plmn_sel_set {
unsigned char mode;
- unsigned char plmn[5];
- unsigned char unk0;
- unsigned char unk1;
+ char plmn[6]; // 5 plmn bytes + 1 '#' byte
+ unsigned char act; // IPC_NET_ACCESS_TECHNOLOGY_...
} __attribute__((__packed__));
void ipc_net_regist_setup(struct ipc_net_regist_get *message, unsigned char domain);
-void ipc_net_plmn_sel_setup(struct ipc_net_plmn_sel *message, unsigned char mode, unsigned char *plmn);
+void ipc_net_plmn_sel_setup(struct ipc_net_plmn_sel_set *message, unsigned char mode, char *plmn, unsigned char act);
#endif