netlink-socket: New function nl_sock_transact_multiple().
[sliver-openvswitch.git] / lib / netlink-socket.h
index d789f41..7e01acb 100644 (file)
@@ -35,6 +35,7 @@
 #include <stdbool.h>
 #include <stddef.h>
 #include <stdint.h>
+#include "list.h"
 
 struct ofpbuf;
 struct nl_sock;
@@ -63,6 +64,19 @@ short int nl_sock_woke(const struct nl_sock *);
 
 uint32_t nl_sock_pid(const struct nl_sock *);
 
+/* Batching transactions. */
+struct nl_transaction {
+    /* Filled in by client. */
+    struct ofpbuf *request;     /* Request to send. */
+
+    /* Filled in by nl_sock_transact_batch(). */
+    struct ofpbuf *reply;       /* Reply (NULL if reply was an error code). */
+    int error;                  /* Positive errno value, 0 if no error. */
+};
+
+void nl_sock_transact_multiple(struct nl_sock *,
+                               struct nl_transaction **, size_t n);
+
 /* Table dumping. */
 struct nl_dump {
     struct nl_sock *sock;       /* Socket being dumped. */