ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/staticperl/perl/fakesdio.h
Revision: 1.1
Committed: Thu Jun 30 14:26:41 2005 UTC (21 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 /* fakestdio.h
2     *
3     * Copyright (C) 2000, 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     * This is "source level" stdio compatibility mode.
12     * We try and #define stdio functions in terms of PerlIO.
13     */
14     #define _CANNOT "CANNOT"
15     #undef FILE
16     #define FILE PerlIO
17     #undef clearerr
18     #undef fclose
19     #undef fdopen
20     #undef feof
21     #undef ferror
22     #undef fflush
23     #undef fgetc
24     #undef fgetpos
25     #undef fgets
26     #undef fileno
27     #undef flockfile
28     #undef fopen
29     #undef fprintf
30     #undef fputc
31     #undef fputs
32     #undef fread
33     #undef freopen
34     #undef fscanf
35     #undef fseek
36     #undef fsetpos
37     #undef ftell
38     #undef ftrylockfile
39     #undef funlockfile
40     #undef fwrite
41     #undef getc
42     #undef getc_unlocked
43     #undef getw
44     #undef pclose
45     #undef popen
46     #undef putc
47     #undef putc_unlocked
48     #undef putw
49     #undef rewind
50     #undef setbuf
51     #undef setvbuf
52     #undef stderr
53     #undef stdin
54     #undef stdout
55     #undef tmpfile
56     #undef ungetc
57     #undef vfprintf
58     #undef printf
59    
60     /* printf used to live in perl.h like this - more sophisticated
61     than the rest
62     */
63     #if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
64     #define printf(fmt,args...) PerlIO_stdoutf(fmt,##args)
65     #else
66     #define printf PerlIO_stdoutf
67     #endif
68     #endif
69    
70     #define fprintf PerlIO_printf
71     #define stdin PerlIO_stdin()
72     #define stdout PerlIO_stdout()
73     #define stderr PerlIO_stderr()
74     #define tmpfile() PerlIO_tmpfile()
75     #define fclose(f) PerlIO_close(f)
76     #define fflush(f) PerlIO_flush(f)
77     #define fopen(p,m) PerlIO_open(p,m)
78     #define vfprintf(f,fmt,a) PerlIO_vprintf(f,fmt,a)
79     #define fgetc(f) PerlIO_getc(f)
80     #define fputc(c,f) PerlIO_putc(f,c)
81     #define fputs(s,f) PerlIO_puts(f,s)
82     #define getc(f) PerlIO_getc(f)
83     #define getc_unlocked(f) PerlIO_getc(f)
84     #define putc(c,f) PerlIO_putc(f,c)
85     #define putc_unlocked(c,f) PerlIO_putc(c,f)
86     #define ungetc(c,f) PerlIO_ungetc(f,c)
87     #if 0
88     /* return values of read/write need work */
89     #define fread(b,s,c,f) PerlIO_read(f,b,(s*c))
90     #define fwrite(b,s,c,f) PerlIO_write(f,b,(s*c))
91     #else
92     #define fread(b,s,c,f) _CANNOT fread
93     #define fwrite(b,s,c,f) _CANNOT fwrite
94     #endif
95     #define fseek(f,o,w) PerlIO_seek(f,o,w)
96     #define ftell(f) PerlIO_tell(f)
97     #define rewind(f) PerlIO_rewind(f)
98     #define clearerr(f) PerlIO_clearerr(f)
99     #define feof(f) PerlIO_eof(f)
100     #define ferror(f) PerlIO_error(f)
101     #define fdopen(fd,p) PerlIO_fdopen(fd,p)
102     #define fileno(f) PerlIO_fileno(f)
103     #define popen(c,m) my_popen(c,m)
104     #define pclose(f) my_pclose(f)
105    
106     #define fsetpos(f,p) _CANNOT _fsetpos_
107     #define fgetpos(f,p) _CANNOT _fgetpos_
108    
109     #define __filbuf(f) _CANNOT __filbuf_
110     #define _filbuf(f) _CANNOT _filbuf_
111     #define __flsbuf(c,f) _CANNOT __flsbuf_
112     #define _flsbuf(c,f) _CANNOT _flsbuf_
113     #define getw(f) _CANNOT _getw_
114     #define putw(v,f) _CANNOT _putw_
115     #if SFIO_VERSION < 20000101L
116     #define flockfile(f) _CANNOT _flockfile_
117     #define ftrylockfile(f) _CANNOT _ftrylockfile_
118     #define funlockfile(f) _CANNOT _funlockfile_
119     #endif
120     #define freopen(p,m,f) _CANNOT _freopen_
121     #define setbuf(f,b) _CANNOT _setbuf_
122     #define setvbuf(f,b,x,s) _CANNOT _setvbuf_
123     #define fscanf _CANNOT _fscanf_
124     #define fgets(s,n,f) _CANNOT _fgets_
125