The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Loading...
Searching...
No Matches
proto_load.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 loads.
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: 2a6dcbe2b18b4ed6541e9ae04fd79c5edbc9ccb1 $
20 *
21 * @file proto_load.h
22 * @brief Load master protocol handler.
23 *
24 * @copyright 2017 Alan DeKok (alan@freeradius.org)
25 */
26RCSIDH(proto_load_h, "$Id: 2a6dcbe2b18b4ed6541e9ae04fd79c5edbc9ccb1 $")
27
28#include <freeradius-devel/server/module_rlm.h>
29#include <freeradius-devel/io/master.h>
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35typedef struct {
36 fr_io_instance_t io; //!< wrapper for IO abstraction
37
38 CONF_SECTION *server_cs; //!< server CS for this listener
39 CONF_SECTION *cs; //!< my configuration
40 fr_app_t *self; //!< child / parent linking issues
41 char const *type; //!< packet type name
42
43 fr_dict_t const *dict; //!< root dictionary
45
46 uint32_t code; //!< packet code to use for incoming packets
47 uint32_t max_packet_size; //!< for message ring buffer
48 uint32_t num_messages; //!< for message ring buffer
49 uint32_t priority; //!< for packet processing, larger == higher
51
52#include <pthread.h>
53
54#ifdef __cplusplus
55}
56#endif
Describes a new application (protocol)
Definition application.h:71
#define RCSIDH(h, id)
Definition build.h:484
A section grouping multiple CONF_PAIR.
Definition cf_priv.h:101
The master IO instance.
Definition master.h:72
unsigned int uint32_t
fr_app_t * self
child / parent linking issues
Definition proto_load.h:40
CONF_SECTION * server_cs
server CS for this listener
Definition proto_load.h:38
uint32_t priority
for packet processing, larger == higher
Definition proto_load.h:49
fr_dict_t const * dict
root dictionary
Definition proto_load.h:43
uint32_t code
packet code to use for incoming packets
Definition proto_load.h:46
fr_dict_attr_t const * attr_packet_type
Definition proto_load.h:44
uint32_t num_messages
for message ring buffer
Definition proto_load.h:48
char const * type
packet type name
Definition proto_load.h:41
uint32_t max_packet_size
for message ring buffer
Definition proto_load.h:47
CONF_SECTION * cs
my configuration
Definition proto_load.h:39
fr_io_instance_t io
wrapper for IO abstraction
Definition proto_load.h:36