X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fnetlink-notifier.h;h=4bd90f1dcde56748f919e91b6b1cdd6f5f95471b;hb=003ce655b7116d18c86a74c50391e54990346931;hp=8d6f2bb10af217da173ac49f709d240ad04de26e;hpb=45c8d3a189843f0f45398caa420b952d5acd1f19;p=sliver-openvswitch.git diff --git a/lib/netlink-notifier.h b/lib/netlink-notifier.h index 8d6f2bb10..4bd90f1dc 100644 --- a/lib/netlink-notifier.h +++ b/lib/netlink-notifier.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Nicira Networks. + * Copyright (c) 2009 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,46 +14,37 @@ * limitations under the License. */ -#ifndef RTNETLINK_H -#define RTNETLINK_H 1 +#ifndef NETLINK_NOTIFIER_H +#define NETLINK_NOTIFIER_H 1 /* These functions are Linux specific, so they should be used directly only by * Linux-specific code. */ #include "list.h" -struct rtnetlink; +struct nln; +struct nln_notifier; + struct nlattr; struct ofpbuf; -/* Function called to report rtnetlink notifications. 'change' describes the - * specific change filled out by an rtnetlink_parse_func. It may be null if - * the buffer of change information overflowed, in which case the function must +/* Function called to report netlink notifications. 'change' describes the + * specific change filled out by an nln_parse_func. It may be null if the + * buffer of change information overflowed, in which case the function must * assume that everything may have changed. 'aux' is as specified in - * rtnetlink_notifier_register(). - */ -typedef void rtnetlink_notify_func(const void *change, void *aux); - -/* Function called to parse incoming rtnetlink notifications. The 'buf' - * message should be parsed into 'change' as specified in rtnetlink_create(). - */ -typedef bool rtnetlink_parse_func(struct ofpbuf *buf, void *change); - -struct rtnetlink_notifier { - struct list node; - rtnetlink_notify_func *cb; - void *aux; -}; - -struct rtnetlink *rtnetlink_create(int multicast_group, - rtnetlink_parse_func *, - void *change); -void rtnetlink_destroy(struct rtnetlink *rtn); -int rtnetlink_notifier_register(struct rtnetlink *, - struct rtnetlink_notifier *, - rtnetlink_notify_func *, void *aux); -void rtnetlink_notifier_unregister(struct rtnetlink *, - struct rtnetlink_notifier *); -void rtnetlink_notifier_run(struct rtnetlink *); -void rtnetlink_notifier_wait(struct rtnetlink *); -#endif /* rtnetlink.h */ + * nln_notifier_register(). */ +typedef void nln_notify_func(const void *change, void *aux); + +/* Function called to parse incoming nln notifications. The 'buf' message + * should be parsed into 'change' as specified in nln_create(). */ +typedef bool nln_parse_func(struct ofpbuf *buf, void *change); + +struct nln *nln_create(int protocol, int multicast_group, nln_parse_func *, + void *change); +void nln_destroy(struct nln *); +struct nln_notifier *nln_notifier_create(struct nln *, nln_notify_func *, + void *aux); +void nln_notifier_destroy(struct nln_notifier *); +void nln_run(struct nln *); +void nln_wait(struct nln *); +#endif /* netlink-notifier.h */