Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/tools/ido5.3_recomp/libc_impl.h
7858 views
1
#include <stdint.h>
2
3
void mmap_initial_data_range(uint8_t *mem, uint32_t start, uint32_t end);
4
void setup_libc_data(uint8_t *mem);
5
6
uint32_t wrapper_sbrk(uint8_t *mem, int increment);
7
uint32_t wrapper_malloc(uint8_t *mem, uint32_t size);
8
uint32_t wrapper_calloc(uint8_t *mem, uint32_t num, uint32_t size);
9
uint32_t wrapper_realloc(uint8_t *mem, uint32_t data_addr, uint32_t size);
10
int wrapper_fscanf(uint8_t *mem, uint32_t fp_addr, uint32_t format_addr, uint32_t sp);
11
int wrapper_printf(uint8_t *mem, uint32_t format_addr, uint32_t sp);
12
int wrapper_sprintf(uint8_t *mem, uint32_t str_addr, uint32_t format_addr, uint32_t sp);
13
int wrapper_fprintf(uint8_t *mem, uint32_t fp_addr, uint32_t format_addr, uint32_t sp);
14
int wrapper__doprnt(uint8_t *mem, uint32_t format_addr, uint32_t params_addr, uint32_t fp_addr);
15
void wrapper_free(uint8_t *mem, uint32_t data_addr);
16
uint32_t wrapper_strlen(uint8_t *mem, uint32_t str_addr);
17
int wrapper_open(uint8_t *mem, uint32_t pathname_addr, int flags, int mode);
18
int wrapper_creat(uint8_t *mem, uint32_t pathname_addr, int mode);
19
int wrapper_access(uint8_t *mem, uint32_t pathname_addr, int mode);
20
int wrapper_rename(uint8_t *mem, uint32_t oldpath_addr, uint32_t newpath_addr);
21
int wrapper_utime(uint8_t *mem, uint32_t filename_addr, uint32_t times_addr);
22
int wrapper_flock(uint8_t *mem, int fd, int operation);
23
int wrapper_chmod(uint8_t *mem, uint32_t path_addr, uint32_t mode);
24
int wrapper_umask(int mode);
25
uint32_t wrapper_ecvt(uint8_t *mem, double number, int ndigits, uint32_t decpt_addr, uint32_t sign_addr);
26
uint32_t wrapper_fcvt(uint8_t *mem, double number, int ndigits, uint32_t decpt_addr, uint32_t sign_addr);
27
double wrapper_sqrt(double v);
28
float wrapper_sqrtf(float v);
29
int wrapper_atoi(uint8_t *mem, uint32_t nptr_addr);
30
int wrapper_atol(uint8_t *mem, uint32_t nptr_addr);
31
double wrapper_atof(uint8_t *mem, uint32_t nptr_addr);
32
int wrapper_strtol(uint8_t *mem, uint32_t nptr_addr, uint32_t endptr_addr, int base);
33
uint32_t wrapper_strtoul(uint8_t *mem, uint32_t nptr_addr, uint32_t endptr_addr, int base);
34
double wrapper_strtod(uint8_t *mem, uint32_t nptr_addr, uint32_t endptr_addr);
35
uint32_t wrapper_strchr(uint8_t *mem, uint32_t str_addr, int c);
36
uint32_t wrapper_strrchr(uint8_t *mem, uint32_t str_addr, int c);
37
uint32_t wrapper_strcspn(uint8_t *mem, uint32_t str_addr, uint32_t invalid_addr);
38
uint32_t wrapper_strpbrk(uint8_t *mem, uint32_t str_addr, uint32_t accept_addr);
39
int wrapper_fstat(uint8_t *mem, int fildes, uint32_t buf_addr);
40
int wrapper_stat(uint8_t *mem, uint32_t pathname_addr, uint32_t buf_addr);
41
int wrapper_ftruncate(uint8_t *mem, int fd, int length);
42
void wrapper_bcopy(uint8_t *mem, uint32_t src_addr, uint32_t dst_addr, uint32_t len);
43
uint32_t wrapper_memcpy(uint8_t *mem, uint32_t dst_addr, uint32_t src_addr, uint32_t len);
44
uint32_t wrapper_memccpy(uint8_t *mem, uint32_t dst_addr, uint32_t src_addr, int c, uint32_t len);
45
int wrapper_read(uint8_t *mem, int fd, uint32_t buf_addr, uint32_t nbytes);
46
int wrapper_write(uint8_t *mem, int fd, uint32_t buf_addr, uint32_t nbytes);
47
uint32_t wrapper_fopen(uint8_t *mem, uint32_t path_addr, uint32_t mode_addr);
48
uint32_t wrapper_freopen(uint8_t *mem, uint32_t path_addr, uint32_t mode_addr, uint32_t fp_addr);
49
int wrapper_fclose(uint8_t *mem, uint32_t fp_addr);
50
int wrapper_fflush(uint8_t *mem, uint32_t fp_addr);
51
int wrapper_ftell(uint8_t *mem, uint32_t fp_addr);
52
void wrapper_rewind(uint8_t *mem, uint32_t fp_addr);
53
int wrapper_fseek(uint8_t *mem, uint32_t fp_addr, int offset, int origin);
54
int wrapper_lseek(uint8_t *mem, int fd, int offset, int whence);
55
int wrapper_dup(uint8_t *mem, int fd);
56
int wrapper_dup2(uint8_t *mem, int oldfd, int newfd);
57
int wrapper_pipe(uint8_t *mem, uint32_t pipefd_addr);
58
void wrapper_perror(uint8_t *mem, uint32_t str_addr);
59
int wrapper_fdopen(uint8_t *mem, int fd, uint32_t mode_addr);
60
uint32_t wrapper_memset(uint8_t *mem, uint32_t dest_addr, int byte, uint32_t n);
61
int wrapper_bcmp(uint8_t *mem, uint32_t s1_addr, uint32_t s2_addr, uint32_t n);
62
int wrapper_memcmp(uint8_t *mem, uint32_t s1_addr, uint32_t s2_addr, uint32_t n);
63
int wrapper_getpid(void);
64
int wrapper_getpgrp(uint8_t *mem);
65
int wrapper_remove(uint8_t *mem, uint32_t path_addr);
66
int wrapper_unlink(uint8_t *mem, uint32_t path_addr);
67
int wrapper_close(uint8_t *mem, int fd);
68
int wrapper_strcmp(uint8_t *mem, uint32_t s1_addr, uint32_t s2_addr);
69
int wrapper_strncmp(uint8_t *mem, uint32_t s1_addr, uint32_t s2_addr, uint32_t n);
70
uint32_t wrapper_strcpy(uint8_t *mem, uint32_t dest_addr, uint32_t src_addr);
71
uint32_t wrapper_strncpy(uint8_t *mem, uint32_t dest_addr, uint32_t src_addr, uint32_t n);
72
uint32_t wrapper_strcat(uint8_t *mem, uint32_t dest_addr, uint32_t src_addr);
73
uint32_t wrapper_strncat(uint8_t *mem, uint32_t dest_addr, uint32_t src_addr, uint32_t n);
74
uint32_t wrapper_strtok(uint8_t *mem, uint32_t str_addr, uint32_t delimiters_addr);
75
uint32_t wrapper_strstr(uint8_t *mem, uint32_t str1_addr, uint32_t str2_addr);
76
uint32_t wrapper_strdup(uint8_t *mem, uint32_t str_addr);
77
int wrapper_toupper(int c);
78
int wrapper_tolower(int c);
79
int wrapper_gethostname(uint8_t *mem, uint32_t name_addr, uint32_t len);
80
int wrapper_isatty(uint8_t *mem, int fd);
81
int wrapper_times(uint8_t *mem, uint32_t buffer_addr);
82
uint32_t wrapper_strftime(uint8_t *mem, uint32_t ptr_addr, uint32_t maxsize, uint32_t format_addr, uint32_t timeptr_addr);
83
int wrapper_clock(void);
84
uint32_t wrapper_ctime(uint8_t *mem, uint32_t timep_addr);
85
uint32_t wrapper_localtime(uint8_t *mem, uint32_t timep_addr);
86
int wrapper_setvbuf(uint8_t *mem, uint32_t fp_addr, uint32_t buf_addr, int mode, uint32_t size);
87
int wrapper___semgetc(uint8_t *mem, uint32_t fp_addr);
88
int wrapper___semputc(uint8_t *mem, int c, uint32_t fp_addr);
89
int wrapper_fgetc(uint8_t *mem, uint32_t fp_addr);
90
int wrapper_fgets(uint8_t *mem, uint32_t str_addr, int count, uint32_t fp_addr);
91
int wrapper___filbuf(uint8_t *mem, uint32_t fp_addr);
92
int wrapper___flsbuf(uint8_t *mem, int ch, uint32_t fp_addr);
93
int wrapper_ungetc(uint8_t *mem, int ch, uint32_t fp_addr);
94
uint32_t wrapper_gets(uint8_t *mem, uint32_t str_addr);
95
uint32_t wrapper_fread(uint8_t *mem, uint32_t data_addr, uint32_t size, uint32_t count, uint32_t fp_addr);
96
uint32_t wrapper_fwrite(uint8_t *mem, uint32_t data_addr, uint32_t size, uint32_t count, uint32_t fp_addr);
97
int wrapper_fputs(uint8_t *mem, uint32_t str_addr, uint32_t fp_addr);
98
int wrapper_puts(uint8_t *mem, uint32_t str_addr);
99
uint32_t wrapper_getcwd(uint8_t *mem, uint32_t buf_addr, uint32_t size);
100
int wrapper_time(uint8_t *mem, uint32_t tloc_addr);
101
void wrapper_bzero(uint8_t *mem, uint32_t str_addr, uint32_t n);
102
int wrapper_fp_class_d(double d);
103
double wrapper_ldexp(double d, int i);
104
int64_t wrapper___ll_mul(int64_t a0, int64_t a1);
105
int64_t wrapper___ll_div(int64_t a0, int64_t a1);
106
int64_t wrapper___ll_rem(uint64_t a0, int64_t a1);
107
int64_t wrapper___ll_lshift(int64_t a0, uint64_t shift);
108
int64_t wrapper___ll_rshift(int64_t a0, uint64_t shift);
109
uint64_t wrapper___ull_div(uint64_t a0, uint64_t a1);
110
uint64_t wrapper___ull_rem(uint64_t a0, uint64_t a1);
111
uint64_t wrapper___ull_rshift(uint64_t a0, uint64_t shift);
112
uint64_t wrapper___d_to_ull(double d);
113
int64_t wrapper___d_to_ll(double d);
114
uint64_t wrapper___f_to_ull(float f);
115
int64_t wrapper___f_to_ll(float f);
116
float wrapper___ull_to_f(uint64_t v);
117
float wrapper___ll_to_f(int64_t v);
118
double wrapper___ull_to_d(uint64_t v);
119
double wrapper___ll_to_d(int64_t v);
120
void wrapper_abort(uint8_t *mem);
121
void wrapper_exit(uint8_t *mem, int status);
122
void wrapper__exit(uint8_t *mem, int status);
123
void wrapper__cleanup(uint8_t *mem);
124
uint32_t wrapper__rld_new_interface(uint8_t *mem, uint32_t operation, uint32_t sp);
125
void wrapper__exithandle(uint8_t *mem);
126
int wrapper__prctl(uint8_t *mem, int operation, uint32_t sp);
127
double wrapper__atod(uint8_t *mem, uint32_t buffer_addr, int ndigits, int dexp);
128
int wrapper_pathconf(uint8_t *mem, uint32_t path_addr, int name);
129
uint32_t wrapper_getenv(uint8_t *mem, uint32_t name_addr);
130
uint32_t wrapper_gettxt(uint8_t *mem, uint32_t msgid_addr, uint32_t default_str_addr);
131
uint32_t wrapper_setlocale(uint8_t *mem, int category, uint32_t locale_addr);
132
uint32_t wrapper_mmap(uint8_t *mem, uint32_t addr, uint32_t length, int prot, int flags, int fd, int offset);
133
int wrapper_munmap(uint8_t *mem, uint32_t addr, uint32_t length);
134
int wrapper_mprotect(uint8_t *mem, uint32_t addr, uint32_t length, int prot);
135
int wrapper_sysconf(uint8_t *mem, int name);
136
int wrapper_getpagesize(uint8_t *mem);
137
int wrapper_strerror(uint8_t *mem, int errnum);
138
int wrapper_ioctl(uint8_t *mem, int fd, uint32_t request, uint32_t sp);
139
int wrapper_fcntl(uint8_t *mem, int fd, int cmd, uint32_t sp);
140
uint32_t wrapper_signal(uint8_t *mem, int signum, uint64_t (*trampoline)(uint8_t *mem, uint32_t sp, uint32_t a0, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t fp_dest), uint32_t handler_addr, uint32_t sp);
141
uint32_t wrapper_sigset(uint8_t *mem, int signum, uint64_t (*trampoline)(uint8_t *mem, uint32_t sp, uint32_t a0, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t fp_dest), uint32_t disp_addr, uint32_t sp);
142
int wrapper_get_fpc_csr(uint8_t *mem);
143
int wrapper_set_fpc_csr(uint8_t *mem, int csr);
144
int wrapper_setjmp(uint8_t *mem, uint32_t addr);
145
void wrapper_longjmp(uint8_t *mem, uint32_t addr, int status);
146
uint32_t wrapper_tempnam(uint8_t *mem, uint32_t dir_addr, uint32_t pfx_addr);
147
uint32_t wrapper_tmpnam(uint8_t *mem, uint32_t str_addr);
148
uint32_t wrapper_mktemp(uint8_t *mem, uint32_t template_addr);
149
int wrapper_mkstemp(uint8_t *mem, uint32_t name_addr);
150
uint32_t wrapper_tmpfile(uint8_t *mem);
151
int wrapper_wait(uint8_t *mem, uint32_t wstatus_addr);
152
int wrapper_kill(uint8_t *mem, int pid, int sig);
153
int wrapper_execlp(uint8_t *mem, uint32_t file_addr, uint32_t sp);
154
int wrapper_execv(uint8_t *mem, uint32_t pathname_addr, uint32_t argv_addr);
155
int wrapper_execvp(uint8_t *mem, uint32_t file_addr, uint32_t argv_addr);
156
int wrapper_fork(uint8_t *mem);
157
int wrapper_system(uint8_t *mem, uint32_t command_addr);
158
uint32_t wrapper_tsearch(uint8_t *mem, uint32_t key_addr, uint32_t rootp_addr, uint32_t compar_addr);
159
uint32_t wrapper_tfind(uint8_t *mem, uint32_t key_addr, uint32_t rootp_addr, uint32_t compar_addr);
160
uint32_t wrapper_qsort(uint8_t *mem, uint32_t base_addr, uint32_t num, uint32_t size, uint64_t (*trampoline)(uint8_t *mem, uint32_t sp, uint32_t a0, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t fp_dest), uint32_t compare_addr, uint32_t sp);
161
uint32_t wrapper_regcmp(uint8_t *mem, uint32_t string1_addr, uint32_t sp);
162
uint32_t wrapper_regex(uint8_t *mem, uint32_t re_addr, uint32_t subject_addr, uint32_t sp);
163
void wrapper___assert(uint8_t *mem, uint32_t assertion_addr, uint32_t file_addr, int line);
164
165