KEXT Programming Interfaces

The KPIs provide sustainable interfaces for writing network kernel extensions (NKEs), file systems, and other non-I/O Kit KEXTs.

Framework
/System/Library/Frameworks/Kernel.framework
Header file directories
/System/Library/Frameworks/Kernel.framework/Headers

Functions

ctl_deregister
  mbuf_clear_csum_performed
ctl_enqueuedata
  mbuf_clear_csum_requested
ctl_enqueuembuf
  mbuf_clear_vlan_tag
ctl_getenqueuespace
  mbuf_copyback
ctl_register
  mbuf_copydata
ifaddr_address
  mbuf_copym
ifaddr_address_family
  mbuf_copy_pkthdr
ifaddr_dstaddress
  mbuf_data
ifaddr_findbestforaddr
  mbuf_datastart
ifaddr_ifnet
  mbuf_data_to_physical
ifaddr_netmask
  mbuf_dup
ifaddr_reference
  mbuf_flags
ifaddr_release
  mbuf_free
ifaddr_withaddr
  mbuf_freem
ifaddr_withdstaddr
  mbuf_freem_list
ifaddr_withnet
  mbuf_get
ifaddr_withroute
  mbuf_getcluster
iflt_attach
  mbuf_gethdr
iflt_detach
  mbuf_getpacket
ifmaddr_address
  mbuf_get_csum_requested
ifmaddr_ifnet
  mbuf_get_vlan_tag
ifmaddr_lladdress
  mbuf_inbound_modified
ifmaddr_reference
  mbuf_leadingspace
ifmaddr_release
  mbuf_len
ifnet_addrlen
  mbuf_maxlen
ifnet_add_multicast
  mbuf_mclget
ifnet_allocate
  mbuf_mclhasreference
ifnet_attach
  mbuf_next
ifnet_attach_protocol
  mbuf_nextpkt
ifnet_baudrate
  mbuf_outbound_finalize
ifnet_detach
  mbuf_pkthdr_adjustlen
ifnet_detach_protocol
  mbuf_pkthdr_header
ifnet_event
  mbuf_pkthdr_len
ifnet_family
  mbuf_pkthdr_rcvif
ifnet_find_by_name
  mbuf_pkthdr_setheader
ifnet_flags
  mbuf_pkthdr_setlen
ifnet_free_address_list
  mbuf_pkthdr_setrcvif
ifnet_free_multicast_list
  mbuf_prepend
ifnet_get_address_list
  mbuf_pulldown
ifnet_get_address_list_family
  mbuf_pullup
ifnet_get_link_mib_data
  mbuf_setdata
ifnet_get_link_mib_data_length
  mbuf_setflags
ifnet_get_multicast_list
  mbuf_setflags_mask
ifnet_hdrlen
  mbuf_setlen
ifnet_index
  mbuf_setnext
ifnet_input
  mbuf_setnextpkt
ifnet_ioctl
  mbuf_settype
ifnet_lastchange
  mbuf_set_csum_performed
ifnet_list_free
  mbuf_set_vlan_tag
ifnet_list_get
  mbuf_split
ifnet_lladdr_copy_bytes
  mbuf_stats
ifnet_llbroadcast_copy_bytes
  mbuf_tag_allocate
ifnet_metric
  mbuf_tag_find
ifnet_mtu
  mbuf_tag_free
ifnet_name
  mbuf_tag_id_find
ifnet_offload
  mbuf_trailingspace
ifnet_output
  mbuf_type
ifnet_output_raw
  nd6_lookup_ipv6
ifnet_reference
  net_init_add
ifnet_release
  proto_inject
ifnet_remove_multicast
  proto_input
ifnet_resolve_multicast
  proto_register_plumber
ifnet_set_addrlen
  proto_unregister_plumber
ifnet_set_baudrate
  sflt_attach
ifnet_set_flags
  sflt_detach
ifnet_set_hdrlen
  sflt_register
ifnet_set_link_mib_data
  sflt_unregister
ifnet_set_lladdr
  sockopt_copyin
ifnet_set_metric
  sockopt_copyout
ifnet_set_mtu
  sockopt_direction
ifnet_set_offload
  sockopt_level
ifnet_set_promiscuous
  sockopt_name
ifnet_set_stat
  sockopt_valsize
ifnet_softc
  sock_accept
ifnet_stat
  sock_bind
ifnet_stat_increment
  sock_close
ifnet_stat_increment_in
  sock_connect
ifnet_stat_increment_out
  sock_getpeername
ifnet_touch_lastchange
  sock_getsockname
ifnet_type
  sock_getsockopt
ifnet_unit
  sock_gettype
inet_arp_handle_input
  sock_inject_data_in
inet_arp_init_ifaddr
  sock_inject_data_out
inet_arp_lookup
  sock_ioctl
ipf_addv4
  sock_isconnected
ipf_addv6
  sock_isnonblocking
ipf_inject_input
  sock_listen
ipf_inject_output
  sock_receive
ipf_remove
  sock_receivembuf
kev_msg_post
  sock_send
kev_vendor_code_find
  sock_sendmbuf
mbuf_adj
  sock_setpriv
mbuf_adjustlen
  sock_setsockopt
mbuf_align_32
  sock_shutdown
mbuf_allocpacket
  sock_socket
mbuf_allocpacket_list
 

Other References

Header Index
Data Types Index

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.