Lines Matching defs:unit
57 struct hci_unit *unit;
64 SIMPLEQ_FOREACH(unit, &hci_unit_list, hci_next) {
65 uprintf("UNIT %s: flags 0x%4.4x, "
67 device_xname(unit->hci_dev), unit->hci_flags,
68 unit->hci_num_cmd_pkts,
69 unit->hci_num_acl_pkts,
70 unit->hci_num_sco_pkts);
71 TAILQ_FOREACH(link, &unit->hci_links, hl_next) {
138 struct hci_unit *unit;
150 * Get unit info based on address rather than name
153 unit = hci_unit_lookup(&btr->btr_bdaddr);
154 if (unit == NULL)
164 /* empty name means give the first unit */
166 unit = NULL;
180 SIMPLEQ_FOREACH(unit, &hci_unit_list, hci_next) {
181 if (strncmp(device_xname(unit->hci_dev),
186 if (unit == NULL)
197 if (unit)
198 unit = SIMPLEQ_NEXT(unit, hci_next);
200 unit = SIMPLEQ_FIRST(&hci_unit_list);
202 if (unit == NULL) {
208 case SIOCGBTINFO: /* get unit info */
212 strlcpy(btr->btr_name, device_xname(unit->hci_dev), HCI_DEVNAME_SIZE);
213 bdaddr_copy(&btr->btr_bdaddr, &unit->hci_bdaddr);
215 btr->btr_flags = unit->hci_flags;
217 btr->btr_num_cmd = unit->hci_num_cmd_pkts;
218 btr->btr_num_acl = unit->hci_num_acl_pkts;
219 btr->btr_num_sco = unit->hci_num_sco_pkts;
220 btr->btr_acl_mtu = unit->hci_max_acl_size;
221 btr->btr_sco_mtu = unit->hci_max_sco_size;
222 btr->btr_max_acl = unit->hci_max_acl_pkts;
223 btr->btr_max_sco = unit->hci_max_sco_pkts;
225 btr->btr_packet_type = unit->hci_packet_type;
226 btr->btr_link_policy = unit->hci_link_policy;
229 case SIOCSBTFLAGS: /* set unit flags (privileged) */
231 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
236 if ((unit->hci_flags & BTF_UP)
238 hci_disable(unit);
239 unit->hci_flags &= ~BTF_UP;
242 unit->hci_flags &= ~BTF_MASTER;
243 unit->hci_flags |= (btr->btr_flags & (BTF_INIT | BTF_MASTER));
245 if ((unit->hci_flags & BTF_UP) == 0
247 err = hci_enable(unit);
251 unit->hci_flags |= BTF_UP;
254 btr->btr_flags = unit->hci_flags;
257 case SIOCSBTPOLICY: /* set unit link policy (privileged) */
259 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
264 unit->hci_link_policy = btr->btr_link_policy;
265 unit->hci_link_policy &= unit->hci_lmp_mask;
266 btr->btr_link_policy = unit->hci_link_policy;
269 case SIOCSBTPTYPE: /* set unit packet types (privileged) */
271 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
276 unit->hci_packet_type = btr->btr_packet_type;
277 unit->hci_packet_type &= unit->hci_acl_mask;
278 btr->btr_packet_type = unit->hci_packet_type;
281 case SIOCGBTSTATS: /* get unit statistics */
282 (*unit->hci_if->get_stats)(unit->hci_dev, &btr->btr_stats, 0);
285 case SIOCZBTSTATS: /* get & reset unit statistics */
287 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
292 (*unit->hci_if->get_stats)(unit->hci_dev, &btr->btr_stats, 1);
295 case SIOCSBTSCOMTU: /* set sco_mtu value for unit */
303 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
308 unit->hci_max_sco_size = btr->btr_sco_mtu;
311 case SIOCGBTFEAT: /* get unit features */
313 strlcpy(btr->btr_name, device_xname(unit->hci_dev), HCI_DEVNAME_SIZE);
314 memcpy(btr->btr_features0, unit->hci_feat0, HCI_FEATURES_SIZE);
315 memcpy(btr->btr_features1, unit->hci_feat1, HCI_FEATURES_SIZE);
316 memcpy(btr->btr_features2, unit->hci_feat2, HCI_FEATURES_SIZE);