* signal.c, stdio.c: Remove "function declaration isn't a prototype" warnings....
[mono.git] / support / stdio.c
1 /*
2  * <stdio.h> wrapper functions.
3  *
4  * Authors:
5  *   Jonathan Pryor (jonpryor@vt.edu)
6  *
7  * Copyright (C) 2004-2005 Jonathan Pryor
8  */
9
10 #include <stdio.h>
11 #include <stdlib.h>
12
13 #include "mph.h"
14
15 G_BEGIN_DECLS
16
17 gint32
18 Mono_Posix_Syscall_L_ctermid (void)
19 {
20         return L_ctermid;
21 }
22
23 gint32
24 Mono_Posix_Syscall_L_cuserid (void)
25 {
26         return L_cuserid;
27 }
28
29 mph_size_t
30 Mono_Posix_Stdlib_fread (void *ptr, mph_size_t size, mph_size_t nmemb, FILE *stream)
31 {
32         mph_return_if_size_t_overflow (size);
33         mph_return_if_size_t_overflow (nmemb);
34
35         return fread (ptr, (size_t) size, (size_t) nmemb, stream);
36 }
37
38 mph_size_t
39 Mono_Posix_Stdlib_fwrite (const void *ptr, mph_size_t size, mph_size_t nmemb, FILE *stream)
40 {
41         mph_return_if_size_t_overflow (size);
42         mph_return_if_size_t_overflow (nmemb);
43
44         return fwrite (ptr, (size_t) size, (size_t) nmemb, stream);
45 }
46
47 gint32
48 Mono_Posix_Stdlib__IOFBF (void)
49 {
50         return _IOFBF;
51 }
52
53 gint32
54 Mono_Posix_Stdlib__IOLBF (void)
55 {
56         return _IOLBF;
57 }
58
59 gint32
60 Mono_Posix_Stdlib__IONBF (void)
61 {
62         return _IONBF;
63 }
64
65 gint32
66 Mono_Posix_Stdlib_BUFSIZ (void)
67 {
68         return BUFSIZ;
69 }
70
71 gint32
72 Mono_Posix_Stdlib_EOF (void)
73 {
74         return EOF;
75 }
76
77 gint32
78 Mono_Posix_Stdlib_FOPEN_MAX (void)
79 {
80         return FOPEN_MAX;
81 }
82
83 gint32
84 Mono_Posix_Stdlib_FILENAME_MAX (void)
85 {
86         return FILENAME_MAX;
87 }
88
89 gint32
90 Mono_Posix_Stdlib_L_tmpnam (void)
91 {
92         return L_tmpnam;
93 }
94
95 FILE*
96 Mono_Posix_Stdlib_stdin (void)
97 {
98         return stdin;
99 }
100
101 FILE*
102 Mono_Posix_Stdlib_stdout (void)
103 {
104         return stdout;
105 }
106
107 FILE*
108 Mono_Posix_Stdlib_stderr (void)
109 {
110         return stderr;
111 }
112
113 gint32
114 Mono_Posix_Stdlib_TMP_MAX (void)
115 {
116         return TMP_MAX;
117 }
118
119 gint32
120 Mono_Posix_Stdlib_setvbuf (FILE *stream, char *buf, int mode, mph_size_t size)
121 {
122         mph_return_if_size_t_overflow (size);
123         return setvbuf (stream, buf, mode, (size_t) size);
124 }
125
126 gint32
127 Mono_Posix_Stdlib_fseek (FILE* stream, gint64 offset, int origin)
128 {
129         mph_return_if_long_overflow (offset);
130
131         return fseek (stream, offset, origin);
132 }
133
134 gint64
135 Mono_Posix_Stdlib_ftell (FILE* stream)
136 {
137         return ftell (stream);
138 }
139
140 fpos_t*
141 Mono_Posix_Stdlib_CreateFilePosition (void)
142 {
143         fpos_t* pos = malloc (sizeof(fpos_t));
144         return pos;
145 }
146
147 gint32
148 Mono_Posix_Stdlib_fgetpos (FILE* stream, fpos_t *pos)
149 {
150         return fgetpos (stream, pos);
151 }
152
153 gint32
154 Mono_Posix_Stdlib_fsetpos (FILE* stream, fpos_t *pos)
155 {
156         return fsetpos (stream, pos);
157 }
158
159 G_END_DECLS
160
161 /*
162  * vim: noexpandtab
163  */