summaryrefslogtreecommitdiff
path: root/include/gsmd/usock.h
diff options
context:
space:
mode:
authorlaforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3>2006-10-24 13:07:08 +0000
committerlaforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3>2006-10-24 13:07:08 +0000
commit23dfcf4ff925f61bcb2c3bdd712ff0f70bde4fcb (patch)
tree97c62e6b7bc73cd4be3961ed2a253504381841c3 /include/gsmd/usock.h
parent3c4d2776058a440bb8d406cd85783898c14b2403 (diff)
- clean up header files (all in include/gmsd now)
- finish vendor plugin support - add call progress indicator and signal quality unsolicited support to vendor_ti.c git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@120 99fdad57-331a-0410-800a-d7fa5415bdb3
Diffstat (limited to 'include/gsmd/usock.h')
-rw-r--r--include/gsmd/usock.h41
1 files changed, 40 insertions, 1 deletions
diff --git a/include/gsmd/usock.h b/include/gsmd/usock.h
index 2eaa6cf..94e8c37 100644
--- a/include/gsmd/usock.h
+++ b/include/gsmd/usock.h
@@ -53,6 +53,9 @@ enum gsmd_msg_phone {
enum gsmd_msg_network {
GSMD_NETWORK_REGISTER = 1,
+ GSMD_NETWORK_SIGQ_GET = 2,
+ GSMD_NETWORK_VMAIL_GET = 3,
+ GSMD_NETWORK_VMAIL_SET = 4,
};
/* Length from 3GPP TS 04.08, Clause 10.5.4.7 */
@@ -61,7 +64,17 @@ enum gsmd_msg_network {
struct gsmd_addr {
u_int8_t type;
char number[GSMD_ADDR_MAXLEN+1];
-};
+} __attribute__ ((packed));
+
+struct gsmd_signal_quality {
+ u_int8_t rssi;
+ u_int8_t ber;
+} __attribute__ ((packed));
+
+struct gsmd_voicemail {
+ u_int8_t enable;
+ struct gsmd_addr addr;
+} __attribute__ ((packed));
struct gsmd_evt_auxdata {
union {
@@ -89,6 +102,9 @@ struct gsmd_evt_auxdata {
struct {
u_int8_t tz;
} timezone;
+ struct {
+ struct gsmd_signal_quality sigq;
+ } signal;
} u;
} __attribute__((packed));
@@ -103,4 +119,27 @@ struct gsmd_msg_hdr {
} __attribute__((packed));
+#ifdef __GSMD__
+
+#include <common/linux_list.h>
+
+#include <gsmd/usock.h>
+#include <gsmd/gsmd.h>
+
+struct gsmd_user;
+
+struct gsmd_ucmd {
+ struct llist_head list;
+ struct gsmd_msg_hdr hdr;
+ char buf[];
+} __attribute__ ((packed));
+
+extern int usock_init(struct gsmd *g);
+extern void usock_cmd_enqueue(struct gsmd_ucmd *ucmd, struct gsmd_user *gu);
+extern struct gsmd_ucmd *usock_build_event(u_int8_t type, u_int8_t subtype, u_int8_t len);
+extern int usock_evt_send(struct gsmd *gsmd, struct gsmd_ucmd *ucmd, u_int32_t evt);
+
+#endif /* __GSMD__ */
+
#endif
+
personal git repositories of Harald Welte. Your mileage may vary