summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAki Niemi <aki.niemi@nokia.com>2010-05-18 17:07:54 +0300
committerAki Niemi <aki.niemi@nokia.com>2010-05-19 10:46:18 +0300
commitb8ec7553efd0108cf453e763af5ba19f537366b2 (patch)
treec6f65f439ee3d1cc877cec85da958ab9c53d0046 /include
parent1d7fe6aa5a4958ff2723f02031774c08f3d3fee6 (diff)
downloadofono-b8ec7553efd0108cf453e763af5ba19f537366b2.tar.bz2
Add network time support
Adding a new notify function in the netreg atom for notifying a received Network Identification and Timezone (NITZ) indication. This data is consumed via a nettime plugin, of which there is also an example.
Diffstat (limited to 'include')
-rw-r--r--include/netreg.h2
-rw-r--r--include/nettime.h52
-rw-r--r--include/types.h11
3 files changed, 65 insertions, 0 deletions
diff --git a/include/netreg.h b/include/netreg.h
index 00794776..88609604 100644
--- a/include/netreg.h
+++ b/include/netreg.h
@@ -93,6 +93,8 @@ struct ofono_netreg_driver {
void ofono_netreg_strength_notify(struct ofono_netreg *netreg, int strength);
void ofono_netreg_status_notify(struct ofono_netreg *netreg, int status,
int lac, int ci, int tech);
+void ofono_netreg_time_notify(struct ofono_netreg *netreg,
+ struct ofono_network_time *info);
int ofono_netreg_driver_register(const struct ofono_netreg_driver *d);
void ofono_netreg_driver_unregister(const struct ofono_netreg_driver *d);
diff --git a/include/nettime.h b/include/nettime.h
new file mode 100644
index 00000000..0f23cc70
--- /dev/null
+++ b/include/nettime.h
@@ -0,0 +1,52 @@
+/*
+ *
+ * oFono - Open Telephony stack for Linux
+ *
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef __OFONO_NETTIME_H
+#define __OFONO_NETTIME_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct ofono_network_time;
+
+struct ofono_nettime_context {
+ struct ofono_nettime_driver *driver;
+ struct ofono_modem *modem;
+ void *data;
+};
+
+struct ofono_nettime_driver {
+ const char *name;
+ int (*probe)(struct ofono_nettime_context *context);
+ void (*remove)(struct ofono_nettime_context *context);
+ void (*info_received)(struct ofono_nettime_context *context,
+ struct ofono_network_time *info);
+};
+
+int ofono_nettime_driver_register(const struct ofono_nettime_driver *driver);
+void ofono_nettime_driver_unregister(const struct ofono_nettime_driver *driver);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __OFONO_NETTIME_H */
diff --git a/include/types.h b/include/types.h
index 7b08b8c7..2b154f00 100644
--- a/include/types.h
+++ b/include/types.h
@@ -92,6 +92,17 @@ struct ofono_call {
int clip_validity;
};
+struct ofono_network_time {
+ int sec; /* Seconds [0..59], -1 if unavailable */
+ int min; /* Minutes [0..59], -1 if unavailable */
+ int hour; /* Hours [0..23], -1 if unavailable */
+ int mday; /* Day of month [1..31], -1 if unavailable */
+ int mon; /* Month [1..12], -1 if unavailable */
+ int year; /* Current year, -1 if unavailable */
+ int dst; /* Current adjustment, in seconds */
+ int utcoff; /* Offset from UTC in seconds */
+};
+
#ifdef __cplusplus
}
#endif