This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Changes.
[perl5.git] / nostdio.h
CommitLineData
d6376244
JH
1/* nostdio.h
2 *
3 * Copyright (c) 1987-2002, Larry Wall
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
28#define _CANNOT "CANNOT"
29
760ac839 30#undef clearerr
2b8f4455
JH
31#undef fclose
32#undef fdopen
760ac839
LW
33#undef feof
34#undef ferror
2b8f4455
JH
35#undef fflush
36#undef fgetc
37#undef fgetpos
38#undef fgets
760ac839 39#undef fileno
400e04b6 40#undef flockfile
76ced9ad 41#undef fopen
2b8f4455 42#undef fprintf
76ced9ad
NIS
43#undef fputc
44#undef fputs
76ced9ad 45#undef fread
2b8f4455
JH
46#undef freopen
47#undef fscanf
76ced9ad
NIS
48#undef fseek
49#undef fsetpos
50#undef ftell
400e04b6
JH
51#undef ftrylockfile
52#undef funlockfile
2b8f4455
JH
53#undef fwrite
54#undef getc
55#undef getc_unlocked
76ced9ad 56#undef getw
2b8f4455
JH
57#undef pclose
58#undef popen
59#undef putc
60#undef putc_unlocked
76ced9ad 61#undef putw
2b8f4455 62#undef rewind
76ced9ad
NIS
63#undef setbuf
64#undef setvbuf
2b8f4455
JH
65#undef stderr
66#undef stdin
67#undef stdout
68#undef tmpfile
69#undef ungetc
70#undef vfprintf
71
76ced9ad
NIS
72#define fprintf _CANNOT _fprintf_
73#define stdin _CANNOT _stdin_
74#define stdout _CANNOT _stdout_
75#define stderr _CANNOT _stderr_
2b8f4455 76#ifndef OS2
76ced9ad 77#define tmpfile() _CANNOT _tmpfile_
2b8f4455 78#endif
76ced9ad
NIS
79#define fclose(f) _CANNOT _fclose_
80#define fflush(f) _CANNOT _fflush_
81#define fopen(p,m) _CANNOT _fopen_
82#define freopen(p,m,f) _CANNOT _freopen_
83#define setbuf(f,b) _CANNOT _setbuf_
84#define setvbuf(f,b,x,s) _CANNOT _setvbuf_
85#define fscanf _CANNOT _fscanf_
86#define vfprintf(f,fmt,a) _CANNOT _vfprintf_
87#define fgetc(f) _CANNOT _fgetc_
88#define fgets(s,n,f) _CANNOT _fgets_
89#define fputc(c,f) _CANNOT _fputc_
90#define fputs(s,f) _CANNOT _fputs_
91#define getc(f) _CANNOT _getc_
92#define putc(c,f) _CANNOT _putc_
2b8f4455 93#ifndef OS2
76ced9ad 94#define ungetc(c,f) _CANNOT _ungetc_
2b8f4455 95#endif
76ced9ad
NIS
96#define fread(b,s,c,f) _CANNOT _fread_
97#define fwrite(b,s,c,f) _CANNOT _fwrite_
98#define fgetpos(f,p) _CANNOT _fgetpos_
99#define fseek(f,o,w) _CANNOT _fseek_
100#define fsetpos(f,p) _CANNOT _fsetpos_
101#define ftell(f) _CANNOT _ftell_
102#define rewind(f) _CANNOT _rewind_
103#define clearerr(f) _CANNOT _clearerr_
104#define feof(f) _CANNOT _feof_
105#define ferror(f) _CANNOT _ferror_
106#define __filbuf(f) _CANNOT __filbuf_
107#define __flsbuf(c,f) _CANNOT __flsbuf_
108#define _filbuf(f) _CANNOT _filbuf_
109#define _flsbuf(c,f) _CANNOT _flsbuf_
110#define fdopen(fd,p) _CANNOT _fdopen_
111#define fileno(f) _CANNOT _fileno_
112#if SFIO_VERSION < 20000101L
113#define flockfile(f) _CANNOT _flockfile_
114#define ftrylockfile(f) _CANNOT _ftrylockfile_
115#define funlockfile(f) _CANNOT _funlockfile_
116#endif
117#define getc_unlocked(f) _CANNOT _getc_unlocked_
118#define putc_unlocked(c,f) _CANNOT _putc_unlocked_
119#define popen(c,m) _CANNOT _popen_
120#define getw(f) _CANNOT _getw_
121#define putw(v,f) _CANNOT _putw_
2b8f4455 122#ifndef OS2
76ced9ad 123#define pclose(f) _CANNOT _pclose_
2b8f4455 124#endif