26 RCSIDH(modules_h,
"$Id: 04e1618633db734ed80fb9f89782cf2056fbf84e $")
28 #include <freeradius-devel/conffile.h>
29 #include <freeradius-devel/features.h>
30 #include <freeradius-devel/connection.h>
75 #define RLM_TYPE_THREAD_SAFE (0 << 0)
76 #define RLM_TYPE_THREAD_UNSAFE (1 << 0)
79 #define RLM_TYPE_HUP_SAFE (1 << 2)
86 #define RLM_MODULE_INIT RADIUSD_MAGIC_NUMBER
179 # define MODULE_NULL_COA_FUNCS ,NULL,NULL
181 # define MODULE_NULL_COA_FUNCS
5 methods index for preproxy section.
int(* detach_t)(void *instance)
Module detach callback.
rlm_rcode_t process_authorize(int type, REQUEST *request)
packetmethod methods[MOD_COUNT]
Pointers to the various section functions.
int attr
Attribute number.
struct section_type_value_t section_type_value_t
Map a section name, to a section typename, to an attribute number.
Metadata exported by the module.
rlm_rcode_t process_send_coa(int type, REQUEST *request)
int(* fr_connection_alive_t)(void *opaque, void *connection)
Check a connection handle is still viable.
CONF_PARSER const * config
Configuration information.
7 methods index for postauth section.
rlm_rcode_t process_post_auth(int type, REQUEST *request)
int virtual_servers_init(CONF_SECTION *config)
int(* instantiate_t)(CONF_SECTION *mod_cs, void *instance)
Module instantiation callback.
rlm_rcode_t indexed_modcall(rlm_components_t comp, int idx, REQUEST *request)
int modules_hup(CONF_SECTION *modules)
rlm_rcode_t process_recv_coa(int type, REQUEST *request)
int virtual_servers_bootstrap(CONF_SECTION *config)
Defines a CONF_PAIR to C data type mapping.
struct module_t module_t
Metadata exported by the module.
instantiate_t instantiate
Function to use for instantiation.
const FR_NAME_NUMBER mod_rcode_table[]
int modules_init(CONF_SECTION *)
Instantiate the modules.
fr_connection_pool_t * module_connection_pool_init(CONF_SECTION *module, void *opaque, fr_connection_create_t c, fr_connection_alive_t a, char const *prefix)
Initialise a module specific connection pool.
static int comp(void const *a, void const *b)
rlm_rcode_t process_authenticate(int type, REQUEST *request)
4 methods index for checksimul section.
3 methods index for accounting section.
rlm_rcode_t process_accounting(int type, REQUEST *request)
const section_type_value_t section_type_value[]
Mappings between section names, typenames and control attributes.
rlm_rcode_t process_pre_proxy(int type, REQUEST *request)
rlm_rcode_t process_post_proxy(int type, REQUEST *request)
0 methods index for authenticate section.
enum rlm_rcodes rlm_rcode_t
Return codes indicating the result of the module call.
detach_t detach
Function to use to free module instance.
rlm_rcode_t module_preacct(REQUEST *request)
10 how many components there are.
static char const * prefix
uint64_t magic
Used to validate module struct.
rlm_rcode_t(* packetmethod)(void *instance, REQUEST *request)
Module section callback.
size_t inst_size
Size of the instance data.
int process_checksimul(int type, REQUEST *request, int maxsimul)
enum rlm_components rlm_components_t
The different section components of the server.
int type
One or more of the RLM_TYPE_* constants.
rlm_components
The different section components of the server.
int modules_bootstrap(CONF_SECTION *)
6 methods index for postproxy section.
2 methods index for preacct section.
char const * name
The name of the module (without rlm_ prefix).
8 methods index for recvcoa section.
Map a section name, to a section typename, to an attribute number.
9 methods index for sendcoa section.
1 methods index for authorize section.
instantiate_t bootstrap
register dynamic attrs, etc.
void *(* fr_connection_create_t)(TALLOC_CTX *ctx, void *opaque, struct timeval const *timeout)
Create a new connection handle.
char const * section
Section name e.g. "Authorize".