---
title: ctl_id
framework: Kernel
role: symbol
role_heading: Instance Property
platforms: [macOS 10.13+]
path: kernel/kern_ctl_reg/1809214-ctl_id
---

# ctl_id

The control ID may be dynamically assigned or it can be a 32-bit creator code assigned by DTS. For a DTS assigned creator code the CTL_FLAG_REG_ID_UNIT flag must be set. For a dynamically assigned control ID, do not set the CTL_FLAG_REG_ID_UNIT flag. The value of the dynamically assigned control ID is set to this field when the registration succeeds.

## Declaration

```occ
u_int32_t ctl_id;
```

## See Also

### Fields

- [ctl_name](kernel/kern_ctl_reg/1809212-ctl_name.md)
- [ctl_unit](kernel/kern_ctl_reg/1809215-ctl_unit.md)
- [ctl_flags](kernel/kern_ctl_reg/1809219-ctl_flags.md)
- [ctl_sendsize](kernel/kern_ctl_reg/1809220-ctl_sendsize.md)
- [ctl_recvsize](kernel/kern_ctl_reg/1809224-ctl_recvsize.md)
- [ctl_connect](kernel/kern_ctl_reg/1809225-ctl_connect.md)
- [ctl_disconnect](kernel/kern_ctl_reg/1809228-ctl_disconnect.md)
- [ctl_send](kernel/kern_ctl_reg/1809230-ctl_send.md)
- [ctl_setopt](kernel/kern_ctl_reg/1809233-ctl_setopt.md)
- [ctl_getopt](kernel/kern_ctl_reg/1809236-ctl_getopt.md)
