26RCSIDH(exfile_h,
"$Id: 144a532f67131130c1282bf05934108f89d18bab $")
28#include <freeradius-devel/server/request.h>
44int
exfile_open(
exfile_t *lf,
char const *filename, mode_t permissions,
int flags, off_t *offset);
49void __coverity_exclusive_lock_acquire__(
void *);
50void __coverity_exclusive_lock_release__(
void *);
53#ifndef _EXFILE_PRIVATE
68# define exfile_open(_ef, ...) ({ \
69 int _fd = (exfile_open)(_ef, __VA_ARGS__); \
70 if (_fd >= 0) __coverity_exclusive_lock_acquire__(_ef); \
74# define exfile_close(_ef, _fd) ({ \
75 __coverity_exclusive_lock_release__(_ef); \
76 (exfile_close)(_ef, _fd); \
#define CC_RELEASE_HANDLE(_tag)
#define CC_ACQUIRE_HANDLE(_tag)
A section grouping multiple CONF_PAIR.
char const * trigger_prefix
Trigger path in the global trigger section.
fr_pair_list_t trigger_args
Arguments to pass to trigger.
int exfile_close(exfile_t *lf, CC_RELEASE_HANDLE("exfile_fd") int fd)
int exfile_open(exfile_t *lf, char const *filename, mode_t permissions, int flags, off_t *offset)
Open a new log file, or maybe an existing one.
exfile_t * exfile_init(TALLOC_CTX *ctx, uint32_t entries, fr_time_delta_t idle, bool locking)
Initialize a way for multiple threads to log to one or more files.
void exfile_enable_triggers(exfile_t *ef, CONF_SECTION *cs, char const *trigger_prefix, fr_pair_list_t *trigger_args)
Enable triggers for an exfiles handle.
A time delta, a difference in time measured in nanoseconds.