X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/12ae5dfcd4fd6f54af051c41b2e122532efce8d3..226394c3368f2e223fb9d10e2b5408a6bf8608f5:/unixish.h diff --git a/unixish.h b/unixish.h index 6e6f1d3..cd869cd 100644 --- a/unixish.h +++ b/unixish.h @@ -1,3 +1,13 @@ +/* unixish.h + * + * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, + * 2003, 2006, 2007, by Larry Wall and others + * + * 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 @@ -11,32 +21,32 @@ * 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() 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() 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 +#endif /* !PERL_MICRO */ /* USEMYBINMODE * This symbol, if defined, indicates that the program should @@ -58,7 +68,7 @@ * 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 @@ -86,16 +96,14 @@ * 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 + * 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) || defined(__NetBSD__) # include -#endif #ifndef SIGABRT # define SIGABRT SIGILL @@ -114,34 +122,50 @@ #define fwrite1 fwrite #define Stat(fname,bufptr) stat((fname),(bufptr)) -#define Fstat(fd,bufptr) fstat((fd),(bufptr)) + +#ifdef __amigaos4__ +int afstat(int fd, struct stat *statb); +# define Fstat(fd,bufptr) afstat((fd),(bufptr)) +#endif + +#ifndef Fstat +# define Fstat(fd,bufptr) fstat((fd),(bufptr)) +#endif + #define Fflush(fp) fflush(fp) #define Mkdir(path,mode) mkdir((path),(mode)) -/* these should be set in a hint file, not here */ -#ifndef PERL_SYS_INIT -#if defined(PERL_SCO5) || defined(__FreeBSD__) -# ifdef __FreeBSD__ -# include -# endif -# define PERL_SYS_INIT(c,v) fpsetmask(0); MALLOC_INIT -#else -# ifdef POSIX_BC -# define PERL_SYS_INIT(c,v) sigignore(SIGFPE); MALLOC_INIT -# else -# ifdef __CYGWIN__ -# define PERL_SYS_INIT(c,v) Perl_my_setenv_init(&environ); MALLOC_INIT -# else -# define PERL_SYS_INIT(c,v) MALLOC_INIT -# endif -# endif +#if defined(__amigaos4__) +# define PERL_SYS_INIT_BODY(c,v) \ + MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT; amigaos4_init_fork_array(); amigaos4_init_environ_sema(); +# define PERL_SYS_TERM_BODY() \ + HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ + OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \ + MALLOC_TERM; LOCALE_TERM; \ + amigaos4_dispose_fork_array(); #endif + +#ifndef PERL_SYS_INIT_BODY +# define PERL_SYS_INIT_BODY(c,v) \ + MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT #endif -#ifndef PERL_SYS_TERM -#define PERL_SYS_TERM() OP_REFCNT_TERM; MALLOC_TERM +#ifndef PERL_SYS_TERM_BODY +# define PERL_SYS_TERM_BODY() \ + HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ + OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \ + MALLOC_TERM; LOCALE_TERM; + #endif #define BIT_BUCKET "/dev/null" -#define dXSUB_SYS +#define dXSUB_SYS dNOOP + +#ifndef NO_ENVIRON_ARRAY +#define USE_ENVIRON_ARRAY +#endif + +/* + * ex: set ts=8 sts=4 sw=4 et: + */