⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syslog.xs

📁 source of perl for linux application,
💻 XS
字号:
#include "EXTERN.h"#include "perl.h"#include "XSUB.h"#ifdef USE_PPPORT_H#  include "ppport.h"#endif#ifndef HAVE_SYSLOG#define HAVE_SYSLOG 1#endif#if defined(I_SYSLOG) || PATCHLEVEL < 6#include <syslog.h>#endif#if defined(_WIN32) && !defined(__CYGWIN__)#undef HAVE_SYSLOG#include "fallback/syslog.h"#endifstatic SV *ident_svptr;#include "const-c.inc"MODULE = Sys::Syslog		PACKAGE = Sys::Syslog		INCLUDE: const-xs.incintLOG_FAC(p)    INPUT:	int		p    CODE:#ifdef LOG_FAC	RETVAL = LOG_FAC(p);#else	croak("Your vendor has not defined the Sys::Syslog macro LOG_FAC");	RETVAL = -1;#endif    OUTPUT:	RETVALintLOG_PRI(p)    INPUT:	int		p    CODE:#ifdef LOG_PRI	RETVAL = LOG_PRI(p);#else	croak("Your vendor has not defined the Sys::Syslog macro LOG_PRI");	RETVAL = -1;#endif    OUTPUT:	RETVALintLOG_MAKEPRI(fac,pri)    INPUT:	int		fac	int		pri    CODE:#ifdef LOG_MAKEPRI	RETVAL = LOG_MAKEPRI(fac,pri);#else	croak("Your vendor has not defined the Sys::Syslog macro LOG_MAKEPRI");	RETVAL = -1;#endif    OUTPUT:	RETVALintLOG_MASK(pri)    INPUT:	int		pri    CODE:#ifdef LOG_MASK	RETVAL = LOG_MASK(pri);#else	croak("Your vendor has not defined the Sys::Syslog macro LOG_MASK");	RETVAL = -1;#endif    OUTPUT:	RETVALintLOG_UPTO(pri)    INPUT:	int		pri    CODE:#ifdef LOG_UPTO	RETVAL = LOG_UPTO(pri);#else	croak("Your vendor has not defined the Sys::Syslog macro LOG_UPTO");	RETVAL = -1;#endif    OUTPUT:	RETVAL#ifdef HAVE_SYSLOGvoidopenlog_xs(ident, option, facility)    INPUT:        SV*   ident        int   option        int   facility    PREINIT:        STRLEN len;        char*  ident_pv;    CODE:        ident_svptr = newSVsv(ident);        ident_pv    = SvPV(ident_svptr, len);        openlog(ident_pv, option, facility);voidsyslog_xs(priority, message)    INPUT:        int   priority        const char * message    CODE:        syslog(priority, "%s", message);intsetlogmask_xs(mask)    INPUT:        int mask    CODE:        setlogmask(mask);voidcloselog_xs()    CODE:        closelog();        if (SvREFCNT(ident_svptr))            SvREFCNT_dec(ident_svptr);#endif /* HAVE_SYSLOG */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -