Lines Matching refs:interface

31 	the kernel. The network interface KPI may be used to implement
76 @abstract Constants defining interface families.
77 @constant IFNET_FAMILY_ANY Match interface of any family type.
78 @constant IFNET_FAMILY_LOOPBACK A software loopback interface.
79 @constant IFNET_FAMILY_ETHERNET An Ethernet interface.
80 @constant IFNET_FAMILY_SLIP A SLIP interface.
81 @constant IFNET_FAMILY_TUN A tunnel interface.
82 @constant IFNET_FAMILY_VLAN A virtual LAN interface.
83 @constant IFNET_FAMILY_PPP A PPP interface.
84 @constant IFNET_FAMILY_PVC A PVC interface.
85 @constant IFNET_FAMILY_DISC A DISC interface.
86 @constant IFNET_FAMILY_MDECAP A MDECAP interface.
87 @constant IFNET_FAMILY_GIF A generic tunnel interface.
88 @constant IFNET_FAMILY_FAITH A FAITH (IPv4/IPv6 translation) interface.
89 @constant IFNET_FAMILY_STF A 6to4 interface.
90 @constant IFNET_FAMILY_FIREWIRE An IEEE 1394 (firewire) interface.
91 @constant IFNET_FAMILY_BOND A virtual bonded interface.
92 @constant IFNET_FAMILY_CELLULAR A cellular interface.
115 @abstract Storage type for the interface family.
123 @abstract Constants defining interface families.
151 @abstract Constants defining interface offload support.
167 pages that are disjoint, depending on the interface MTU
177 supported by the interface can be set with "ifnet_set_tso_mtu". To retreive the real MTU
183 supported by the interface can be set with "ifnet_set_tso_mtu". To retreive the real MTU
209 @abstract Flags indicating the offload support of the interface.
216 * These are function pointers you supply to the kernel in the interface.
224 bpf file descriptors tapping this interface.
225 @param interface The interface being sent or received on.
230 typedef errno_t (*bpf_packet_func)(ifnet_t interface, mbuf_t data);
237 ifnet_output function for an interface. The driver is
239 @param interface The interface being sent on.
243 typedef errno_t (*ifnet_output_func)(ifnet_t interface, mbuf_t data);
253 @param interface The interface the ioctl is being sent to.
259 typedef errno_t (*ifnet_ioctl_func)(ifnet_t interface, unsigned long cmd,
267 typedef errno_t (*ifnet_set_bpf_tap)(ifnet_t interface, bpf_tap_mode mode,
272 @discussion ifnet_detached_func is called an interface is detached
274 not detach the interface immediately if protocols are attached.
275 ifnet_detached_func is used to notify the interface that it has
277 function that will be called on an interface. Until this
279 pointers to this interface, even if ifnet_detacah has been
282 @param interface The interface that has been detached.
285 typedef void (*ifnet_detached_func)(ifnet_t interface);
294 protocol family has not been attached to the interface, the
296 @param interface The interface the packet was received on.
308 typedef errno_t (*ifnet_demux_func)(ifnet_t interface, mbuf_t packet,
314 specific interface.
315 @param interface The interface the event occurred on.
319 typedef void (*ifnet_event_func)(ifnet_t interface, const struct kev_msg *msg);
324 give the interface an opportunity to prepend interface specific
326 @param interface The interface the packet is being sent on.
347 typedef errno_t (*ifnet_framer_func)(ifnet_t interface, mbuf_t *packet,
357 is attached to an interface. This gives the interface an
360 @param interface The interface the protocol will be attached to.
363 the interface specific ways of identifying packets belonging
371 typedef errno_t (*ifnet_add_proto_func)(ifnet_t interface,
378 is being detached from an interface. This gives the interface an
380 protocol being attached to this interface.
381 @param interface The interface the protocol will be detached from.
388 typedef errno_t (*ifnet_del_proto_func)(ifnet_t interface,
394 added to an interface. This gives the interface an opportunity
396 to the interface.
401 @param The interface.
405 EOPNOTSUPP for addresses the interface does not understand.
407 typedef errno_t (*ifnet_check_multi)(ifnet_t interface,
413 a specific protocol on a specific interface. This function is
414 registered on an interface using ifnet_attach_protocol.
415 @param ifp The interface the packet was received on.
431 a specific protocol on a specific interface. This function is
432 registered on an interface using ifnet_attach_protocolv2.
437 @param ifp The interface the packet was received on.
455 @param ifp The interface the packet will be sent on.
476 interface specific events.
477 @param ifp The interface.
487 When an ioctl is handled, it is passed to the interface filters,
488 protocol filters, protocol, and interface. If you do not support
498 @param ifp The interface.
512 @param ifp The interface.
524 @param ifp The interface.
540 @param ifp The interface the arp packet should be sent on.
547 of the interface.
567 network interface.
574 @field collisions The number of collisions seen by this interface.
593 the interface when calling ifnet_allocate. A copy of these
595 while the interface is attached.
597 interface.
599 @field name The interface name (i.e. en).
600 @field unit The interface unit number (en0's unit number is 0).
601 @field family The interface family.
602 @field type The interface type (see sys/if_types.h). Must be less
604 @field output The output function for the interface. Every packet the
605 stack attempts to send through this interface will go out
610 interface.
612 interface.
618 @field detach The function called to let the driver know the interface
620 @field event The function to notify the interface of various interface
623 interface.
627 /* used to match recycled interface */
631 /* used to fill out initial values for interface */
657 #define IFNET_INIT_LEGACY 0x1 /* legacy network interface model */
663 for the interface. The driver may perform last-minute changes
666 @param interface The interface being sent on.
669 typedef errno_t (*ifnet_pre_enqueue_func)(ifnet_t interface, mbuf_t data);
684 @param interface The interface being sent on.
686 typedef void (*ifnet_start_func)(ifnet_t interface);
693 @param interface The interface to retrieve the packets from.
702 typedef void (*ifnet_input_poll_func)(ifnet_t interface, u_int32_t flags,
719 @abstract Storage type for the interface control command.
750 @abstract Storage type for the interface model sub-command.
758 @field model The interface model.
770 @param interface The interface.
771 @param cmd The ifnet_ctl_cmd_t interface control command.
776 typedef errno_t (*ifnet_ctl_func)(ifnet_t interface, ifnet_ctl_cmd_t cmd,
782 the interface when calling ifnet_allocate_extended. A copy of
784 while the interface is attached.
789 interface.
791 @field name The interface name (i.e. en).
792 @field unit The interface unit number (en0's unit number is 0).
793 @field family The interface family.
794 @field type The interface type (see sys/if_types.h). Must be less
798 @field output The output function for the interface. Every packet the
799 stack attempts to send through this interface will go out
801 @field pre_enqueue The pre_enqueue function for the interface, valid
803 @field start The start function for the interface, valid only if
805 @field output_ctl The output control function for the interface, valid
812 @field input_poll The poll function for the interface, valid only if
815 @field input_ctl The input control function for the interface, valid
827 interface.
829 interface.
835 @field detach The function called to let the driver know the interface
837 @field event The function to notify the interface of various interface
840 interface.
848 /* used to match recycled interface */
852 /* used to fill out initial values for interface */
892 @discussion This structure is used get and set the interface
900 @field collisions The number of collisions seen by this interface.
922 specific protocol. The types supported are interface specific.
943 interface. This structure provides the various functions for
944 handling operations related to the protocol on the interface as
951 @field event The function to be called for interface events.
960 struct ifnet_demux_desc *demux_array; /* interface may/may not require */
961 u_int32_t demux_count; /* interface may/may not require */
973 struct ifnet_demux_desc *demux_array; /* interface may/may not require */
974 u_int32_t demux_count; /* interface may/may not require */
998 ifnet_t when allocating an interface. For example, for an
999 ethernet interface, the hardware address of the ethernet card is
1006 @param init The initial values for the interface. These values can
1007 not be changed after the interface has been allocated.
1008 @param interface The interface allocated upon success.
1010 if an interface with the same uniqueid and family has already
1014 ifnet_t *interface);
1021 @param init The initial values for the interface. These values can
1022 not be changed after the interface has been allocated.
1023 @param interface The interface allocated upon success.
1025 if an interface with the same uniqueid and family has already
1029 ifnet_t *interface);
1033 @discussion Purge the output queue of an interface which implements
1035 @param interface The interface to purge.
1037 extern void ifnet_purge(ifnet_t interface);
1041 @discussion Enqueue a packet to the output queue of an interface
1043 @param interface The interface to enqueue the packet to.
1047 the interface doesn't implement the new driver output model;
1054 extern errno_t ifnet_enqueue(ifnet_t interface, mbuf_t packet);
1058 @discussion Dequeue a packet from the output queue of an interface
1061 @param interface The interface to dequeue the packet from.
1064 the interface doesn't implement the new driver output model
1069 extern errno_t ifnet_dequeue(ifnet_t interface, mbuf_t *packet);
1074 appropriate output queue of an interface which implements the
1077 @param interface The interface to dequeue the packet from.
1081 the interface doesn't implement the new driver output model
1086 extern errno_t ifnet_dequeue_service_class(ifnet_t interface,
1092 interface which implements the new driver output model, and that
1095 @param interface The interface to dequeue the packets from.
1105 the interface doesn't implement the new driver output model
1110 extern errno_t ifnet_dequeue_multi(ifnet_t interface, u_int32_t max,
1116 from the appropriate output queue of an interface which
1120 @param interface The interface to dequeue the packets from.
1131 the interface doesn't implement the new driver output model
1136 extern errno_t ifnet_dequeue_service_class_multi(ifnet_t interface,
1142 @discussion Set the output scheduling model of an interface which
1144 @param interface The interface to set scheduling model on.
1147 the interface doesn't implement the new driver output model.
1149 extern errno_t ifnet_set_output_sched_model(ifnet_t interface,
1155 interface which implements the new driver output model.
1159 @param interface The interface to set the max queue length on.
1162 the interface doesn't implement the new driver output model.
1164 extern errno_t ifnet_set_sndq_maxlen(ifnet_t interface, u_int32_t maxqlen);
1169 interface which implements the new driver output model.
1170 @param interface The interface to get the max queue length on.
1174 the interface doesn't implement the new driver output model.
1176 extern errno_t ifnet_get_sndq_maxlen(ifnet_t interface, u_int32_t *maxqlen);
1181 interface which implements the new driver output model.
1182 @param interface The interface to get the current queue length on.
1186 the interface doesn't implement the new driver output model.
1188 extern errno_t ifnet_get_sndq_len(ifnet_t interface, u_int32_t *qlen);
1193 interface which implements the new driver input model.
1197 @param interface The interface to set the max queue length on.
1202 the interface doesn't implement the new driver input model.
1204 extern errno_t ifnet_set_rcvq_maxlen(ifnet_t interface, u_int32_t maxqlen);
1209 interface which implements the new driver input model.
1210 @param interface The interface to get the max queue length on.
1214 the interface doesn't implement the new driver input model.
1216 extern errno_t ifnet_get_rcvq_maxlen(ifnet_t interface, u_int32_t *maxqlen);
1221 interface which implements the new driver output model.
1222 @param interface The interface to start the transmission on.
1224 extern void ifnet_start(ifnet_t interface);
1237 @param interface The interface.
1241 extern void ifnet_transmit_burst_start(ifnet_t interface, mbuf_t pkt);
1253 @param interface The interface.
1257 extern void ifnet_transmit_burst_end(ifnet_t interface, mbuf_t pkt);
1263 that it will not go away. The interface must already have at
1265 @param interface The interface to increment the reference count of.
1266 @result May return EINVAL if the interface is not valid.
1268 extern errno_t ifnet_reference(ifnet_t interface);
1274 @param interface The interface to decrement the reference count of
1276 @result May return EINVAL if the interface is not valid.
1278 extern errno_t ifnet_release(ifnet_t interface);
1282 @discussion Attaches an interface to the global interface list. The
1283 interface must be setup properly before calling attach. The
1284 stack will take a reference on the interface and hold it until
1288 must not call this function on an interface the kext does not
1290 @param interface The interface to attach.
1291 @param ll_addr The link layer address of the interface. This is used
1293 interface. This parameter is not required for interfaces such as
1296 interface.
1298 extern errno_t ifnet_attach(ifnet_t interface,
1303 @discussion Detaches the interface.
1305 Call this to indicate this interface is no longer valid (i.e. PC
1307 removing knowledge of this interface from the stack.
1309 The function will return before the interface is detached. The
1310 functions you supplied in to the interface may continue to be
1313 detached function has been called. The interface will be
1316 An interface may not be attached again. You must call
1317 ifnet_allocate to create a new interface to attach.
1320 must not call this function on an interface the kext does not
1322 @param interface The interface to detach.
1325 extern errno_t ifnet_detach(ifnet_t interface);
1329 @discussion Look up the interface family identifier for a string.
1330 If there is no interface family identifier assigned for this string
1331 a new interface family identifier is created and assigned.
1335 function once during startup and cache the interface family identifier.
1336 The interface family identifier for a string will not be re-assigned until
1338 @param module_string A unique string identifying your interface family
1339 @param family_id Upon return, a unique interface family identifier for use with
1352 @discussion Returns the driver's private storage on the interface.
1353 @param interface Interface to retrieve the storage from.
1356 extern void *ifnet_softc(ifnet_t interface);
1360 @discussion Returns a pointer to the name of the interface.
1361 @param interface Interface to retrieve the name from.
1364 extern const char *ifnet_name(ifnet_t interface);
1368 @discussion Returns the family of the interface.
1369 @param interface Interface to retrieve the unit number from.
1372 extern ifnet_family_t ifnet_family(ifnet_t interface);
1376 @discussion Returns the unit number of the interface.
1377 @param interface Interface to retrieve the unit number from.
1380 extern u_int32_t ifnet_unit(ifnet_t interface);
1384 @discussion Returns the index of the interface. This index value
1387 interface index is undefined for an interface that is not
1389 @param interface Interface to retrieve the index of.
1392 extern u_int32_t ifnet_index(ifnet_t interface);
1396 @discussion Sets the interface flags to match new_flags.
1397 @discussion Sets the interface flags to new_flags. This function
1400 interface's flags to (if_flags & ~mask) | (new_flags & mask).
1401 @param interface Interface to set the flags on.
1406 extern errno_t ifnet_set_flags(ifnet_t interface, u_int16_t new_flags,
1411 @discussion Returns the interface flags that are set.
1412 @param interface Interface to retrieve the flags from.
1415 extern u_int16_t ifnet_flags(ifnet_t interface);
1421 @discussion Sets the extended interface flags to new_flags. This
1424 the interface's extended flags to (if_eflags & ~mask) |
1426 @param interface The interface.
1432 extern errno_t ifnet_set_eflags(ifnet_t interface, u_int32_t new_flags,
1437 @discussion Returns the extended interface flags that are set.
1438 @param interface Interface to retrieve the flags from.
1441 extern u_int32_t ifnet_eflags(ifnet_t interface);
1448 the interface's idle flags to:
1453 @param interface The interface.
1460 extern errno_t ifnet_set_idle_flags(ifnet_t interface, u_int32_t new_flags,
1466 @param interface Interface to retrieve the flags from.
1469 extern u_int32_t ifnet_idle_flags(ifnet_t interface);
1474 @param interface Interface for which the Link Quality Metric should
1478 is not a valid value. ENXIO if the interface is not attached.
1480 extern errno_t ifnet_set_link_quality(ifnet_t interface, int quality);
1485 @param interface Interface to retrieve the value from.
1488 extern int ifnet_link_quality(ifnet_t interface);
1518 the RSSI is either unknown or inapplicable for the interface.
1523 attached to the network at this interface.
1546 default IPv4 router specific to the interface.
1547 @param interface The interface associated with the default IPv4 router.
1552 extern errno_t ifnet_inet_defrouter_llreachinfo(ifnet_t interface,
1558 default IPv6 router specific to the interface.
1559 @param interface The interface associated with the default IPv6 router.
1564 extern errno_t ifnet_inet6_defrouter_llreachinfo(ifnet_t interface,
1570 @discussion Specify the capabilities supported by the interface.
1572 by the interface. Typically this function is called by the driver when
1573 the interface gets attached to the system.
1576 interface's flags to (if_capabilities & ~mask) | (new_caps & mask).
1579 must not call this function on an interface the kext does not
1581 @param interface Interface to set the capabilities on.
1588 extern errno_t ifnet_set_capabilities_supported(ifnet_t interface, u_int32_t new_caps,
1593 @discussion Retrieve the interface capabilities supported by the interface.
1594 @param interface Interface to retrieve the capabilities from.
1597 extern u_int32_t ifnet_capabilities_supported(ifnet_t interface);
1601 @discussion Enable and/or disable the interface capabilities to match new_caps.
1602 @discussion Sets the interface capabilities to new_caps. This function
1605 interface's flags to (if_capenable & ~mask) | (new_caps & mask).
1608 must not call this function on an interface the kext does not
1611 Typically this function is called by the driver when the interface is
1614 the interface ioctl SIOCSIFCAP.
1620 supported by the interface.
1621 @param interface Interface to set the capabilities on.
1628 extern errno_t ifnet_set_capabilities_enabled(ifnet_t interface, u_int32_t new_caps,
1633 @discussion Retrieve the interface capabilities enabled on the interface.
1634 @param interface Interface to retrieve the capabilities from.
1637 extern u_int32_t ifnet_capabilities_enabled(ifnet_t interface);
1643 support provided by the interface such as hardware checksums and
1647 Note the system will automatically set the interface capabilities
1651 @param interface The interface.
1656 extern errno_t ifnet_set_offload(ifnet_t interface, ifnet_offload_t offload);
1661 offloaded to the interface.
1662 @param interface Interface to retrieve the offload from.
1665 extern ifnet_offload_t ifnet_offload(ifnet_t interface);
1670 the interface
1671 @param interface The interface.
1674 @param mtuLen Maximum segment size supported by the interface
1677 extern errno_t ifnet_set_tso_mtu(ifnet_t interface, sa_family_t family,
1683 the interface
1684 @param interface The interface.
1687 @param mtuLen Value of the maximum MTU supported for the interface
1691 extern errno_t ifnet_get_tso_mtu(ifnet_t interface, sa_family_t family,
1707 @param interface The interface.
1712 extern errno_t ifnet_set_wake_flags(ifnet_t interface, u_int32_t properties, u_int32_t mask);
1716 @discussion Returns the wake properties set on the interface.
1717 @param interface The interface.
1720 extern u_int32_t ifnet_get_wake_flags(ifnet_t interface);
1726 whenever the sysctl for getting interface specific MIB data is
1731 must not call this function on an interface the kext does not
1733 @param interface Interface to set the unit number of.
1738 extern errno_t ifnet_set_link_mib_data(ifnet_t interface, void *mibData,
1746 @param interface The interface.
1755 extern errno_t ifnet_get_link_mib_data(ifnet_t interface, void *mibData,
1761 @param interface The interface.
1763 interface.
1765 extern u_int32_t ifnet_get_link_mib_data_length(ifnet_t interface);
1769 @discussion Attaches a protocol to an interface.
1770 @param interface The interface.
1776 extern errno_t ifnet_attach_protocol(ifnet_t interface,
1782 @discussion Attaches a protocol to an interface using the newer
1783 version 2 style interface. So far the only difference is support
1785 @param interface The interface.
1791 extern errno_t ifnet_attach_protocol_v2(ifnet_t interface,
1797 @discussion Detaches a protocol from an interface.
1798 @param interface The interface.
1803 extern errno_t ifnet_detach_protocol(ifnet_t interface,
1808 @discussion Handles an outbound packet on the interface by calling
1809 any filters, a protocol preoutput function, the interface framer
1810 function, and finally the interface's output function. The
1815 interface. ifnet_output will always free the mbuf chain.
1816 @param interface The interface.
1828 extern errno_t ifnet_output(ifnet_t interface,
1834 @discussion Handles and outbond raw packet on the interface by
1835 calling any filters followed by the interface's output function.
1838 filters. All interface filters will be applied to the outgoing
1840 interface framer functions will be bypassed. The packet will
1841 pass through the filters and be sent on the interface as is.
1843 @param interface The interface.
1849 extern errno_t ifnet_output_raw(ifnet_t interface,
1854 @discussion Inputs packets from the interface. The interface's demux
1856 determined, the interface filters and protocol filters will be
1859 @param interface The interface.
1861 @param stats Counts to be integrated in to the stats. The interface
1866 extern errno_t ifnet_input(ifnet_t interface, mbuf_t first_packet,
1872 @discussion Inputs packets from the interface. The interface's demux
1874 determined, the interface filters and protocol filters will be
1877 @param interface The interface.
1881 @param stats Counts to be integrated in to the stats. The interface
1887 extern errno_t ifnet_input_extended(ifnet_t interface, mbuf_t first_packet,
1893 @discussion Calls the interface's ioctl function with the parameters
1899 @param interface The interface.
1902 other ioctls apply to just an interface.
1907 extern errno_t ifnet_ioctl(ifnet_t interface, protocol_family_t protocol,
1912 @discussion Calls the interface's event function.
1913 @param interface The interface.
1918 extern errno_t ifnet_event(ifnet_t interface, struct kern_event_msg *event_ptr);
1922 @discussion Sets the value of the MTU in the interface structure.
1927 must not call this function on an interface the kext does not
1929 @param interface The interface.
1933 extern errno_t ifnet_set_mtu(ifnet_t interface, u_int32_t mtu);
1937 @param interface The interface.
1940 extern u_int32_t ifnet_mtu(ifnet_t interface);
1944 @param interface The interface.
1947 extern u_int8_t ifnet_type(ifnet_t interface);
1953 must not call this function on an interface the kext does not
1955 @param interface The interface.
1959 extern errno_t ifnet_set_addrlen(ifnet_t interface, u_int8_t addrlen);
1963 @param interface The interface.
1966 extern u_int8_t ifnet_addrlen(ifnet_t interface);
1972 must not call this function on an interface the kext does not
1974 @param interface The interface.
1978 extern errno_t ifnet_set_hdrlen(ifnet_t interface, u_int8_t hdrlen);
1982 @param interface The interface.
1985 extern u_int8_t ifnet_hdrlen(ifnet_t interface);
1991 must not call this function on an interface the kext does not
1993 @param interface The interface.
1997 extern errno_t ifnet_set_metric(ifnet_t interface, u_int32_t metric);
2001 @param interface The interface.
2004 extern u_int32_t ifnet_metric(ifnet_t interface);
2010 must not call this function on an interface the kext does not
2012 @param interface The interface.
2016 extern errno_t ifnet_set_baudrate(ifnet_t interface, u_int64_t baudrate);
2020 @param interface The interface.
2023 extern u_int64_t ifnet_baudrate(ifnet_t interface);
2030 @param interface The interface.
2039 extern errno_t ifnet_set_bandwidths(ifnet_t interface,
2044 @param interface The interface.
2053 extern errno_t ifnet_bandwidths(ifnet_t interface, if_bandwidths_t *output_bw,
2061 must not call this function on an interface the kext does not
2063 @param interface The interface.
2069 extern errno_t ifnet_stat_increment(ifnet_t interface,
2076 function allows a driver to update the inbound interface counts.
2083 @param interface The interface.
2089 extern errno_t ifnet_stat_increment_in(ifnet_t interface,
2096 function allows a driver to update the outbound interface
2102 @param interface The interface.
2108 extern errno_t ifnet_stat_increment_out(ifnet_t interface,
2115 must not call this function on an interface the kext does not
2120 @param interface The interface.
2124 extern errno_t ifnet_set_stat(ifnet_t interface,
2129 @param interface The interface.
2133 extern errno_t ifnet_stat(ifnet_t interface,
2138 @discussion Enable or disable promiscuous mode on the interface. The
2139 interface keeps an internal count of the number of times
2143 @param interface The interface to toggle promiscuous mode on.
2151 extern errno_t ifnet_set_promiscuous(ifnet_t interface, int on);
2156 @param interface The interface.
2159 extern errno_t ifnet_touch_lastchange(ifnet_t interface);
2163 @param interface The interface.
2167 extern errno_t ifnet_lastchange(ifnet_t interface, struct timeval *last_change);
2171 @discussion Get a list of addresses on the interface. Passing NULL
2172 for the interface will return a list of all addresses. The
2178 @param interface The interface.
2182 extern errno_t ifnet_get_address_list(ifnet_t interface, ifaddr_t **addresses);
2186 @discussion Get a list of addresses on the interface. Passing NULL
2187 for the interface will return a list of all addresses. The
2195 @param interface The interface.
2199 extern errno_t ifnet_get_address_list_family(ifnet_t interface,
2218 @discussion Sets the link-layer address for this interface.
2219 @param interface The interface the link layer address is being
2225 extern errno_t ifnet_set_lladdr(ifnet_t interface, const void *lladdr,
2232 @param interface The interface to copy the link-layer address from.
2237 extern errno_t ifnet_lladdr_copy_bytes(ifnet_t interface, void *lladdr,
2244 @param interface The interface the link-layer address is on.
2246 extern void *ifnet_lladdr(ifnet_t interface);
2252 interface.
2253 @param interface The interface.
2259 extern errno_t ifnet_llbroadcast_copy_bytes(ifnet_t interface, void *addr,
2268 @param interface The interface the link layer address is being
2275 extern errno_t ifnet_set_lladdr_and_type(ifnet_t interface, const void *lladdr,
2283 interface will verify that it is a valid multicast address.
2284 @param interface The interface.
2303 @param interface The interface.
2310 extern errno_t ifnet_add_multicast(ifnet_t interface,
2315 @discussion Causes the interface to leave the multicast group. The
2325 multicast has been removed from the interface.
2327 When an interface is detached, all of the multicasts are
2328 removed. If the interface of the multicast passed in is no
2341 @discussion Retrieves a list of multicast address the interface is
2347 @param interface The interface.
2352 extern errno_t ifnet_get_multicast_list(ifnet_t interface,
2367 @discussion Find an interface by the name including the unit number.
2368 Caller must call ifnet_release on any non-null interface return
2370 @param name The name of the interface, including any unit number
2372 @param interface A pointer to an interface reference. This will be
2373 filled in if a matching interface is found.
2376 extern errno_t ifnet_find_by_name(const char *ifname, ifnet_t *interface);
2385 @param family The interface family (i.e. IFNET_FAMILY_ETHERNET). To
2387 @param interfaces A pointer to an array of interface references.
2404 @param family The interface family (i.e. IFNET_FAMILY_ETHERNET). To
2406 @param interfaces A pointer to an array of interface references.
2418 Decrements the reference count on each interface and frees the
2419 array of references. If you keep a reference to an interface, be
2422 @param interfaces An array of interface references from ifnet_list_get.
2433 interface.
2434 @param ifaddr The interface address.
2442 address tied to an interface.
2443 @param ifaddr The interface address.
2451 @param ifaddr The interface address.
2462 @param ifaddr The interface address.
2470 @param ifaddr The interface address.
2481 @param ifaddr The interface address.
2491 @discussion Returns the interface the address is attached to. The
2496 @param ifaddr The interface address.
2497 @result A reference to the interface the address is attached to.
2503 @discussion Returns an interface address with the address specified.
2507 @result A reference to the interface address.
2513 @discussion Returns an interface address for the interface address
2518 @result A reference to the interface address.
2524 @discussion Returns an interface address for the interface with the
2529 @result A reference to the interface address.
2535 @discussion Returns an interface address given a destination and
2542 @result A reference to the interface address.
2550 interface to use when communicating with another address.
2554 @param interface The local interface.
2555 @result A reference to the interface address.
2558 ifnet_t interface);
2566 @discussion Increment the reference count of an interface multicast
2568 @param ifmaddr The interface multicast address.
2575 @discussion Decrement the reference count of an interface multicast
2577 will be removed from the interface and the ifmultiaddr will be
2579 @param ifmaddr The interface multicast address.
2607 @discussion Returns the interface this multicast address is attached
2608 to. The interface reference count is not bumped by this
2609 function. The interface is only valid as long as you don't
2613 @param ifmaddr The interface multicast address.
2614 @result A reference to the interface.
2620 /* interface cloner */
2625 @discussion ifnet_clone_create_func is called to create an interface.
2626 @param ifcloner The interface cloner.
2627 @param unit The interface unit number to create.
2628 @param params Additional information specific to the interface cloner.
2635 @discussion ifnet_clone_create_func is called to destroy an interface created
2636 by an interface cloner.
2637 @param interface The interface to destroy.
2640 typedef errno_t (*ifnet_clone_destroy_func)(ifnet_t interface);
2644 @discussion This structure is used to represent an interface cloner.
2645 @field ifc_name The interface name handled by this interface cloner.
2646 @field ifc_create The function to create an interface.
2647 @field ifc_destroy The function to destroy an interface.
2657 @discussion Attaches a new interface cloner.
2658 @param cloner_params The structure that defines an interface cloner.
2659 @param interface A pointer to an opaque handle that represent the interface cloner
2663 May return EEXIST if an interface cloner with the same name is already attached.
2669 @discussion Detaches a previously attached interface cloner.
2670 @param ifcloner The opaque handle returned when the interface cloner was attached.
2682 open. An interface that supports waking the host on unicast traffic may
2687 @param ifp The interface in question.
2698 @discussion Provided for network interface drivers to notify the
2701 @param ifp The interface attached to the link where the specified node
2719 @discussion Provided for network interface drivers to notify the
2721 @param ifp The interface attached to the link where the absence of the
2731 @discussion Provided for network interface drivers to notify the system
2734 @param ifp The interface attached to the link where the new master has