summaryrefslogtreecommitdiffstats
path: root/gatchat
diff options
context:
space:
mode:
authorOlivier Guiter <olivier.guiter@linux.intel.com>2011-03-25 11:07:00 +0100
committerDenis Kenzior <denkenz@gmail.com>2011-03-25 12:37:25 -0500
commit6b03d7cdffe33db736e2117bf5df812e46ddf84c (patch)
treeaf5cfd7bc252ec3e9914c66b1abadd55fce2702d /gatchat
parent420ec0146a3757a013478337cf3aede6d04de730 (diff)
downloadofono-6b03d7cdffe33db736e2117bf5df812e46ddf84c.tar.bz2
gatserver: add v250 ATL and ATM commands
Diffstat (limited to 'gatchat')
-rw-r--r--gatchat/gatserver.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gatchat/gatserver.c b/gatchat/gatserver.c
index 8266ead5..35f126fc 100644
--- a/gatchat/gatserver.c
+++ b/gatchat/gatserver.c
@@ -94,6 +94,8 @@ struct v250_settings {
int res_format; /* set by X<val> */
int c109; /* set by &C<val> */
int c108; /* set by &D<val> */
+ char l; /* set by L<val> */
+ char m; /* set by M<val> */
};
/* AT command set that server supported */
@@ -296,6 +298,8 @@ static void v250_settings_create(struct v250_settings *v250)
v250->res_format = 0;
v250->c109 = 1;
v250->c108 = 0;
+ v250->l = 0;
+ v250->m = 1;
}
static void s_template_cb(GAtServerRequestType type, GAtResult *result,
@@ -360,6 +364,18 @@ static void at_s5_cb(GAtServer *server, GAtServerRequestType type,
s_template_cb(type, result, server, &server->v250.s5, "S5", 0, 127);
}
+static void at_l_cb(GAtServer *server, GAtServerRequestType type,
+ GAtResult *result, gpointer user_data)
+{
+ s_template_cb(type, result, server, &server->v250.l, "L", 0, 3);
+}
+
+static void at_m_cb(GAtServer *server, GAtServerRequestType type,
+ GAtResult *result, gpointer user_data)
+{
+ s_template_cb(type, result, server, &server->v250.m, "M", 0, 2);
+}
+
static void at_template_cb(GAtServerRequestType type, GAtResult *result,
GAtServer *server, int *value,
const char *prefix,
@@ -1159,6 +1175,8 @@ static void basic_command_register(GAtServer *server)
g_at_server_register(server, "&D", at_c108_cb, NULL, NULL);
g_at_server_register(server, "Z", at_z_cb, NULL, NULL);
g_at_server_register(server, "&F", at_f_cb, NULL, NULL);
+ g_at_server_register(server, "L", at_l_cb, NULL, NULL);
+ g_at_server_register(server, "M", at_m_cb, NULL, NULL);
}
GAtServer *g_at_server_new(GIOChannel *io)