The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
proto_arp.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: 97c243014cc0689e0f802cb3f4acd8afbeae0a0c $
20  *
21  * @file proto_arp.h
22  * @brief Structures for the ARP protocol
23  *
24  * @copyright 2020 Network RADIUS SAS (legal@networkradius.com)
25  */
26 #include <freeradius-devel/io/listen.h>
27 #include <freeradius-devel/arp/arp.h>
28 
29 typedef struct {
30  CONF_SECTION *server_cs; //!< server CS for this listener
31  CONF_SECTION *cs; //!< my configuration
32 
33  module_instance_t *io_submodule; //!< As provided by the transport_parse
34  ///< callback. Broken out into the
35  ///< app_io_* fields below for convenience.
36 
37  module_instance_t *app_process; //!< app_process pointer
38  void *process_instance; //!< app_process instance
39 
40  fr_dict_t *dict; //!< root dictionary
41 
42  bool active; //!< do we respond to anything?
43  uint32_t num_messages; //!< for message ring buffer
44  uint32_t priority; //!< for packet processing, larger == higher
45 
46  fr_schedule_t *sc; //!< the scheduler, where we insert new readers
47 
48  fr_listen_t *listen; //!< The listener structure which describes
49  //!< the I/O path.
50 } proto_arp_t;
A section grouping multiple CONF_PAIR.
Definition: cf_priv.h:101
unsigned int uint32_t
Definition: merged_model.c:33
uint32_t num_messages
for message ring buffer
Definition: proto_arp.h:43
bool active
do we respond to anything?
Definition: proto_arp.h:42
fr_listen_t * listen
The listener structure which describes the I/O path.
Definition: proto_arp.h:48
module_instance_t * app_process
app_process pointer
Definition: proto_arp.h:37
fr_schedule_t * sc
the scheduler, where we insert new readers
Definition: proto_arp.h:46
uint32_t priority
for packet processing, larger == higher
Definition: proto_arp.h:44
void * process_instance
app_process instance
Definition: proto_arp.h:38
module_instance_t * io_submodule
As provided by the transport_parse callback.
Definition: proto_arp.h:33
CONF_SECTION * cs
my configuration
Definition: proto_arp.h:31
fr_dict_t * dict
root dictionary
Definition: proto_arp.h:40
CONF_SECTION * server_cs
server CS for this listener
Definition: proto_arp.h:30
The scheduler.
Definition: schedule.c:125
Module instance data.
Definition: module.h:265