ISC DHCP 4.4.3
A reference DHCPv4 and DHCPv6 implementation
statement.h
Go to the documentation of this file.
1/* statement.h
2
3 Definitions for executable statements... */
4
5/*
6 * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
7 * Copyright (c) 1996-2003 by Internet Software Consortium
8 *
9 * This Source Code Form is subject to the terms of the Mozilla Public
10 * License, v. 2.0. If a copy of the MPL was not distributed with this
11 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 *
13 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
14 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
15 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
16 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
17 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
18 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
19 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 *
21 * Internet Systems Consortium, Inc.
22 * PO Box 360
23 * Newmarket, NH 03857 USA
24 * <info@isc.org>
25 * https://www.isc.org/
26 *
27 */
28
30 int refcnt;
56 } op;
57 union {
58 struct {
61 } ie;
64 struct class *add;
70 struct {
72# define ON_COMMIT 1
73# define ON_EXPIRY 2
74# define ON_RELEASE 4
75# define ON_TRANSMISSION 8
77 } on;
78 struct {
79 struct expression *expr;
83 struct {
84 char *name;
85 struct expression *expr;
87 } set, let;
88 char *unset;
89 struct {
90 enum {
96 struct expression *expr;
97 } log;
98 struct {
99 char *command;
101 int argc;
104};
Definition: dhcpd.h:1102
struct executable_statement::@7::@11 let
struct expression * eval
Definition: statement.h:62
struct executable_statement::@7::@10 s_switch
enum executable_statement::statement_op op
struct executable_statement * tc
Definition: statement.h:59
struct option_cache * supersede
Definition: statement.h:66
struct executable_statement::@7::@11 set
struct option_cache * prepend
Definition: statement.h:67
struct executable_statement::@7::@8 ie
struct executable_statement::@7::@9 on
struct expression * retval
Definition: statement.h:63
struct expression * c_case
Definition: statement.h:82
struct option_cache * option
Definition: statement.h:65
struct executable_statement::@7::@13 execute
struct executable_statement::@7::@12 log
union executable_statement::@7 data
struct expression * arglist
Definition: statement.h:100
struct executable_statement * next
Definition: statement.h:31
struct executable_statement * fc
Definition: statement.h:59
struct executable_statement * statements
Definition: statement.h:69
struct expression * expr
Definition: statement.h:60
struct option_cache * append
Definition: statement.h:68
enum executable_statement::@7::@12::@14 priority
struct class * add
Definition: statement.h:64