mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 19:43:32 +00:00
625aa365f1
The earlier iterations did too much guesswork when it came to things like stderr logging and syscall origin verification. This change will make things more conformant to existing practices. The __pledge_mode extension now can be configured in a better way. There's also a new `-q` flag added to pledge.com, e.g. o//tool/build/pledge.com -qv. ls Is a good way to disable warnings about `tty` access attempts.
21 lines
615 B
C
21 lines
615 B
C
#ifndef COSMOPOLITAN_LIBC_CALLS_PLEDGE_INTERNAL_H_
|
|
#define COSMOPOLITAN_LIBC_CALLS_PLEDGE_INTERNAL_H_
|
|
#include "libc/calls/pledge.h"
|
|
#include "libc/intrin/promises.internal.h"
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
COSMOPOLITAN_C_START_
|
|
|
|
struct Pledges {
|
|
const char *name;
|
|
const uint16_t *syscalls;
|
|
const size_t len;
|
|
};
|
|
|
|
hidden extern const struct Pledges kPledge[PROMISE_LEN_];
|
|
|
|
int sys_pledge_linux(unsigned long, int) hidden;
|
|
int ParsePromises(const char *, unsigned long *) hidden;
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_LIBC_CALLS_PLEDGE_INTERNAL_H_ */
|