The FreeRADIUS server
$Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
src
listen
vmps
proto_vmps.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: babc1563ea4baffe76f6125faff5f49257d2d161 $
20
*
21
* @file proto_vmps.h
22
* @brief Structures for the VMPS protocol
23
*
24
* @copyright 2018 Alan DeKok (aland@freeradius.org)
25
*/
26
#include <freeradius-devel/io/master.h>
27
#include <freeradius-devel/vmps/vmps.h>
28
29
/** An instance of a proto_vmps 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_VMPS_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_VMPS_CODE_MAX
];
//!< priorities for individual packets
42
}
proto_vmps_t
;
43
44
/*
45
* Shorter version of the packet for deduping
46
*/
47
typedef
struct
{
48
uint32_t
transaction_id
;
49
uint8_t
opcode
;
50
}
proto_vmps_track_t
;
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_vmps_track_t::transaction_id
uint32_t transaction_id
Definition:
proto_vmps.h:48
proto_vmps_t::max_packet_size
uint32_t max_packet_size
for message ring buffer.
Definition:
proto_vmps.h:38
proto_vmps_t::io
fr_io_instance_t io
wrapper for IO abstraction
Definition:
proto_vmps.h:33
proto_vmps_track_t::opcode
uint8_t opcode
Definition:
proto_vmps.h:49
proto_vmps_t::allowed_types
char const ** allowed_types
names for for 'type = ...'
Definition:
proto_vmps.h:35
proto_vmps_t::num_messages
uint32_t num_messages
for message ring buffer.
Definition:
proto_vmps.h:39
proto_vmps_t
An instance of a proto_vmps listen section.
Definition:
proto_vmps.h:32
proto_vmps_track_t
Definition:
proto_vmps.h:47
FR_VMPS_CODE_MAX
@ FR_VMPS_CODE_MAX
Definition:
vmps.h:54
Generated by
1.9.1