aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/gprs.h21
-rw-r--r--samsung-ipc/gprs.c1
2 files changed, 14 insertions, 8 deletions
diff --git a/include/gprs.h b/include/gprs.h
index 29eba71..88f1edd 100644
--- a/include/gprs.h
+++ b/include/gprs.h
@@ -45,7 +45,7 @@
struct ipc_gprs_define_pdp_context {
unsigned char unk0[3];
unsigned char apn[124];
-} __attribute__((__packed__));
+};
struct ipc_gprs_ip_configuration {
unsigned char unk0;
@@ -56,32 +56,37 @@ struct ipc_gprs_ip_configuration {
unsigned char dns2[4];
unsigned char gateway[4];
unsigned char subnet_mask[4];
-} __attribute__((__packed__));
+};
+
+struct ipc_gprs_ip_configuration_response {
+ unsigned char unk0[376];
+};
struct ipc_gprs_call_status {
unsigned char cid;
unsigned char state; // IPC_GPRS_CALL_STATUS_TYPE_...
unsigned short reason;
-} __attribute__((__packed__));
+};
struct ipc_gprs_hsdpa_status {
unsigned char unk;
-} __attribute__((__packed__));
+};
struct ipc_gprs_pdp_context {
unsigned char unk0[6];
unsigned char username[32];
unsigned char password[32];
- unsigned char unk1[33];
-} __attribute__((__packed__));
+ unsigned char unk1[32];
+ unsigned char unk2;
+};
struct ipc_gprs_ps {
unsigned char unk[2];
-} __attribute__((__packed__));
+};
struct ipc_gprs_current_session_data_counter {
unsigned char unk[9];
-} __attribute__((__packed__));
+};
void ipc_gprs_pdp_context_setup(struct ipc_gprs_pdp_context *message, char *username, char *password);
diff --git a/samsung-ipc/gprs.c b/samsung-ipc/gprs.c
index abe59dd..7f656a6 100644
--- a/samsung-ipc/gprs.c
+++ b/samsung-ipc/gprs.c
@@ -38,6 +38,7 @@ void ipc_gprs_pdp_context_setup(struct ipc_gprs_pdp_context *message, char *user
message->unk0[0] = 0x1;
message->unk0[1] = 0x1;
message->unk0[2] = 0x13;
+ message->unk2 = 0x1;
strncpy(message->username, username, 32);
strncpy(message->password, password, 32);
}