+extern ifnet_offload_t ifnet_offload(ifnet_t interface);
+
+/*!
+ @function ifnet_set_tso_mtu
+ @discussion Sets maximum TCP Segmentation Offload segment size for
+ the interface
+ @param interface The interface.
+ @param family The family for which the offload MTU is provided for
+ (AF_INET or AF_INET6)
+ @param mtuLen Maximum segment size supported by the interface
+ @result 0 on success otherwise the errno error.
+*/
+extern errno_t ifnet_set_tso_mtu(ifnet_t interface, sa_family_t family,
+ u_int32_t mtuLen);
+
+/*!
+ @function ifnet_get_tso_mtu
+ @discussion Returns maximum TCP Segmentation Offload segment size for
+ the interface
+ @param interface The interface.
+ @param family The family for which the offload MTU is provided for
+ (AF_INET or AF_INET6)
+ @param mtuLen Value of the maximum MTU supported for the interface
+ and family provided.
+ @result 0 on success otherwise the errno error.
+ */
+extern errno_t ifnet_get_tso_mtu(ifnet_t interface, sa_family_t family,
+ u_int32_t *mtuLen);
+
+/*!
+ @enum Interface wake properties
+ @abstract Constants defining Interface wake properties.
+ @constant IFNET_WAKE_ON_MAGIC_PACKET Wake on Magic Packet.
+*/
+enum {
+ IFNET_WAKE_ON_MAGIC_PACKET = 0x01
+};
+
+/*!
+ @function ifnet_set_wake_flags
+ @discussion Sets the wake properties of the underlying hardware. These are
+ typically set by the driver.
+ @param interface The interface.
+ @param properties Properties to set or unset.
+ @param mask Mask of the properties to set of unset.
+ @result 0 on success otherwise the errno error.
+*/
+extern errno_t ifnet_set_wake_flags(ifnet_t interface, u_int32_t properties, u_int32_t mask);
+
+/*!
+ @function ifnet_get_wake_flags
+ @discussion Returns the wake properties set on the interface.
+ @param interface The interface.
+ @result The wake properties
+*/
+extern u_int32_t ifnet_get_wake_flags(ifnet_t interface);