The FreeRADIUS server
$Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
src
listen
dhcpv6
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: 5ba743809b2e530a89ba242cf15b9fb51387d4a1 $
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
*/
32
typedef
struct
{
33
fr_io_instance_t
io
;
//!< wrapper for IO abstraction
34
35
char
const
**
allowed_types
;
//!< names for for 'type = ...'
36
bool
allowed[
FR_DHCPV6_CODE_MAX
];
//!< indexed by value
37
38
uint32_t
max_packet_size
;
//!< for message ring buffer.
39
uint32_t
num_messages
;
//!< for message ring buffer.
40
41
uint32_t
priorities[
FR_DHCPV6_CODE_MAX
];
//!< priorities for individual packets
42
}
proto_dhcpv6_t
;
43
44
/*
45
* Shorter version of the packet for deduping
46
*/
47
typedef
struct
{
48
uint32_t
header
;
49
size_t
client_id_len
;
50
uint8_t
client_id[];
51
}
proto_dhcpv6_track_t
;
FR_DHCPV6_CODE_MAX
@ FR_DHCPV6_CODE_MAX
Definition:
dhcpv6.h:103
fr_io_instance_t
The master IO instance.
Definition:
master.h:72
uint32_t
unsigned int uint32_t
Definition:
merged_model.c:33
uint8_t
unsigned char uint8_t
Definition:
merged_model.c:30
proto_dhcpv6_t::io
fr_io_instance_t io
wrapper for IO abstraction
Definition:
proto_dhcpv6.h:33
proto_dhcpv6_t::max_packet_size
uint32_t max_packet_size
for message ring buffer.
Definition:
proto_dhcpv6.h:38
proto_dhcpv6_t::num_messages
uint32_t num_messages
for message ring buffer.
Definition:
proto_dhcpv6.h:39
proto_dhcpv6_track_t::client_id_len
size_t client_id_len
Definition:
proto_dhcpv6.h:49
proto_dhcpv6_t::allowed_types
char const ** allowed_types
names for for 'type = ...'
Definition:
proto_dhcpv6.h:35
proto_dhcpv6_track_t::header
uint32_t header
Definition:
proto_dhcpv6.h:48
proto_dhcpv6_t
An instance of a proto_dhcpv6 listen section.
Definition:
proto_dhcpv6.h:32
proto_dhcpv6_track_t
Definition:
proto_dhcpv6.h:47
Generated by
1.9.1