aboutsummaryrefslogtreecommitdiffstats
path: root/samsung-ipc/gprs.c
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2012-07-08 00:35:04 +0200
committerPaul Kocialkowski <contact@paulk.fr>2012-07-08 00:35:04 +0200
commitdadca553b13324a599c98ca2da98aad25e47d1d5 (patch)
tree295e9b91ae9da58e6226a32cb128f77a0172430e /samsung-ipc/gprs.c
parent7090d361f77842818b65f014b3731fb1445362d9 (diff)
downloadexternal_libsamsung-ipc-dadca553b13324a599c98ca2da98aad25e47d1d5.zip
external_libsamsung-ipc-dadca553b13324a599c98ca2da98aad25e47d1d5.tar.gz
external_libsamsung-ipc-dadca553b13324a599c98ca2da98aad25e47d1d5.tar.bz2
GPRS: added and completed structures, defines and reworked functions accordingly
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'samsung-ipc/gprs.c')
-rw-r--r--samsung-ipc/gprs.c38
1 files changed, 23 insertions, 15 deletions
diff --git a/samsung-ipc/gprs.c b/samsung-ipc/gprs.c
index c9edf7b..42dcd59 100644
--- a/samsung-ipc/gprs.c
+++ b/samsung-ipc/gprs.c
@@ -30,36 +30,44 @@ void ipc_gprs_port_list_setup(struct ipc_gprs_port_list *message)
0x02, 0x04, 0x16, 0x00, 0x17, 0x00, 0x87, 0x00, 0xBD, 0x01
};
- memset(message->unk, 0, sizeof(message->unk));
- memcpy(message->unk, bytes, sizeof(bytes));
+ assert(message != NULL);
+
+ memset(message, 0, sizeof(struct ipc_gprs_port_list));
+ memcpy(message->unk, bytes, sizeof(bytes));
}
-void ipc_gprs_define_pdp_context_setup(struct ipc_gprs_define_pdp_context *message, char *apn)
+void ipc_gprs_define_pdp_context_setup(struct ipc_gprs_define_pdp_context *message,
+ unsigned char cid, int enable, char *apn)
{
assert(message != NULL);
- message->unk0[0] = 0x1;
- message->unk0[1] = 0x1;
- message->unk0[2] = 0x2;
- strncpy((char*)message->apn, apn, 124);
+
+ memset(message, 0, sizeof(struct ipc_gprs_define_pdp_context));
+
+ message->enable = enable ? 1 : 0;
+ message->cid = cid;
+ message->unk = 0x2;
+
+ strncpy((char *) message->apn, apn, 124);
}
-void ipc_gprs_pdp_context_setup(struct ipc_gprs_pdp_context *message, int activate, char *username, char *password)
+void ipc_gprs_pdp_context_setup(struct ipc_gprs_pdp_context_set *message,
+ unsigned char cid, int enable, char *username, char *password)
{
assert(message != NULL);
- if (activate)
+
+ memset(message, 0, sizeof(struct ipc_gprs_pdp_context_set));
+
+ message->enable = enable ? 1 : 0;
+ message->cid = cid;
+
+ if (enable && username != NULL && password != NULL)
{
- message->unk0[0] = 0x1;
- message->unk0[1] = 0x1;
message->unk0[2] = 0x13;
message->unk2 = 0x1;
strncpy((char*)message->username, username, 32);
strncpy((char*)message->password, password, 32);
}
- else
- {
- message->unk0[1] = 0x1;
- }
}
// vim:ts=4:sw=4:expandtab