1*10465441SEvalZero /* 2*10465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 3*10465441SEvalZero * 4*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 5*10465441SEvalZero * 6*10465441SEvalZero * Change Logs: 7*10465441SEvalZero * Date Author Notes 8*10465441SEvalZero */ 9*10465441SEvalZero 10*10465441SEvalZero #ifndef DFS_POLL_H__ 11*10465441SEvalZero #define DFS_POLL_H__ 12*10465441SEvalZero 13*10465441SEvalZero #include <rtthread.h> 14*10465441SEvalZero 15*10465441SEvalZero #ifdef RT_USING_POSIX 16*10465441SEvalZero #include <sys/time.h> /* for struct timeval */ 17*10465441SEvalZero 18*10465441SEvalZero #if !defined(POLLIN) && !defined(POLLOUT) 19*10465441SEvalZero #define POLLIN (0x01) 20*10465441SEvalZero #define POLLRDNORM (0x01) 21*10465441SEvalZero #define POLLRDBAND (0x01) 22*10465441SEvalZero #define POLLPRI (0x01) 23*10465441SEvalZero 24*10465441SEvalZero #define POLLOUT (0x02) 25*10465441SEvalZero #define POLLWRNORM (0x02) 26*10465441SEvalZero #define POLLWRBAND (0x02) 27*10465441SEvalZero 28*10465441SEvalZero #define POLLERR (0x04) 29*10465441SEvalZero #define POLLHUP (0x08) 30*10465441SEvalZero #define POLLNVAL (0x10) 31*10465441SEvalZero 32*10465441SEvalZero typedef unsigned int nfds_t; 33*10465441SEvalZero 34*10465441SEvalZero struct pollfd 35*10465441SEvalZero { 36*10465441SEvalZero int fd; 37*10465441SEvalZero short events; 38*10465441SEvalZero short revents; 39*10465441SEvalZero }; 40*10465441SEvalZero #endif /* !defined(POLLIN) && !defined(POLLOUT) */ 41*10465441SEvalZero 42*10465441SEvalZero #define POLLMASK_DEFAULT (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM) 43*10465441SEvalZero int poll(struct pollfd *fds, nfds_t nfds, int timeout); 44*10465441SEvalZero #endif /* RT_USING_POSIX */ 45*10465441SEvalZero 46*10465441SEvalZero #endif /* DFS_POLL_H__ */ 47