X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=plan9%2Fplan9ish.h;h=0fdce125be830eff1d3ff396318a6cf0d2a57b99;hb=c1effa61278e47c916466883d74905b04fedc388;hp=6613c362e693789d8e41a6658753f1005003d29d;hpb=396e9e6f77853ce5b5bd54c151a15d6820deba3a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/plan9/plan9ish.h b/plan9/plan9ish.h index 6613c36..0fdce12 100644 --- a/plan9/plan9ish.h +++ b/plan9/plan9ish.h @@ -21,16 +21,16 @@ #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 /**/ /* 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 /**/ @@ -54,12 +54,20 @@ /* USEMYBINMODE * This symbol, if defined, indicates that the program should - * use the routine my_binmode(FILE *fp, char iotype) to insure + * use the routine my_binmode(FILE *fp, char iotype, int mode) to insure * that a file is in "binary" mode -- that is, that no translation * of bytes occurs on read or write operations. */ #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 @@ -73,9 +81,19 @@ */ #define ACME_MESS /**/ -#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX) -# include -#endif +/* 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 if 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 "#!" / **/ + +#include #ifndef SIGABRT # define SIGABRT SIGILL @@ -83,12 +101,13 @@ #ifndef SIGILL # define SIGILL 6 /* blech */ #endif -#define ABORT() kill(getpid(),SIGABRT); +#define ABORT() kill(PerlProc_getpid(),SIGABRT); #define BIT_BUCKET "/dev/null" -#define PERL_SYS_INIT(c,v) -#define dXSUB_SYS int dummy -#define PERL_SYS_TERM() +#define PERL_SYS_INIT_BODY(c,v) \ + MALLOC_CHECK_TAINT2(*c,*v) PERLIO_INIT; MALLOC_INIT +#define dXSUB_SYS +#define PERL_SYS_TERM_BODY() PERLIO_TERM; MALLOC_TERM /* * fwrite1() should be a routine with the same calling sequence as fwrite(), @@ -101,6 +120,7 @@ #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)) /* getenv related stuff */ #define my_getenv(var) getenv(var) @@ -110,4 +130,10 @@ /* For use by POSIX.xs */ extern int tcsendbreak(int, int); +#define CONDOP_SIZE 4 /* The Plan 9 compiler cannot return quads from ?: */ + +#undef HAS_SYMLINK /* Plan 9 doesn't really have these. */ +#undef HAS_LSTAT +#undef HAS_READLINK + #endif /* __PLAN9ISH_H__ */