From d2ba03448d092158da082e31326fe70a85ec1933 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Fri, 4 Jul 2014 19:52:39 +0200 Subject: call: DTMF status over state, burst response Signed-off-by: Paul Kocialkowski --- include/call.h | 22 +++++++++++++--------- samsung-ipc/call.c | 10 +++++----- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/include/call.h b/include/call.h index 9f7143a..e3f2dc7 100644 --- a/include/call.h +++ b/include/call.h @@ -72,8 +72,8 @@ #define IPC_CALL_LIST_ENTRY_STATUS_INCOMING 0x05 #define IPC_CALL_LIST_ENTRY_STATUS_WAITING 0x06 -#define IPC_CALL_DTMF_STATE_START 0x01 -#define IPC_CALL_DTMF_STATE_STOP 0x02 +#define IPC_CALL_DTMF_STATUS_START 0x01 +#define IPC_CALL_DTMF_STATUS_STOP 0x02 /* * Structures @@ -119,18 +119,22 @@ struct ipc_call_list_entry { unsigned char unknown2; } __attribute__((__packed__)); -struct ipc_call_burst_dtmf_header { +struct ipc_call_burst_dtmf_request_header { unsigned char count; } __attribute__((__packed__)); -struct ipc_call_burst_dtmf_entry { - unsigned char state; - unsigned char tone; +struct ipc_call_burst_dtmf_request_entry { + unsigned char status; // IPC_CALL_DTMF_STATUS + char tone; +} __attribute__((__packed__)); + +struct ipc_call_burst_dtmf_response_data { + unsigned char unknown; } __attribute__((__packed__)); struct ipc_call_cont_dtmf_data { - unsigned char state; - unsigned char tone; + unsigned char status; // IPC_CALL_DTMF_STATUS + char tone; } __attribute__((__packed__)); /* @@ -144,7 +148,7 @@ unsigned char ipc_call_list_count_extract(const void *data, size_t size); struct ipc_call_list_entry *ipc_call_list_entry_extract(const void *data, size_t size, unsigned int index); char *ipc_call_list_entry_number_extract(const struct ipc_call_list_entry *entry); -void *ipc_call_burst_dtmf_setup(const struct ipc_call_burst_dtmf_entry *entries, +void *ipc_call_burst_dtmf_setup(const struct ipc_call_burst_dtmf_request_entry *entries, unsigned char count); #endif diff --git a/samsung-ipc/call.c b/samsung-ipc/call.c index 2830c46..718b02e 100644 --- a/samsung-ipc/call.c +++ b/samsung-ipc/call.c @@ -106,24 +106,24 @@ char *ipc_call_list_entry_number_extract(const struct ipc_call_list_entry *entry return number; } -void *ipc_call_burst_dtmf_setup(const struct ipc_call_burst_dtmf_entry *entries, +void *ipc_call_burst_dtmf_setup(const struct ipc_call_burst_dtmf_request_entry *entries, unsigned char count) { - struct ipc_call_burst_dtmf_header *header; + struct ipc_call_burst_dtmf_request_header *header; void *data; size_t size; if (entries == NULL) return NULL; - size = sizeof(struct ipc_call_burst_dtmf_header) + count * sizeof(struct ipc_call_burst_dtmf_entry); + size = sizeof(struct ipc_call_burst_dtmf_request_header) + count * sizeof(struct ipc_call_burst_dtmf_request_entry); data = calloc(1, size); - header = (struct ipc_call_burst_dtmf_header *) data; + header = (struct ipc_call_burst_dtmf_request_header *) data; header->count = count; - memcpy((void *) ((unsigned char *) data + sizeof(struct ipc_call_burst_dtmf_header)), entries, count * sizeof(struct ipc_call_burst_dtmf_entry)); + memcpy((void *) ((unsigned char *) data + sizeof(struct ipc_call_burst_dtmf_request_header)), entries, count * sizeof(struct ipc_call_burst_dtmf_request_entry)); return data; } -- cgit v1.1