The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
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  */
26 RCSIDH(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
32 extern "C" {
33 #endif
34 
35 typedef 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
50 } proto_load_t;
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:445
A section grouping multiple CONF_PAIR.
Definition: cf_priv.h:89
The master IO instance.
Definition: master.h:72
unsigned int uint32_t
Definition: merged_model.c:33
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