mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 19:43:32 +00:00
35 lines
811 B
C
35 lines
811 B
C
#ifndef COSMOPOLITAN_TOOL_BUILD_LIB_FDS_H_
|
|
#define COSMOPOLITAN_TOOL_BUILD_LIB_FDS_H_
|
|
#include "libc/calls/struct/iovec.h"
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
COSMOPOLITAN_C_START_
|
|
|
|
struct MachineFdClosed {
|
|
unsigned fd;
|
|
struct MachineFdClosed *next;
|
|
};
|
|
|
|
struct MachineFdCb {
|
|
int (*close)(int);
|
|
ssize_t (*readv)(int, const struct iovec *, int);
|
|
ssize_t (*writev)(int, const struct iovec *, int);
|
|
int (*ioctl)(int, uint64_t, void *);
|
|
};
|
|
|
|
struct MachineFd {
|
|
int fd;
|
|
struct MachineFdCb * cb;
|
|
};
|
|
|
|
struct MachineFds {
|
|
size_t i, n;
|
|
struct MachineFd * p;
|
|
struct MachineFdClosed * closed;
|
|
};
|
|
|
|
int MachineFdAdd(struct MachineFds *);
|
|
void MachineFdRemove(struct MachineFds *, int);
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_TOOL_BUILD_LIB_FDS_H_ */
|