The FreeRADIUS server
$Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
Generate crontab events. More...
#include <netdb.h>
#include <fcntl.h>
#include <freeradius-devel/server/protocol.h>
#include <freeradius-devel/io/application.h>
#include <freeradius-devel/io/listen.h>
#include <freeradius-devel/io/schedule.h>
#include "lib/server/cf_util.h"
#include "proto_cron.h"
Go to the source code of this file.
Data Structures | |
struct | cron_tab_t |
struct | proto_cron_crontab_thread_t |
struct | proto_cron_tab_s |
Typedefs | |
typedef struct proto_cron_tab_s | proto_cron_crontab_t |
Functions | |
static void | do_cron (fr_event_list_t *el, fr_time_t now, void *uctx) |
static bool | get_next (struct tm *tm, cron_tab_t const *tab) |
static fr_client_t * | mod_client_find (fr_listen_t *li, UNUSED fr_ipaddr_t const *ipaddr, UNUSED int ipproto) |
static int | mod_decode (void const *instance, request_t *request, UNUSED uint8_t *const data, UNUSED size_t data_len) |
Decode the packet. More... | |
static void | mod_event_list_set (fr_listen_t *li, fr_event_list_t *el, void *nr) |
Set the event list for a new socket. More... | |
static int | mod_instantiate (module_inst_ctx_t const *mctx) |
static char const * | mod_name (fr_listen_t *li) |
static int | mod_open (fr_listen_t *li) |
Open a crontab listener. More... | |
static ssize_t | mod_read (fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time_p, uint8_t *buffer, size_t buffer_len, size_t *leftover) |
static ssize_t | mod_write (UNUSED fr_listen_t *li, UNUSED void *packet_ctx, UNUSED fr_time_t request_time, UNUSED uint8_t *buffer, size_t buffer_len, UNUSED size_t written) |
static int | parse_field (CONF_ITEM *ci, char const **start, char const *name, cron_tab_t *tab, unsigned int min, unsigned int max, size_t offset) |
static int | time_parse (TALLOC_CTX *ctx, void *out, UNUSED void *parent, CONF_ITEM *ci, conf_parser_t const *rule) |
static int | time_parse (UNUSED TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, UNUSED conf_parser_t const *rule) |
Checks the syntax of a cron job. More... | |
Variables | |
static const conf_parser_t | crontab_listen_config [] |
fr_app_io_t | proto_cron_crontab |
static fr_table_ptr_sorted_t | time_names [] |
static size_t | time_names_len = NUM_ELEMENTS(time_names) |
Generate crontab events.
Definition in file proto_cron_crontab.c.
struct cron_tab_t |
struct proto_cron_crontab_thread_t |
Definition at line 38 of file proto_cron_crontab.c.
Data Fields | ||
---|---|---|
bool | bootstrap | get it started |
fr_event_list_t * | el | event list |
fr_event_timer_t const * | ev | for writing statistics |
proto_cron_crontab_t const * | inst | |
char const * | name | socket name |
fr_network_t * | nr | network handler |
fr_listen_t * | parent | master IO handler |
fr_time_t | recv_time | when the timer hit. |
bool | suspended | we suspend reading from the FD. |
struct proto_cron_tab_s |
Definition at line 66 of file proto_cron_crontab.c.
Data Fields | ||
---|---|---|
fr_client_t * | client | static client |
int | code | |
CONF_SECTION * | cs | our configuration |
fr_dict_t const * | dict | our namespace. |
char const * | filename | where to read input packet from |
fr_pair_list_t | pair_list | for input packet |
proto_cron_t * | parent | |
char const * | spec | crontab spec |
cron_tab_t | tab[5] |
typedef struct proto_cron_tab_s proto_cron_crontab_t |
Definition at line 34 of file proto_cron_crontab.c.
|
static |
Definition at line 522 of file proto_cron_crontab.c.
|
static |
|
static |
Definition at line 682 of file proto_cron_crontab.c.
|
static |
Decode the packet.
Definition at line 431 of file proto_cron_crontab.c.
|
static |
Set the event list for a new socket.
[in] | li | the listener |
[in] | el | the event list |
[in] | nr | context from the network side |
Definition at line 662 of file proto_cron_crontab.c.
|
static |
|
static |
Definition at line 675 of file proto_cron_crontab.c.
|
static |
Open a crontab listener.
Definition at line 401 of file proto_cron_crontab.c.
|
static |
Definition at line 391 of file proto_cron_crontab.c.
|
static |
Definition at line 99 of file proto_cron_crontab.c.
|
static |
|
static |
Checks the syntax of a cron job.
[in] | ctx | to allocate data in (instance of proto_cron). |
[out] | out | Where to write a module_instance_t containing the module handle and instance. |
[in] | parent | Base structure address. |
[in] | ci | CONF_PAIR specifying the name of the type module. |
[in] | rule | unused. |
Definition at line 286 of file proto_cron_crontab.c.
|
static |
Definition at line 87 of file proto_cron_crontab.c.
fr_app_io_t proto_cron_crontab |
Definition at line 739 of file proto_cron_crontab.c.
|
static |
Definition at line 263 of file proto_cron_crontab.c.
|
static |
Definition at line 273 of file proto_cron_crontab.c.