@@ -178,140 +178,9 @@ pub type intptr_t = isize;
178
178
pub type uintptr_t = usize ;
179
179
pub type ssize_t = isize ;
180
180
181
- pub enum FILE { }
182
- pub enum fpos_t { } // TODO: fill this out with a struct
183
-
184
181
pub const INT_MIN : c_int = -2147483648 ;
185
182
pub const INT_MAX : c_int = 2147483647 ;
186
183
187
- extern "C" {
188
- pub fn isalnum ( c : c_int ) -> c_int ;
189
- pub fn isalpha ( c : c_int ) -> c_int ;
190
- pub fn iscntrl ( c : c_int ) -> c_int ;
191
- pub fn isdigit ( c : c_int ) -> c_int ;
192
- pub fn isgraph ( c : c_int ) -> c_int ;
193
- pub fn islower ( c : c_int ) -> c_int ;
194
- pub fn isprint ( c : c_int ) -> c_int ;
195
- pub fn ispunct ( c : c_int ) -> c_int ;
196
- pub fn isspace ( c : c_int ) -> c_int ;
197
- pub fn isupper ( c : c_int ) -> c_int ;
198
- pub fn isxdigit ( c : c_int ) -> c_int ;
199
- pub fn tolower ( c : c_int ) -> c_int ;
200
- pub fn toupper ( c : c_int ) -> c_int ;
201
-
202
- #[ cfg_attr(
203
- all( target_os = "macos" , target_arch = "x86" ) ,
204
- link_name = "fopen$UNIX2003"
205
- ) ]
206
- pub fn fopen ( filename : * const c_char , mode : * const c_char ) -> * mut FILE ;
207
- #[ cfg_attr(
208
- all( target_os = "macos" , target_arch = "x86" ) ,
209
- link_name = "freopen$UNIX2003"
210
- ) ]
211
- pub fn freopen ( filename : * const c_char , mode : * const c_char , file : * mut FILE ) -> * mut FILE ;
212
- pub fn fflush ( file : * mut FILE ) -> c_int ;
213
- pub fn fclose ( file : * mut FILE ) -> c_int ;
214
- pub fn remove ( filename : * const c_char ) -> c_int ;
215
- pub fn rename ( oldname : * const c_char , newname : * const c_char ) -> c_int ;
216
- pub fn tmpfile ( ) -> * mut FILE ;
217
- pub fn setvbuf ( stream : * mut FILE , buffer : * mut c_char , mode : c_int , size : size_t ) -> c_int ;
218
- pub fn setbuf ( stream : * mut FILE , buf : * mut c_char ) ;
219
- pub fn getchar ( ) -> c_int ;
220
- pub fn putchar ( c : c_int ) -> c_int ;
221
- pub fn fgetc ( stream : * mut FILE ) -> c_int ;
222
- pub fn fgets ( buf : * mut c_char , n : c_int , stream : * mut FILE ) -> * mut c_char ;
223
- pub fn fputc ( c : c_int , stream : * mut FILE ) -> c_int ;
224
- #[ cfg_attr(
225
- all( target_os = "macos" , target_arch = "x86" ) ,
226
- link_name = "fputs$UNIX2003"
227
- ) ]
228
- pub fn fputs ( s : * const c_char , stream : * mut FILE ) -> c_int ;
229
- pub fn puts ( s : * const c_char ) -> c_int ;
230
- pub fn ungetc ( c : c_int , stream : * mut FILE ) -> c_int ;
231
- pub fn fread ( ptr : * mut c_void , size : size_t , nobj : size_t , stream : * mut FILE ) -> size_t ;
232
- #[ cfg_attr(
233
- all( target_os = "macos" , target_arch = "x86" ) ,
234
- link_name = "fwrite$UNIX2003"
235
- ) ]
236
- pub fn fwrite ( ptr : * const c_void , size : size_t , nobj : size_t , stream : * mut FILE ) -> size_t ;
237
- pub fn fseek ( stream : * mut FILE , offset : c_long , whence : c_int ) -> c_int ;
238
- pub fn ftell ( stream : * mut FILE ) -> c_long ;
239
- pub fn rewind ( stream : * mut FILE ) ;
240
- #[ cfg_attr( target_os = "netbsd" , link_name = "__fgetpos50" ) ]
241
- pub fn fgetpos ( stream : * mut FILE , ptr : * mut fpos_t ) -> c_int ;
242
- #[ cfg_attr( target_os = "netbsd" , link_name = "__fsetpos50" ) ]
243
- pub fn fsetpos ( stream : * mut FILE , ptr : * const fpos_t ) -> c_int ;
244
- pub fn feof ( stream : * mut FILE ) -> c_int ;
245
- pub fn ferror ( stream : * mut FILE ) -> c_int ;
246
- pub fn perror ( s : * const c_char ) ;
247
- pub fn atoi ( s : * const c_char ) -> c_int ;
248
- #[ cfg_attr(
249
- all( target_os = "macos" , target_arch = "x86" ) ,
250
- link_name = "strtod$UNIX2003"
251
- ) ]
252
- pub fn strtod ( s : * const c_char , endp : * mut * mut c_char ) -> c_double ;
253
- pub fn strtol ( s : * const c_char , endp : * mut * mut c_char , base : c_int ) -> c_long ;
254
- pub fn strtoul ( s : * const c_char , endp : * mut * mut c_char , base : c_int ) -> c_ulong ;
255
- pub fn calloc ( nobj : size_t , size : size_t ) -> * mut c_void ;
256
- pub fn malloc ( size : size_t ) -> * mut c_void ;
257
- pub fn realloc ( p : * mut c_void , size : size_t ) -> * mut c_void ;
258
- pub fn free ( p : * mut c_void ) ;
259
- pub fn abort ( ) -> !;
260
- pub fn exit ( status : c_int ) -> !;
261
- pub fn _exit ( status : c_int ) -> !;
262
- pub fn atexit ( cb : extern "C" fn ( ) ) -> c_int ;
263
- #[ cfg_attr(
264
- all( target_os = "macos" , target_arch = "x86" ) ,
265
- link_name = "system$UNIX2003"
266
- ) ]
267
- pub fn system ( s : * const c_char ) -> c_int ;
268
- pub fn getenv ( s : * const c_char ) -> * mut c_char ;
269
-
270
- pub fn strcpy ( dst : * mut c_char , src : * const c_char ) -> * mut c_char ;
271
- pub fn strncpy ( dst : * mut c_char , src : * const c_char , n : size_t ) -> * mut c_char ;
272
- pub fn strcat ( s : * mut c_char , ct : * const c_char ) -> * mut c_char ;
273
- pub fn strncat ( s : * mut c_char , ct : * const c_char , n : size_t ) -> * mut c_char ;
274
- pub fn strcmp ( cs : * const c_char , ct : * const c_char ) -> c_int ;
275
- pub fn strncmp ( cs : * const c_char , ct : * const c_char , n : size_t ) -> c_int ;
276
- pub fn strcoll ( cs : * const c_char , ct : * const c_char ) -> c_int ;
277
- pub fn strchr ( cs : * const c_char , c : c_int ) -> * mut c_char ;
278
- pub fn strrchr ( cs : * const c_char , c : c_int ) -> * mut c_char ;
279
- pub fn strspn ( cs : * const c_char , ct : * const c_char ) -> size_t ;
280
- pub fn strcspn ( cs : * const c_char , ct : * const c_char ) -> size_t ;
281
- pub fn strdup ( cs : * const c_char ) -> * mut c_char ;
282
- pub fn strpbrk ( cs : * const c_char , ct : * const c_char ) -> * mut c_char ;
283
- pub fn strstr ( cs : * const c_char , ct : * const c_char ) -> * mut c_char ;
284
- pub fn strlen ( cs : * const c_char ) -> size_t ;
285
- pub fn strnlen ( cs : * const c_char , maxlen : size_t ) -> size_t ;
286
- #[ cfg_attr(
287
- all( target_os = "macos" , target_arch = "x86" ) ,
288
- link_name = "strerror$UNIX2003"
289
- ) ]
290
- pub fn strerror ( n : c_int ) -> * mut c_char ;
291
- pub fn strtok ( s : * mut c_char , t : * const c_char ) -> * mut c_char ;
292
- pub fn strxfrm ( s : * mut c_char , ct : * const c_char , n : size_t ) -> size_t ;
293
- pub fn wcslen ( buf : * const wchar_t ) -> size_t ;
294
- pub fn wcstombs ( dest : * mut c_char , src : * const wchar_t , n : size_t ) -> :: size_t ;
295
-
296
- pub fn memchr ( cx : * const c_void , c : c_int , n : size_t ) -> * mut c_void ;
297
- pub fn memcmp ( cx : * const c_void , ct : * const c_void , n : size_t ) -> c_int ;
298
- pub fn memcpy ( dest : * mut c_void , src : * const c_void , n : size_t ) -> * mut c_void ;
299
- pub fn memmove ( dest : * mut c_void , src : * const c_void , n : size_t ) -> * mut c_void ;
300
- pub fn memset ( dest : * mut c_void , c : c_int , n : size_t ) -> * mut c_void ;
301
- }
302
-
303
- // These are all inline functions on android, so they end up just being entirely
304
- // missing on that platform.
305
-
306
- #[ cfg( not( target_os = "android" ) ) ]
307
- extern "C" {
308
- pub fn abs ( i : c_int ) -> c_int ;
309
- pub fn atof ( s : * const c_char ) -> c_double ;
310
- pub fn labs ( i : c_long ) -> c_long ;
311
- pub fn rand ( ) -> c_int ;
312
- pub fn srand ( seed : c_uint ) ;
313
- }
314
-
315
184
cfg_if ! {
316
185
if #[ cfg( windows) ] {
317
186
mod windows;
0 commit comments