#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include "ppport.h"
#include "LogSyslogFast.h"
#include "const-c.inc"
MODULE = Log::Syslog::Fast PACKAGE = Log::Syslog::Fast
INCLUDE: const-xs.inc
PROTOTYPES: ENABLE
LogSyslogFast*
new(class, proto, hostname, port, facility, severity, sender, name)
char* class
int proto
char* hostname
int port
int facility
int severity
char* sender
char* name
CODE:
if (!hostname)
croak("hostname required");
if (!sender)
croak("sender required");
if (!name)
croak("name required");
RETVAL = LSF_alloc();
if (!RETVAL)
croak("Error in ->new: malloc failed");
if (LSF_init(RETVAL, proto, hostname, port, facility, severity, sender, name) < 0)
croak("Error in ->new: %s", RETVAL->err);
OUTPUT:
RETVAL
void
DESTROY(logger)
LogSyslogFast* logger
CODE:
if (LSF_destroy(logger))
croak("Error in close: %s", logger->err);
int
send(logger, logmsg, now = time(0))
LogSyslogFast* logger
SV* logmsg
time_t now
ALIAS:
emit = 1
INIT:
STRLEN msglen;
const char* msgstr;
msgstr = SvPV(logmsg, msglen);
CODE:
RETVAL = LSF_send(logger, msgstr, msglen, now);
if (RETVAL < 0)
croak("Error while sending: %s", logger->err);
OUTPUT:
RETVAL
void
set_receiver(logger, proto, hostname, port)
LogSyslogFast* logger
int proto
char* hostname
int port
ALIAS:
setReceiver = 1
CODE:
if (!hostname)
croak("hostname required");
int ret = LSF_set_receiver(logger, proto, hostname, port);
if (ret < 0)
croak("Error in set_receiver: %s", logger->err);
void
set_priority(logger, facility, severity)
LogSyslogFast* logger
int facility
int severity
ALIAS:
setPriority = 1
CODE:
LSF_set_priority(logger, facility, severity);
void
set_facility(logger, facility)
LogSyslogFast* logger
int facility
CODE:
LSF_set_facility(logger, facility);
void
set_severity(logger, severity)
LogSyslogFast* logger
int severity
CODE:
LSF_set_severity(logger, severity);
void
set_sender(logger, sender)
LogSyslogFast* logger
char* sender
ALIAS:
setSender = 1
CODE:
if (!sender)
croak("sender required");
int ret = LSF_set_sender(logger, sender);
if (ret < 0)
croak("Error in set_sender: %s", logger->err);
void
set_name(logger, name)
LogSyslogFast* logger
char* name
ALIAS:
setName = 1
CODE:
if (!name)
croak("name required");
int ret = LSF_set_name(logger, name);
if (ret < 0)
croak("Error in set_name: %s", logger->err);
void
set_pid(logger, pid)
LogSyslogFast* logger
int pid
ALIAS:
setPid = 1
CODE:
LSF_set_pid(logger, pid);
void
set_format(logger, format)
LogSyslogFast* logger
int format
ALIAS:
setFormat = 1
CODE:
int ret = LSF_set_format(logger, format);
if (ret < 0)
croak("Error in set_format: %s", logger->err);
int
get_priority(logger)
LogSyslogFast* logger
CODE:
RETVAL = LSF_get_priority(logger);
OUTPUT:
RETVAL
int
get_facility(logger)
LogSyslogFast* logger
CODE:
RETVAL = LSF_get_facility(logger);
OUTPUT:
RETVAL
int
get_severity(logger)
LogSyslogFast* logger
CODE:
RETVAL = LSF_get_severity(logger);
OUTPUT:
RETVAL
const char*
get_sender(logger)
LogSyslogFast* logger
CODE:
RETVAL = LSF_get_sender(logger);
OUTPUT:
RETVAL
const char*
get_name(logger)
LogSyslogFast* logger
CODE:
RETVAL = LSF_get_name(logger);
OUTPUT:
RETVAL
int
get_pid(logger)
LogSyslogFast* logger
CODE:
RETVAL = LSF_get_pid(logger);
OUTPUT:
RETVAL
int
get_format(logger)
LogSyslogFast* logger
CODE:
RETVAL = LSF_get_format(logger);
OUTPUT:
RETVAL
int
_get_sock(logger)
LogSyslogFast* logger
CODE:
RETVAL = LSF_get_sock(logger);
OUTPUT:
RETVAL