mirror of
https://git.proxmox.com/git/wasi-libc
synced 2025-08-24 08:36:04 +00:00

Upcoming WASI snapshots omit the `PROCESS_CPUTIME` clock, since WASI has no inherent concept of processes, and since implementations which don't use a process for each instance don't have a way to implement it efficiently. However, `clock`, `times`, and `getrusage` are useful functions, so provide optional emulated version of them, using the `MONOTONIC` clock. This means these implementations will measure not just the program's own CPU time, but also time spent suspended while other programs are running. Due to this difference in behavior, put these implementations behind a flag. Users must pass `-D_WASI_EMULATED_PROCESS_CLOCK` and link with `-lwasi-emulated-process-clocks` to enable them.
38 lines
848 B
C
38 lines
848 B
C
#ifndef _SYS_PARAM_H
|
|
#define _SYS_PARAM_H
|
|
|
|
#define MAXSYMLINKS 20
|
|
#define MAXHOSTNAMELEN 64
|
|
#define MAXNAMLEN 255
|
|
#define MAXPATHLEN 4096
|
|
#define NBBY 8
|
|
#define NGROUPS 32
|
|
#define CANBSIZ 255
|
|
#define NOFILE 256
|
|
#define NCARGS 131072
|
|
#define DEV_BSIZE 512
|
|
#define NOGROUP (-1)
|
|
|
|
#undef MIN
|
|
#undef MAX
|
|
#define MIN(a,b) (((a)<(b))?(a):(b))
|
|
#define MAX(a,b) (((a)>(b))?(a):(b))
|
|
|
|
#define __bitop(x,i,o) ((x)[(i)/8] o (1<<(i)%8))
|
|
#define setbit(x,i) __bitop(x,i,|=)
|
|
#define clrbit(x,i) __bitop(x,i,&=~)
|
|
#define isset(x,i) __bitop(x,i,&)
|
|
#define isclr(x,i) !isset(x,i)
|
|
|
|
#define howmany(n,d) (((n)+((d)-1))/(d))
|
|
#define roundup(n,d) (howmany(n,d)*(d))
|
|
#define powerof2(n) !(((n)-1) & (n))
|
|
|
|
#if defined(__wasilibc_unmodified_upstream) || defined(_WASI_EMULATED_PROCESS_CLOCKS)
|
|
#include <sys/resource.h>
|
|
#endif
|
|
#include <endian.h>
|
|
#include <limits.h>
|
|
|
|
#endif
|