source: trunk/third/perl/unixish.h @ 14545

Revision 14545, 4.3 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, 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) 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#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX) || defined(__NetBSD__)
93# include <signal.h>
94#endif
95
96#ifndef SIGABRT
97#    define SIGABRT SIGILL
98#endif
99#ifndef SIGILL
100#    define SIGILL 6         /* blech */
101#endif
102#define ABORT() kill(PerlProc_getpid(),SIGABRT);
103
104/*
105 * fwrite1() should be a routine with the same calling sequence as fwrite(),
106 * but which outputs all of the bytes requested as a single stream (unlike
107 * fwrite() itself, which on some systems outputs several distinct records
108 * if the number_of_items parameter is >1).
109 */
110#define fwrite1 fwrite
111
112#define Stat(fname,bufptr) stat((fname),(bufptr))
113#define Fstat(fd,bufptr)   fstat((fd),(bufptr))
114#define Fflush(fp)         fflush(fp)
115#define Mkdir(path,mode)   mkdir((path),(mode))
116
117/* these should be set in a hint file, not here */
118#ifndef PERL_SYS_INIT
119#if defined(PERL_SCO5) || defined(__FreeBSD__)
120#  ifdef __FreeBSD__
121#    include <floatingpoint.h>
122#  endif
123#  define PERL_SYS_INIT(c,v)    fpsetmask(0); MALLOC_INIT
124#else
125#  ifdef POSIX_BC
126#    define PERL_SYS_INIT(c,v)  sigignore(SIGFPE); MALLOC_INIT
127#  else
128#    ifdef __CYGWIN__
129#      define PERL_SYS_INIT(c,v) Perl_my_setenv_init(&environ); MALLOC_INIT
130#    else
131#      define PERL_SYS_INIT(c,v) MALLOC_INIT
132#    endif
133#  endif
134#endif
135#endif
136
137#ifndef PERL_SYS_TERM
138#define PERL_SYS_TERM()         OP_REFCNT_TERM; MALLOC_TERM
139#endif
140
141#define BIT_BUCKET "/dev/null"
142
143#define dXSUB_SYS
Note: See TracBrowser for help on using the repository browser.