X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnetlink-socket.h;h=f2a5d3fa82051ae835e77381e8e2f216248381c4;hb=431d6a6acf6da61ecfeb433cb1fb10e1b39e9773;hp=3ea790cfd647a45ba460eddb205cd47a886099d8;hpb=213a13ed774742939de4c162e572cfbea9ce77df;p=openvswitch diff --git a/lib/netlink-socket.h b/lib/netlink-socket.h index 3ea790cf..f2a5d3fa 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,6 +60,22 @@ 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); +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 {