/* -*- indent-tabs-mode: nil -*- * * This file is part of Funchook. * https://github.com/kubo/funchook * * Funchook is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 2 of the License, or (at your * option) any later version. * * As a special exception, the copyright holders of this library give you * permission to link this library with independent modules to produce an * executable, regardless of the license terms of these independent * modules, and to copy and distribute the resulting executable under * terms of your choice, provided that you also meet, for each linked * independent module, the terms and conditions of the license of that * module. An independent module is a module which is not derived from or * based on this library. If you modify this library, you may extend this * exception to your version of the library, but you are not obliged to * do so. If you do not wish to do so, delete this exception statement * from your version. * * Funchook is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. * * You should have received a copy of the GNU General Public License * along with Funchook. If not, see . */ #ifndef OS_FUNC_H #define OS_FUNC_H 1 #include /* os_func.c */ char *funchook_strlcpy(char *dest, const char *src, size_t n); int funchook_snprintf(char *str, size_t size, const char *format, ...); int funchook_vsnprintf(char *str, size_t size, const char *format, va_list ap); #undef strlcpy #define strlcpy funchook_strlcpy #undef snprintf #define snprintf funchook_snprintf #undef vsnprintf #define vsnprintf funchook_vsnprintf #ifdef WIN32 /* os_func_windows.c */ /* no function for now */ #else #include /* os_func_unix.c */ extern int funchook_os_errno; long funchook_os_syscall(long, ...); int funchook_os_open(const char *pathname, int flags, ...); int funchook_os_close(int fd); ssize_t funchook_os_read(int fd, void *buf, size_t count); ssize_t funchook_os_write(int fd, const void *buf, size_t count); void *funchook_os_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int funchook_os_munmap(void *addr, size_t length); int funchook_os_mprotect(void *addr, size_t len, int prot); #undef errno #define errno funchook_os_errno #define syscall funchook_os_syscall #define open funchook_os_open #define close funchook_os_close #define read funchook_os_read #define write funchook_os_write #define mmap funchook_os_mmap #define munmap funchook_os_munmap #define mprotect funchook_os_mprotect #endif #endif /* OS_FUNC_H */