diff options
author | Ben Pfaff <blp@nicira.com> | 2013-04-29 13:57:50 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2013-07-18 13:18:46 -0700 |
commit | a88b4e04128310d0eb0c3d811782f8619bceb95c (patch) | |
tree | 6ebd1d594602245ef613c0de5dcfb6d59ba3c446 /lib/netlink-socket.h | |
parent | bb5c146881eb2b3d48962f89ecaa9598533a91c5 (diff) |
netlink-socket: Simplify use of transactions and dumps.
This disentangles "struct nl_dump" from "struct nl_sock", clearing the way
to make the use of either one thread-safe in an obviously correct manner.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'lib/netlink-socket.h')
-rw-r--r-- | lib/netlink-socket.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/netlink-socket.h b/lib/netlink-socket.h index 78dd7b23..c77050ee 100644 --- a/lib/netlink-socket.h +++ b/lib/netlink-socket.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc. + * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -84,6 +84,11 @@ struct nl_transaction { void nl_sock_transact_multiple(struct nl_sock *, struct nl_transaction **, size_t n); +/* Transactions without an allocated socket. */ +int nl_transact(int protocol, const struct ofpbuf *request, + struct ofpbuf **replyp); +void nl_transact_multiple(int protocol, struct nl_transaction **, size_t n); + /* Table dumping. */ struct nl_dump { struct nl_sock *sock; /* Socket being dumped. */ @@ -92,7 +97,7 @@ struct nl_dump { int status; /* 0=OK, EOF=done, or positive errno value. */ }; -void nl_dump_start(struct nl_dump *, struct nl_sock *, +void nl_dump_start(struct nl_dump *, int protocol, const struct ofpbuf *request); bool nl_dump_next(struct nl_dump *, struct ofpbuf *reply); int nl_dump_done(struct nl_dump *); |