addFunction("select", liburl(), newTuple(newList(), newList(), newList()));
String a = "edge-and-level-trigger-polling-epoll-objects";
NClassType epoll = newClass("epoll", table, Object);
epoll.getTable().update("close", newLibUrl("select", a), newFunc(None), METHOD);
epoll.getTable().update("fileno", newLibUrl("select", a), newFunc(BaseNum), METHOD);
epoll.getTable().update("fromfd", newLibUrl("select", a), newFunc(epoll), METHOD);
for (String s : list("register", "modify", "unregister", "poll")) {
epoll.getTable().update(s, newLibUrl("select", a), newFunc(), METHOD);
}
addClass("epoll", liburl(a), epoll);
for (String s : list("EPOLLERR", "EPOLLET", "EPOLLHUP", "EPOLLIN", "EPOLLMSG",
"EPOLLONESHOT", "EPOLLOUT", "EPOLLPRI", "EPOLLRDBAND",
"EPOLLRDNORM", "EPOLLWRBAND", "EPOLLWRNORM")) {
addAttr(s, liburl(a), BaseNum);
}
a = "polling-objects";
NClassType poll = newClass("poll", table, Object);
poll.getTable().update("register", newLibUrl("select", a), newFunc(), METHOD);
poll.getTable().update("modify", newLibUrl("select", a), newFunc(), METHOD);
poll.getTable().update("unregister", newLibUrl("select", a), newFunc(), METHOD);
poll.getTable().update("poll", newLibUrl("select", a),
newFunc(newList(newTuple(BaseNum, BaseNum))), METHOD);
addClass("poll", liburl(a), poll);
for (String s : list("POLLERR", "POLLHUP", "POLLIN", "POLLMSG",
"POLLNVAL", "POLLOUT","POLLPRI", "POLLRDBAND",
"POLLRDNORM", "POLLWRBAND", "POLLWRNORM")) {
addAttr(s, liburl(a), BaseNum);
}
a = "kqueue-objects";
NClassType kqueue = newClass("kqueue", table, Object);
kqueue.getTable().update("close", newLibUrl("select", a), newFunc(None), METHOD);
kqueue.getTable().update("fileno", newLibUrl("select", a), newFunc(BaseNum), METHOD);
kqueue.getTable().update("fromfd", newLibUrl("select", a), newFunc(kqueue), METHOD);
kqueue.getTable().update("control", newLibUrl("select", a),
newFunc(newList(newTuple(BaseNum, BaseNum))), METHOD);
addClass("kqueue", liburl(a), kqueue);
a = "kevent-objects";
NClassType kevent = newClass("kevent", table, Object);
for (String s : list("ident", "filter", "flags", "fflags", "data", "udata")) {
kevent.getTable().update(s, newLibUrl("select", a), unknown(), ATTRIBUTE);
}
addClass("kevent", liburl(a), kevent);
}