OSDN Git Service

android/ipc: Add support for sending FD in notifications
authorSzymon Janc <szymon.janc@tieto.com>
Wed, 11 Jun 2014 14:12:40 +0000 (16:12 +0200)
committerSzymon Janc <szymon.janc@tieto.com>
Thu, 12 Jun 2014 11:04:31 +0000 (13:04 +0200)
android/ipc.c
android/ipc.h

index fc58a1c..2e67428 100644 (file)
@@ -404,11 +404,17 @@ void ipc_send_rsp_full(struct ipc *ipc, uint8_t service_id, uint8_t opcode,
 void ipc_send_notif(struct ipc *ipc, uint8_t service_id, uint8_t opcode,
                                                uint16_t len, void *param)
 {
+       return ipc_send_notif_with_fd(ipc, service_id, opcode, len, param, -1);
+}
+
+void ipc_send_notif_with_fd(struct ipc *ipc, uint8_t service_id, uint8_t opcode,
+                                       uint16_t len, void *param, int fd)
+{
        if (!ipc || !ipc->notif_io)
                return;
 
        ipc_send(g_io_channel_unix_get_fd(ipc->notif_io), service_id, opcode,
-                                                               len, param, -1);
+                                                               len, param, fd);
 }
 
 void ipc_register(struct ipc *ipc, uint8_t service,
index e97f0e6..fd2b985 100644 (file)
@@ -42,6 +42,9 @@ void ipc_send_rsp_full(struct ipc *ipc, uint8_t service_id, uint8_t opcode,
                                        uint16_t len, void *param, int fd);
 void ipc_send_notif(struct ipc *ipc, uint8_t service_id, uint8_t opcode,
                                                uint16_t len, void *param);
+void ipc_send_notif_with_fd(struct ipc *ipc, uint8_t service_id, uint8_t opcode,
+                                       uint16_t len, void *param, int fd);
+
 void ipc_register(struct ipc *ipc, uint8_t service,
                        const struct ipc_handler *handlers, uint8_t size);
 void ipc_unregister(struct ipc *ipc, uint8_t service);