]> gitweb.factorcode.org Git - factor.git/blob - extra/unix/linux/epoll/epoll.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / extra / unix / linux / epoll / epoll.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 IN: unix.linux.epoll
4 USING: alien.syntax math ;
5
6 FUNCTION: int epoll_create ( int size ) ;
7
8 FUNCTION: int epoll_ctl ( int epfd, int op, int fd, epoll_event* event ) ;
9
10 C-STRUCT: epoll-event
11     { "uint" "events" }
12     { "uint" "fd" }
13     { "uint" "padding" } ;
14
15 FUNCTION: int epoll_wait ( int epfd, epoll_event* events, int maxevents, int timeout ) ;
16
17 : EPOLL_CTL_ADD 1 ; inline ! Add a file decriptor to the interface.
18 : EPOLL_CTL_DEL 2 ; inline ! Remove a file decriptor from the interface.
19 : EPOLL_CTL_MOD 3 ; inline ! Change file decriptor epoll_event structure.
20
21 : EPOLLIN     HEX: 001 ; inline
22 : EPOLLPRI    HEX: 002 ; inline
23 : EPOLLOUT    HEX: 004 ; inline
24 : EPOLLRDNORM HEX: 040 ; inline
25 : EPOLLRDBAND HEX: 080 ; inline
26 : EPOLLWRNORM HEX: 100 ; inline
27 : EPOLLWRBAND HEX: 200 ; inline
28 : EPOLLMSG    HEX: 400 ; inline
29 : EPOLLERR    HEX: 008 ; inline
30 : EPOLLHUP    HEX: 010 ; inline
31 : EPOLLET     31 2^    ; inline