source: trunk/third/perl/dosish.h @ 18450

Revision 18450, 4.0 KB checked in by zacheiss, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18449, which included commits to RCS files with non-trunk default branches.
Line 
1/*    dosish.h
2 *
3 *    Copyright (c) 1997-2002, Larry Wall
4 *
5 *    You may distribute under the terms of either the GNU General Public
6 *    License or the Artistic License, as specified in the README file.
7 *
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(c,v) Perl_DJGPP_init(c,v)
20#  define init_os_extras Perl_init_os_extras
21#  include <signal.h>
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#  ifdef USE_5005THREADS
30#    define OLD_PTHREADS_API
31#  endif
32#  define PERL_FS_VER_FMT       "%d_%d_%d"
33#else   /* DJGPP */
34#  ifdef WIN32
35#    define PERL_SYS_INIT(c,v)  Perl_win32_init(c,v)
36#    define BIT_BUCKET "nul"
37#  else
38#        ifdef NETWARE
39#      define PERL_SYS_INIT(c,v)        Perl_nw5_init(c,v)
40#      define BIT_BUCKET "nwnul"
41#    else
42#      define PERL_SYS_INIT(c,v)
43#      define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
44#    endif /* NETWARE */
45#  endif
46#endif  /* DJGPP */
47
48#define PERL_SYS_TERM() OP_REFCNT_TERM; MALLOC_TERM
49#define dXSUB_SYS
50
51/*
52 * 5.003_07 and earlier keyed on #ifdef MSDOS for determining if we were
53 * running on DOS, *and* if we had to cope with 16 bit memory addressing
54 * constraints, *and* we need to have memory allocated as unsigned long.
55 *
56 * with the advent of *real* compilers for DOS, they are not locked together.
57 * MSDOS means "I am running on MSDOS". HAS_64K_LIMIT means "I have
58 * 16 bit memory addressing constraints".
59 *
60 * if you need the last, try #DEFINE MEM_SIZE unsigned long.
61 */
62#ifdef MSDOS
63 #ifndef DJGPP
64  #define HAS_64K_LIMIT
65 #endif
66#endif
67
68/* USEMYBINMODE
69 *      This symbol, if defined, indicates that the program should
70 *      use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
71 *      that a file is in "binary" mode -- that is, that no translation
72 *      of bytes occurs on read or write operations.
73 */
74#undef USEMYBINMODE
75
76/* Stat_t:
77 *      This symbol holds the type used to declare buffers for information
78 *      returned by stat().  It's usually just struct stat.  It may be necessary
79 *      to include <sys/stat.h> and <sys/types.h> to get any typedef'ed
80 *      information.
81 */
82#if defined(WIN64) || defined(USE_LARGE_FILES)
83#define Stat_t struct _stati64
84#else
85#define Stat_t struct stat
86#endif
87
88/* USE_STAT_RDEV:
89 *      This symbol is defined if this system has a stat structure declaring
90 *      st_rdev
91 */
92#define USE_STAT_RDEV   /**/
93
94/* ACME_MESS:
95 *      This symbol, if defined, indicates that error messages should be
96 *      should be generated in a format that allows the use of the Acme
97 *      GUI/editor's autofind feature.
98 */
99#undef ACME_MESS        /**/
100
101/* ALTERNATE_SHEBANG:
102 *      This symbol, if defined, contains a "magic" string which may be used
103 *      as the first line of a Perl program designed to be executed directly
104 *      by name, instead of the standard Unix #!.  If ALTERNATE_SHEBANG
105 *      begins with a character other then #, then Perl will only treat
106 *      it as a command line if it finds the string "perl" in the first
107 *      word; otherwise it's treated as the first line of code in the script.
108 *      (IOW, Perl won't hand off to another interpreter via an alternate
109 *      shebang sequence that might be legal Perl code.)
110 */
111/* #define ALTERNATE_SHEBANG "#!" / **/
112
113/*
114 * fwrite1() should be a routine with the same calling sequence as fwrite(),
115 * but which outputs all of the bytes requested as a single stream (unlike
116 * fwrite() itself, which on some systems outputs several distinct records
117 * if the number_of_items parameter is >1).
118 */
119#define fwrite1 fwrite
120
121#define Fstat(fd,bufptr)   fstat((fd),(bufptr))
122#ifdef DJGPP
123#   define Fflush(fp)      djgpp_fflush(fp)
124#else
125#   define Fflush(fp)      fflush(fp)
126#endif
127#define Mkdir(path,mode)   mkdir((path),(mode))
128
129#ifndef WIN32
130#  define Stat(fname,bufptr) stat((fname),(bufptr))
131#else
132#  define HAS_IOCTL
133#  define HAS_UTIME
134#  define HAS_KILL
135#  define HAS_WAIT
136#  define HAS_CHOWN
137#endif  /* WIN32 */
Note: See TracBrowser for help on using the repository browser.