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

📄 iperlsys.h

📁 MSYS在windows下模拟了一个类unix的终端
💻 H
📖 第 1 页 / 共 4 页
字号:
			    const char*);typedef int		(*LPLIOSetmode)(struct IPerlLIO*, int, int);typedef int		(*LPLIONameStat)(struct IPerlLIO*, const char*,			    struct stat*);typedef char*		(*LPLIOTmpnam)(struct IPerlLIO*, char*);typedef int		(*LPLIOUmask)(struct IPerlLIO*, int);typedef int		(*LPLIOUnlink)(struct IPerlLIO*, const char*);typedef int		(*LPLIOUtime)(struct IPerlLIO*, char*, struct utimbuf*);typedef int		(*LPLIOWrite)(struct IPerlLIO*, int, const void*,			    unsigned int);struct IPerlLIO{    LPLIOAccess		pAccess;    LPLIOChmod		pChmod;    LPLIOChown		pChown;    LPLIOChsize		pChsize;    LPLIOClose		pClose;    LPLIODup		pDup;    LPLIODup2		pDup2;    LPLIOFlock		pFlock;    LPLIOFileStat	pFileStat;    LPLIOIOCtl		pIOCtl;    LPLIOIsatty		pIsatty;    LPLIOLink		pLink;    LPLIOLseek		pLseek;    LPLIOLstat		pLstat;    LPLIOMktemp		pMktemp;    LPLIOOpen		pOpen;    LPLIOOpen3		pOpen3;    LPLIORead		pRead;    LPLIORename		pRename;    LPLIOSetmode	pSetmode;    LPLIONameStat	pNameStat;    LPLIOTmpnam		pTmpnam;    LPLIOUmask		pUmask;    LPLIOUnlink		pUnlink;    LPLIOUtime		pUtime;    LPLIOWrite		pWrite;};struct IPerlLIOInfo{    unsigned long	nCount;	    /* number of entries expected */    struct IPerlLIO	perlLIOList;};#define PerlLIO_access(file, mode)					\	(*PL_LIO->pAccess)(PL_LIO, (file), (mode))#define PerlLIO_chmod(file, mode)					\	(*PL_LIO->pChmod)(PL_LIO, (file), (mode))#define PerlLIO_chown(file, owner, group)				\	(*PL_LIO->pChown)(PL_LIO, (file), (owner), (group))#define PerlLIO_chsize(fd, size)					\	(*PL_LIO->pChsize)(PL_LIO, (fd), (size))#define PerlLIO_close(fd)						\	(*PL_LIO->pClose)(PL_LIO, (fd))#define PerlLIO_dup(fd)							\	(*PL_LIO->pDup)(PL_LIO, (fd))#define PerlLIO_dup2(fd1, fd2)						\	(*PL_LIO->pDup2)(PL_LIO, (fd1), (fd2))#define PerlLIO_flock(fd, op)						\	(*PL_LIO->pFlock)(PL_LIO, (fd), (op))#define PerlLIO_fstat(fd, buf)						\	(*PL_LIO->pFileStat)(PL_LIO, (fd), (buf))#define PerlLIO_ioctl(fd, u, buf)					\	(*PL_LIO->pIOCtl)(PL_LIO, (fd), (u), (buf))#define PerlLIO_isatty(fd)						\	(*PL_LIO->pIsatty)(PL_LIO, (fd))#define PerlLIO_link(oldname, newname)					\	(*PL_LIO->pLink)(PL_LIO, (oldname), (newname))#define PerlLIO_lseek(fd, offset, mode)					\	(*PL_LIO->pLseek)(PL_LIO, (fd), (offset), (mode))#define PerlLIO_lstat(name, buf)					\	(*PL_LIO->pLstat)(PL_LIO, (name), (buf))#define PerlLIO_mktemp(file)						\	(*PL_LIO->pMktemp)(PL_LIO, (file))#define PerlLIO_open(file, flag)					\	(*PL_LIO->pOpen)(PL_LIO, (file), (flag))#define PerlLIO_open3(file, flag, perm)					\	(*PL_LIO->pOpen3)(PL_LIO, (file), (flag), (perm))#define PerlLIO_read(fd, buf, count)					\	(*PL_LIO->pRead)(PL_LIO, (fd), (buf), (count))#define PerlLIO_rename(oname, newname)					\	(*PL_LIO->pRename)(PL_LIO, (oname), (newname))#define PerlLIO_setmode(fd, mode)					\	(*PL_LIO->pSetmode)(PL_LIO, (fd), (mode))#define PerlLIO_stat(name, buf)						\	(*PL_LIO->pNameStat)(PL_LIO, (name), (buf))#define PerlLIO_tmpnam(str)						\	(*PL_LIO->pTmpnam)(PL_LIO, (str))#define PerlLIO_umask(mode)						\	(*PL_LIO->pUmask)(PL_LIO, (mode))#define PerlLIO_unlink(file)						\	(*PL_LIO->pUnlink)(PL_LIO, (file))#define PerlLIO_utime(file, time)					\	(*PL_LIO->pUtime)(PL_LIO, (file), (time))#define PerlLIO_write(fd, buf, count)					\	(*PL_LIO->pWrite)(PL_LIO, (fd), (buf), (count))#else	/* PERL_IMPLICIT_SYS */#define PerlLIO_access(file, mode)	access((file), (mode))#define PerlLIO_chmod(file, mode)	chmod((file), (mode))#define PerlLIO_chown(file, owner, grp)	chown((file), (owner), (grp))#define PerlLIO_chsize(fd, size)	chsize((fd), (size))#define PerlLIO_close(fd)		close((fd))#define PerlLIO_dup(fd)			dup((fd))#define PerlLIO_dup2(fd1, fd2)		dup2((fd1), (fd2))#define PerlLIO_flock(fd, op)		FLOCK((fd), (op))#define PerlLIO_fstat(fd, buf)		Fstat((fd), (buf))#define PerlLIO_ioctl(fd, u, buf)	ioctl((fd), (u), (buf))#define PerlLIO_isatty(fd)		isatty((fd))#define PerlLIO_link(oldname, newname)	link((oldname), (newname))#define PerlLIO_lseek(fd, offset, mode)	lseek((fd), (offset), (mode))#define PerlLIO_stat(name, buf)		Stat((name), (buf))#ifdef HAS_LSTAT#  define PerlLIO_lstat(name, buf)	lstat((name), (buf))#else#  define PerlLIO_lstat(name, buf)	PerlLIO_stat((name), (buf))#endif#define PerlLIO_mktemp(file)		mktemp((file))#define PerlLIO_mkstemp(file)		mkstemp((file))#define PerlLIO_open(file, flag)	open((file), (flag))#define PerlLIO_open3(file, flag, perm)	open((file), (flag), (perm))#define PerlLIO_read(fd, buf, count)	read((fd), (buf), (count))#define PerlLIO_rename(old, new)	rename((old), (new))#define PerlLIO_setmode(fd, mode)	setmode((fd), (mode))#define PerlLIO_tmpnam(str)		tmpnam((str))#define PerlLIO_umask(mode)		umask((mode))#define PerlLIO_unlink(file)		unlink((file))#define PerlLIO_utime(file, time)	utime((file), (time))#define PerlLIO_write(fd, buf, count)	write((fd), (buf), (count))#endif	/* PERL_IMPLICIT_SYS *//*    Interface for perl memory allocation*/#if defined(PERL_IMPLICIT_SYS)/* IPerlMem		*/struct IPerlMem;struct IPerlMemInfo;typedef void*		(*LPMemMalloc)(struct IPerlMem*, size_t);typedef void*		(*LPMemRealloc)(struct IPerlMem*, void*, size_t);typedef void		(*LPMemFree)(struct IPerlMem*, void*);typedef void*		(*LPMemCalloc)(struct IPerlMem*, size_t, size_t);typedef void		(*LPMemGetLock)(struct IPerlMem*);typedef void		(*LPMemFreeLock)(struct IPerlMem*);typedef int		(*LPMemIsLocked)(struct IPerlMem*);struct IPerlMem{    LPMemMalloc		pMalloc;    LPMemRealloc	pRealloc;    LPMemFree		pFree;    LPMemCalloc		pCalloc;    LPMemGetLock	pGetLock;    LPMemFreeLock	pFreeLock;    LPMemIsLocked	pIsLocked;};struct IPerlMemInfo{    unsigned long	nCount;	    /* number of entries expected */    struct IPerlMem	perlMemList;};/* Interpreter specific memory macros */#define PerlMem_malloc(size)				    \	(*PL_Mem->pMalloc)(PL_Mem, (size))#define PerlMem_realloc(buf, size)			    \	(*PL_Mem->pRealloc)(PL_Mem, (buf), (size))#define PerlMem_free(buf)				    \	(*PL_Mem->pFree)(PL_Mem, (buf))#define PerlMem_calloc(num, size)			    \	(*PL_Mem->pCalloc)(PL_Mem, (num), (size))#define PerlMem_get_lock()				    \	(*PL_Mem->pGetLock)(PL_Mem)#define PerlMem_free_lock()				    \	(*PL_Mem->pFreeLock)(PL_Mem)#define PerlMem_is_locked()				    \	(*PL_Mem->pIsLocked)(PL_Mem)/* Shared memory macros */#define PerlMemShared_malloc(size)			    \	(*PL_MemShared->pMalloc)(PL_Mem, (size))#define PerlMemShared_realloc(buf, size)		    \	(*PL_MemShared->pRealloc)(PL_Mem, (buf), (size))#define PerlMemShared_free(buf)				    \	(*PL_MemShared->pFree)(PL_Mem, (buf))#define PerlMemShared_calloc(num, size)			    \	(*PL_MemShared->pCalloc)(PL_Mem, (num), (size))#define PerlMemShared_get_lock()			    \	(*PL_MemShared->pGetLock)(PL_Mem)#define PerlMemShared_free_lock()			    \	(*PL_MemShared->pFreeLock)(PL_Mem)#define PerlMemShared_is_locked()			    \	(*PL_MemShared->pIsLocked)(PL_Mem)/* Parse tree memory macros */#define PerlMemParse_malloc(size)			    \	(*PL_MemParse->pMalloc)(PL_Mem, (size))#define PerlMemParse_realloc(buf, size)			    \	(*PL_MemParse->pRealloc)(PL_Mem, (buf), (size))#define PerlMemParse_free(buf)				    \	(*PL_MemParse->pFree)(PL_Mem, (buf))#define PerlMemParse_calloc(num, size)			    \	(*PL_MemParse->pCalloc)(PL_Mem, (num), (size))#define PerlMemParse_get_lock()				    \	(*PL_MemParse->pGetLock)(PL_Mem)#define PerlMemParse_free_lock()			    \	(*PL_MemParse->pFreeLock)(PL_Mem)#define PerlMemParse_is_locked()			    \	(*PL_MemParse->pIsLocked)(PL_Mem)#else	/* PERL_IMPLICIT_SYS *//* Interpreter specific memory macros */#define PerlMem_malloc(size)		malloc((size))#define PerlMem_realloc(buf, size)	realloc((buf), (size))#define PerlMem_free(buf)		free((buf))#define PerlMem_calloc(num, size)	calloc((num), (size))#define PerlMem_get_lock()		#define PerlMem_free_lock()#define PerlMem_is_locked()		0/* Shared memory macros */#define PerlMemShared_malloc(size)		malloc((size))#define PerlMemShared_realloc(buf, size)	realloc((buf), (size))#define PerlMemShared_free(buf)			free((buf))#define PerlMemShared_calloc(num, size)		calloc((num), (size))#define PerlMemShared_get_lock()		#define PerlMemShared_free_lock()#define PerlMemShared_is_locked()		0/* Parse tree memory macros */#define PerlMemParse_malloc(size)	malloc((size))#define PerlMemParse_realloc(buf, size)	realloc((buf), (size))#define PerlMemParse_free(buf)		free((buf))#define PerlMemParse_calloc(num, size)	calloc((num), (size))#define PerlMemParse_get_lock()		#define PerlMemParse_free_lock()#define PerlMemParse_is_locked()	0#endif	/* PERL_IMPLICIT_SYS *//*    Interface for perl process functions*/#if defined(PERL_IMPLICIT_SYS)#ifndef jmp_buf#include <setjmp.h>#endif/* IPerlProc		*/struct IPerlProc;struct IPerlProcInfo;typedef void		(*LPProcAbort)(struct IPerlProc*);typedef char*		(*LPProcCrypt)(struct IPerlProc*, const char*,			    const char*);typedef void		(*LPProcExit)(struct IPerlProc*, int);typedef void		(*LPProc_Exit)(struct IPerlProc*, int);typedef int		(*LPProcExecl)(struct IPerlProc*, const char*,			    const char*, const char*, const char*,			    const char*);typedef int		(*LPProcExecv)(struct IPerlProc*, const char*,			    const char*const*);typedef int		(*LPProcExecvp)(struct IPerlProc*, const char*,			    const char*const*);typedef uid_t		(*LPProcGetuid)(struct IPerlProc*);typedef uid_t		(*LPProcGeteuid)(struct IPerlProc*);typedef gid_t		(*LPProcGetgid)(struct IPerlProc*);typedef gid_t		(*LPProcGetegid)(struct IPerlProc*);typedef char*		(*LPProcGetlogin)(struct IPerlProc*);typedef int		(*LPProcKill)(struct IPerlProc*, int, int);typedef int		(*LPProcKillpg)(struct IPerlProc*, int, int);typedef int		(*LPProcPauseProc)(struct IPerlProc*);typedef PerlIO*		(*LPProcPopen)(struct IPerlProc*, const char*,			    const char*);typedef int		(*LPProcPclose)(struct IPerlProc*, PerlIO*);typedef int		(*LPProcPipe)(struct IPerlProc*, int*);typedef int		(*LPProcSetuid)(struct IPerlProc*, uid_t);typedef int		(*LPProcSetgid)(struct IPerlProc*, gid_t);typedef int		(*LPProcSleep)(struct IPerlProc*, unsigned int);typedef int		(*LPProcTimes)(struct IPerlProc*, struct tms*);typedef int		(*LPProcWait)(struct IPerlProc*, int*);typedef int		(*LPProcWaitpid)(struct IPerlProc*, int, int*, int);typedef Sighandler_t	(*LPProcSignal)(struct IPerlProc*, int, Sighandler_t);typedef int		(*LPProcFork)(struct IPerlProc*);typedef int		(*LPProcGetpid)(struct IPerlProc*);#ifdef WIN32typedef void*		(*LPProcDynaLoader)(struct IPerlProc*, const char*);typedef void		(*LPProcGetOSError)(struct IPerlProc*,			    SV* sv, DWORD dwErr);typedef void		(*LPProcFreeBuf)(struct IPerlProc*, char*);typedef BOOL		(*LPProcDoCmd)(struct IPerlProc*, char*);typedef int		(*LPProcSpawn)(struct IPerlProc*, char*);typedef int		(*LPProcSpawnvp)(struct IPerlProc*, int, const char*,			    const char*const*);typedef int		(*LPProcASpawn)(struct IPerlProc*, void*, void**, void**);#endifstruct IPerlProc{    LPProcAbort		pAbort;    LPProcCrypt		pCrypt;    LPProcExit		pExit;    LPProc_Exit		p_Exit;    LPProcExecl		pExecl;    LPProcExecv		pExecv;    LPProcExecvp	pExecvp;    LPProcGetuid	pGetuid;    LPProcGeteuid	pGeteuid;    LPProcGetgid	pGetgid;    LPProcGetegid	pGetegid;    LPProcGetlogin	pGetlogin;    LPProcKill		pKill;    LPProcKillpg	pKillpg;    LPProcPauseProc	pPauseProc;    LPProcPopen		pPopen;    LPProcPclose	pPclose;    LPProcPipe		pPipe;    LPProcSetuid	pSetuid;    LPProcSetgid	pSetgid;    LPProcSleep		pSleep;    LPProcTimes		pTimes;    LPProcWait		pWait;    LPProcWaitpid	pWaitpid;    LPProcSignal	pSignal;    LPProcFork		pFork;    LPProcGetpid	pGetpid;#ifdef WIN32    LPProcDynaLoader	pDynaLoader;    LPProcGetOSError	pGetOSError;    LPProcDoCmd		pDoCmd;    LPProcSpawn		pSpawn;    LPProcSpawnvp	pSpawnvp;    LPProcASpawn	pASpawn;#endif};struct IPerlProcInfo{    unsigned long	nCount;	    /* number of entries expected */    struct IPerlProc	perlProcList;};#define PerlProc_abort()						\	(*PL_Proc->pAbort)(PL_Proc)#define PerlProc_crypt(c,s)						\	(*PL_Proc->pCrypt)(PL_Proc, (c), (s))#define PerlProc_exit(s)						\	(*PL_Proc->pExit)(PL_Proc, (s))#define PerlProc__exit(s)						\	(*PL_Proc->p_Exit)(PL_Proc, (s))#define PerlProc_execl(c, w, x, y, z)					\	(*PL_Proc->pExecl)(PL_Proc, (c), (w), (x), (y), (z))#define PerlProc_execv(c, a)						\	(*PL_Proc->pExecv)(PL_Proc, (c), (a))#define PerlProc_execvp(c, a)						\	(*PL_Proc->pExecvp)(PL_Proc, (c), (a))#define PerlProc_getuid()						\	(*PL_Proc->pGetuid)(PL_Proc)#define PerlProc_geteuid()						\	(*PL_Proc->pGeteuid)(PL_Proc)#define PerlProc_getgid()						\	(*PL_Proc->pGetgid)(PL_Proc)

⌨️ 快捷键说明

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