X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnetlink-socket.h;h=d789f4123b27a87d518e3f82f794c6405a75eaa2;hb=7593daa2473c464cd179420b9c7f68989044fdee;hp=dc21ce83804965d73236f2c2fa3429bad4906bc1;hpb=2fe27d5ad27f3c7879ea696209bcf9702d9b7109;p=openvswitch diff --git a/lib/netlink-socket.h b/lib/netlink-socket.h index dc21ce83..d789f412 100644 --- a/lib/netlink-socket.h +++ b/lib/netlink-socket.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010 Nicira Networks. + * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,7 +35,6 @@ #include #include #include -#include struct ofpbuf; struct nl_sock; @@ -45,19 +44,24 @@ struct nl_sock; #endif /* Netlink sockets. */ -int nl_sock_create(int protocol, int multicast_group, - size_t so_sndbuf, size_t so_rcvbuf, - struct nl_sock **); +int nl_sock_create(int protocol, struct nl_sock **); +int nl_sock_clone(const struct nl_sock *, struct nl_sock **); void nl_sock_destroy(struct nl_sock *); +int nl_sock_join_mcgroup(struct nl_sock *, unsigned int multicast_group); +int nl_sock_leave_mcgroup(struct nl_sock *, unsigned int multicast_group); + int nl_sock_send(struct nl_sock *, const struct ofpbuf *, bool wait); -int nl_sock_sendv(struct nl_sock *sock, const struct iovec iov[], size_t n_iov, - bool wait); int nl_sock_recv(struct nl_sock *, struct ofpbuf **, bool wait); int nl_sock_transact(struct nl_sock *, const struct ofpbuf *request, struct ofpbuf **reply); +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 *); + +uint32_t nl_sock_pid(const struct nl_sock *); /* Table dumping. */ struct nl_dump { @@ -74,5 +78,8 @@ int nl_dump_done(struct nl_dump *); /* Miscellaneous */ int nl_lookup_genl_family(const char *name, int *number); +int nl_lookup_genl_mcgroup(const char *family_name, const char *group_name, + unsigned int *multicast_group, + unsigned int fallback); #endif /* netlink-socket.h */