xref: /openbsd/gnu/usr.bin/perl/nostdio.h (revision 3d61058a)
1 /*    nostdio.h
2  *
3  *    Copyright (C) 1996, 2000, 2001, 2005, by Larry Wall and others
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 /*
11  * Strong denial of stdio - make all stdio calls (we can think of) errors
12  */
13 /* This is a 1st attempt to stop other include files pulling
14    in real <stdio.h>.
15    A more ambitious set of possible symbols can be found in
16    sfio.h (inside an _cplusplus gard).
17    It is completely pointless as we have already included it ourselves.
18 */
19 
20 #if !defined(_STDIO_H) && !defined(FILE) && !defined(_STDIO_INCLUDED) && !defined(__STDIO_LOADED)
21 #  define _STDIO_H
22 #  define _STDIO_INCLUDED
23 #  define __STDIO_LOADED
24 struct _FILE;
25 #  define FILE struct _FILE
26 #endif
27 
28 #if !defined(OEMVS)
29 
30 #  define _CANNOT "CANNOT"
31 
32 #  undef clearerr
33 #  undef fclose
34 #  undef fdopen
35 #  undef feof
36 #  undef ferror
37 #  undef fflush
38 #  undef fgetc
39 #  undef fgetpos
40 #  undef fgets
41 #  undef fileno
42 #  undef flockfile
43 #  undef fopen
44 #  undef fprintf
45 #  undef fputc
46 #  undef fputs
47 #  undef fread
48 #  undef freopen
49 #  undef fscanf
50 #  undef fseek
51 #  undef fsetpos
52 #  undef ftell
53 #  undef ftrylockfile
54 #  undef funlockfile
55 #  undef fwrite
56 #  undef getc
57 #  undef getc_unlocked
58 #  undef getw
59 #  undef pclose
60 #  undef popen
61 #  undef putc
62 #  undef putc_unlocked
63 #  undef putw
64 #  undef rewind
65 #  undef setbuf
66 #  undef setvbuf
67 #  undef stderr
68 #  undef stdin
69 #  undef stdout
70 #  undef tmpfile
71 #  undef ungetc
72 #  undef vfprintf
73 #  undef printf
74 
75 #  define fprintf    _CANNOT _fprintf_
76 #  define printf     _CANNOT _printf_
77 #  define stdin      _CANNOT _stdin_
78 #  define stdout     _CANNOT _stdout_
79 #  define stderr     _CANNOT _stderr_
80 #  ifndef OS2
81 #    define tmpfile()  _CANNOT _tmpfile_
82 #  endif
83 #  define fclose(f)  _CANNOT _fclose_
84 #  define fflush(f)  _CANNOT _fflush_
85 #  define fopen(p,m)  _CANNOT _fopen_
86 #  define freopen(p,m,f)  _CANNOT _freopen_
87 #  define setbuf(f,b)  _CANNOT _setbuf_
88 #  define setvbuf(f,b,x,s)  _CANNOT _setvbuf_
89 #  define fscanf  _CANNOT _fscanf_
90 #  define vfprintf(f,fmt,a)  _CANNOT _vfprintf_
91 #  define fgetc(f)  _CANNOT _fgetc_
92 #  define fgets(s,n,f)  _CANNOT _fgets_
93 #  define fputc(c,f)  _CANNOT _fputc_
94 #  define fputs(s,f)  _CANNOT _fputs_
95 #  define getc(f)  _CANNOT _getc_
96 #  define putc(c,f)  _CANNOT _putc_
97 #  ifndef OS2
98 #    define ungetc(c,f)  _CANNOT _ungetc_
99 #  endif
100 #  define fread(b,s,c,f)  _CANNOT _fread_
101 #  define fwrite(b,s,c,f)  _CANNOT _fwrite_
102 #  define fgetpos(f,p)  _CANNOT _fgetpos_
103 #  define fseek(f,o,w)  _CANNOT _fseek_
104 #  define fsetpos(f,p)  _CANNOT _fsetpos_
105 #  define ftell(f)  _CANNOT _ftell_
106 #  define rewind(f)  _CANNOT _rewind_
107 #  define clearerr(f)  _CANNOT _clearerr_
108 #  define feof(f)  _CANNOT _feof_
109 #  define ferror(f)  _CANNOT _ferror_
110 #  define __filbuf(f)  _CANNOT __filbuf_
111 #  define __flsbuf(c,f)  _CANNOT __flsbuf_
112 #  define _filbuf(f)  _CANNOT _filbuf_
113 #  define _flsbuf(c,f)  _CANNOT _flsbuf_
114 #  define fdopen(fd,p)  _CANNOT _fdopen_
115 #  define fileno(f)  _CANNOT _fileno_
116 #  if defined(SFIO_VERSION) && SFIO_VERSION < 20000101L
117 #    define flockfile(f)  _CANNOT _flockfile_
118 #    define ftrylockfile(f)  _CANNOT _ftrylockfile_
119 #    define funlockfile(f)  _CANNOT _funlockfile_
120 #  endif
121 #  define getc_unlocked(f)  _CANNOT _getc_unlocked_
122 #  define putc_unlocked(c,f)  _CANNOT _putc_unlocked_
123 #  define popen(c,m)  _CANNOT _popen_
124 #  define getw(f)  _CANNOT _getw_
125 #  define putw(v,f)  _CANNOT _putw_
126 #  ifndef OS2
127 #    define pclose(f)  _CANNOT _pclose_
128 #  endif
129 
130 #endif /*not define OEMVS */
131 
132 /*
133  * ex: set ts=8 sts=4 sw=4 et:
134  */
135