Lines Matching refs:data

475 atr_parse(const uint8_t *buf, size_t len, atr_data_t *data)  in atr_parse()  argument
485 bzero(data, sizeof (atr_data_t)); in atr_parse()
500 bcopy(buf, data->atr_raw, len); in atr_parse()
501 data->atr_nraw = len; in atr_parse()
504 data->atr_flags |= ATR_F_USES_DIRECT; in atr_parse()
506 data->atr_flags |= ATR_F_USES_INVERSE; in atr_parse()
540 atp = &data->atr_ti[data->atr_nti]; in atr_parse()
541 data->atr_nti++; in atr_parse()
542 ASSERT3U(data->atr_nti, <=, ATR_TI_MAX); in atr_parse()
620 data->atr_nhistoric = nhist; in atr_parse()
621 bcopy(&buf[idx], data->atr_historic, nhist); in atr_parse()
639 data->atr_flags |= ATR_F_HAS_CHECKSUM; in atr_parse()
640 data->atr_cksum = buf[len - 1]; in atr_parse()
643 data->atr_flags |= ATR_F_VALID; in atr_parse()
664 atr_supported_protocols(atr_data_t *data) in atr_supported_protocols() argument
669 if ((data->atr_flags & ATR_F_VALID) == 0) in atr_supported_protocols()
680 if (data->atr_nti < 2) { in atr_supported_protocols()
685 for (i = 0; i < data->atr_nti; i++) { in atr_supported_protocols()
686 switch (data->atr_ti[i].atrti_protocol) { in atr_supported_protocols()
714 atr_params_negotiable(atr_data_t *data) in atr_params_negotiable() argument
717 if ((data->atr_flags & ATR_F_VALID) == 0) in atr_params_negotiable()
725 if (data->atr_nti < 2 || in atr_params_negotiable()
726 (data->atr_ti[1].atrti_flags & ATR_TI_HAVE_TA) == 0) { in atr_params_negotiable()
730 if (ATR_TA2_CANCHANGE(data->atr_ti[1].atrti_ta)) { in atr_params_negotiable()
738 atr_default_protocol(atr_data_t *data) in atr_default_protocol() argument
742 if ((data->atr_flags & ATR_F_VALID) == 0) in atr_default_protocol()
747 if (data->atr_nti < 2) { in atr_default_protocol()
756 if ((data->atr_ti[1].atrti_flags & ATR_TI_HAVE_TA) != 0) { in atr_default_protocol()
757 prot = ATR_TA2_PROTOCOL(data->atr_ti[1].atrti_ta); in atr_default_protocol()
759 prot = data->atr_ti[1].atrti_protocol; in atr_default_protocol()
773 atr_fi_index(atr_data_t *data) in atr_fi_index() argument
775 if (data->atr_nti < 1) { in atr_fi_index()
784 if (data->atr_nti >= 2 && in atr_fi_index()
785 (data->atr_ti[1].atrti_flags & ATR_TI_HAVE_TA) != 0) { in atr_fi_index()
786 if (!ATR_TA2_HONORTA1(data->atr_ti[1].atrti_ta)) { in atr_fi_index()
791 if ((data->atr_ti[0].atrti_flags & ATR_TI_HAVE_TA) != 0) { in atr_fi_index()
792 return (ATR_TA1_FTABLE(data->atr_ti[0].atrti_ta)); in atr_fi_index()
799 atr_di_index(atr_data_t *data) in atr_di_index() argument
801 if (data->atr_nti < 1) { in atr_di_index()
810 if (data->atr_nti >= 2 && in atr_di_index()
811 (data->atr_ti[1].atrti_flags & ATR_TI_HAVE_TA) != 0) { in atr_di_index()
812 if (!ATR_TA2_HONORTA1(data->atr_ti[1].atrti_ta)) { in atr_di_index()
817 if ((data->atr_ti[0].atrti_flags & ATR_TI_HAVE_TA) != 0) { in atr_di_index()
818 return (ATR_TA1_DITABLE(data->atr_ti[0].atrti_ta)); in atr_di_index()
825 atr_convention(atr_data_t *data) in atr_convention() argument
827 if ((data->atr_flags & ATR_F_USES_DIRECT) != 0) { in atr_convention()
834 atr_extra_guardtime(atr_data_t *data) in atr_extra_guardtime() argument
836 if ((data->atr_flags & ATR_F_VALID) == 0) in atr_extra_guardtime()
839 if (data->atr_nti >= 1 && in atr_extra_guardtime()
840 (data->atr_ti[0].atrti_flags & ATR_TI_HAVE_TC) != 0) { in atr_extra_guardtime()
841 return (data->atr_ti[0].atrti_tc); in atr_extra_guardtime()
848 atr_t0_wi(atr_data_t *data) in atr_t0_wi() argument
850 if ((data->atr_flags & ATR_F_VALID) == 0) in atr_t0_wi()
857 if (data->atr_nti >= 2 && in atr_t0_wi()
858 data->atr_ti[1].atrti_protocol == ATR_PROTOCOL_T0 && in atr_t0_wi()
859 (data->atr_ti[1].atrti_flags & ATR_TI_HAVE_TC) != 0) { in atr_t0_wi()
860 return (data->atr_ti[1].atrti_tc); in atr_t0_wi()
867 atr_t1_cwi(atr_data_t *data) in atr_t1_cwi() argument
871 if (data->atr_nti <= 2) { in atr_t1_cwi()
875 for (i = 2; i < data->atr_nti; i++) { in atr_t1_cwi()
876 if (data->atr_ti[i].atrti_protocol == ATR_PROTOCOL_T1) { in atr_t1_cwi()
877 if ((data->atr_ti[i].atrti_flags & ATR_TI_HAVE_TB) != in atr_t1_cwi()
879 uint8_t tb = data->atr_ti[i].atrti_tb; in atr_t1_cwi()
891 atr_clock_stop(atr_data_t *data) in atr_clock_stop() argument
895 for (i = 0; i < data->atr_nti; i++) { in atr_clock_stop()
896 if (data->atr_ti[i].atrti_protocol == ATR_PROTOCOL_T15) { in atr_clock_stop()
897 if ((data->atr_ti[i].atrti_flags & ATR_TI_HAVE_TA) != in atr_clock_stop()
899 uint8_t ta = data->atr_ti[i].atrti_ta; in atr_clock_stop()
911 atr_t1_checksum(atr_data_t *data) in atr_t1_checksum() argument
915 if (data->atr_nti <= 2) { in atr_t1_checksum()
919 for (i = 2; i < data->atr_nti; i++) { in atr_t1_checksum()
920 if (data->atr_ti[i].atrti_protocol == ATR_PROTOCOL_T1) { in atr_t1_checksum()
921 if ((data->atr_ti[i].atrti_flags & ATR_TI_HAVE_TC) != in atr_t1_checksum()
923 if (ATR_T1_TC0_CRC(data->atr_ti[i].atrti_tc)) { in atr_t1_checksum()
939 atr_t1_bwi(atr_data_t *data) in atr_t1_bwi() argument
943 if (data->atr_nti <= 2) { in atr_t1_bwi()
947 for (i = 2; i < data->atr_nti; i++) { in atr_t1_bwi()
948 if (data->atr_ti[i].atrti_protocol == ATR_PROTOCOL_T1) { in atr_t1_bwi()
949 if ((data->atr_ti[i].atrti_flags & ATR_TI_HAVE_TB) != in atr_t1_bwi()
951 uint8_t tb = data->atr_ti[i].atrti_tb; in atr_t1_bwi()
963 atr_t1_ifsc(atr_data_t *data) in atr_t1_ifsc() argument
967 if (data->atr_nti <= 2) { in atr_t1_ifsc()
971 for (i = 2; i < data->atr_nti; i++) { in atr_t1_ifsc()
972 if (data->atr_ti[i].atrti_protocol == ATR_PROTOCOL_T1) { in atr_t1_ifsc()
973 if ((data->atr_ti[i].atrti_flags & ATR_TI_HAVE_TA) != in atr_t1_ifsc()
975 return (data->atr_ti[i].atrti_ta); in atr_t1_ifsc()
1013 atr_data_rate(atr_data_t *data, ccid_class_descr_t *class, uint32_t *rates, in atr_data_rate() argument
1022 if ((data->atr_flags & ATR_F_VALID) == 0) in atr_data_rate()
1025 di = atr_di_index(data); in atr_data_rate()
1026 fi = atr_fi_index(data); in atr_data_rate()
1031 negotiable = atr_params_negotiable(data); in atr_data_rate()
1096 atr_data_reset(atr_data_t *data) in atr_data_reset() argument
1098 bzero(data, sizeof (*data)); in atr_data_reset()
1109 atr_data_free(atr_data_t *data) in atr_data_free() argument
1111 kmem_free(data, sizeof (atr_data_t)); in atr_data_free()
1285 atr_data_free(atr_data_t *data) in atr_data_free() argument
1287 if (data == NULL) in atr_data_free()
1289 free(data); in atr_data_free()
1496 atr_data_hexdump_historical(atr_data_t *data, FILE *out) in atr_data_hexdump_historical() argument
1500 atr_data_hexdump(data->atr_historic, data->atr_nhistoric, out); in atr_data_hexdump_historical()
1504 atr_data_dump_historical(atr_data_t *data, FILE *out) in atr_data_dump_historical() argument
1508 (void) fprintf(out, "Historic Data: %u bytes", data->atr_nhistoric); in atr_data_dump_historical()
1509 if (data->atr_nhistoric == 0) { in atr_data_dump_historical()
1514 cat = data->atr_historic[0]; in atr_data_dump_historical()
1522 atr_data_hexdump_historical(data, out); in atr_data_dump_historical()
1526 atr_data_hexdump_historical(data, out); in atr_data_dump_historical()
1532 atr_data_dump(atr_data_t *data, FILE *out) in atr_data_dump() argument
1535 if ((data->atr_flags & ATR_F_VALID) == 0) in atr_data_dump()
1538 (void) fprintf(out, "TS 0x%02u - ", data->atr_raw[0]); in atr_data_dump()
1539 if (data->atr_flags & ATR_F_USES_DIRECT) { in atr_data_dump()
1546 for (i = 0; i < data->atr_nti; i++) { in atr_data_dump()
1547 atr_ti_t *atp = &data->atr_ti[i]; in atr_data_dump()
1558 data->atr_ti[i - 1].atrti_protocol) { in atr_data_dump()
1570 data->atr_raw[atp->atrti_td_idx]); in atr_data_dump()
1574 data->atr_nhistoric); in atr_data_dump()
1594 atr_data_dump_historical(data, out); in atr_data_dump()
1596 if (data->atr_flags & ATR_F_HAS_CHECKSUM) { in atr_data_dump()
1597 (void) fprintf(out, "TCK 0x%02x\n", data->atr_cksum); in atr_data_dump()