---
title: ifnet_ioctl_func
framework: kernel
role: symbol
role_heading: Type Alias
path: kernel/ifnet_ioctl_func
---

# ifnet_ioctl_func

## Declaration

```occ
typedef errno_t (*ifnet_ioctl_func)(ifnet_t interface, unsigned long cmd, void *data);
```

## Parameters

- `interface`: The interface the ioctl is being sent to.
- `proto_family`: The protocol family to handle the ioctl, may be zero for no protocol_family.
- `cmd`: The ioctl command.
- `data`: A pointer to any data related to the ioctl.

## Discussion

Discussion ifnet_ioctl_func is used to communicate ioctls from the stack to the driver. All undefined ioctls are reserved for future use by Apple. If you need to communicate with your kext using an ioctl, please use SIOCSIFKPI and SIOCGIFKPI.

## See Also

### ifnet

- [ifnet_add_proto_func](kernel/ifnet_add_proto_func.md)
- [ifnet_attach_proto_param](kernel/ifnet_attach_proto_param.md)
- [ifnet_attach_proto_param_v2](kernel/ifnet_attach_proto_param_v2.md)
- [ifnet_check_multi](kernel/ifnet_check_multi.md)
- [ifnet_del_proto_func](kernel/ifnet_del_proto_func.md)
- [ifnet_demux_desc](kernel/ifnet_demux_desc.md)
- [ifnet_demux_func](kernel/ifnet_demux_func.md)
- [ifnet_detached_func](kernel/ifnet_detached_func.md)
- [ifnet_event_func](kernel/ifnet_event_func.md)
- [ifnet_family_t](kernel/ifnet_family_t.md)
- [ifnet_framer_func](kernel/ifnet_framer_func.md)
- [ifnet_init_params](kernel/ifnet_init_params.md)
- [ifnet_offload_t](kernel/ifnet_offload_t.md)
- [ifnet_output_func](kernel/ifnet_output_func.md)
- [ifnet_set_bpf_tap](kernel/ifnet_set_bpf_tap.md)
- [ifnet_stat_increment_param](kernel/ifnet_stat_increment_param.md)
- [ifnet_stats_param](kernel/ifnet_stats_param.md)
- [ifnet_t](kernel/ifnet_t.md)
