From 315e8b45506745f4b28f658772cc65cdef9a2d9e Mon Sep 17 00:00:00 2001 From: erin_yueh Date: Thu, 3 Jan 2008 09:13:39 +0000 Subject: gsmd: add Call Forwarding function (Sean Chiang) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3760 99fdad57-331a-0410-800a-d7fa5415bdb3 --- include/gsmd/usock.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'include/gsmd') diff --git a/include/gsmd/usock.h b/include/gsmd/usock.h index d05f2bc..ddec870 100644 --- a/include/gsmd/usock.h +++ b/include/gsmd/usock.h @@ -43,6 +43,11 @@ enum gsmd_msg_voicecall_type { GSMD_VOICECALL_VOL_GET = 6, GSMD_VOICECALL_GET_STAT = 7, GSMD_VOICECALL_CTRL = 8, + GSMD_VOICECALL_FWD_DIS = 9, + GSMD_VOICECALL_FWD_EN = 10, + GSMD_VOICECALL_FWD_STAT = 11, + GSMD_VOICECALL_FWD_REG = 12, + GSMD_VOICECALL_FWD_ERAS = 13, }; @@ -99,6 +104,22 @@ enum gsmd_call_ctrl_proc { GSMD_CALL_CTRL_M_HELD = 6, // 3 }; +/* call forward reason from 3GPP TS 07.07 subclause 07.10 */ +enum gsmd_call_fwd_reason { + GSMD_CALL_FWD_REASON_UNCOND = 0, + GSMD_CALL_FWD_REASON_BUSY = 1, + GSMD_CALL_FWD_REASON_NO_REPLY = 2, + GSMD_CALL_FWD_REASON_NOT_REACHABLE = 3, + GSMD_CALL_FWD_REASON_ALL_FORWARD = 4, + GSMD_CALL_FWD_REASON_ALL_COND_FORWARD = 5, +}; + +/* call forward status from 3GPP TS 07.07 subclause 07.10 */ +enum gsmd_call_fwd_status { + GSMD_CALL_FWD_STATUS_NOT_ACTIVE = 0, + GSMD_CALL_FWD_STATUS_ACTIVE = 1, +}; + /* Handset / MT related commands */ enum gsmd_msg_phone_type { GSMD_PHONE_VOLUME = 1, @@ -384,6 +405,23 @@ struct gsmd_call_ctrl { u_int8_t idx; } __attribute__ ((packed)); +/* call forwarding register from 3GPP TS 07.07 clause 7.10 */ +struct gsmd_call_fwd_reg { + enum gsmd_call_fwd_reason reason; + struct gsmd_addr addr; +} __attribute__ ((packed)); + +/* status of call forwarding from 3GPP TS 07.07 clause 7.10 */ +struct gsmd_call_fwd_stat { + enum gsmd_call_fwd_status status; + u_int8_t classx; + struct gsmd_addr addr; + char subaddr[16+1]; + u_int8_t satype; + u_int8_t time; + int is_last; +} __attribute__ ((packed)); + #define GSMD_PIN_MAXLEN 8 struct gsmd_pin { enum gsmd_pin_type type; -- cgit v1.2.3