SSBM Decomp
Loading...
Searching...
No Matches
stdio.h
Go to the documentation of this file.
1#ifndef _STDIO_H_
2#define _STDIO_H_
3
4#include "stdarg.h"
5#include "stddef.h"
6
7#define SEEK_SET 0
8#define SEEK_CUR 1
9#define SEEK_END 2
10
11#define __ungetc_buffer_size 2
12
13typedef unsigned long __file_handle;
14typedef unsigned long fpos_t;
15
16#pragma clang diagnostic push
17#pragma clang diagnostic ignored "-Wtypedef-redefinition"
18typedef unsigned short wchar_t;
19#pragma clang diagnostic pop
20
38
44
45typedef struct {
46 unsigned int open_mode : 2;
47 unsigned int io_mode : 3;
48 unsigned int buffer_mode : 2;
49 unsigned int file_kind : 3;
50 unsigned int file_orientation : 2;
51 unsigned int binary_io : 1;
53
60
61typedef struct {
62 unsigned int io_state : 3;
63 unsigned int free_buffer : 1;
64 unsigned char eof;
65 unsigned char error;
67
68typedef void (*__idle_proc)(void);
69typedef int (*__pos_proc)(__file_handle file, fpos_t* position, int mode,
70 __idle_proc idle_proc);
71typedef int (*__io_proc)(__file_handle file, unsigned char* buff,
72 size_t* count, __idle_proc idle_proc);
73typedef int (*__close_proc)(__file_handle file);
74
75typedef struct _IO_FILE {
79 unsigned char char_buffer;
80 unsigned char char_buffer_overflow;
81 unsigned char ungetc_buffer[__ungetc_buffer_size];
82 wchar_t ungetwc_buffer[__ungetc_buffer_size];
83 unsigned long position;
84 unsigned char* buffer;
85 unsigned long buffer_size;
86 unsigned char* buffer_ptr;
87 unsigned long buffer_len;
88 unsigned long buffer_alignment;
89 unsigned long saved_buffer_len;
90 unsigned long buffer_pos;
96} FILE;
97
98typedef struct {
99 char* CharStr;
103
104typedef struct {
105 char* NextChar;
108
109#define EOF -1L
110
116
117int __StringRead(void* str, int ch, int behavior);
118
119#define _IONBF 0
120#define _IOLBF 1
121#define _IOFBF 2
122
123extern FILE __files[3];
124
125#define stdin (&__files[0])
126#define stdout (&__files[1])
127#define stderr (&__files[2])
128
129int sprintf(char* s, const char* format, ...);
130int vprintf(const char* format, va_list arg);
131int vsprintf(char* s, const char* format, va_list arg);
132
133size_t fwrite(const void*, size_t memb_size, size_t num_memb, FILE*);
134
135#endif // _STDIO
__io_results
Definition stdio.h:39
@ __io_EOF
Definition stdio.h:42
@ __no_io_error
Definition stdio.h:40
@ __io_error
Definition stdio.h:41
int vprintf(const char *format, va_list arg)
Definition printf.c:1058
FILE __files[3]
Definition ansi_files.c:4
__io_modes
Definition stdio.h:21
@ __write
Definition stdio.h:23
@ __read
Definition stdio.h:22
@ __read_write
Definition stdio.h:24
@ __append
Definition stdio.h:25
unsigned long fpos_t
Definition stdio.h:14
int(* __close_proc)(__file_handle file)
Definition stdio.h:73
int vsprintf(char *s, const char *format, va_list arg)
Definition printf.c:1083
unsigned short wchar_t
Definition stdio.h:18
int sprintf(char *s, const char *format,...)
Definition printf.c:1088
#define __ungetc_buffer_size
Definition stdio.h:11
__ReadProcActions
Definition stdio.h:111
@ __GetAChar
Definition stdio.h:112
@ __UngetAChar
Definition stdio.h:113
@ __TestForError
Definition stdio.h:114
__io_states
Definition stdio.h:54
@ __reading
Definition stdio.h:57
@ __rereading
Definition stdio.h:58
@ __neutral
Definition stdio.h:55
@ __writing
Definition stdio.h:56
size_t fwrite(const void *, size_t memb_size, size_t num_memb, FILE *)
Definition direct_io.c:8
int(* __pos_proc)(__file_handle file, fpos_t *position, int mode, __idle_proc idle_proc)
Definition stdio.h:69
__file_kinds
Definition stdio.h:27
@ __unavailable_file
Definition stdio.h:31
@ __closed_file
Definition stdio.h:28
@ __disk_file
Definition stdio.h:29
@ __console_file
Definition stdio.h:30
void(* __idle_proc)(void)
Definition stdio.h:68
int(* __io_proc)(__file_handle file, unsigned char *buff, size_t *count, __idle_proc idle_proc)
Definition stdio.h:71
unsigned long __file_handle
Definition stdio.h:13
int __StringRead(void *str, int ch, int behavior)
Definition string.c:291
__file_orientation
Definition stdio.h:33
@ __wide_oriented
Definition stdio.h:36
@ __char_oriented
Definition stdio.h:35
@ __unoriented
Definition stdio.h:34
Definition stdio.h:75
unsigned long buffer_size
Definition stdio.h:85
unsigned char char_buffer
Definition stdio.h:79
unsigned char * buffer
Definition stdio.h:84
__file_modes mode
Definition stdio.h:77
unsigned long position
Definition stdio.h:83
__close_proc close_proc
Definition stdio.h:94
unsigned long saved_buffer_len
Definition stdio.h:89
unsigned char * buffer_ptr
Definition stdio.h:86
__io_proc write_proc
Definition stdio.h:93
__file_state state
Definition stdio.h:78
unsigned long buffer_alignment
Definition stdio.h:88
__idle_proc idle_proc
Definition stdio.h:95
unsigned long buffer_len
Definition stdio.h:87
__pos_proc position_proc
Definition stdio.h:91
unsigned long buffer_pos
Definition stdio.h:90
__file_handle handle
Definition stdio.h:76
unsigned char char_buffer_overflow
Definition stdio.h:80
__io_proc read_proc
Definition stdio.h:92
Definition stdio.h:104
int NullCharDetected
Definition stdio.h:106
char * NextChar
Definition stdio.h:105
Definition stdio.h:98
size_t CharsWritten
Definition stdio.h:101
char * CharStr
Definition stdio.h:99
size_t MaxCharCount
Definition stdio.h:100
Definition stdio.h:45
unsigned int file_orientation
Definition stdio.h:50
unsigned int io_mode
Definition stdio.h:47
unsigned int file_kind
Definition stdio.h:49
unsigned int open_mode
Definition stdio.h:46
unsigned int binary_io
Definition stdio.h:51
unsigned int buffer_mode
Definition stdio.h:48
Definition stdio.h:61
unsigned char eof
Definition stdio.h:64
unsigned int io_state
Definition stdio.h:62
unsigned char error
Definition stdio.h:65
unsigned int free_buffer
Definition stdio.h:63
Definition stdarg.h:4