-
-#ifdef __APPLE_API_UNSTABLE
-/*
- * Driver callbacks for media status and change requests.
- */
-typedef int (*ifm_change_cb_t) __P((struct ifnet *ifp));
-typedef void (*ifm_stat_cb_t) __P((struct ifnet *ifp, struct ifmediareq *req));
-
-/*
- * In-kernel representation of a single supported media type.
- */
-struct ifmedia_entry {
- LIST_ENTRY(ifmedia_entry) ifm_list;
- int ifm_media; /* description of this media attachment */
- int ifm_data; /* for driver-specific use */
- void *ifm_aux; /* for driver-specific use */
-};
-
-/*
- * One of these goes into a network interface's softc structure.
- * It is used to keep general media state.
- */
-struct ifmedia {
- int ifm_mask; /* mask of changes we don't care about */
- int ifm_media; /* current user-set media word */
- struct ifmedia_entry *ifm_cur; /* currently selected media */
- LIST_HEAD(, ifmedia_entry) ifm_list; /* list of all supported media */
- ifm_change_cb_t ifm_change; /* media change driver callback */
- ifm_stat_cb_t ifm_status; /* media status driver callback */
-};
-
-/* Initialize an interface's struct if_media field. */
-void ifmedia_init __P((struct ifmedia *ifm, int dontcare_mask,
- ifm_change_cb_t change_callback, ifm_stat_cb_t status_callback));
-
-/* Add one supported medium to a struct ifmedia. */
-void ifmedia_add __P((struct ifmedia *ifm, int mword, int data, void *aux));
-
-/* Add an array (of ifmedia_entry) media to a struct ifmedia. */
-void ifmedia_list_add(struct ifmedia *mp, struct ifmedia_entry *lp,
- int count);
-
-/* Set default media type on initialization. */
-void ifmedia_set __P((struct ifmedia *ifm, int mword));
-
-/* Common ioctl function for getting/setting media, called by driver. */
-int ifmedia_ioctl __P((struct ifnet *ifp, struct ifreq *ifr,
- struct ifmedia *ifm, u_long cmd));
-
-#endif /* __APPLE_API_UNSTABLE */
-#endif /* KERNEL */