Lines Matching refs:unit

57 	struct hci_unit *unit;
64 SIMPLEQ_FOREACH(unit, &hci_unit_list, hci_next) {
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;
179 SIMPLEQ_FOREACH(unit, &hci_unit_list, hci_next) {
180 if (strncmp(device_xname(unit->hci_dev),
185 if (unit == NULL)
196 if (unit)
197 unit = SIMPLEQ_NEXT(unit, hci_next);
199 unit = SIMPLEQ_FIRST(&hci_unit_list);
201 if (unit == NULL) {
207 case SIOCGBTINFO: /* get unit info */
210 strlcpy(btr->btr_name, device_xname(unit->hci_dev), HCI_DEVNAME_SIZE);
211 bdaddr_copy(&btr->btr_bdaddr, &unit->hci_bdaddr);
213 btr->btr_flags = unit->hci_flags;
215 btr->btr_num_cmd = unit->hci_num_cmd_pkts;
216 btr->btr_num_acl = unit->hci_num_acl_pkts;
217 btr->btr_num_sco = unit->hci_num_sco_pkts;
218 btr->btr_acl_mtu = unit->hci_max_acl_size;
219 btr->btr_sco_mtu = unit->hci_max_sco_size;
220 btr->btr_max_acl = unit->hci_max_acl_pkts;
221 btr->btr_max_sco = unit->hci_max_sco_pkts;
223 btr->btr_packet_type = unit->hci_packet_type;
224 btr->btr_link_policy = unit->hci_link_policy;
227 case SIOCSBTFLAGS: /* set unit flags (privileged) */
229 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
234 if ((unit->hci_flags & BTF_UP)
236 hci_disable(unit);
237 unit->hci_flags &= ~BTF_UP;
240 unit->hci_flags &= ~BTF_MASTER;
241 unit->hci_flags |= (btr->btr_flags & (BTF_INIT | BTF_MASTER));
243 if ((unit->hci_flags & BTF_UP) == 0
245 err = hci_enable(unit);
249 unit->hci_flags |= BTF_UP;
252 btr->btr_flags = unit->hci_flags;
255 case SIOCSBTPOLICY: /* set unit link policy (privileged) */
257 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
262 unit->hci_link_policy = btr->btr_link_policy;
263 unit->hci_link_policy &= unit->hci_lmp_mask;
264 btr->btr_link_policy = unit->hci_link_policy;
267 case SIOCSBTPTYPE: /* set unit packet types (privileged) */
269 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
274 unit->hci_packet_type = btr->btr_packet_type;
275 unit->hci_packet_type &= unit->hci_acl_mask;
276 btr->btr_packet_type = unit->hci_packet_type;
279 case SIOCGBTSTATS: /* get unit statistics */
280 (*unit->hci_if->get_stats)(unit->hci_dev, &btr->btr_stats, 0);
283 case SIOCZBTSTATS: /* get & reset unit statistics */
285 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
290 (*unit->hci_if->get_stats)(unit->hci_dev, &btr->btr_stats, 1);
293 case SIOCSBTSCOMTU: /* set sco_mtu value for unit */
301 KAUTH_DEVICE_BLUETOOTH_SETPRIV, unit, KAUTH_ARG(cmd),
306 unit->hci_max_sco_size = btr->btr_sco_mtu;
309 case SIOCGBTFEAT: /* get unit features */
311 strlcpy(btr->btr_name, device_xname(unit->hci_dev), HCI_DEVNAME_SIZE);
312 memcpy(btr->btr_features0, unit->hci_feat0, HCI_FEATURES_SIZE);
313 memcpy(btr->btr_features1, unit->hci_feat1, HCI_FEATURES_SIZE);