eap_fast_pac.h revision 8d520ff1dc2da35cdca849e982051b86468016d8
1/* 2 * EAP peer method: EAP-FAST PAC file processing 3 * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8 * 9 * Alternatively, this software may be distributed under the terms of BSD 10 * license. 11 * 12 * See README and COPYING for more details. 13 */ 14 15#ifndef EAP_FAST_PAC_H 16#define EAP_FAST_PAC_H 17 18#include "eap_common/eap_fast_common.h" 19 20struct eap_fast_pac { 21 struct eap_fast_pac *next; 22 23 u8 pac_key[EAP_FAST_PAC_KEY_LEN]; 24 u8 *pac_opaque; 25 size_t pac_opaque_len; 26 u8 *pac_info; 27 size_t pac_info_len; 28 u8 *a_id; 29 size_t a_id_len; 30 u8 *i_id; 31 size_t i_id_len; 32 u8 *a_id_info; 33 size_t a_id_info_len; 34 u16 pac_type; 35}; 36 37 38void eap_fast_free_pac(struct eap_fast_pac *pac); 39struct eap_fast_pac * eap_fast_get_pac(struct eap_fast_pac *pac_root, 40 const u8 *a_id, size_t a_id_len, 41 u16 pac_type); 42int eap_fast_add_pac(struct eap_fast_pac **pac_root, 43 struct eap_fast_pac **pac_current, 44 struct eap_fast_pac *entry); 45int eap_fast_load_pac(struct eap_sm *sm, struct eap_fast_pac **pac_root, 46 const char *pac_file); 47int eap_fast_save_pac(struct eap_sm *sm, struct eap_fast_pac *pac_root, 48 const char *pac_file); 49size_t eap_fast_pac_list_truncate(struct eap_fast_pac *pac_root, 50 size_t max_len); 51int eap_fast_load_pac_bin(struct eap_sm *sm, struct eap_fast_pac **pac_root, 52 const char *pac_file); 53int eap_fast_save_pac_bin(struct eap_sm *sm, struct eap_fast_pac *pac_root, 54 const char *pac_file); 55 56#endif /* EAP_FAST_PAC_H */ 57