The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Data Structures | Variables
module_method.c File Reference

Central module_method_name_t definitions. More...

Go to the source code of this file.

Data Structures

struct  module_method_name_t
 Specifies a module method identifier. More...
 

Variables

module_method_name_t module_method_ippool_allocate
 
module_method_name_t module_method_ippool_extend
 
module_method_name_t module_method_ippool_mark
 
module_method_name_t module_method_ippool_release
 

Detailed Description

Central module_method_name_t definitions.

Id
8c3c3e27faf209f710ec00315f482147013cbb49

This file contains common module_method_t structures which may be referenced within a virtual_server_compile_t and a module_t.

This is partly for documentation, partly for boilerplate reducation and partly to minimise stupid typos and other screwups which'd lead to matches failing.

Referencing the same module_method_t in both the virtual server and the module allows for a potential fast path where we just compare the pointer values.

Definition in file module_method.c.


Data Structure Documentation

◆ module_method_name_t

struct module_method_name_t

Specifies a module method identifier.

These are used in module definitions and by virtual servers to find mutually acceptable module methods to call between a virtual server section and the module that's calling it.

For example, a send Access-Accept compilation structure may also have a ippool alloc method associated with it, to instruct any ippool modules to allocate an IP address.

Definition at line 36 of file module_method.c.

+ Collaboration diagram for module_method_name_t:
Data Fields
char const * name1 module method name1 which is allowed in this section
char const * name2 module method name2 which is allowed in this section
fr_dict_t const ** proto If none-null, restrict matches to this protocol.

i.e. if both the virtual server module_method_name and the module method have non-null proto pointers then *proto must be equal for the method name to match.

Variable Documentation

◆ module_method_ippool_allocate

module_method_name_t module_method_ippool_allocate
Initial value:
= {
.name1 = "ippool",
.name2 = "allocate"
}

Definition at line 47 of file module_method.c.

◆ module_method_ippool_extend

module_method_name_t module_method_ippool_extend
Initial value:
= {
.name1 = "ippool",
.name2 = "extend"
}

Definition at line 52 of file module_method.c.

◆ module_method_ippool_mark

module_method_name_t module_method_ippool_mark
Initial value:
= {
.name1 = "ippool",
.name2 = "mark"
}

Definition at line 57 of file module_method.c.

◆ module_method_ippool_release

module_method_name_t module_method_ippool_release
Initial value:
= {
.name1 = "ippool",
.name2 = "release"
}

Definition at line 62 of file module_method.c.