source: trunk/third/perl/plan9/plan9ish.h @ 10724

Revision 10724, 3.6 KB checked in by ghudson, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10723, which included commits to RCS files with non-trunk default branches.
Line 
1#ifndef __PLAN9ISH_H__
2#define __PLAN9ISH_H__
3
4/*
5 * The following symbols are defined if your operating system supports
6 * functions by that name.  All Unixes I know of support them, thus they
7 * are not checked by the configuration script, but are directly defined
8 * here.
9 */
10
11/* HAS_IOCTL:
12 *      This symbol, if defined, indicates that the ioctl() routine is
13 *      available to set I/O characteristics
14 */
15#define HAS_IOCTL               /**/
16 
17/* HAS_UTIME:
18 *      This symbol, if defined, indicates that the routine utime() is
19 *      available to update the access and modification times of files.
20 */
21#define HAS_UTIME               /**/
22
23/* HAS_GROUP
24 *      This symbol, if defined, indicates that the getgrnam(),
25 *      getgrgid(), and getgrent() routines are available to
26 *      get group entries.
27 */
28/*#define HAS_GROUP             /**/
29
30/* HAS_PASSWD
31 *      This symbol, if defined, indicates that the getpwnam(),
32 *      getpwuid(), and getpwent() routines are available to
33 *      get password entries.
34 */
35/*#define HAS_PASSWD            /**/
36
37#define HAS_KILL
38#define HAS_WAIT
39 
40/* UNLINK_ALL_VERSIONS:
41 *      This symbol, if defined, indicates that the program should arrange
42 *      to remove all versions of a file if unlink() is called.  This is
43 *      probably only relevant for VMS.
44 */
45/* #define UNLINK_ALL_VERSIONS          /**/
46
47/* PLAN9:
48 *      This symbol, if defined, indicates that the program is running under
49 *      Plan 9. 
50 */
51#ifndef PLAN9
52#define PLAN9           /**/
53#endif
54
55/* USEMYBINMODE
56 *      This symbol, if defined, indicates that the program should
57 *      use the routine my_binmode(FILE *fp, char iotype) to insure
58 *      that a file is in "binary" mode -- that is, that no translation
59 *      of bytes occurs on read or write operations.
60 */
61#undef USEMYBINMODE
62
63/* USE_STAT_RDEV:
64*       This symbol is defined if this system has a stat structure declaring
65*       st_rdev
66*/
67#undef USE_STAT_RDEV            /**/
68
69/* ACME_MESS:
70 *      This symbol, if defined, indicates that error messages should be
71 *      should be generated in a format that allows the use of the Acme
72 *      GUI/editor's autofind feature.
73 */
74#define ACME_MESS       /**/
75
76/* ALTERNATE_SHEBANG:
77 *      This symbol, if defined, contains a "magic" string which may be used
78 *      as the first line of a Perl program designed to be executed directly
79 *      by name, instead of the standard Unix #!.  If ALTERNATE_SHEBANG
80 *      begins with a character other then #, then Perl will only treat
81 *      it as a command line if if finds the string "perl" in the first
82 *      word; otherwise it's treated as the first line of code in the script.
83 *      (IOW, Perl won't hand off to another interpreter via an alternate
84 *      shebang sequence that might be legal Perl code.)
85 */
86/* #define ALTERNATE_SHEBANG "#!" / **/
87
88#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
89# include <signal.h>
90#endif
91
92#ifndef SIGABRT
93#    define SIGABRT SIGILL
94#endif
95#ifndef SIGILL
96#    define SIGILL 6         /* blech */
97#endif
98#define ABORT() kill(getpid(),SIGABRT);
99
100#define BIT_BUCKET "/dev/null"
101#define PERL_SYS_INIT(c,v)
102#define dXSUB_SYS
103#define PERL_SYS_TERM()
104
105/*
106 * fwrite1() should be a routine with the same calling sequence as fwrite(),
107 * but which outputs all of the bytes requested as a single stream (unlike
108 * fwrite() itself, which on some systems outputs several distinct records
109 * if the number_of_items parameter is >1).
110 */
111#define fwrite1 fwrite
112
113#define Stat(fname,bufptr) stat((fname),(bufptr))
114#define Fstat(fd,bufptr)   fstat((fd),(bufptr))
115#define Fflush(fp)         fflush(fp)
116#define Mkdir(path,mode)   mkdir((path),(mode))
117
118/* getenv related stuff */
119#define my_getenv(var) getenv(var)
120/* Plan 9 prefers getenv("home") to getenv("HOME")
121#define HOME home
122
123/* For use by POSIX.xs */
124extern int tcsendbreak(int, int);
125
126#endif /* __PLAN9ISH_H__ */
Note: See TracBrowser for help on using the repository browser.