mirror of
https://github.com/ziglang/zig.git
synced 2025-12-18 12:13:20 +00:00
haiku: fix poll definitions
This commit is contained in:
parent
7684423c08
commit
77ff6bc656
@ -110,21 +110,6 @@ pub const socklen_t = u32;
|
|||||||
// Modes and flags for dlopen()
|
// Modes and flags for dlopen()
|
||||||
// include/dlfcn.h
|
// include/dlfcn.h
|
||||||
|
|
||||||
pub const POLL = struct {
|
|
||||||
/// input available
|
|
||||||
pub const IN = 70;
|
|
||||||
/// output available
|
|
||||||
pub const OUT = 71;
|
|
||||||
/// input message available
|
|
||||||
pub const MSG = 72;
|
|
||||||
/// I/O error
|
|
||||||
pub const ERR = 73;
|
|
||||||
/// high priority input available
|
|
||||||
pub const PRI = 74;
|
|
||||||
/// device disconnected
|
|
||||||
pub const HUP = 75;
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const RTLD = struct {
|
pub const RTLD = struct {
|
||||||
/// relocations are performed as needed
|
/// relocations are performed as needed
|
||||||
pub const LAZY = 0;
|
pub const LAZY = 0;
|
||||||
@ -177,14 +162,6 @@ pub const msghdr = extern struct {
|
|||||||
pub const off_t = i64;
|
pub const off_t = i64;
|
||||||
pub const ino_t = u64;
|
pub const ino_t = u64;
|
||||||
|
|
||||||
pub const nfds_t = u32;
|
|
||||||
|
|
||||||
pub const pollfd = extern struct {
|
|
||||||
fd: i32,
|
|
||||||
events: i16,
|
|
||||||
revents: i16,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub const Stat = extern struct {
|
pub const Stat = extern struct {
|
||||||
dev: i32,
|
dev: i32,
|
||||||
ino: u64,
|
ino: u64,
|
||||||
@ -427,7 +404,39 @@ pub const W = struct {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// posix/signal.h
|
// /system/develop/headers/posix/poll.h
|
||||||
|
|
||||||
|
pub const nfds_t = usize;
|
||||||
|
|
||||||
|
pub const pollfd = extern struct {
|
||||||
|
fd: i32,
|
||||||
|
events: i16,
|
||||||
|
revents: i16,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub const POLL = struct {
|
||||||
|
/// any readable data available
|
||||||
|
pub const IN = 0x0001;
|
||||||
|
/// file descriptor is writeable
|
||||||
|
pub const OUT = 0x0002;
|
||||||
|
pub const RDNORM = IN;
|
||||||
|
pub const WRNORM = OUT;
|
||||||
|
/// priority readable data
|
||||||
|
pub const RDBAND = 0x0008;
|
||||||
|
/// priority data can be written
|
||||||
|
pub const WRBAND = 0x0010;
|
||||||
|
/// high priority readable data
|
||||||
|
pub const PRI = 0x0020;
|
||||||
|
|
||||||
|
/// errors pending
|
||||||
|
pub const ERR = 0x0004;
|
||||||
|
/// disconnected
|
||||||
|
pub const HUP = 0x0080;
|
||||||
|
/// invalid file descriptor
|
||||||
|
pub const NVAL = 0x1000;
|
||||||
|
};
|
||||||
|
|
||||||
|
// /system/develop/headers/posix/signal.h
|
||||||
|
|
||||||
pub const sigset_t = u64;
|
pub const sigset_t = u64;
|
||||||
pub const empty_sigset: sigset_t = 0;
|
pub const empty_sigset: sigset_t = 0;
|
||||||
@ -548,7 +557,7 @@ pub const ucontext_t = extern struct {
|
|||||||
mcontext: mcontext_t,
|
mcontext: mcontext_t,
|
||||||
};
|
};
|
||||||
|
|
||||||
// arch/*/signal.h
|
// /system/develop/headers/posix/arch/*/signal.h
|
||||||
|
|
||||||
pub const vregs = switch (builtin.cpu.arch) {
|
pub const vregs = switch (builtin.cpu.arch) {
|
||||||
.arm, .thumb => extern struct {
|
.arm, .thumb => extern struct {
|
||||||
|
|||||||
@ -610,10 +610,7 @@ pub fn Poller(comptime StreamEnum: type) type {
|
|||||||
// allocate grows exponentially.
|
// allocate grows exponentially.
|
||||||
const bump_amt = 512;
|
const bump_amt = 512;
|
||||||
|
|
||||||
const err_mask = switch (builtin.target.os.tag) {
|
const err_mask = posix.POLL.ERR | posix.POLL.NVAL | posix.POLL.HUP;
|
||||||
.haiku => posix.POLL.ERR | posix.POLL.HUP,
|
|
||||||
else => posix.POLL.ERR | posix.POLL.NVAL | posix.POLL.HUP,
|
|
||||||
};
|
|
||||||
|
|
||||||
const events_len = try posix.poll(&self.poll_fds, if (nanoseconds) |ns|
|
const events_len = try posix.poll(&self.poll_fds, if (nanoseconds) |ns|
|
||||||
std.math.cast(i32, ns / std.time.ns_per_ms) orelse std.math.maxInt(i32)
|
std.math.cast(i32, ns / std.time.ns_per_ms) orelse std.math.maxInt(i32)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user