Server IP : 85.214.239.14 / Your IP : 3.137.200.56 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/root/proc/3/root/proc/2/task/2/cwd/proc/2/cwd/usr/include/postgresql/9.6/server/ |
Upload File : |
/*------------------------------------------------------------------------- * * plperl.h * Common include file for PL/Perl files * * This should be included _AFTER_ postgres.h and system include files * * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group * Portions Copyright (c) 1995, Regents of the University of California * * src/pl/plperl/plperl.h */ #ifndef PL_PERL_H #define PL_PERL_H /* stop perl headers from hijacking stdio and other stuff on Windows */ #ifdef WIN32 #define WIN32IO_IS_STDIO /* * isnan is defined in both the perl and mingw headers. We don't use it, * so this just clears up the compile warning. */ #ifdef isnan #undef isnan #endif #endif /* WIN32 */ /* * Supply a value of PERL_UNUSED_DECL that will satisfy gcc - the one * perl itself supplies doesn't seem to. */ #define PERL_UNUSED_DECL pg_attribute_unused() /* * Sometimes perl carefully scribbles on our *printf macros. * So we undefine them here and redefine them after it's done its dirty deed. */ #ifdef USE_REPL_SNPRINTF #undef snprintf #undef vsnprintf #endif /* * ActivePerl 5.18 and later are MinGW-built, and their headers use GCC's * __inline__. Translate to something MSVC recognizes. */ #ifdef _MSC_VER #define __inline__ inline #endif /* * Get the basic Perl API. We use PERL_NO_GET_CONTEXT mode so that our code * can compile against MULTIPLICITY Perl builds without including XSUB.h. */ #define PERL_NO_GET_CONTEXT #include "EXTERN.h" #include "perl.h" /* * We want to include XSUB.h only within .xs files, because on some platforms * it undesirably redefines a lot of libc functions. But it must appear * before ppport.h, so use a #define flag to control inclusion here. */ #ifdef PG_NEED_PERL_XSUB_H #include "XSUB.h" #endif /* put back our snprintf and vsnprintf */ #ifdef USE_REPL_SNPRINTF #ifdef snprintf #undef snprintf #endif #ifdef vsnprintf #undef vsnprintf #endif #ifdef __GNUC__ #define vsnprintf(...) pg_vsnprintf(__VA_ARGS__) #define snprintf(...) pg_snprintf(__VA_ARGS__) #else #define vsnprintf pg_vsnprintf #define snprintf pg_snprintf #endif /* __GNUC__ */ #endif /* USE_REPL_SNPRINTF */ /* perl version and platform portability */ #define NEED_eval_pv #define NEED_newRV_noinc #define NEED_sv_2pv_flags #include "ppport.h" /* perl may have a different width of "bool", don't buy it */ #ifdef bool #undef bool #endif /* supply HeUTF8 if it's missing - ppport.h doesn't supply it, unfortunately */ #ifndef HeUTF8 #define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \ SvUTF8(HeKEY_sv(he)) : \ (U32)HeKUTF8(he)) #endif /* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */ #ifndef GvCV_set #define GvCV_set(gv, cv) (GvCV(gv) = cv) #endif /* Perl 5.19.4 changed array indices from I32 to SSize_t */ #if PERL_BCDVERSION >= 0x5019004 #define AV_SIZE_MAX SSize_t_MAX #else #define AV_SIZE_MAX I32_MAX #endif /* declare routines from plperl.c for access by .xs files */ HV *plperl_spi_exec(char *, int); void plperl_return_next(SV *); SV *plperl_spi_query(char *); SV *plperl_spi_fetchrow(char *); SV *plperl_spi_prepare(char *, int, SV **); HV *plperl_spi_exec_prepared(char *, HV *, int, SV **); SV *plperl_spi_query_prepared(char *, int, SV **); void plperl_spi_freeplan(char *); void plperl_spi_cursor_close(char *); char *plperl_sv_to_literal(SV *, char *); void plperl_util_elog(int level, SV *msg); #endif /* PL_PERL_H */