#include #include #include #include #include #include #include void main(int argc, char **argv) { int i,n; struct pollfd fds; if ( -1 == (fds.fd=open(argv[1],O_RDONLY))) fds.fd=0; fds.events=POLLIN; fds.revents=0; if ( -1 == ( i=poll(&fds, 1, 0))) perror ("poll"); if (i>=0) { printf("%d %d\n", i, fds.revents); if ( fds.revents & POLLIN ) puts ("POLLIN"); if ( fds.revents & POLLPRI ) puts ("POLLPRI"); if ( fds.revents & POLLOUT ) puts ("POLLOUT"); if ( fds.revents & POLLRDNORM ) puts ("POLLRDNORM"); if ( fds.revents & POLLRDBAND ) puts ("POLLRDBAND"); if ( fds.revents & POLLNORM ) puts ("POLLNORM"); if ( fds.revents & POLLERR ) puts ("POLLERR"); if ( fds.revents & POLLHUP ) puts ("POLLHUP"); if ( fds.revents & POLLNVAL ) puts ("POLLNVAL"); } }