24 #include <freeradius-devel/server/protocol.h>
25 #include <freeradius-devel/util/debug.h>
61 #define FR_TEST_CODE_MAX (2)
63 #define FR_TEST_PACKET_CODE_VALID(_code) ((_code == FR_TEST_REQUEST) || (_code == FR_TEST_REPLY))
65 #define PROCESS_PACKET_TYPE fr_test_packet_code_t
66 #define PROCESS_CODE_MAX FR_TEST_CODE_MAX
67 #define PROCESS_PACKET_CODE_VALID FR_TEST_PACKET_CODE_VALID
68 #define PROCESS_INST process_test_t
69 #include <freeradius-devel/server/process.h>
76 .resume = resume_recv_generic,
83 .resume = resume_send_generic,
90 fr_process_state_t
const *state;
97 request->component =
"test";
98 request->module = NULL;
101 UPDATE_STATE(packet);
103 return state->recv(p_result, mctx, request);
110 .offset = PROCESS_CONF_OFFSET(recv_request),
unlang_action_t
Returned by unlang_op_t calls, determine the next action of the interpreter.
A section grouping multiple CONF_PAIR.
fr_dict_attr_t const ** out
Where to write a pointer to the resolved fr_dict_attr_t.
fr_dict_t const ** out
Where to write a pointer to the loaded/resolved fr_dict_t.
Specifies an attribute which must be present for the module to function.
Specifies a dictionary which must be loaded/loadable for the module to function.
#define MODULE_MAGIC_INIT
Stop people using different module/library/server versions together.
fr_dict_attr_t const * attr_packet_type
@ FR_TYPE_UINT32
32 Bit unsigned integer.
unlang_mod_actions_t const mod_actions_postauth
module_instance_t const * mi
Instance of the module being instantiated.
Temporary structure to hold arguments for module calls.
static unlang_action_t mod_process(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
fr_dict_autoload_t process_test_dict[]
static fr_dict_t const * dict_test
fr_process_module_t process_test
static const virtual_server_compile_t compile_list[]
CONF_SECTION * recv_request
CONF_SECTION * send_reply
static fr_process_state_t const process_state[]
fr_dict_attr_autoload_t process_test_dict_attr[]
process_test_sections_t sections
#define PROCESS_PACKET_CODE_VALID
#define PROCESS_TRACE
Trace each state function as it's entered.
module_t common
Common fields for all loadable modules.
Common public symbol definition for all process modules.
static void send_reply(int sockfd, fr_channel_data_t *reply)
rlm_rcode_t
Return codes indicating the result of the module call.
@ RLM_MODULE_NOOP
Module succeeded without doing anything.
#define SECTION_NAME(_name1, _name2)
Define a section name consisting of a verb and a noun.
void * data
Module's instance data.
#define talloc_get_type_abort_const
#define COMPILE_TERMINATOR
section_name_t const * section
Identifier for the section.
Processing sections which are allowed in this virtual server.