[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/i586-linux-thread-multi/CORE/ -> dosish.h (source)

   1  /*    dosish.h
   2   *
   3   *    Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999,
   4   *    2000, 2001, 2002, 2007, by Larry Wall and others
   5   *
   6   *    You may distribute under the terms of either the GNU General Public
   7   *    License or the Artistic License, as specified in the README file.
   8   *
   9   */
  10  #define ABORT() abort();
  11  
  12  #ifndef SH_PATH
  13  #define SH_PATH "/bin/sh"
  14  #endif
  15  
  16  #ifdef DJGPP
  17  #  define BIT_BUCKET "nul"
  18  #  define OP_BINARY O_BINARY
  19  #  define PERL_SYS_INIT_BODY(c,v)                    \
  20       MALLOC_CHECK_TAINT2(*c,*v) Perl_DJGPP_init(c,v); PERLIO_INIT
  21  #  define init_os_extras Perl_init_os_extras
  22  #  define HAS_UTIME
  23  #  define HAS_KILL
  24     char *djgpp_pathexp (const char*);
  25     void Perl_DJGPP_init (int *argcp,char ***argvp);
  26  #  if (DJGPP==2 && DJGPP_MINOR < 2)
  27  #    define NO_LOCALECONV_MON_THOUSANDS_SEP
  28  #  endif
  29  #  define PERL_FS_VER_FMT    "%d_%d_%d"
  30  #else    /* DJGPP */
  31  #  ifdef WIN32
  32  #    define PERL_SYS_INIT_BODY(c,v)                    \
  33      MALLOC_CHECK_TAINT2(*c,*v) Perl_win32_init(c,v); PERLIO_INIT
  34  #    define PERL_SYS_TERM_BODY()   Perl_win32_term()
  35  #    define BIT_BUCKET "nul"
  36  #  else
  37  #     ifdef NETWARE
  38  #      define PERL_SYS_INIT_BODY(c,v)                    \
  39      MALLOC_CHECK_TAINT2(*c,*v) Perl_nw5_init(c,v); PERLIO_INIT
  40  #      define BIT_BUCKET "nwnul"
  41  #    else
  42  #      define PERL_SYS_INIT_BODY(c,v)        \
  43      MALLOC_CHECK_TAINT2(*c,*v); PERLIO_INIT
  44  #      define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
  45  #    endif /* NETWARE */
  46  #  endif
  47  #endif    /* DJGPP */
  48  
  49  #ifndef PERL_SYS_TERM_BODY
  50  #  define PERL_SYS_TERM_BODY() HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM
  51  #endif
  52  #define dXSUB_SYS
  53  
  54  /*
  55   * 5.003_07 and earlier keyed on #ifdef MSDOS for determining if we were 
  56   * running on DOS, *and* if we had to cope with 16 bit memory addressing 
  57   * constraints, *and* we need to have memory allocated as unsigned long.
  58   *
  59   * with the advent of *real* compilers for DOS, they are not locked together.
  60   * MSDOS means "I am running on MSDOS". HAS_64K_LIMIT means "I have 
  61   * 16 bit memory addressing constraints".
  62   *
  63   * if you need the last, try #DEFINE MEM_SIZE unsigned long.
  64   */
  65  #ifdef MSDOS
  66  #  ifndef DJGPP
  67  #    define HAS_64K_LIMIT
  68  #  endif
  69  #endif
  70  
  71  /* USEMYBINMODE
  72   *    This symbol, if defined, indicates that the program should
  73   *    use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
  74   *    that a file is in "binary" mode -- that is, that no translation
  75   *    of bytes occurs on read or write operations.
  76   */
  77  #undef USEMYBINMODE
  78  
  79  /* Stat_t:
  80   *    This symbol holds the type used to declare buffers for information
  81   *    returned by stat().  It's usually just struct stat.  It may be necessary
  82   *    to include <sys/stat.h> and <sys/types.h> to get any typedef'ed
  83   *    information.
  84   */
  85  #if defined(WIN64) || defined(USE_LARGE_FILES)
  86  # if defined(__BORLANDC__) /* buk */
  87  #  include <sys\stat.h>
  88  #  define Stat_t struct stati64
  89  # else
  90  #define Stat_t struct _stati64
  91  # endif
  92  #else
  93  #if defined(UNDER_CE)
  94  #define Stat_t struct xcestat
  95  #else
  96  #define Stat_t struct stat
  97  #endif
  98  #endif
  99  
 100  /* USE_STAT_RDEV:
 101   *    This symbol is defined if this system has a stat structure declaring
 102   *    st_rdev
 103   */
 104  #define USE_STAT_RDEV     /**/
 105  
 106  /* ACME_MESS:
 107   *    This symbol, if defined, indicates that error messages should be 
 108   *    should be generated in a format that allows the use of the Acme
 109   *    GUI/editor's autofind feature.
 110   */
 111  #undef ACME_MESS    /**/
 112  
 113  /* ALTERNATE_SHEBANG:
 114   *    This symbol, if defined, contains a "magic" string which may be used
 115   *    as the first line of a Perl program designed to be executed directly
 116   *    by name, instead of the standard Unix #!.  If ALTERNATE_SHEBANG
 117   *    begins with a character other then #, then Perl will only treat
 118   *    it as a command line if it finds the string "perl" in the first
 119   *    word; otherwise it's treated as the first line of code in the script.
 120   *    (IOW, Perl won't hand off to another interpreter via an alternate
 121   *    shebang sequence that might be legal Perl code.)
 122   */
 123  /* #define ALTERNATE_SHEBANG "#!" / **/
 124  
 125  #include <signal.h>
 126  
 127  /*
 128   * fwrite1() should be a routine with the same calling sequence as fwrite(),
 129   * but which outputs all of the bytes requested as a single stream (unlike
 130   * fwrite() itself, which on some systems outputs several distinct records
 131   * if the number_of_items parameter is >1).
 132   */
 133  #define fwrite1 fwrite
 134  
 135  #define Fstat(fd,bufptr)   fstat((fd),(bufptr))
 136  #ifdef DJGPP
 137  #   define Fflush(fp)      djgpp_fflush(fp)
 138  #else
 139  #   define Fflush(fp)      fflush(fp)
 140  #endif
 141  #define Mkdir(path,mode)   mkdir((path),(mode))
 142  
 143  #ifndef WIN32
 144  #  define Stat(fname,bufptr) stat((fname),(bufptr))
 145  #else
 146  #  define HAS_IOCTL
 147  #  define HAS_UTIME
 148  #  define HAS_KILL
 149  #  define HAS_WAIT
 150  #  define HAS_CHOWN
 151  #endif    /* WIN32 */
 152  
 153  /*
 154   * <rich@phekda.freeserve.co.uk>: The DJGPP port has code that converts
 155   * the return code of system() into the form that Unixy wait usually
 156   * returns:
 157   *
 158   * - signal number in bits 0-6;
 159   * - core dump flag in bit 7;
 160   * - exit code in bits 8-15.
 161   *
 162   * Bits 0-7 are always zero for DJGPP, because it uses system().
 163   * See djgpp.c.
 164   *
 165   * POSIX::W* use the W* macros from <sys/wait.h> to decode
 166   * the return code. Unfortunately the W* macros for DJGPP use
 167   * a different format than Unixy wait does. So there's a mismatch
 168   * and, say, WEXITSTATUS($?) will return bogus values.
 169   *
 170   * So here we add hack to redefine the W* macros from DJGPP's <sys/wait.h>
 171   * to work with our return-code conversion.
 172   */
 173  
 174  #ifdef DJGPP
 175  
 176  #include <sys/wait.h>
 177  
 178  #undef WEXITSTATUS
 179  #undef WIFEXITED
 180  #undef WIFSIGNALED
 181  #undef WIFSTOPPED
 182  #undef WNOHANG
 183  #undef WSTOPSIG
 184  #undef WTERMSIG
 185  #undef WUNTRACED
 186  
 187  #define WEXITSTATUS(stat_val) ((stat_val) >> 8)
 188  #define WIFEXITED(stat_val)   0
 189  #define WIFSIGNALED(stat_val) 0
 190  #define WIFSTOPPED(stat_val)  0
 191  #define WNOHANG               0
 192  #define WSTOPSIG(stat_val)    0
 193  #define WTERMSIG(stat_val)    0
 194  #define WUNTRACED             0
 195  
 196  #endif
 197  
 198  /* Don't go reading from /dev/urandom */
 199  #define PERL_NO_DEV_RANDOM


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1