The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
transaction_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: 315ca349969bbd2dd76ac1edaefc9dc44b641d88 $
20  *
21  * @file unlang/transaction_priv.h
22  * @brief Declarations for unlang transactions
23  *
24  * @copyright 2023 Network RADIUS SAS (legal@networkradius.com)
25  */
26 #include "unlang_priv.h"
27 #include <freeradius-devel/util/edit.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 typedef struct {
36 
37 /** A transaction stack entry
38  */
39 typedef struct {
40  fr_edit_list_t *el; //!< my edit list
42 
43 /** Cast a group structure to the transaction keyword extension
44  *
45  */
47 {
48  return talloc_get_type_abort(g, unlang_transaction_t);
49 }
50 
51 /** Cast a transaction keyword extension to a group structure
52  *
53  */
55 {
56  return (unlang_group_t *)to;
57 }
58 
59 #ifdef __cplusplus
60 }
61 #endif
unlang_group_t group
fr_edit_list_t * el
my edit list
static unlang_transaction_t * unlang_group_to_transaction(unlang_group_t *g)
Cast a group structure to the transaction keyword extension.
static unlang_group_t * unlang_transaction_to_group(unlang_transaction_t *to)
Cast a transaction keyword extension to a group structure.
A transaction stack entry.
Private interpreter structures and functions.
Generic representation of a grouping.
Definition: unlang_priv.h:155
Track a series of edits.
Definition: edit.c:102