Lines Matching full:cap

197 	struct osdp_pd_cap *cap = NULL;  in pd_cmd_cap_ok()  local
202 cap = &pd->cap[OSDP_PD_CAP_CONTACT_STATUS_MONITORING]; in pd_cmd_cap_ok()
203 if (cap->num_items == 0 || cap->compliance_level == 0) { in pd_cmd_cap_ok()
208 cap = &pd->cap[OSDP_PD_CAP_OUTPUT_CONTROL]; in pd_cmd_cap_ok()
209 if (cap->num_items == 0 || cap->compliance_level == 0) { in pd_cmd_cap_ok()
214 cap = &pd->cap[OSDP_PD_CAP_OUTPUT_CONTROL]; in pd_cmd_cap_ok()
215 if (!cmd || cap->compliance_level == 0 || in pd_cmd_cap_ok()
216 cmd->output.output_no + 1 > cap->num_items) { in pd_cmd_cap_ok()
221 cap = &pd->cap[OSDP_PD_CAP_READER_LED_CONTROL]; in pd_cmd_cap_ok()
222 if (!cmd || cap->compliance_level == 0 || in pd_cmd_cap_ok()
223 cmd->led.led_number + 1 > cap->num_items) { in pd_cmd_cap_ok()
228 cap = &pd->cap[OSDP_PD_CAP_READER_AUDIBLE_OUTPUT]; in pd_cmd_cap_ok()
229 if (cap->num_items == 0 || cap->compliance_level == 0) { in pd_cmd_cap_ok()
234 cap = &pd->cap[OSDP_PD_CAP_READER_TEXT_OUTPUT]; in pd_cmd_cap_ok()
235 if (cap->num_items == 0 || cap->compliance_level == 0) { in pd_cmd_cap_ok()
242 cap = &pd->cap[OSDP_PD_CAP_COMMUNICATION_SECURITY]; in pd_cmd_cap_ok()
243 if (cap->compliance_level == 0) { in pd_cmd_cap_ok()
623 if (pd->cap[i].function_code != i) { in pd_build_reply()
631 buf[len++] = pd->cap[i].compliance_level; in pd_build_reply()
632 buf[len++] = pd->cap[i].num_items; in pd_build_reply()
1006 static void osdp_pd_set_attributes(struct osdp_pd *pd, struct osdp_pd_cap *cap, in osdp_pd_set_attributes() argument
1011 while (cap && ((fc = cap->function_code) > 0)) { in osdp_pd_set_attributes()
1015 pd->cap[fc].function_code = cap->function_code; in osdp_pd_set_attributes()
1016 pd->cap[fc].compliance_level = cap->compliance_level; in osdp_pd_set_attributes()
1017 pd->cap[fc].num_items = cap->num_items; in osdp_pd_set_attributes()
1018 cap++; in osdp_pd_set_attributes()