-void netdev_dev_init(struct netdev_dev *, const char *name,
- const struct netdev_class *);
-void netdev_dev_uninit(struct netdev_dev *, bool destroy);
-const char *netdev_dev_get_type(const struct netdev_dev *);
-const struct netdev_class *netdev_dev_get_class(const struct netdev_dev *);
-const char *netdev_dev_get_name(const struct netdev_dev *);
-struct netdev_dev *netdev_dev_from_name(const char *name);
-void netdev_dev_get_devices(const struct netdev_class *,
- struct shash *device_list);
-
-static inline void netdev_dev_assert_class(const struct netdev_dev *netdev_dev,
- const struct netdev_class *class_)
-{
- assert(netdev_dev->netdev_class == class_);
-}
-
-/* A instance of an open network device.
- *
- * This structure should be treated as opaque by network device
- * implementations. */
-struct netdev {
- struct netdev_dev *netdev_dev; /* Parent netdev_dev. */
- struct list node; /* Element in global list. */
-
- enum netdev_flags save_flags; /* Initial device flags. */
- enum netdev_flags changed_flags; /* Flags that we changed. */
-};
-
-void netdev_init(struct netdev *, struct netdev_dev *);
-void netdev_uninit(struct netdev *, bool close);
-struct netdev_dev *netdev_get_dev(const struct netdev *);
-
-static inline void netdev_assert_class(const struct netdev *netdev,
- const struct netdev_class *netdev_class)
-{
- netdev_dev_assert_class(netdev_get_dev(netdev), netdev_class);
-}
+void netdev_init(struct netdev *, const char *name,
+ const struct netdev_class *);
+void netdev_uninit(struct netdev *, bool destroy);
+const char *netdev_get_type(const struct netdev *);
+const struct netdev_class *netdev_get_class(const struct netdev *);
+const char *netdev_get_name(const struct netdev *);
+struct netdev *netdev_from_name(const char *name);
+void netdev_get_devices(const struct netdev_class *,
+ struct shash *device_list);