mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-01 03:53:33 +00:00
36 lines
684 B
C
36 lines
684 B
C
#ifndef COSMOPOLITAN_LIBC_CALLS_STRUCT_FD_INTERNAL_H_
|
|
#define COSMOPOLITAN_LIBC_CALLS_STRUCT_FD_INTERNAL_H_
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
COSMOPOLITAN_C_START_
|
|
|
|
enum FdKind {
|
|
kFdEmpty,
|
|
kFdFile,
|
|
kFdSocket,
|
|
kFdProcess,
|
|
kFdConsole,
|
|
kFdSerial,
|
|
kFdZip,
|
|
kFdEpoll,
|
|
kFdReserved
|
|
};
|
|
|
|
struct Fd {
|
|
enum FdKind kind;
|
|
unsigned flags;
|
|
unsigned mode;
|
|
int64_t handle;
|
|
int64_t extra;
|
|
bool zombie;
|
|
};
|
|
|
|
struct Fds {
|
|
int f; /* lowest free slot */
|
|
size_t n; /* monotonic capacity */
|
|
struct Fd *p;
|
|
struct Fd __init_p[OPEN_MAX];
|
|
};
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_LIBC_CALLS_STRUCT_FD_INTERNAL_H_ */
|