Lines Matching refs:ptksa

18 	struct dl_list ptksa;  member
24 static void ptksa_cache_set_expiration(struct ptksa_cache *ptksa);
27 static void ptksa_cache_free_entry(struct ptksa_cache *ptksa, in ptksa_cache_free_entry() argument
30 ptksa->n_ptksa--; in ptksa_cache_free_entry()
39 struct ptksa_cache *ptksa = eloop_ctx; in ptksa_cache_expire() local
43 if (!ptksa) in ptksa_cache_expire()
48 dl_list_for_each_safe(e, next, &ptksa->ptksa, in ptksa_cache_expire()
59 ptksa_cache_free_entry(ptksa, e); in ptksa_cache_expire()
62 ptksa_cache_set_expiration(ptksa); in ptksa_cache_expire()
66 static void ptksa_cache_set_expiration(struct ptksa_cache *ptksa) in ptksa_cache_set_expiration() argument
72 eloop_cancel_timeout(ptksa_cache_expire, ptksa, NULL); in ptksa_cache_set_expiration()
74 if (!ptksa || !ptksa->n_ptksa) in ptksa_cache_set_expiration()
77 e = dl_list_first(&ptksa->ptksa, struct ptksa_cache_entry, list); in ptksa_cache_set_expiration()
86 eloop_register_timeout(sec + 1, 0, ptksa_cache_expire, ptksa, NULL); in ptksa_cache_set_expiration()
97 struct ptksa_cache *ptksa = os_zalloc(sizeof(struct ptksa_cache)); in ptksa_cache_init() local
101 if (ptksa) in ptksa_cache_init()
102 dl_list_init(&ptksa->ptksa); in ptksa_cache_init()
104 return ptksa; in ptksa_cache_init()
112 void ptksa_cache_deinit(struct ptksa_cache *ptksa) in ptksa_cache_deinit() argument
116 if (!ptksa) in ptksa_cache_deinit()
119 wpa_printf(MSG_DEBUG, "PTKSA: Deinit. n_ptksa=%u", ptksa->n_ptksa); in ptksa_cache_deinit()
121 dl_list_for_each_safe(e, next, &ptksa->ptksa, in ptksa_cache_deinit()
123 ptksa_cache_free_entry(ptksa, e); in ptksa_cache_deinit()
125 eloop_cancel_timeout(ptksa_cache_expire, ptksa, NULL); in ptksa_cache_deinit()
126 os_free(ptksa); in ptksa_cache_deinit()
137 struct ptksa_cache_entry * ptksa_cache_get(struct ptksa_cache *ptksa, in ptksa_cache_get() argument
142 if (!ptksa) in ptksa_cache_get()
145 dl_list_for_each(e, &ptksa->ptksa, struct ptksa_cache_entry, list) { in ptksa_cache_get()
165 int ptksa_cache_list(struct ptksa_cache *ptksa, char *buf, size_t len) in ptksa_cache_list() argument
172 if (!ptksa) in ptksa_cache_list()
183 dl_list_for_each(e, &ptksa->ptksa, struct ptksa_cache_entry, list) { in ptksa_cache_list()
233 void ptksa_cache_flush(struct ptksa_cache *ptksa, const u8 *addr, u32 cipher) in ptksa_cache_flush() argument
238 if (!ptksa) in ptksa_cache_flush()
241 dl_list_for_each_safe(e, next, &ptksa->ptksa, struct ptksa_cache_entry, in ptksa_cache_flush()
249 ptksa_cache_free_entry(ptksa, e); in ptksa_cache_flush()
255 ptksa_cache_set_expiration(ptksa); in ptksa_cache_flush()
276 struct ptksa_cache_entry * ptksa_cache_add(struct ptksa_cache *ptksa, in ptksa_cache_add() argument
289 if (!ptksa || !ptk || !addr || !life_time || cipher == WPA_CIPHER_NONE) in ptksa_cache_add()
293 ptksa_cache_flush(ptksa, addr, cipher); in ptksa_cache_add()
296 if (ptksa->n_ptksa >= PTKSA_CACHE_MAX_ENTRIES) in ptksa_cache_add()
318 dl_list_for_each(tmp, &ptksa->ptksa, struct ptksa_cache_entry, list) { in ptksa_cache_add()
335 dl_list_add_tail(&ptksa->ptksa, &entry->list); in ptksa_cache_add()
337 ptksa->n_ptksa++; in ptksa_cache_add()
343 ptksa_cache_set_expiration(ptksa); in ptksa_cache_add()
356 void ptksa_cache_deinit(struct ptksa_cache *ptksa) in ptksa_cache_deinit() argument
362 ptksa_cache_get(struct ptksa_cache *ptksa, const u8 *addr, u32 cipher) in ptksa_cache_get() argument
368 int ptksa_cache_list(struct ptksa_cache *ptksa, char *buf, size_t len) in ptksa_cache_list() argument
375 ptksa_cache_add(struct ptksa_cache *ptksa, const u8 *own_addr, const u8 *addr, in ptksa_cache_add() argument
383 void ptksa_cache_flush(struct ptksa_cache *ptksa, const u8 *addr, u32 cipher) in ptksa_cache_flush() argument