call: DTMF status over state, burst response
authorPaul Kocialkowski <contact@paulk.fr>
Fri, 4 Jul 2014 17:52:39 +0000 (19:52 +0200)
committerPaul Kocialkowski <contact@paulk.fr>
Fri, 4 Jul 2014 17:52:39 +0000 (19:52 +0200)
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
include/call.h
samsung-ipc/call.c

index 9f7143a..e3f2dc7 100644 (file)
@@ -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
index 2830c46..718b02e 100644 (file)
@@ -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;
 }