diff options
author | laforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3> | 2007-08-17 08:30:04 +0000 |
---|---|---|
committer | laforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3> | 2007-08-17 08:30:04 +0000 |
commit | 4e578aa3ef5ec658a2ff7e8417fdbfb9d61c15f1 (patch) | |
tree | 2900e181cba2e4aa025c78bde51fdca3f48d0e16 /src/gsmd/usock.c | |
parent | 348c9af2fce8d0d53341d9861494b5c13f9796f1 (diff) |
From: Andrzej Zaborowski <balrog@zabor.org>
Date: Thu, 26 Jul 2007 16:00:52 +0200
Subject: [PATCH] Cell Broadcast messages enabling/disabling and notifications.
This adds GSMD_CB_SUBSCRIBE and GSMD_CB_UNSIBSCRIBE commands handling and
proper handling of th +CMTI, +CMT, +CBMI, +CBM, +CDSI, +CDS unsolicited codes.
It's also an overhaul of sms_cb.c which I first though stood for sms
*callbacks* :) rather than "cell broadcast" so all SMS and CB related code now
sits in this file. The Neo1973 modem doesn't seem to support storing CB
messages and delivery status messages into memory, so the default is now set to
output them directly to TE when they're enabled. None of the CB code is tested
on real CBs, but I think it's a good start.
git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2721 99fdad57-331a-0410-800a-d7fa5415bdb3
Diffstat (limited to 'src/gsmd/usock.c')
-rw-r--r-- | src/gsmd/usock.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gsmd/usock.c b/src/gsmd/usock.c index 543c3cf..08563cf 100644 --- a/src/gsmd/usock.c +++ b/src/gsmd/usock.c @@ -319,8 +319,8 @@ out_free_einval: return -EINVAL; } -static struct gsmd_ucmd *gsmd_ucmd_fill(int len, u_int8_t msg_type, u_int8_t msg_subtype, - u_int16_t id) +struct gsmd_ucmd *gsmd_ucmd_fill(int len, u_int8_t msg_type, + u_int8_t msg_subtype, u_int16_t id) { struct gsmd_ucmd *ucmd; @@ -511,6 +511,7 @@ static int usock_rcv_network(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, return atcmd_submit(gu->gsmd, cmd); } +#if 0 static int sms_list_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp) { struct gsmd_user *gu = ctx; @@ -876,6 +877,7 @@ static int usock_rcv_sms(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, gsmd_log(GSMD_DEBUG, "%s\n", cmd ? cmd->buf : 0); return atcmd_submit(gu->gsmd, cmd); } +#endif #if 0 static int phonebook_find_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp) @@ -1127,6 +1129,7 @@ static usock_msg_handler *pcmd_type_handlers[__NUM_GSMD_MSGS] = { [GSMD_MSG_PHONE] = &usock_rcv_phone, [GSMD_MSG_NETWORK] = &usock_rcv_network, [GSMD_MSG_SMS] = &usock_rcv_sms, + [GSMD_MSG_CB] = &usock_rcv_cb, //[GSMD_MSG_PHONEBOOK] = &usock_rcv_phonebook, }; |