summaryrefslogtreecommitdiffstats
path: root/gatchat/gatserver.c
diff options
context:
space:
mode:
authorOlivier Guiter <olivier.guiter@linux.intel.com>2011-01-17 12:18:58 +0100
committerMarcel Holtmann <marcel@holtmann.org>2011-01-18 16:10:23 +0100
commitb931e774703c251f9d78a46fb6a3b80fd552e395 (patch)
treeebd798075b6b3756a94361270ee3b0faaa010e6d /gatchat/gatserver.c
parent3ae5e46b694b10c1659ea19b2de2099076d90790 (diff)
downloadofono-b931e774703c251f9d78a46fb6a3b80fd552e395.tar.bz2
gatserver: ATS6 command handler added
Diffstat (limited to 'gatchat/gatserver.c')
-rw-r--r--gatchat/gatserver.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gatchat/gatserver.c b/gatchat/gatserver.c
index 11eaac61..be9f79a8 100644
--- a/gatchat/gatserver.c
+++ b/gatchat/gatserver.c
@@ -83,6 +83,7 @@ struct v250_settings {
char s3; /* set by S3=<val> */
char s4; /* set by S4=<val> */
char s5; /* set by S5=<val> */
+ int s6; /* set by S6=<val> */
gboolean echo; /* set by E<val> */
gboolean quiet; /* set by Q<val> */
gboolean is_v1; /* set by V<val>, v0 or v1 */
@@ -412,6 +413,13 @@ static void at_x_cb(GAtServerRequestType type, GAtResult *result,
"X", 0, 4, 4);
}
+static void at_s6_cb(GAtServerRequestType type, GAtResult *result,
+ gpointer user_data)
+{
+ GAtServer *server = user_data;
+ at_template_cb(type, result, server, &server->v250.s6, "S6", 0, 1, 1);
+}
+
static void at_c109_cb(GAtServerRequestType type, GAtResult *result,
gpointer user_data)
{
@@ -1031,6 +1039,7 @@ static void v250_settings_create(struct v250_settings *v250)
v250->s3 = '\r';
v250->s4 = '\n';
v250->s5 = '\b';
+ v250->s6 = 2;
v250->echo = TRUE;
v250->quiet = FALSE;
v250->is_v1 = TRUE;
@@ -1058,6 +1067,7 @@ static void basic_command_register(GAtServer *server)
g_at_server_register(server, "Q", at_q_cb, server, NULL);
g_at_server_register(server, "V", at_v_cb, server, NULL);
g_at_server_register(server, "X", at_x_cb, server, NULL);
+ g_at_server_register(server, "S6", at_s6_cb, server, NULL);
g_at_server_register(server, "&C", at_c109_cb, server, NULL);
g_at_server_register(server, "&D", at_c108_cb, server, NULL);
}