source: trunk/third/perl/epoc/epocish.h @ 20075

Revision 20075, 4.4 KB checked in by zacheiss, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20074, which included commits to RCS files with non-trunk default branches.
Line 
1/*
2 * The following symbols are defined if your operating system supports
3 * functions by that name.  All Unixes I know of support them, thus they
4 * are not checked by the configuration script, but are directly defined
5 * here.
6 */
7
8/* HAS_IOCTL:
9 *      This symbol, if defined, indicates that the ioctl() routine is
10 *      available to set I/O characteristics
11 */
12#define HAS_IOCTL               /**/
13 
14/* HAS_UTIME:
15 *      This symbol, if defined, indicates that the routine utime() is
16 *      available to update the access and modification times of files.
17 */
18/* #define HAS_UTIME            / **/
19
20/* HAS_GROUP
21 *      This symbol, if defined, indicates that the getgrnam() and
22 *      getgrgid() routines are available to get group entries.
23 *      The getgrent() has a separate definition, HAS_GETGRENT.
24 */
25/* #define HAS_GROUP            / **/
26
27/* HAS_PASSWD
28 *      This symbol, if defined, indicates that the getpwnam() and
29 *      getpwuid() routines are available to get password entries.
30 *      The getpwent() has a separate definition, HAS_GETPWENT.
31 */
32/* #define HAS_PASSWD           / **/
33
34/* #define HAS_KILL */
35#define HAS_WAIT
36 
37/* USEMYBINMODE
38 *      This symbol, if defined, indicates that the program should
39 *      use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
40 *      that a file is in "binary" mode -- that is, that no translation
41 *      of bytes occurs on read or write operations.
42 */
43#undef USEMYBINMODE
44
45/* Stat_t:
46 *      This symbol holds the type used to declare buffers for information
47 *      returned by stat().  It's usually just struct stat.  It may be necessary
48 *      to include <sys/stat.h> and <sys/types.h> to get any typedef'ed
49 *      information.
50 */
51#define Stat_t struct stat
52
53/* USE_STAT_RDEV:
54 *      This symbol is defined if this system has a stat structure declaring
55 *      st_rdev
56 */
57#define USE_STAT_RDEV   /**/
58
59/* ACME_MESS:
60 *      This symbol, if defined, indicates that error messages should be
61 *      should be generated in a format that allows the use of the Acme
62 *      GUI/editor's autofind feature.
63 */
64#undef ACME_MESS        /**/
65
66/* UNLINK_ALL_VERSIONS:
67 *      This symbol, if defined, indicates that the program should arrange
68 *      to remove all versions of a file if unlink() is called.  This is
69 *      probably only relevant for VMS.
70 */
71/* #define UNLINK_ALL_VERSIONS          / **/
72
73/* VMS:
74 *      This symbol, if defined, indicates that the program is running under
75 *      VMS.  It is currently automatically set by cpps running under VMS,
76 *      and is included here for completeness only.
77 */
78/* #define VMS          / **/
79
80/* ALTERNATE_SHEBANG:
81 *      This symbol, if defined, contains a "magic" string which may be used
82 *      as the first line of a Perl program designed to be executed directly
83 *      by name, instead of the standard Unix #!.  If ALTERNATE_SHEBANG
84 *      begins with a character other then #, then Perl will only treat
85 *      it as a command line if if finds the string "perl" in the first
86 *      word; otherwise it's treated as the first line of code in the script.
87 *      (IOW, Perl won't hand off to another interpreter via an alternate
88 *      shebang sequence that might be legal Perl code.)
89 */
90/* #define ALTERNATE_SHEBANG "#!" / **/
91
92
93#define ABORT() abort();
94
95/*
96 * fwrite1() should be a routine with the same calling sequence as fwrite(),
97 * but which outputs all of the bytes requested as a single stream (unlike
98 * fwrite() itself, which on some systems outputs several distinct records
99 * if the number_of_items parameter is >1).
100 */
101#define fwrite1 fwrite
102
103#define Stat(fname,bufptr) stat((fname),(bufptr))
104#define Fstat(fd,bufptr)   fstat((fd),(bufptr))
105#define Fflush(fp)         fflush(fp)
106#define Mkdir(path,mode)   mkdir((path),(mode))
107
108
109/* epocemx setenv bug workaround */
110#ifndef PERL_SYS_INIT
111#    define PERL_SYS_INIT(c,v)    MALLOC_CHECK_TAINT2(*c,*v) putenv(".dummy=foo"); putenv(".dummy"); MALLOC_INIT
112#endif
113
114#ifndef PERL_SYS_TERM
115#define PERL_SYS_TERM()         MALLOC_TERM
116#endif
117
118#define BIT_BUCKET "/dev/null"
119
120#define dXSUB_SYS
121
122/* getsockname returns the size of struct sockaddr_in *without* padding */
123#define  BOGUS_GETNAME_RETURN 8
124
125/*
126   read() on a socket is unimplemented in current epocemx
127   use recv() instead
128*/
129
130#define PERL_SOCK_SYSREAD_IS_RECV
131
132/* write ditto, use send */
133#define PERL_SOCK_SYSWRITE_IS_SEND
134
135/* No /dev/random available*/
136
137#define PERL_NO_DEV_RANDOM
138
139/*
140   work around for buggy atof():
141   atof() in ER5 stdlib depends on locale.
142*/
143
144#define strtoul(a,b,c) epoc_strtoul(a,b,c)
145
146#define init_os_extras Perl_init_os_extras
147
148#define ARG_MAX 4096
149
150#define ECONNABORTED 0xdead
151
152/* For environ */
153#include <emx.h>
154#define PERL_USE_SAFE_PUTENV
155
156
Note: See TracBrowser for help on using the repository browser.