diff options
author | tick <tick@99fdad57-331a-0410-800a-d7fa5415bdb3> | 2007-11-20 06:05:28 +0000 |
---|---|---|
committer | tick <tick@99fdad57-331a-0410-800a-d7fa5415bdb3> | 2007-11-20 06:05:28 +0000 |
commit | 66ce291b391e092b9af9b764ca5465ce448fb6c8 (patch) | |
tree | af3c1f3d02cbb5fabfdaa103069def34c388dcad /src/gsmd/usock.c | |
parent | ce08f5ee38bca622527551b28678f4e3a283fca1 (diff) |
[gsmd] New feature for power on/off GSM modem (Sean Chiang)
git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3449 99fdad57-331a-0410-800a-d7fa5415bdb3
Diffstat (limited to 'src/gsmd/usock.c')
-rw-r--r-- | src/gsmd/usock.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gsmd/usock.c b/src/gsmd/usock.c index 3dc74d3..0b81306 100644 --- a/src/gsmd/usock.c +++ b/src/gsmd/usock.c @@ -288,6 +288,18 @@ static int usock_rcv_phone(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, return atcmd_submit(gu->gsmd, cmd); } +static int usock_rcv_modem(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, + int len) +{ + struct gsmd *g = gu->gsmd; + + if (g->machinepl->power) { + g->machinepl->power(g, gph->msg_subtype); + } + + return 0; +} + static int network_vmail_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp) { struct gsmd_user *gu = ctx; @@ -1168,6 +1180,7 @@ static usock_msg_handler *pcmd_type_handlers[__NUM_GSMD_MSGS] = { [GSMD_MSG_SMS] = &usock_rcv_sms, [GSMD_MSG_CB] = &usock_rcv_cb, [GSMD_MSG_PHONEBOOK] = &usock_rcv_phonebook, + [GSMD_MSG_MODEM] = &usock_rcv_modem, }; static int usock_rcv_pcmd(struct gsmd_user *gu, char *buf, int len) |