📄 iperlsys.h
字号:
#ifndef PerlIO_putcextern int PerlIO_putc (PerlIO *,int);#endif#ifndef PerlIO_flushextern int PerlIO_flush (PerlIO *);#endif#ifndef PerlIO_ungetcextern int PerlIO_ungetc (PerlIO *,int);#endif#ifndef PerlIO_filenoextern int PerlIO_fileno (PerlIO *);#endif#ifndef PerlIO_fdopenextern PerlIO * PerlIO_fdopen (int, const char *);#endif#ifndef PerlIO_importFILEextern PerlIO * PerlIO_importFILE (FILE *,int);#endif#ifndef PerlIO_exportFILEextern FILE * PerlIO_exportFILE (PerlIO *,int);#endif#ifndef PerlIO_findFILEextern FILE * PerlIO_findFILE (PerlIO *);#endif#ifndef PerlIO_releaseFILEextern void PerlIO_releaseFILE (PerlIO *,FILE *);#endif#ifndef PerlIO_readextern SSize_t PerlIO_read (PerlIO *,void *,Size_t);#endif#ifndef PerlIO_writeextern SSize_t PerlIO_write (PerlIO *,const void *,Size_t);#endif#ifndef PerlIO_setlinebufextern void PerlIO_setlinebuf (PerlIO *);#endif#ifndef PerlIO_printfextern int PerlIO_printf (PerlIO *, const char *,...) __attribute__((__format__ (__printf__, 2, 3)));#endif#ifndef PerlIO_sprintfextern int PerlIO_sprintf (char *, int, const char *,...) __attribute__((__format__ (__printf__, 3, 4)));#endif#ifndef PerlIO_vprintfextern int PerlIO_vprintf (PerlIO *, const char *, va_list);#endif#ifndef PerlIO_tellextern Off_t PerlIO_tell (PerlIO *);#endif#ifndef PerlIO_seekextern int PerlIO_seek (PerlIO *, Off_t, int);#endif#ifndef PerlIO_rewindextern void PerlIO_rewind (PerlIO *);#endif#ifndef PerlIO_has_baseextern int PerlIO_has_base (PerlIO *);#endif#ifndef PerlIO_has_cntptrextern int PerlIO_has_cntptr (PerlIO *);#endif#ifndef PerlIO_fast_getsextern int PerlIO_fast_gets (PerlIO *);#endif#ifndef PerlIO_canset_cntextern int PerlIO_canset_cnt (PerlIO *);#endif#ifndef PerlIO_get_ptrextern STDCHAR * PerlIO_get_ptr (PerlIO *);#endif#ifndef PerlIO_get_cntextern int PerlIO_get_cnt (PerlIO *);#endif#ifndef PerlIO_set_cntextern void PerlIO_set_cnt (PerlIO *,int);#endif#ifndef PerlIO_set_ptrcntextern void PerlIO_set_ptrcnt (PerlIO *,STDCHAR *,int);#endif#ifndef PerlIO_get_baseextern STDCHAR * PerlIO_get_base (PerlIO *);#endif#ifndef PerlIO_get_bufsizextern int PerlIO_get_bufsiz (PerlIO *);#endif#ifndef PerlIO_tmpfileextern PerlIO * PerlIO_tmpfile (void);#endif#ifndef PerlIO_stdinextern PerlIO * PerlIO_stdin (void);#endif#ifndef PerlIO_stdoutextern PerlIO * PerlIO_stdout (void);#endif#ifndef PerlIO_stderrextern PerlIO * PerlIO_stderr (void);#endif#ifndef PerlIO_getpos#ifdef USE_SFIOextern int PerlIO_getpos (PerlIO *,Off_t *);#elseextern int PerlIO_getpos (PerlIO *,Fpos_t *);#endif#endif#ifndef PerlIO_setpos#ifdef USE_SFIOextern int PerlIO_setpos (PerlIO *,const Off_t *);#elseextern int PerlIO_setpos (PerlIO *,const Fpos_t *);#endif#endif#ifndef PerlIO_fdupopenextern PerlIO * PerlIO_fdupopen (PerlIO *);#endif/* * Interface for directory functions */#if defined(PERL_IMPLICIT_SYS)/* IPerlDir */struct IPerlDir;struct IPerlDirInfo;typedef int (*LPMakedir)(struct IPerlDir*, const char*, int);typedef int (*LPChdir)(struct IPerlDir*, const char*);typedef int (*LPRmdir)(struct IPerlDir*, const char*);typedef int (*LPDirClose)(struct IPerlDir*, DIR*);typedef DIR* (*LPDirOpen)(struct IPerlDir*, char*);typedef struct direct* (*LPDirRead)(struct IPerlDir*, DIR*);typedef void (*LPDirRewind)(struct IPerlDir*, DIR*);typedef void (*LPDirSeek)(struct IPerlDir*, DIR*, long);typedef long (*LPDirTell)(struct IPerlDir*, DIR*);#ifdef WIN32typedef char* (*LPDirMapPathA)(struct IPerlDir*, const char*);typedef WCHAR* (*LPDirMapPathW)(struct IPerlDir*, const WCHAR*);#endifstruct IPerlDir{ LPMakedir pMakedir; LPChdir pChdir; LPRmdir pRmdir; LPDirClose pClose; LPDirOpen pOpen; LPDirRead pRead; LPDirRewind pRewind; LPDirSeek pSeek; LPDirTell pTell;#ifdef WIN32 LPDirMapPathA pMapPathA; LPDirMapPathW pMapPathW;#endif};struct IPerlDirInfo{ unsigned long nCount; /* number of entries expected */ struct IPerlDir perlDirList;};#define PerlDir_mkdir(name, mode) \ (*PL_Dir->pMakedir)(PL_Dir, (name), (mode))#define PerlDir_chdir(name) \ (*PL_Dir->pChdir)(PL_Dir, (name))#define PerlDir_rmdir(name) \ (*PL_Dir->pRmdir)(PL_Dir, (name))#define PerlDir_close(dir) \ (*PL_Dir->pClose)(PL_Dir, (dir))#define PerlDir_open(name) \ (*PL_Dir->pOpen)(PL_Dir, (name))#define PerlDir_read(dir) \ (*PL_Dir->pRead)(PL_Dir, (dir))#define PerlDir_rewind(dir) \ (*PL_Dir->pRewind)(PL_Dir, (dir))#define PerlDir_seek(dir, loc) \ (*PL_Dir->pSeek)(PL_Dir, (dir), (loc))#define PerlDir_tell(dir) \ (*PL_Dir->pTell)(PL_Dir, (dir))#ifdef WIN32#define PerlDir_mapA(dir) \ (*PL_Dir->pMapPathA)(PL_Dir, (dir))#define PerlDir_mapW(dir) \ (*PL_Dir->pMapPathW)(PL_Dir, (dir))#endif#else /* PERL_IMPLICIT_SYS */#define PerlDir_mkdir(name, mode) Mkdir((name), (mode))#ifdef VMS# define PerlDir_chdir(n) Chdir(((n) && *(n)) ? (n) : "SYS$LOGIN")#else # define PerlDir_chdir(name) chdir((name))#endif#define PerlDir_rmdir(name) rmdir((name))#define PerlDir_close(dir) closedir((dir))#define PerlDir_open(name) opendir((name))#define PerlDir_read(dir) readdir((dir))#define PerlDir_rewind(dir) rewinddir((dir))#define PerlDir_seek(dir, loc) seekdir((dir), (loc))#define PerlDir_tell(dir) telldir((dir))#ifdef WIN32#define PerlDir_mapA(dir) dir#define PerlDir_mapW(dir) dir#endif#endif /* PERL_IMPLICIT_SYS *//* Interface for perl environment functions*/#if defined(PERL_IMPLICIT_SYS)/* IPerlEnv */struct IPerlEnv;struct IPerlEnvInfo;typedef char* (*LPEnvGetenv)(struct IPerlEnv*, const char*);typedef int (*LPEnvPutenv)(struct IPerlEnv*, const char*);typedef char* (*LPEnvGetenv_len)(struct IPerlEnv*, const char *varname, unsigned long *len);typedef int (*LPEnvUname)(struct IPerlEnv*, struct utsname *name);typedef void (*LPEnvClearenv)(struct IPerlEnv*);typedef void* (*LPEnvGetChildenv)(struct IPerlEnv*);typedef void (*LPEnvFreeChildenv)(struct IPerlEnv*, void* env);typedef char* (*LPEnvGetChilddir)(struct IPerlEnv*);typedef void (*LPEnvFreeChilddir)(struct IPerlEnv*, char* dir);#ifdef HAS_ENVGETENVtypedef char* (*LPENVGetenv)(struct IPerlEnv*, const char *varname);typedef char* (*LPENVGetenv_len)(struct IPerlEnv*, const char *varname, unsigned long *len);#endif#ifdef WIN32typedef unsigned long (*LPEnvOsID)(struct IPerlEnv*);typedef char* (*LPEnvLibPath)(struct IPerlEnv*, const char*);typedef char* (*LPEnvSiteLibPath)(struct IPerlEnv*, const char*);typedef char* (*LPEnvVendorLibPath)(struct IPerlEnv*, const char*);typedef void (*LPEnvGetChildIO)(struct IPerlEnv*, child_IO_table*);#endifstruct IPerlEnv{ LPEnvGetenv pGetenv; LPEnvPutenv pPutenv; LPEnvGetenv_len pGetenv_len; LPEnvUname pEnvUname; LPEnvClearenv pClearenv; LPEnvGetChildenv pGetChildenv; LPEnvFreeChildenv pFreeChildenv; LPEnvGetChilddir pGetChilddir; LPEnvFreeChilddir pFreeChilddir;#ifdef HAS_ENVGETENV LPENVGetenv pENVGetenv; LPENVGetenv_len pENVGetenv_len;#endif#ifdef WIN32 LPEnvOsID pEnvOsID; LPEnvLibPath pLibPath; LPEnvSiteLibPath pSiteLibPath; LPEnvVendorLibPath pVendorLibPath; LPEnvGetChildIO pGetChildIO;#endif};struct IPerlEnvInfo{ unsigned long nCount; /* number of entries expected */ struct IPerlEnv perlEnvList;};#define PerlEnv_putenv(str) \ (*PL_Env->pPutenv)(PL_Env,(str))#define PerlEnv_getenv(str) \ (*PL_Env->pGetenv)(PL_Env,(str))#define PerlEnv_getenv_len(str,l) \ (*PL_Env->pGetenv_len)(PL_Env,(str), (l))#define PerlEnv_clearenv() \ (*PL_Env->pClearenv)(PL_Env)#define PerlEnv_get_childenv() \ (*PL_Env->pGetChildenv)(PL_Env)#define PerlEnv_free_childenv(e) \ (*PL_Env->pFreeChildenv)(PL_Env, (e))#define PerlEnv_get_childdir() \ (*PL_Env->pGetChilddir)(PL_Env)#define PerlEnv_free_childdir(d) \ (*PL_Env->pFreeChilddir)(PL_Env, (d))#ifdef HAS_ENVGETENV# define PerlEnv_ENVgetenv(str) \ (*PL_Env->pENVGetenv)(PL_Env,(str))# define PerlEnv_ENVgetenv_len(str,l) \ (*PL_Env->pENVGetenv_len)(PL_Env,(str), (l))#else# define PerlEnv_ENVgetenv(str) \ PerlEnv_getenv((str))# define PerlEnv_ENVgetenv_len(str,l) \ PerlEnv_getenv_len((str),(l))#endif#define PerlEnv_uname(name) \ (*PL_Env->pEnvUname)(PL_Env,(name))#ifdef WIN32#define PerlEnv_os_id() \ (*PL_Env->pEnvOsID)(PL_Env)#define PerlEnv_lib_path(str) \ (*PL_Env->pLibPath)(PL_Env,(str))#define PerlEnv_sitelib_path(str) \ (*PL_Env->pSiteLibPath)(PL_Env,(str))#define PerlEnv_vendorlib_path(str) \ (*PL_Env->pVendorLibPath)(PL_Env,(str))#define PerlEnv_get_child_IO(ptr) \ (*PL_Env->pGetChildIO)(PL_Env, ptr)#endif#else /* PERL_IMPLICIT_SYS */#define PerlEnv_putenv(str) putenv((str))#define PerlEnv_getenv(str) getenv((str))#define PerlEnv_getenv_len(str,l) getenv_len((str), (l))#define PerlEnv_clearenv() clearenv()#define PerlEnv_get_childenv() get_childenv()#define PerlEnv_free_childenv(e) free_childenv((e))#define PerlEnv_get_childdir() get_childdir()#define PerlEnv_free_childdir(d) free_childdir((d))#ifdef HAS_ENVGETENV# define PerlEnv_ENVgetenv(str) ENVgetenv((str))# define PerlEnv_ENVgetenv_len(str,l) ENVgetenv_len((str), (l))#else# define PerlEnv_ENVgetenv(str) PerlEnv_getenv((str))# define PerlEnv_ENVgetenv_len(str,l) PerlEnv_getenv_len((str), (l))#endif#define PerlEnv_uname(name) uname((name))#ifdef WIN32#define PerlEnv_os_id() win32_os_id()#define PerlEnv_lib_path(str) win32_get_privlib(str)#define PerlEnv_sitelib_path(str) win32_get_sitelib(str)#define PerlEnv_vendorlib_path(str) win32_get_vendorlib(str)#define PerlEnv_get_child_IO(ptr) win32_get_child_IO(ptr)#endif#endif /* PERL_IMPLICIT_SYS *//* Interface for perl low-level IO functions*/#if defined(PERL_IMPLICIT_SYS)/* IPerlLIO */struct IPerlLIO;struct IPerlLIOInfo;typedef int (*LPLIOAccess)(struct IPerlLIO*, const char*, int);typedef int (*LPLIOChmod)(struct IPerlLIO*, const char*, int);typedef int (*LPLIOChown)(struct IPerlLIO*, const char*, uid_t, gid_t);typedef int (*LPLIOChsize)(struct IPerlLIO*, int, long);typedef int (*LPLIOClose)(struct IPerlLIO*, int);typedef int (*LPLIODup)(struct IPerlLIO*, int);typedef int (*LPLIODup2)(struct IPerlLIO*, int, int);typedef int (*LPLIOFlock)(struct IPerlLIO*, int, int);typedef int (*LPLIOFileStat)(struct IPerlLIO*, int, struct stat*);typedef int (*LPLIOIOCtl)(struct IPerlLIO*, int, unsigned int, char*);typedef int (*LPLIOIsatty)(struct IPerlLIO*, int);typedef int (*LPLIOLink)(struct IPerlLIO*, const char*, const char *);typedef long (*LPLIOLseek)(struct IPerlLIO*, int, long, int);typedef int (*LPLIOLstat)(struct IPerlLIO*, const char*, struct stat*);typedef char* (*LPLIOMktemp)(struct IPerlLIO*, char*);typedef int (*LPLIOOpen)(struct IPerlLIO*, const char*, int); typedef int (*LPLIOOpen3)(struct IPerlLIO*, const char*, int, int); typedef int (*LPLIORead)(struct IPerlLIO*, int, void*, unsigned int);typedef int (*LPLIORename)(struct IPerlLIO*, const char*,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -