This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Forbid use of bare << to mean <<""
[perl5.git] / nostdio.h
CommitLineData
eb1102fc
NIS
1/* nostdio.h
2 *
cfc85103 3 * Copyright (C) 1996, 2000, 2001, 2005, by Larry Wall and others
eb1102fc
NIS
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
76ced9ad
NIS
10/*
11 * Strong denial of stdio - make all stdio calls (we can think of) errors
12 */
d1be9408 13/* This is a 1st attempt to stop other include files pulling
760ac839
LW
14 in real <stdio.h>.
15 A more ambitious set of possible symbols can be found in
16 sfio.h (inside an _cplusplus gard).
76ced9ad 17 It is completely pointless as we have already included it ourselves.
760ac839 18*/
2b8f4455 19
d8d253f0 20#if !defined(_STDIO_H) && !defined(FILE) && !defined(_STDIO_INCLUDED) && !defined(__STDIO_LOADED)
760ac839
LW
21#define _STDIO_H
22#define _STDIO_INCLUDED
d8d253f0 23#define __STDIO_LOADED
760ac839
LW
24struct _FILE;
25#define FILE struct _FILE
26#endif
27
1ff128e4
YK
28#ifndef EBCDIC
29
760ac839
LW
30#define _CANNOT "CANNOT"
31
760ac839 32#undef clearerr
2b8f4455
JH
33#undef fclose
34#undef fdopen
760ac839
LW
35#undef feof
36#undef ferror
2b8f4455
JH
37#undef fflush
38#undef fgetc
39#undef fgetpos
40#undef fgets
760ac839 41#undef fileno
400e04b6 42#undef flockfile
76ced9ad 43#undef fopen
2b8f4455 44#undef fprintf
76ced9ad
NIS
45#undef fputc
46#undef fputs
76ced9ad 47#undef fread
2b8f4455
JH
48#undef freopen
49#undef fscanf
76ced9ad
NIS
50#undef fseek
51#undef fsetpos
52#undef ftell
400e04b6
JH
53#undef ftrylockfile
54#undef funlockfile
2b8f4455
JH
55#undef fwrite
56#undef getc
57#undef getc_unlocked
76ced9ad 58#undef getw
2b8f4455
JH
59#undef pclose
60#undef popen
61#undef putc
62#undef putc_unlocked
76ced9ad 63#undef putw
2b8f4455 64#undef rewind
76ced9ad
NIS
65#undef setbuf
66#undef setvbuf
2b8f4455
JH
67#undef stderr
68#undef stdin
69#undef stdout
70#undef tmpfile
71#undef ungetc
72#undef vfprintf
f2b1176c 73#undef printf
2b8f4455 74
76ced9ad 75#define fprintf _CANNOT _fprintf_
f2b1176c 76#define printf _CANNOT _printf_
76ced9ad
NIS
77#define stdin _CANNOT _stdin_
78#define stdout _CANNOT _stdout_
79#define stderr _CANNOT _stderr_
2b8f4455 80#ifndef OS2
76ced9ad 81#define tmpfile() _CANNOT _tmpfile_
2b8f4455 82#endif
76ced9ad
NIS
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_
2b8f4455 97#ifndef OS2
76ced9ad 98#define ungetc(c,f) _CANNOT _ungetc_
2b8f4455 99#endif
76ced9ad
NIS
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_
cf2782cd 116#if defined(SFIO_VERSION) && SFIO_VERSION < 20000101L
76ced9ad
NIS
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_
2b8f4455 126#ifndef OS2
76ced9ad 127#define pclose(f) _CANNOT _pclose_
2b8f4455 128#endif
e9a8c099 129
1ff128e4
YK
130#endif /*not define EBCDIC */
131
e9a8c099 132/*
14d04a33 133 * ex: set ts=8 sts=4 sw=4 et:
e9a8c099 134 */