X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fnetlink-socket.h;h=f2a5d3fa82051ae835e77381e8e2f216248381c4;hb=f060355547ae6f6041b29e1ed068110557111c43;hp=d789f4123b27a87d518e3f82f794c6405a75eaa2;hpb=1e276d1a10539a8cd97d2ad63c073a9a43f0f1ef;p=sliver-openvswitch.git diff --git a/lib/netlink-socket.h b/lib/netlink-socket.h index d789f4123..f2a5d3fa8 100644 --- a/lib/netlink-socket.h +++ b/lib/netlink-socket.h @@ -35,6 +35,7 @@ #include #include #include +#include "list.h" struct ofpbuf; struct nl_sock; @@ -59,10 +60,23 @@ int nl_sock_transact(struct nl_sock *, const struct ofpbuf *request, int nl_sock_drain(struct nl_sock *); void nl_sock_wait(const struct nl_sock *, short int events); -short int nl_sock_woke(const struct nl_sock *); +int nl_sock_fd(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. */