X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=unixish.h;h=707092ccbafe225ffc2dd75ff0f8453d8b7803b4;hb=83b43d9236da9ea6e31fd2df2474f4d7f7220a85;hp=7c9989f43ad0c1ab3517c96b8e1ff22a7a1686ed;hpb=47234eb85307bf6da07df398c310c58e898d135b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/unixish.h b/unixish.h index 7c9989f..707092c 100644 --- a/unixish.h +++ b/unixish.h @@ -1,3 +1,12 @@ +/* unixish.h + * + * Copyright (c) 1997-2002, Larry Wall + * + * You may distribute under the terms of either the GNU General Public + * License or the Artistic License, as specified in the README file. + * + */ + /* * The following symbols are defined if your operating system supports * functions by that name. All Unixes I know of support them, thus they @@ -5,34 +14,38 @@ * here. */ +#ifndef PERL_MICRO + /* HAS_IOCTL: * This symbol, if defined, indicates that the ioctl() routine is * available to set I/O characteristics */ -#define HAS_IOCTL /**/ +#define HAS_IOCTL / **/ /* HAS_UTIME: * This symbol, if defined, indicates that the routine utime() is * available to update the access and modification times of files. */ -#define HAS_UTIME /**/ +#define HAS_UTIME / **/ /* HAS_GROUP - * This symbol, if defined, indicates that the getgrnam(), - * getgrgid(), and getgrent() routines are available to - * get group entries. + * This symbol, if defined, indicates that the getgrnam() and + * getgrgid() routines are available to get group entries. + * The getgrent() has a separate definition, HAS_GETGRENT. */ -#define HAS_GROUP /**/ +#define HAS_GROUP / **/ /* HAS_PASSWD - * This symbol, if defined, indicates that the getpwnam(), - * getpwuid(), and getpwent() routines are available to - * get password entries. + * This symbol, if defined, indicates that the getpwnam() and + * getpwuid() routines are available to get password entries. + * The getpwent() has a separate definition, HAS_GETPWENT. */ -#define HAS_PASSWD /**/ +#define HAS_PASSWD / **/ #define HAS_KILL #define HAS_WAIT + +#endif /* !PERL_MICRO */ /* USEMYBINMODE * This symbol, if defined, indicates that the program should @@ -42,11 +55,19 @@ */ #undef USEMYBINMODE +/* Stat_t: + * This symbol holds the type used to declare buffers for information + * returned by stat(). It's usually just struct stat. It may be necessary + * to include and to get any typedef'ed + * information. + */ +#define Stat_t struct stat + /* USE_STAT_RDEV: * This symbol is defined if this system has a stat structure declaring * st_rdev */ -#define USE_STAT_RDEV /**/ +#define USE_STAT_RDEV / **/ /* ACME_MESS: * This symbol, if defined, indicates that error messages should be @@ -60,16 +81,28 @@ * to remove all versions of a file if unlink() is called. This is * probably only relevant for VMS. */ -/* #define UNLINK_ALL_VERSIONS /**/ +/* #define UNLINK_ALL_VERSIONS / **/ /* VMS: * This symbol, if defined, indicates that the program is running under * VMS. It is currently automatically set by cpps running under VMS, * and is included here for completeness only. */ -/* #define VMS /**/ +/* #define VMS / **/ + +/* ALTERNATE_SHEBANG: + * This symbol, if defined, contains a "magic" string which may be used + * as the first line of a Perl program designed to be executed directly + * by name, instead of the standard Unix #!. If ALTERNATE_SHEBANG + * begins with a character other then #, then Perl will only treat + * it as a command line if it finds the string "perl" in the first + * word; otherwise it's treated as the first line of code in the script. + * (IOW, Perl won't hand off to another interpreter via an alternate + * shebang sequence that might be legal Perl code.) + */ +/* #define ALTERNATE_SHEBANG "#!" / **/ -#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX) +#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) # include #endif @@ -79,12 +112,7 @@ #ifndef SIGILL # define SIGILL 6 /* blech */ #endif -#define ABORT() kill(getpid(),SIGABRT); - -#define BIT_BUCKET "/dev/null" -#define PERL_SYS_INIT(c,v) -#define PERL_SYS_TERM() -#define dXSUB_SYS int dummy +#define ABORT() kill(PerlProc_getpid(),SIGABRT); /* * fwrite1() should be a routine with the same calling sequence as fwrite(), @@ -97,6 +125,19 @@ #define Stat(fname,bufptr) stat((fname),(bufptr)) #define Fstat(fd,bufptr) fstat((fd),(bufptr)) #define Fflush(fp) fflush(fp) +#define Mkdir(path,mode) mkdir((path),(mode)) + +#ifndef PERL_SYS_INIT +# define PERL_SYS_INIT(c,v) PERL_FPU_INIT MALLOC_INIT +#endif + +#ifndef PERL_SYS_TERM +#define PERL_SYS_TERM() OP_REFCNT_TERM; MALLOC_TERM +#endif + +#define BIT_BUCKET "/dev/null" + +#define dXSUB_SYS -#define my_getenv(var) getenv(var) +#define USE_ENVIRON_ARRAY