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

📄 posix.xs

📁 UNIX下perl实现代码
💻 XS
📖 第 1 页 / 共 5 页
字号:
#else	    goto not_there;#endif	break;    case 'S':	if (strnEQ(name, "SIG", 3)) {	    if (name[3] == '_') {		if (strEQ(name, "SIG_BLOCK"))#ifdef SIG_BLOCK		    return SIG_BLOCK;#else		    goto not_there;#endif#ifdef SIG_DFL		if (strEQ(name, "SIG_DFL")) return (IV)SIG_DFL;#endif#ifdef SIG_ERR		if (strEQ(name, "SIG_ERR")) return (IV)SIG_ERR;#endif#ifdef SIG_IGN		if (strEQ(name, "SIG_IGN")) return (IV)SIG_IGN;#endif		if (strEQ(name, "SIG_SETMASK"))#ifdef SIG_SETMASK		    return SIG_SETMASK;#else		    goto not_there;#endif		if (strEQ(name, "SIG_UNBLOCK"))#ifdef SIG_UNBLOCK		    return SIG_UNBLOCK;#else		    goto not_there;#endif		break;	    }	    if (strEQ(name, "SIGABRT"))#ifdef SIGABRT		return SIGABRT;#else		goto not_there;#endif	    if (strEQ(name, "SIGALRM"))#ifdef SIGALRM		return SIGALRM;#else		goto not_there;#endif	    if (strEQ(name, "SIGCHLD"))#ifdef SIGCHLD		return SIGCHLD;#else		goto not_there;#endif	    if (strEQ(name, "SIGCONT"))#ifdef SIGCONT		return SIGCONT;#else		goto not_there;#endif	    if (strEQ(name, "SIGFPE"))#ifdef SIGFPE		return SIGFPE;#else		goto not_there;#endif	    if (strEQ(name, "SIGHUP"))#ifdef SIGHUP		return SIGHUP;#else		goto not_there;#endif	    if (strEQ(name, "SIGILL"))#ifdef SIGILL		return SIGILL;#else		goto not_there;#endif	    if (strEQ(name, "SIGINT"))#ifdef SIGINT		return SIGINT;#else		goto not_there;#endif	    if (strEQ(name, "SIGKILL"))#ifdef SIGKILL		return SIGKILL;#else		goto not_there;#endif	    if (strEQ(name, "SIGPIPE"))#ifdef SIGPIPE		return SIGPIPE;#else		goto not_there;#endif	    if (strEQ(name, "SIGQUIT"))#ifdef SIGQUIT		return SIGQUIT;#else		goto not_there;#endif	    if (strEQ(name, "SIGSEGV"))#ifdef SIGSEGV		return SIGSEGV;#else		goto not_there;#endif	    if (strEQ(name, "SIGSTOP"))#ifdef SIGSTOP		return SIGSTOP;#else		goto not_there;#endif	    if (strEQ(name, "SIGTERM"))#ifdef SIGTERM		return SIGTERM;#else		goto not_there;#endif	    if (strEQ(name, "SIGTSTP"))#ifdef SIGTSTP		return SIGTSTP;#else		goto not_there;#endif	    if (strEQ(name, "SIGTTIN"))#ifdef SIGTTIN		return SIGTTIN;#else		goto not_there;#endif	    if (strEQ(name, "SIGTTOU"))#ifdef SIGTTOU		return SIGTTOU;#else		goto not_there;#endif	    if (strEQ(name, "SIGUSR1"))#ifdef SIGUSR1		return SIGUSR1;#else		goto not_there;#endif	    if (strEQ(name, "SIGUSR2"))#ifdef SIGUSR2		return SIGUSR2;#else		goto not_there;#endif	    break;	}	if (name[1] == '_') {	    if (strEQ(name, "S_ISGID"))#ifdef S_ISGID		return S_ISGID;#else		goto not_there;#endif	    if (strEQ(name, "S_ISUID"))#ifdef S_ISUID		return S_ISUID;#else		goto not_there;#endif	    if (strEQ(name, "S_IRGRP"))#ifdef S_IRGRP		return S_IRGRP;#else		goto not_there;#endif	    if (strEQ(name, "S_IROTH"))#ifdef S_IROTH		return S_IROTH;#else		goto not_there;#endif	    if (strEQ(name, "S_IRUSR"))#ifdef S_IRUSR		return S_IRUSR;#else		goto not_there;#endif	    if (strEQ(name, "S_IRWXG"))#ifdef S_IRWXG		return S_IRWXG;#else		goto not_there;#endif	    if (strEQ(name, "S_IRWXO"))#ifdef S_IRWXO		return S_IRWXO;#else		goto not_there;#endif	    if (strEQ(name, "S_IRWXU"))#ifdef S_IRWXU		return S_IRWXU;#else		goto not_there;#endif	    if (strEQ(name, "S_IWGRP"))#ifdef S_IWGRP		return S_IWGRP;#else		goto not_there;#endif	    if (strEQ(name, "S_IWOTH"))#ifdef S_IWOTH		return S_IWOTH;#else		goto not_there;#endif	    if (strEQ(name, "S_IWUSR"))#ifdef S_IWUSR		return S_IWUSR;#else		goto not_there;#endif	    if (strEQ(name, "S_IXGRP"))#ifdef S_IXGRP		return S_IXGRP;#else		goto not_there;#endif	    if (strEQ(name, "S_IXOTH"))#ifdef S_IXOTH		return S_IXOTH;#else		goto not_there;#endif	    if (strEQ(name, "S_IXUSR"))#ifdef S_IXUSR		return S_IXUSR;#else		goto not_there;#endif	    errno = EAGAIN;		/* the following aren't constants */#ifdef S_ISBLK	    if (strEQ(name, "S_ISBLK")) return S_ISBLK(arg);#endif#ifdef S_ISCHR	    if (strEQ(name, "S_ISCHR")) return S_ISCHR(arg);#endif#ifdef S_ISDIR	    if (strEQ(name, "S_ISDIR")) return S_ISDIR(arg);#endif#ifdef S_ISFIFO	    if (strEQ(name, "S_ISFIFO")) return S_ISFIFO(arg);#endif#ifdef S_ISREG	    if (strEQ(name, "S_ISREG")) return S_ISREG(arg);#endif	    break;	}	if (strEQ(name, "SEEK_CUR"))#ifdef SEEK_CUR	    return SEEK_CUR;#else	    goto not_there;#endif	if (strEQ(name, "SEEK_END"))#ifdef SEEK_END	    return SEEK_END;#else	    goto not_there;#endif	if (strEQ(name, "SEEK_SET"))#ifdef SEEK_SET	    return SEEK_SET;#else	    goto not_there;#endif	if (strEQ(name, "STREAM_MAX"))#ifdef STREAM_MAX	    return STREAM_MAX;#else	    goto not_there;#endif	if (strEQ(name, "SHRT_MAX"))#ifdef SHRT_MAX	    return SHRT_MAX;#else	    goto not_there;#endif	if (strEQ(name, "SHRT_MIN"))#ifdef SHRT_MIN	    return SHRT_MIN;#else	    goto not_there;#endif	if (strnEQ(name, "SA_", 3)) {	    if (strEQ(name, "SA_NOCLDSTOP"))#ifdef SA_NOCLDSTOP		return SA_NOCLDSTOP;#else		goto not_there;#endif	    if (strEQ(name, "SA_NOCLDWAIT"))#ifdef SA_NOCLDWAIT		return SA_NOCLDWAIT;#else		goto not_there;#endif	    if (strEQ(name, "SA_NODEFER"))#ifdef SA_NODEFER		return SA_NODEFER;#else		goto not_there;#endif	    if (strEQ(name, "SA_ONSTACK"))#ifdef SA_ONSTACK		return SA_ONSTACK;#else		goto not_there;#endif	    if (strEQ(name, "SA_RESETHAND"))#ifdef SA_RESETHAND		return SA_RESETHAND;#else		goto not_there;#endif	    if (strEQ(name, "SA_RESTART"))#ifdef SA_RESTART		return SA_RESTART;#else		goto not_there;#endif	    if (strEQ(name, "SA_SIGINFO"))#ifdef SA_SIGINFO		return SA_SIGINFO;#else		goto not_there;#endif	    break;	}	if (strEQ(name, "SCHAR_MAX"))#ifdef SCHAR_MAX	    return SCHAR_MAX;#else	    goto not_there;#endif	if (strEQ(name, "SCHAR_MIN"))#ifdef SCHAR_MIN	    return SCHAR_MIN;#else	    goto not_there;#endif	if (strEQ(name, "SSIZE_MAX"))#ifdef SSIZE_MAX	    return SSIZE_MAX;#else	    goto not_there;#endif	if (strEQ(name, "STDIN_FILENO"))#ifdef STDIN_FILENO	    return STDIN_FILENO;#else	    goto not_there;#endif	if (strEQ(name, "STDOUT_FILENO"))#ifdef STDOUT_FILENO	    return STDOUT_FILENO;#else	    goto not_there;#endif	if (strEQ(name, "STDERR_FILENO"))#ifdef STDERR_FILENO	    return STDERR_FILENO;#else	    goto not_there;#endif	break;    case 'T':	if (strEQ(name, "TCIFLUSH"))#ifdef TCIFLUSH	    return TCIFLUSH;#else	    goto not_there;#endif	if (strEQ(name, "TCIOFF"))#ifdef TCIOFF	    return TCIOFF;#else	    goto not_there;#endif	if (strEQ(name, "TCIOFLUSH"))#ifdef TCIOFLUSH	    return TCIOFLUSH;#else	    goto not_there;#endif	if (strEQ(name, "TCION"))#ifdef TCION	    return TCION;#else	    goto not_there;#endif	if (strEQ(name, "TCOFLUSH"))#ifdef TCOFLUSH	    return TCOFLUSH;#else	    goto not_there;#endif	if (strEQ(name, "TCOOFF"))#ifdef TCOOFF	    return TCOOFF;#else	    goto not_there;#endif	if (strEQ(name, "TCOON"))#ifdef TCOON	    return TCOON;#else	    goto not_there;#endif	if (strEQ(name, "TCSADRAIN"))#ifdef TCSADRAIN	    return TCSADRAIN;#else	    goto not_there;#endif	if (strEQ(name, "TCSAFLUSH"))#ifdef TCSAFLUSH	    return TCSAFLUSH;#else	    goto not_there;#endif	if (strEQ(name, "TCSANOW"))#ifdef TCSANOW	    return TCSANOW;#else	    goto not_there;#endif	if (strEQ(name, "TMP_MAX"))#ifdef TMP_MAX	    return TMP_MAX;#else	    goto not_there;#endif	if (strEQ(name, "TOSTOP"))#ifdef TOSTOP	    return TOSTOP;#else	    goto not_there;#endif	if (strEQ(name, "TZNAME_MAX"))#ifdef TZNAME_MAX	    return TZNAME_MAX;#else	    goto not_there;#endif	break;    case 'U':	if (strEQ(name, "UCHAR_MAX"))#ifdef UCHAR_MAX	    return UCHAR_MAX;#else	    goto not_there;#endif	if (strEQ(name, "UINT_MAX"))#ifdef UINT_MAX	    return UINT_MAX;#else	    goto not_there;#endif	if (strEQ(name, "ULONG_MAX"))#ifdef ULONG_MAX	    return ULONG_MAX;#else	    goto not_there;#endif	if (strEQ(name, "USHRT_MAX"))#ifdef USHRT_MAX	    return USHRT_MAX;#else	    goto not_there;#endif	break;    case 'V':	if (strEQ(name, "VEOF"))#ifdef VEOF	    return VEOF;#else	    goto not_there;#endif	if (strEQ(name, "VEOL"))#ifdef VEOL	    return VEOL;#else	    goto not_there;#endif	if (strEQ(name, "VERASE"))#ifdef VERASE	    return VERASE;#else	    goto not_there;#endif	if (strEQ(name, "VINTR"))#ifdef VINTR	    return VINTR;#else	    goto not_there;#endif	if (strEQ(name, "VKILL"))#ifdef VKILL	    return VKILL;#else	    goto not_there;#endif	if (strEQ(name, "VMIN"))#ifdef VMIN	    return VMIN;#else	    goto not_there;#endif	if (strEQ(name, "VQUIT"))#ifdef VQUIT	    return VQUIT;#else	    goto not_there;#endif	if (strEQ(name, "VSTART"))#ifdef VSTART	    return VSTART;#else	    goto not_there;#endif	if (strEQ(name, "VSTOP"))#ifdef VSTOP	    return VSTOP;#else	    goto not_there;#endif	if (strEQ(name, "VSUSP"))#ifdef VSUSP	    return VSUSP;#else	    goto not_there;#endif	if (strEQ(name, "VTIME"))#ifdef VTIME	    return VTIME;#else	    goto not_there;#endif	break;    case 'W':	if (strEQ(name, "W_OK"))#ifdef W_OK	    return W_OK;#else	    goto not_there;#endif	if (strEQ(name, "WNOHANG"))#ifdef WNOHANG	    return WNOHANG;#else	    goto not_there;#endif	if (strEQ(name, "WUNTRACED"))#ifdef WUNTRACED	    return WUNTRACED;#else	    goto not_there;#endif	errno = EAGAIN;		/* the following aren't constants */#ifdef WEXITSTATUS	if (strEQ(name, "WEXITSTATUS")) return WEXITSTATUS(arg);#endif#ifdef WIFEXITED	if (strEQ(name, "WIFEXITED")) return WIFEXITED(arg);#endif#ifdef WIFSIGNALED	if (strEQ(name, "WIFSIGNALED")) return WIFSIGNALED(arg);#endif#ifdef WIFSTOPPED	if (strEQ(name, "WIFSTOPPED")) return WIFSTOPPED(arg);#endif#ifdef WSTOPSIG	if (strEQ(name, "WSTOPSIG")) return WSTOPSIG(arg);#endif#ifdef WTERMSIG	if (strEQ(name, "WTERMSIG")) return WTERMSIG(arg);#endif	break;    case 'X':	if (strEQ(name, "X_OK"))#ifdef X_OK	    return X_OK;#else	    goto not_there;#endif	break;    case '_':	if (strnEQ(name, "_PC_", 4)) {	    if (strEQ(name, "_PC_CHOWN_RESTRICTED"))#if defined(_PC_CHOWN_RESTRICTED) || HINT_SC_EXIST		return _PC_CHOWN_RESTRICTED;#else		goto not_there;#endif	    if (strEQ(name, "_PC_LINK_MAX"))#if defined(_PC_LINK_MAX) || HINT_SC_EXIST		return _PC_LINK_MAX;#else		goto not_there;#endif	    if (strEQ(name, "_PC_MAX_CANON"))#if defined(_PC_MAX_CANON) || HINT_SC_EXIST		return _PC_MAX_CANON;#else		goto not_there;#endif	    if (strEQ(name, "_PC_MAX_INPUT"))#if defined(_PC_MAX_INPUT) || HINT_SC_EXIST		return _PC_MAX_INPUT;#else		goto not_there;#endif	    if (strEQ(name, "_PC_NAME_MAX"))#if defined(_PC_NAME_MAX) || HINT_SC_EXIST		return _PC_NAME_MAX;#else		goto not_there;#endif	    if (strEQ(name, "_PC_NO_TRUNC"))#if defined(_PC_NO_TRUNC) || HINT_SC_EXIST		return _PC_NO_TRUNC;#else		goto not_there;#endif	    if (strEQ(name, "_PC_PATH_MAX"))#if defined(_PC_PATH_MAX) || HINT_SC_EXIST		return _PC_PATH_MAX;#else		goto not_there;#endif	    if (strEQ(name, "_PC_PIPE_BUF"))#if defined(_PC_PIPE_BUF) || HINT_SC_EXIST		return _PC_PIPE_BUF;#else		goto not_there;#endif	    if (strEQ(name, "_PC_VDISABLE"))#if defined(_PC_VDISABLE) || HINT_SC_EXIST

⌨️ 快捷键说明

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