The FreeRADIUS server $Id: f3670dba8951ca10eb4948feb3dc3db9423a334f $
Loading...
Searching...
No Matches
proto_dhcpv6.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 of the License, or
6 * (at your option) 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
15 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
16 */
17
18/*
19 * $Id: ecdbedc4c35ec21e0085403af9c400d92b54d73f $
20 *
21 * @file proto_dhcpv6.h
22 * @brief Structures for the DHCPV6 protocol
23 *
24 * @copyright 2020 Network RADIUS SAS (legal@networkradius.com)
25 */
26#include <freeradius-devel/io/master.h>
27#include <freeradius-devel/dhcpv6/dhcpv6.h>
28
29/** An instance of a proto_dhcpv6 listen section
30 *
31 */
32typedef struct {
33 fr_io_instance_t io; //!< wrapper for IO abstraction
34
35 char const *server_id_str; //!< string value
36 fr_pair_t *server_id_pair; //!< value-pair of the server ID
37 uint8_t const *server_id; //!< encoded value
38
39 char const **allowed_types; //!< names for for 'type = ...'
40 bool allowed[FR_DHCPV6_CODE_MAX]; //!< indexed by value
41
42 uint32_t max_packet_size; //!< for message ring buffer.
43 uint32_t num_messages; //!< for message ring buffer.
44
45 uint32_t priorities[FR_DHCPV6_CODE_MAX]; //!< priorities for individual packets
47
48/*
49 * Shorter version of the packet for deduping
50 */
51typedef struct {
54 uint8_t client_id[];
@ FR_DHCPV6_CODE_MAX
Definition dhcpv6.h:103
The master IO instance.
Definition master.h:73
unsigned int uint32_t
unsigned char uint8_t
fr_io_instance_t io
wrapper for IO abstraction
uint8_t const * server_id
encoded value
uint32_t max_packet_size
for message ring buffer.
uint32_t num_messages
for message ring buffer.
fr_pair_t * server_id_pair
value-pair of the server ID
char const ** allowed_types
names for for 'type = ...'
char const * server_id_str
string value
An instance of a proto_dhcpv6 listen section.
Stores an attribute, a value and various bits of other data.
Definition pair.h:68