| // AUTO GENERATED FILE, DO NOT EDIT. |
| // Regenerate with `dart run tool/build_functions.dart`. |
| |
| #include <assert.h> |
| #include <errno.h> |
| |
| #include "functions.g.h" |
| |
| #include <fcntl.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <sys/mman.h> |
| #include <sys/stat.h> |
| #include <unistd.h> |
| int libc_shim_valid_mode_t(long a) { return (long)((mode_t) a) == a; } |
| |
| int libc_shim_valid_size_t(unsigned long a) { return (unsigned long)((size_t) a) == a; } |
| |
| int libc_shim_valid_off_t(long a) { return (long)((off_t) a) == a; } |
| |
| int libc_shim_open(const char * arg0, int arg1, long arg2, int * err) { |
| int r; |
| if (!libc_shim_valid_mode_t(arg2)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = open(arg0, arg1, (mode_t) arg2); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_openat(int arg0, const char * arg1, int arg2, long arg3, int * err) { |
| int r; |
| if (!libc_shim_valid_mode_t(arg3)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = openat(arg0, arg1, arg2, (mode_t) arg3); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_rename(const char * arg0, const char * arg1, int * err) { |
| int r; |
| errno = *err; |
| r = rename(arg0, arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| char * libc_shim_getenv(const char * arg0, int * err) { |
| char * r; |
| errno = *err; |
| r = getenv(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| char * libc_shim_mkdtemp(char * arg0, int * err) { |
| char * r; |
| errno = *err; |
| r = mkdtemp(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| char * libc_shim_strerror(int arg0, int * err) { |
| char * r; |
| errno = *err; |
| r = strerror(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_mlock(const void * arg0, unsigned long arg1, int * err) { |
| int r; |
| if (!libc_shim_valid_size_t(arg1)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = mlock(arg0, (size_t) arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_mlockall(int arg0, int * err) { |
| int r; |
| errno = *err; |
| r = mlockall(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| void * libc_shim_mmap(void * arg0, unsigned long arg1, int arg2, int arg3, int arg4, long arg5, int * err) { |
| void * r; |
| if (!libc_shim_valid_size_t(arg1) && !libc_shim_valid_off_t(arg5)) { |
| *err = EDOM; |
| return MAP_FAILED; |
| } |
| errno = *err; |
| r = mmap(arg0, (size_t) arg1, arg2, arg3, arg4, (off_t) arg5); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_mprotect(void * arg0, unsigned long arg1, int arg2, int * err) { |
| int r; |
| if (!libc_shim_valid_size_t(arg1)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = mprotect(arg0, (size_t) arg1, arg2); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_munlock(const void * arg0, unsigned long arg1, int * err) { |
| int r; |
| if (!libc_shim_valid_size_t(arg1)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = munlock(arg0, (size_t) arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_munmap(void * arg0, unsigned long arg1, int * err) { |
| int r; |
| if (!libc_shim_valid_size_t(arg1)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = munmap(arg0, (size_t) arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_chmod(const char * arg0, long arg1, int * err) { |
| int r; |
| if (!libc_shim_valid_mode_t(arg1)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = chmod(arg0, (mode_t) arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_mkdir(const char * arg0, long arg1, int * err) { |
| int r; |
| if (!libc_shim_valid_mode_t(arg1)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = mkdir(arg0, (mode_t) arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_access(const char * arg0, int arg1, int * err) { |
| int r; |
| errno = *err; |
| r = access(arg0, arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| unsigned libc_shim_alarm(unsigned arg0, int * err) { |
| unsigned r; |
| errno = *err; |
| r = alarm(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_chdir(const char * arg0, int * err) { |
| int r; |
| errno = *err; |
| r = chdir(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_close(int arg0, int * err) { |
| int r; |
| errno = *err; |
| r = close(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| char * libc_shim_crypt(const char * arg0, const char * arg1, int * err) { |
| #if defined(__ANDROID__) |
| *err = ENOSYS; |
| return NULL; |
| #else |
| char * r; |
| errno = *err; |
| r = crypt(arg0, arg1); |
| *err = errno; |
| return r; |
| #endif |
| } |
| |
| |
| char * libc_shim_ctermid(char * arg0, int * err) { |
| #if defined(__ANDROID__) |
| *err = ENOSYS; |
| return ""; |
| #else |
| char * r; |
| errno = *err; |
| r = ctermid(arg0); |
| *err = errno; |
| return r; |
| #endif |
| } |
| |
| |
| int libc_shim_dup(int arg0, int * err) { |
| int r; |
| errno = *err; |
| r = dup(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_dup2(int arg0, int arg1, int * err) { |
| int r; |
| errno = *err; |
| r = dup2(arg0, arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_faccessat(int arg0, const char * arg1, int arg2, int arg3, int * err) { |
| int r; |
| errno = *err; |
| r = faccessat(arg0, arg1, arg2, arg3); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_fchdir(int arg0, int * err) { |
| int r; |
| errno = *err; |
| r = fchdir(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_fdatasync(int arg0, int * err) { |
| #if defined(TARGET_OS_IOS) |
| *err = ENOSYS; |
| return -1; |
| #else |
| int r; |
| errno = *err; |
| r = fdatasync(arg0); |
| *err = errno; |
| return r; |
| #endif |
| } |
| |
| |
| char * libc_shim_getcwd(char * arg0, unsigned long arg1, int * err) { |
| char * r; |
| if (!libc_shim_valid_size_t(arg1)) { |
| *err = EDOM; |
| return NULL; |
| } |
| errno = *err; |
| r = getcwd(arg0, (size_t) arg1); |
| *err = errno; |
| return r; |
| } |
| |
| |
| long libc_shim_getpid(int * err) { |
| pid_t r; |
| errno = *err; |
| r = getpid(); |
| *err = errno; |
| if ((pid_t)((long) r) != r) { |
| errno = ERANGE; |
| return -1; |
| } |
| return r; |
| } |
| |
| |
| long libc_shim_getppid(int * err) { |
| pid_t r; |
| errno = *err; |
| r = getppid(); |
| *err = errno; |
| if ((pid_t)((long) r) != r) { |
| errno = ERANGE; |
| return -1; |
| } |
| return r; |
| } |
| |
| |
| long libc_shim_read(int arg0, void * arg1, unsigned long arg2, int * err) { |
| ssize_t r; |
| if (!libc_shim_valid_size_t(arg2)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = read(arg0, arg1, (size_t) arg2); |
| *err = errno; |
| if ((ssize_t)((long) r) != r) { |
| errno = ERANGE; |
| return -1; |
| } |
| return r; |
| } |
| |
| |
| long libc_shim_write(int arg0, const void * arg1, unsigned long arg2, int * err) { |
| ssize_t r; |
| if (!libc_shim_valid_size_t(arg2)) { |
| *err = EDOM; |
| return -1; |
| } |
| errno = *err; |
| r = write(arg0, arg1, (size_t) arg2); |
| *err = errno; |
| if ((ssize_t)((long) r) != r) { |
| errno = ERANGE; |
| return -1; |
| } |
| return r; |
| } |
| |
| |
| int libc_shim_unlink(const char * arg0, int * err) { |
| int r; |
| errno = *err; |
| r = unlink(arg0); |
| *err = errno; |
| return r; |
| } |
| |
| |
| int libc_shim_unlinkat(int arg0, const char * arg1, int arg2, int * err) { |
| int r; |
| errno = *err; |
| r = unlinkat(arg0, arg1, arg2); |
| *err = errno; |
| return r; |
| } |
| |
| |