The FreeRADIUS server $Id: a4e7f8c94e8038b7627bcf52356b7ed15955c1d7 $
Loading...
Searching...
No Matches
interpret_priv.h
Go to the documentation of this file.
1#pragma once
2/*
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2, or (at your option)
6 * any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software Foundation,
15 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 */
17
18/**
19 * $Id: 638d1e94a0c9b0b57708b63babcfcad2ce66aae4 $
20 *
21 * @file unlang/interpret_priv.h
22 * @brief Private declarations for the unlang interpreter.
23 *
24 * @copyright 2021 The FreeRADIUS server project
25 */
26
27#include <freeradius-devel/util/event.h>
28#include <freeradius-devel/unlang/interpret.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34/** el_self ties the lifetime of the event list to the interpreter
35 *
36 * The block is a child of the event list. When the event list is freed, the block removes the event list
37 * from the interpreter, so that the interpreter does not use a freed event list.
38 */
41 unlang_interpret_t **p_self; //!< Child of the event list, which points back to us.
43 void *uctx;
44};
45
52
53#ifdef __cplusplus
54}
55#endif
static uint8_t request[4]
unlang_interpret_t * unlang_interpret_get(request_t *request)
Get the interpreter set for a request.
Definition interpret.c:2768
unlang_request_init_t init_internal
Function called to initialise an internal request.
Definition interpret.h:122
External functions provided by the owner of the interpret.
Definition interpret.h:116
fr_event_list_t * el
static void interpret_child_init(request_t *request)
unlang_request_func_t funcs
unlang_interpret_t ** p_self
Child of the event list, which points back to us.
el_self ties the lifetime of the event list to the interpreter
Stores all information relating to an event list.
Definition event.c:375