Linux declarations for epoll and timerfd support used by polling, timer, and event-loop helpers.
EPOLL_CTL_ADD, EPOLL_CTL_DEL, and EPOLL_CTL_MOD: epoll control operations.EPOLLIN, EPOLLOUT, and EPOLLONESHOT: epoll event flags.TFD_NONBLOCK: nonblocking timerfd flag."linux/linux" use
"control" use
{} () {} [
EPOLL_CTL_ADD printStack _:;
EPOLLIN printStack _:;
TFD_NONBLOCK printStack _:;
] "main" exportFunction
1
1n32
2048
epoll_event: event record with events and two-word private storage.epoll_event also exposes helper accessors ptr, fd, u32, u64, and item for interpreting that same private storage.timerfd_settime uses itimerspec for timer configuration."linux/linux" use
"control" use
{} () {} [
epoll_event fieldCount printStack _:;
epoll_event 1 fieldName printStack _:;
] "main" exportFunction
7
"data"
epoll_event stores one two-word private area together with readiness flags.ptr, fd, u32, and u64 reinterpret that stored value without changing the underlying bytes.item interprets the stored value as an object address and returns a typed reference view. If the source epoll_event value is const, item returns one const reference view of that stored address.timerfd_create creates one timer descriptor for the selected clock, and timerfd_settime applies one itimerspec value and can also report the previous timer state.epoll_ctl.event is one borrowed epoll_event record passed by reference.epoll_wait.events is one raw address of contiguous epoll_event storage, and maxevents is the available record capacity.timerfd_settime.new_value and timerfd_settime.old_value are caller-owned writable or borrowed itimerspec pointers.epoll_create1 and timerfd_create report their result through the returned descriptor value.epoll_ctl and timerfd_settime return Int32 status results.epoll_wait returns one Int32 event-count result.close when they are no longer needed.epoll_ctl, epoll_wait, and timerfd_settime do not transfer descriptor ownership.epoll_event and itimerspec storage remain caller-owned.epoll_create1: creates one epoll descriptor.epoll_ctl: adds, removes, or modifies one watched descriptor.epoll_wait: waits for ready epoll events.timerfd_create: creates one timer descriptor.timerfd_settime: configures timer intervals and expiration state.Printing imported names during compilation shows exact imported signatures for representative declarations.
"linux/linux" use
"control" use
{} Int32 {} [
@epoll_wait printStack _:;
@timerfd_settime printStack _:;
0
] "main" exportFunction
{epfd: Int32; events: Natx; maxevents: Int32; timeout: Int32;} Int32 {convention: "";} codeRef
{fd: Int32; flags: Int32; new_value: {it_interval: {tv_sec: Intx; tv_nsec: Intx;}; it_value: {tv_sec: Intx; tv_nsec: Intx;};} Cref; old_value: {it_interval: {tv_sec: Intx; tv_nsec: Intx;}; it_value: {tv_sec: Intx; tv_nsec: Intx;};} Ref;} Int32 {convention: "";} codeRef
"linux/linux" use
"linux/posix" use
"String" use
"control" use
{} Int32 {} [
epfd: 0 epoll_create1;
epClose: epfd close;
("created=" epfd 0 < ~ LF
"close=" epClose 0 = LF) printList
0
] "main" exportFunction
created=TRUE
close=TRUE
"linux/linux" use
"linux/posix" use
"String" use
"control" use
{} Int32 {} [
fd: CLOCK_MONOTONIC TFD_NONBLOCK timerfd_create;
closeResult: fd close;
("created=" fd 0 < ~ LF
"close=" closeResult 0 = LF) printList
0
] "main" exportFunction
created=TRUE
close=TRUE