Lines Matching refs:desc_elem
112 static int wpas_populate_scs_descriptor_ie(struct scs_desc_elem *desc_elem, in wpas_populate_scs_descriptor_ie() argument
125 wpabuf_put_u8(buf, desc_elem->scs_id); in wpas_populate_scs_descriptor_ie()
126 wpabuf_put_u8(buf, desc_elem->request_type); in wpas_populate_scs_descriptor_ie()
127 if (desc_elem->request_type == SCS_REQ_REMOVE) in wpas_populate_scs_descriptor_ie()
130 if (!tclas_elem_required(&desc_elem->qos_char_elem)) in wpas_populate_scs_descriptor_ie()
133 if (desc_elem->intra_access_priority || desc_elem->scs_up_avail) { in wpas_populate_scs_descriptor_ie()
136 wpabuf_put_u8(buf, desc_elem->intra_access_priority); in wpas_populate_scs_descriptor_ie()
139 tclas_elem = desc_elem->tclas_elems; in wpas_populate_scs_descriptor_ie()
144 for (i = 0; i < desc_elem->num_tclas_elem; i++, tclas_elem++) { in wpas_populate_scs_descriptor_ie()
178 if (desc_elem->num_tclas_elem > 1) { in wpas_populate_scs_descriptor_ie()
182 wpabuf_put_u8(buf, desc_elem->tclas_processing); in wpas_populate_scs_descriptor_ie()
186 if (allow_scs_traffic_desc && desc_elem->qos_char_elem.available) { in wpas_populate_scs_descriptor_ie()
187 qos_elem = &desc_elem->qos_char_elem; in wpas_populate_scs_descriptor_ie()
213 control_info |= ((u32) desc_elem->intra_access_priority << in wpas_populate_scs_descriptor_ie()
215 control_info |= ((u32) desc_elem->intra_access_priority << in wpas_populate_scs_descriptor_ie()
411 static struct wpabuf * allocate_scs_buf(struct scs_desc_elem *desc_elem, in allocate_scs_buf() argument
421 for (i = 0; i < num_scs_desc; i++, desc_elem++) { in allocate_scs_buf()
428 if (desc_elem->request_type == SCS_REQ_REMOVE) in allocate_scs_buf()
432 desc_elem->qos_char_elem.available) in allocate_scs_buf()
433 buf_len += qos_char_len(&desc_elem->qos_char_elem); in allocate_scs_buf()
435 if (!tclas_elem_required(&desc_elem->qos_char_elem)) in allocate_scs_buf()
438 if (desc_elem->intra_access_priority || desc_elem->scs_up_avail) in allocate_scs_buf()
441 tclas_elem = desc_elem->tclas_elems; in allocate_scs_buf()
448 for (j = 0; j < desc_elem->num_tclas_elem; j++, tclas_elem++) { in allocate_scs_buf()
457 if (desc_elem->num_tclas_elem > 1) { in allocate_scs_buf()
514 struct scs_desc_elem *desc_elem = NULL; in wpas_send_scs_req() local
530 desc_elem = wpa_s->scs_robust_av_req.scs_desc_elems; in wpas_send_scs_req()
531 if (!desc_elem) in wpas_send_scs_req()
547 if (!allow_scs_traffic_desc && desc_elem->qos_char_elem.available) { in wpas_send_scs_req()
553 buf = allocate_scs_buf(desc_elem, in wpas_send_scs_req()
567 i++, desc_elem++) { in wpas_send_scs_req()
569 if (wpas_populate_scs_descriptor_ie(desc_elem, buf, in wpas_send_scs_req()
584 desc_elem = wpa_s->scs_robust_av_req.scs_desc_elems; in wpas_send_scs_req()
586 i++, desc_elem++) { in wpas_send_scs_req()
589 if (desc_elem->request_type != SCS_REQ_ADD) in wpas_send_scs_req()
595 active_scs_elem->scs_id = desc_elem->scs_id; in wpas_send_scs_req()