Lines Matching refs:key

142 static void u2f_key_reset(U2FKeyState *key)  in u2f_key_reset()  argument
144 key->pending_in_start = 0; in u2f_key_reset()
145 key->pending_in_end = 0; in u2f_key_reset()
146 key->pending_in_num = 0; in u2f_key_reset()
151 U2FKeyState *key = U2F_KEY(dev); in u2f_key_handle_reset() local
153 u2f_key_reset(key); in u2f_key_handle_reset()
159 U2FKeyState *key = U2F_KEY(dev); in u2f_key_handle_control() local
180 data[0] = key->idle; in u2f_key_handle_control()
184 key->idle = (uint8_t)(value >> 8); in u2f_key_handle_control()
194 static void u2f_key_recv_from_guest(U2FKeyState *key, USBPacket *p) in u2f_key_recv_from_guest() argument
196 U2FKeyClass *kc = U2F_KEY_GET_CLASS(key); in u2f_key_recv_from_guest()
204 kc->recv_from_guest(key, packet); in u2f_key_recv_from_guest()
207 static void u2f_pending_in_add(U2FKeyState *key, in u2f_pending_in_add() argument
212 if (key->pending_in_num >= U2FHID_PENDING_IN_NUM) { in u2f_pending_in_add()
216 index = key->pending_in_end; in u2f_pending_in_add()
217 key->pending_in_end = (index + 1) % U2FHID_PENDING_IN_NUM; in u2f_pending_in_add()
218 ++key->pending_in_num; in u2f_pending_in_add()
220 memcpy(key->pending_in[index], packet, U2FHID_PACKET_SIZE); in u2f_pending_in_add()
223 static uint8_t *u2f_pending_in_get(U2FKeyState *key) in u2f_pending_in_get() argument
227 if (key->pending_in_num == 0) { in u2f_pending_in_get()
231 index = key->pending_in_start; in u2f_pending_in_get()
232 key->pending_in_start = (index + 1) % U2FHID_PENDING_IN_NUM; in u2f_pending_in_get()
233 --key->pending_in_num; in u2f_pending_in_get()
235 return key->pending_in[index]; in u2f_pending_in_get()
240 U2FKeyState *key = U2F_KEY(dev); in u2f_key_handle_data() local
251 u2f_key_recv_from_guest(key, p); in u2f_key_handle_data()
254 packet_in = u2f_pending_in_get(key); in u2f_key_handle_data()
267 void u2f_send_to_guest(U2FKeyState *key, in u2f_send_to_guest() argument
270 u2f_pending_in_add(key, packet); in u2f_send_to_guest()
271 usb_wakeup(key->ep, 0); in u2f_send_to_guest()
276 U2FKeyState *key = U2F_KEY(dev); in u2f_key_unrealize() local
277 U2FKeyClass *kc = U2F_KEY_GET_CLASS(key); in u2f_key_unrealize()
280 kc->unrealize(key); in u2f_key_unrealize()
286 U2FKeyState *key = U2F_KEY(dev); in u2f_key_realize() local
287 U2FKeyClass *kc = U2F_KEY_GET_CLASS(key); in u2f_key_realize()
292 u2f_key_reset(key); in u2f_key_realize()
295 kc->realize(key, &local_err); in u2f_key_realize()
301 key->ep = usb_ep_get(dev, USB_TOKEN_IN, 1); in u2f_key_realize()