Lines Matching full:card
22 * "Universal Serial Bus, Device Class: Smart Card"
293 CCIDCardState *card; member
323 * This device implemented based on the spec and with an Athena Smart Card
329 /* Smart Card Device Class Descriptor */
380 * 100000 USB Wake up signaling supported on card
490 static const uint8_t *ccid_card_get_atr(CCIDCardState *card, uint32_t *len) in ccid_card_get_atr() argument
492 CCIDCardClass *cc = CCID_CARD_GET_CLASS(card); in ccid_card_get_atr()
495 return cc->get_atr(card, len); in ccid_card_get_atr()
500 static void ccid_card_apdu_from_guest(CCIDCardState *card, in ccid_card_apdu_from_guest() argument
504 CCIDCardClass *cc = CCID_CARD_GET_CLASS(card); in ccid_card_apdu_from_guest()
507 cc->apdu_from_guest(card, apdu, len); in ccid_card_apdu_from_guest()
846 if (s->card) { in ccid_write_data_block_atr()
847 atr = ccid_card_get_atr(s->card, &len); in ccid_write_data_block_atr()
945 "usb-ccid: not sending apdu to client, no card connected\n"); in ccid_on_apdu_from_guest()
953 if (s->card && len <= BULK_OUT_DATA_SIZE) { in ccid_on_apdu_from_guest()
954 ccid_card_apdu_from_guest(s->card, recv->abData, len); in ccid_on_apdu_from_guest()
1183 void ccid_card_send_apdu_to_guest(CCIDCardState *card, in ccid_card_send_apdu_to_guest() argument
1186 DeviceState *qdev = DEVICE(card); in ccid_card_send_apdu_to_guest()
1207 void ccid_card_card_removed(CCIDCardState *card) in ccid_card_card_removed() argument
1209 DeviceState *qdev = DEVICE(card); in ccid_card_card_removed()
1218 int ccid_card_ccid_attach(CCIDCardState *card) in ccid_card_ccid_attach() argument
1220 DeviceState *qdev = DEVICE(card); in ccid_card_ccid_attach()
1228 void ccid_card_ccid_detach(CCIDCardState *card) in ccid_card_ccid_detach() argument
1230 DeviceState *qdev = DEVICE(card); in ccid_card_ccid_detach()
1241 void ccid_card_card_error(CCIDCardState *card, uint64_t error) in ccid_card_card_error() argument
1243 DeviceState *qdev = DEVICE(card); in ccid_card_card_error()
1252 * We flush all pending answers on CardRemove message in ccid-card-passthru, in ccid_card_card_error()
1260 void ccid_card_card_inserted(CCIDCardState *card) in ccid_card_card_inserted() argument
1262 DeviceState *qdev = DEVICE(card); in ccid_card_card_inserted()
1273 CCIDCardState *card = CCID_CARD(qdev); in ccid_card_unrealize() local
1274 CCIDCardClass *cc = CCID_CARD_GET_CLASS(card); in ccid_card_unrealize()
1279 ccid_card_card_removed(card); in ccid_card_unrealize()
1282 cc->unrealize(card); in ccid_card_unrealize()
1284 s->card = NULL; in ccid_card_unrealize()
1289 CCIDCardState *card = CCID_CARD(qdev); in ccid_card_realize() local
1290 CCIDCardClass *cc = CCID_CARD_GET_CLASS(card); in ccid_card_realize()
1295 if (card->slot != 0) { in ccid_card_realize()
1297 card->slot); in ccid_card_realize()
1300 if (s->card != NULL) { in ccid_card_realize()
1301 error_setg(errp, "usb-ccid card already full, not adding"); in ccid_card_realize()
1305 cc->realize(card, &local_err); in ccid_card_realize()
1311 s->card = card; in ccid_card_realize()
1324 s->card = NULL; in ccid_realize()