📄 xsub.h
字号:
# define XCPT_TRY_START JMPENV_PUSH(rEtV); if (rEtV == 0)# define XCPT_TRY_END JMPENV_POP;# define XCPT_CATCH if (rEtV != 0)# define XCPT_RETHROW JMPENV_JUMP(rEtV)#endif/* The DBM_setFilter & DBM_ckFilter macros are only used by the *DB*_File modules */#define DBM_setFilter(db_type,code) \ STMT_START { \ if (db_type) \ RETVAL = sv_mortalcopy(db_type) ; \ ST(0) = RETVAL ; \ if (db_type && (code == &PL_sv_undef)) { \ SvREFCNT_dec(db_type) ; \ db_type = NULL ; \ } \ else if (code) { \ if (db_type) \ sv_setsv(db_type, code) ; \ else \ db_type = newSVsv(code) ; \ } \ } STMT_END#define DBM_ckFilter(arg,type,name) \ STMT_START { \ if (db->type) { \ if (db->filtering) { \ croak("recursion detected in %s", name) ; \ } \ ENTER ; \ SAVETMPS ; \ SAVEINT(db->filtering) ; \ db->filtering = TRUE ; \ SAVESPTR(DEFSV) ; \ if (name[7] == 's') \ arg = newSVsv(arg); \ DEFSV = arg ; \ SvTEMP_off(arg) ; \ PUSHMARK(SP) ; \ PUTBACK ; \ (void) perl_call_sv(db->type, G_DISCARD); \ SPAGAIN ; \ PUTBACK ; \ FREETMPS ; \ LEAVE ; \ if (name[7] == 's'){ \ arg = sv_2mortal(arg); \ } \ } } STMT_END #if 1 /* for compatibility */# define VTBL_sv &PL_vtbl_sv# define VTBL_env &PL_vtbl_env# define VTBL_envelem &PL_vtbl_envelem# define VTBL_sig &PL_vtbl_sig# define VTBL_sigelem &PL_vtbl_sigelem# define VTBL_pack &PL_vtbl_pack# define VTBL_packelem &PL_vtbl_packelem# define VTBL_dbline &PL_vtbl_dbline# define VTBL_isa &PL_vtbl_isa# define VTBL_isaelem &PL_vtbl_isaelem# define VTBL_arylen &PL_vtbl_arylen# define VTBL_glob &PL_vtbl_glob# define VTBL_mglob &PL_vtbl_mglob# define VTBL_nkeys &PL_vtbl_nkeys# define VTBL_taint &PL_vtbl_taint# define VTBL_substr &PL_vtbl_substr# define VTBL_vec &PL_vtbl_vec# define VTBL_pos &PL_vtbl_pos# define VTBL_bm &PL_vtbl_bm# define VTBL_fm &PL_vtbl_fm# define VTBL_uvar &PL_vtbl_uvar# define VTBL_defelem &PL_vtbl_defelem# define VTBL_regexp &PL_vtbl_regexp# define VTBL_regdata &PL_vtbl_regdata# define VTBL_regdatum &PL_vtbl_regdatum# ifdef USE_LOCALE_COLLATE# define VTBL_collxfrm &PL_vtbl_collxfrm# endif# define VTBL_amagic &PL_vtbl_amagic# define VTBL_amagicelem &PL_vtbl_amagicelem#endif#include "perlapi.h"#ifndef PERL_MAD# undef PL_madskills# undef PL_xmlfp# define PL_madskills 0# define PL_xmlfp 0#endif#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_GET_CONTEXT) && !defined(PERL_CORE)# undef aTHX# undef aTHX_# define aTHX PERL_GET_THX# define aTHX_ aTHX,#endif#if defined(PERL_IMPLICIT_SYS) && !defined(PERL_CORE)# ifndef NO_XSLOCKS# if defined (NETWARE) && defined (USE_STDIO)# define times PerlProc_times# define setuid PerlProc_setuid# define setgid PerlProc_setgid# define getpid PerlProc_getpid# define pause PerlProc_pause# define exit PerlProc_exit# define _exit PerlProc__exit# else# undef closedir# undef opendir# undef stdin# undef stdout# undef stderr# undef feof# undef ferror# undef fgetpos# undef ioctl# undef getlogin# undef setjmp# undef getc# undef ungetc# undef fileno/* Following symbols were giving redefinition errors while building extensions - sgp 17th Oct 2000 */#ifdef NETWARE# undef readdir# undef fstat# undef stat# undef longjmp# undef endhostent# undef endnetent# undef endprotoent# undef endservent# undef gethostbyaddr# undef gethostbyname# undef gethostent# undef getnetbyaddr# undef getnetbyname# undef getnetent# undef getprotobyname# undef getprotobynumber# undef getprotoent# undef getservbyname# undef getservbyport# undef getservent# undef inet_ntoa# undef sethostent# undef setnetent# undef setprotoent# undef setservent#endif /* NETWARE */# undef socketpair# define mkdir PerlDir_mkdir# define chdir PerlDir_chdir# define rmdir PerlDir_rmdir# define closedir PerlDir_close# define opendir PerlDir_open# define readdir PerlDir_read# define rewinddir PerlDir_rewind# define seekdir PerlDir_seek# define telldir PerlDir_tell# define putenv PerlEnv_putenv# define getenv PerlEnv_getenv# define uname PerlEnv_uname# define stdin PerlSIO_stdin# define stdout PerlSIO_stdout# define stderr PerlSIO_stderr# define fopen PerlSIO_fopen# define fclose PerlSIO_fclose# define feof PerlSIO_feof# define ferror PerlSIO_ferror# define clearerr PerlSIO_clearerr# define getc PerlSIO_getc# define fputc PerlSIO_fputc# define fputs PerlSIO_fputs# define fflush PerlSIO_fflush# define ungetc PerlSIO_ungetc# define fileno PerlSIO_fileno# define fdopen PerlSIO_fdopen# define freopen PerlSIO_freopen# define fread PerlSIO_fread# define fwrite PerlSIO_fwrite# define setbuf PerlSIO_setbuf# define setvbuf PerlSIO_setvbuf# define setlinebuf PerlSIO_setlinebuf# define stdoutf PerlSIO_stdoutf# define vfprintf PerlSIO_vprintf# define ftell PerlSIO_ftell# define fseek PerlSIO_fseek# define fgetpos PerlSIO_fgetpos# define fsetpos PerlSIO_fsetpos# define frewind PerlSIO_rewind# define tmpfile PerlSIO_tmpfile# define access PerlLIO_access# define chmod PerlLIO_chmod# define chsize PerlLIO_chsize# define close PerlLIO_close# define dup PerlLIO_dup# define dup2 PerlLIO_dup2# define flock PerlLIO_flock# define fstat PerlLIO_fstat# define ioctl PerlLIO_ioctl# define isatty PerlLIO_isatty# define link PerlLIO_link# define lseek PerlLIO_lseek# define lstat PerlLIO_lstat# define mktemp PerlLIO_mktemp# define open PerlLIO_open# define read PerlLIO_read# define rename PerlLIO_rename# define setmode PerlLIO_setmode# define stat(buf,sb) PerlLIO_stat(buf,sb)# define tmpnam PerlLIO_tmpnam# define umask PerlLIO_umask# define unlink PerlLIO_unlink# define utime PerlLIO_utime# define write PerlLIO_write# define malloc PerlMem_malloc# define realloc PerlMem_realloc# define free PerlMem_free# define abort PerlProc_abort# define exit PerlProc_exit# define _exit PerlProc__exit# define execl PerlProc_execl# define execv PerlProc_execv# define execvp PerlProc_execvp# define getuid PerlProc_getuid# define geteuid PerlProc_geteuid# define getgid PerlProc_getgid# define getegid PerlProc_getegid# define getlogin PerlProc_getlogin# define kill PerlProc_kill# define killpg PerlProc_killpg# define pause PerlProc_pause# define popen PerlProc_popen# define pclose PerlProc_pclose# define pipe PerlProc_pipe# define setuid PerlProc_setuid# define setgid PerlProc_setgid# define sleep PerlProc_sleep# define times PerlProc_times# define wait PerlProc_wait# define setjmp PerlProc_setjmp# define longjmp PerlProc_longjmp# define signal PerlProc_signal# define getpid PerlProc_getpid# define gettimeofday PerlProc_gettimeofday# define htonl PerlSock_htonl# define htons PerlSock_htons# define ntohl PerlSock_ntohl# define ntohs PerlSock_ntohs# define accept PerlSock_accept# define bind PerlSock_bind# define connect PerlSock_connect# define endhostent PerlSock_endhostent# define endnetent PerlSock_endnetent# define endprotoent PerlSock_endprotoent# define endservent PerlSock_endservent# define gethostbyaddr PerlSock_gethostbyaddr# define gethostbyname PerlSock_gethostbyname# define gethostent PerlSock_gethostent# define gethostname PerlSock_gethostname# define getnetbyaddr PerlSock_getnetbyaddr# define getnetbyname PerlSock_getnetbyname# define getnetent PerlSock_getnetent# define getpeername PerlSock_getpeername# define getprotobyname PerlSock_getprotobyname# define getprotobynumber PerlSock_getprotobynumber# define getprotoent PerlSock_getprotoent# define getservbyname PerlSock_getservbyname# define getservbyport PerlSock_getservbyport# define getservent PerlSock_getservent# define getsockname PerlSock_getsockname# define getsockopt PerlSock_getsockopt# define inet_addr PerlSock_inet_addr# define inet_ntoa PerlSock_inet_ntoa# define listen PerlSock_listen# define recv PerlSock_recv# define recvfrom PerlSock_recvfrom# define select PerlSock_select# define send PerlSock_send# define sendto PerlSock_sendto# define sethostent PerlSock_sethostent# define setnetent PerlSock_setnetent# define setprotoent PerlSock_setprotoent# define setservent PerlSock_setservent# define setsockopt PerlSock_setsockopt# define shutdown PerlSock_shutdown# define socket PerlSock_socket# define socketpair PerlSock_socketpair# endif /* NETWARE && USE_STDIO */# ifdef USE_SOCKETS_AS_HANDLES# undef fd_set# undef FD_SET# undef FD_CLR# undef FD_ISSET# undef FD_ZERO# define fd_set Perl_fd_set# define FD_SET(n,p) PERL_FD_SET(n,p)# define FD_CLR(n,p) PERL_FD_CLR(n,p)# define FD_ISSET(n,p) PERL_FD_ISSET(n,p)# define FD_ZERO(p) PERL_FD_ZERO(p)# endif /* USE_SOCKETS_AS_HANDLES */# endif /* NO_XSLOCKS */#endif /* PERL_IMPLICIT_SYS && !PERL_CORE */#endif /* _INC_PERL_XSUB_H */ /* include guard *//* * Local variables: * c-indentation-style: bsd * c-basic-offset: 4 * indent-tabs-mode: t * End: * * ex: set ts=8 sts=4 sw=4 noet: */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -