1 #ifndef FR_STATE_H 2 #define FR_STATE_H 3 4 /* 5 * state.h handle multi-packet state 6 * 7 * Version: $Id: d9b47a0605e24528839ed65e51bf084ff26943b9 $ 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 22 * 23 * Copyright 2014 The FreeRADIUS server project 24 * Copyright 2014 Alan DeKok <aland@deployingradius.com> 25 */ 26 27 RCSIDH(state_h, "$Id: d9b47a0605e24528839ed65e51bf084ff26943b9 $") 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 typedef struct fr_state_t fr_state_t; 34 35 fr_state_t *fr_state_init(TALLOC_CTX *ctx); 36 void fr_state_delete(fr_state_t *state); 37 38 void fr_state_discard(REQUEST *request, RADIUS_PACKET *original); 39 40 void fr_state_get_vps(REQUEST *request, RADIUS_PACKET *packet); 41 bool fr_state_put_vps(REQUEST *request, RADIUS_PACKET *original, RADIUS_PACKET *packet); 42 43 #ifdef __cplusplus 44 } 45 #endif 46 47 #endif /* FR_HASH_H */ 48