1/* Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. */ 4 5#ifndef LIBRARIES_NACL_IO_INCLUDE_SYS_POLL_H_ 6#define LIBRARIES_NACL_IO_INCLUDE_SYS_POLL_H_ 7 8#include <stdint.h> 9#include <sys/cdefs.h> 10 11/* This header adds definitions of flags and structures for use with poll on 12 * toolchains with 'C' libraries which do not normally supply poll. */ 13 14/* Node state flags */ 15#define POLLIN 0x0001 /* Will not block READ select/poll. */ 16#define POLLPRI 0x0002 /* There is urgent data to read. */ 17#define POLLOUT 0x0004 /* Will not block WRITE select/poll. */ 18#define POLLERR 0x0008 /* Will not block EXECPT select/poll. */ 19#define POLLHUP 0x0010 /* Connection closed on far side. */ 20#define POLLNVAL 0x0020 /* Invalid FD. */ 21 22/* Number of file descriptors. */ 23typedef int nfds_t; 24 25struct pollfd { 26 int fd; 27 uint16_t events; 28 uint16_t revents; 29}; 30 31__BEGIN_DECLS 32 33int poll(struct pollfd* __fds, nfds_t __nfds, int __timeout); 34 35__END_DECLS 36 37#endif /* LIBRARIES_NACL_IO_INCLUDE_SYS_POLL_H_ */ 38