All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jdk.internal.sys.linux.EPoll Maven / Gradle / Ivy

package jdk.internal.sys.linux;

import static org.qbicc.runtime.CNative.*;
import static org.qbicc.runtime.stdc.Signal.*;
import static org.qbicc.runtime.stdc.Stdint.*;

/**
 *
 */
@include("")
public class EPoll {

    public static native c_int epoll_create(c_int size);

    public static native c_int epoll_create1(c_int flags);

    public static native c_int epoll_ctl(c_int epfd, c_int op, c_int fd, ptr event);

    public static native c_int epoll_wait(c_int epfd, ptr events, c_int maxEvents, c_int timeout);

    public static native c_int epoll_pwait(c_int epfd, ptr events, c_int maxEvents, c_int timeout,
        ptr<@c_const sigset_t> sigMask);

    public static final c_int EPOLL_CLOEXEC = constant();

    public static final c_int EPOLL_CTL_ADD = constant();
    public static final c_int EPOLL_CTL_MOD = constant();
    public static final c_int EPOLL_CTL_DEL = constant();

    public static final uint32_t EPOLLIN = constant();
    public static final uint32_t EPOLLOUT = constant();
    public static final uint32_t EPOLLRDHUP = constant();
    public static final uint32_t EPOLLPRI = constant();
    public static final uint32_t EPOLLERR = constant();
    public static final uint32_t EPOLLHUP = constant();
    public static final uint32_t EPOLLET = constant();
    public static final uint32_t EPOLLONESHOT = constant();
    public static final uint32_t EPOLLWAKEUP = constant();
    public static final uint32_t EPOLLEXCLUSIVE = constant();

    public static final class epoll_data_t extends union {
        public ptr ptr;
        public c_int fd;
        public uint32_t u32;
        public uint64_t u64;
    }

    public static final class struct_epoll_event extends object {
        public uint32_t events;
        public epoll_data_t data;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy