📄 sysconfig.h
字号:
/* * klibc/sysconfig.h * * Allows for definitions of some things which may be system-dependent * NOTE: this file must not result in any output from the preprocessor. */#ifndef _KLIBC_SYSCONFIG_H#define _KLIBC_SYSCONFIG_H#include <klibc/archconfig.h>#include <asm/unistd.h>/* * These are the variables that can be defined in <klibc/archconfig.h>. * For boolean options, #define to 0 to disable, #define to 1 to enable. * * If undefined, they will be given defaults here. *//* * _KLIBC_NO_MMU: * * Indicates this architecture doesn't have an MMU, and therefore * does not have the sys_fork and sys_brk system calls. *//* Default to having an MMU if we can find the fork system call */#ifndef _KLIBC_NO_MMU# if defined(__NR_fork)# define _KLIBC_NO_MMU 0# else# define _KLIBC_NO_MMU 1# endif#endif/* * _KLIBC_REAL_VFORK: * * Indicates that this architecture has a real vfork() system call. * This is the default if sys_vfork exists; if there is an * architecture-dependent implementation of vfork(), define this * symbol. */#ifndef _KLIBC_REAL_VFORK# if defined(__NR_vfork)# define _KLIBC_REAL_VFORK 1# else# define _KLIBC_REAL_VFORK 0# endif#endif/* * _KLIBC_USE_MMAP2: * * Indicates that this architecture should use sys_mmap2 instead * of sys_mmap. This is the default on 32-bit architectures, assuming * sys_mmap2 exists. */#ifndef _KLIBC_USE_MMAP2# if (_BITSIZE == 32 && defined(__NR_mmap2)) || \ (_BITSIZE == 64 && !defined(__NR_mmap))# define _KLIBC_USE_MMAP2 1# else# define _KLIBC_USE_MMAP2 0# endif#endif/* * _KLIBC_MMAP2_SHIFT: * * Indicate the shift of the offset parameter in sys_mmap2. * On most architectures, this is always 12, but on some * architectures it can be a different number, or the current * page size. If this is dependent on the page size, define * this to an expression which includes __getpageshift(). */#ifndef _KLIBC_MMAP2_SHIFT# define _KLIBC_MMAP2_SHIFT 12#endif/* * _KLIBC_MALLOC_USES_SBRK: * * Indicates that malloc() should use sbrk() to obtain raw memory * from the system, rather than mmap(). *//* Default to get memory using mmap() */#ifndef _KLIBC_MALLOC_USES_SBRK# define _KLIBC_MALLOC_USES_SBRK 0#endif/* * _KLIBC_MALLOC_CHUNK_SIZE: * This is the minimum chunk size we will ask the kernel for using * malloc(); this should be a multiple of the page size and must * be a power of 2. */#ifndef _KLIBC_MALLOC_CHUNK_SIZE# define _KLIBC_MALLOC_CHUNK_SIZE 65536#endif/* * _KLIBC_SBRK_ALIGNMENT: * * This is the minimum alignment for the memory returned by * sbrk(). It must be a power of 2. If _KLIBC_MALLOC_USES_SBRK * is set it should be no smaller than the size of struct * arena_header in malloc.h (== 4 pointers.) */#ifndef _KLIBC_SBRK_ALIGNMENT# define _KLIBC_SBRK_ALIGNMENT 32#endif/* * _KLIBC_USE_RT_SIG: * * Indicates that this architecture should use the rt_sig*() * family of system calls, even if the older system calls are * provided. This requires that <asm/signal.h> is correct for * using with the rt_sig*() system calls. This is the default if * the older system calls are undefined in <asm/unistd.h>. * */#ifndef _KLIBC_USE_RT_SIG# ifdef __NR_sigaction# define _KLIBC_USE_RT_SIG 0# else# define _KLIBC_USE_RT_SIG 1# endif#endif/* * _KLIBC_NEEDS_SA_RESTORER: * * Some architectures, like x86-64 and some i386 Fedora kernels, * do not provide a default sigreturn, and therefore must have * SA_RESTORER set. */#ifndef _KLIBC_NEEDS_SA_RESTORER# define _KLIBC_NEEDS_SA_RESTORER 0#endif/* * _KLIBC_STATFS_F_TYPE_64: * * This indicates that the f_type, f_bsize, f_namelen, * f_frsize, and f_spare fields of struct statfs are * 64 bits long. This is normally the case for 64-bit * platforms, and so is the default for those. See * usr/include/sys/vfs.h for the exact details. */#ifndef _KLIBC_STATFS_F_TYPE_64# define _KLIBC_STATFS_F_TYPE_64 (_BITSIZE == 64)#endif/* * _KLIBC_STATFS_F_TYPE_32B: * * mips has it's own definition of statfs, which is * different from any other 32 bit arch. */ #ifndef _KLIBC_STATFS_F_TYPE_32B# define _KLIBC_STATFS_F_TYPE_32B 0#endif/* * _KLIBC_HAS_ARCHSOCKET_H * * This architecture has <klibc/archsocket.h> */#ifndef _KLIBC_HAS_ARCHSOCKET_H# define _KLIBC_HAS_ARCHSOCKET_H 0#endif#endif /* _KLIBC_SYSCONFIG_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -