diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2014-07-04 19:52:39 +0200 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2014-07-04 19:52:39 +0200 |
commit | d2ba03448d092158da082e31326fe70a85ec1933 (patch) | |
tree | 1ee94bcd1c4324c9271f90173915c3434c85f55e | |
parent | bf452ca6670299ec8b3ef0f9f93e7889f3f215cf (diff) | |
download | external_libsamsung-ipc-d2ba03448d092158da082e31326fe70a85ec1933.zip external_libsamsung-ipc-d2ba03448d092158da082e31326fe70a85ec1933.tar.gz external_libsamsung-ipc-d2ba03448d092158da082e31326fe70a85ec1933.tar.bz2 |
call: DTMF status over state, burst response
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rw-r--r-- | include/call.h | 22 | ||||
-rw-r--r-- | 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; } |