summaryrefslogtreecommitdiff
path: root/src/gsmd/usock.c
diff options
context:
space:
mode:
authorlaforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3>2007-08-17 08:30:04 +0000
committerlaforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3>2007-08-17 08:30:04 +0000
commit4e578aa3ef5ec658a2ff7e8417fdbfb9d61c15f1 (patch)
tree2900e181cba2e4aa025c78bde51fdca3f48d0e16 /src/gsmd/usock.c
parent348c9af2fce8d0d53341d9861494b5c13f9796f1 (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.c7
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,
};
personal git repositories of Harald Welte. Your mileage may vary