Edit

kc3-lang/gnulib/lib/poll_.h

Branch :

  • Show log

    Commit

  • Author : Bruno Haible
    Date : 2003-02-20 13:10:05
    Hash : 8577bd35
    Message : New module poll, from Paolo Bonzini <bonzini@gnu.org>.

  • lib/poll_.h
  • /* Header for poll(2) emulation
       Contributed by Paolo Bonzini.
    
       Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
    
       This file is part of gnulib.
    
       gnulib is free software; you can redistribute it and/or modify it
       under the terms of the GNU Lesser General Public License as published
       by the Free Software Foundation; either version 2.1, or (at your option)
       any later version.
    
       gnulib is distributed in the hope that it will be useful, but WITHOUT
       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
       License for more details.
    
       You should have received a copy of the GNU Lesser General Public License
       along with gnulib; see the file COPYING.LIB.  If not, write to the Free
       Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
       USA.  
     */
    
    #ifndef GNULIB_POLL_H
    #define GNULIB_POLL_H
    
    /* fake a poll(2) environment */
    #define POLLIN      0x0001	/* any readable data available   */
    #define POLLPRI     0x0002	/* OOB/Urgent readable data      */
    #define POLLOUT     0x0004	/* file descriptor is writeable  */
    #define POLLERR     0x0008	/* some poll error occurred      */
    #define POLLHUP     0x0010	/* file descriptor was "hung up" */
    #define POLLNVAL    0x0020	/* requested events "invalid"    */
    #define POLLRDNORM  0x0040
    #define POLLRDBAND  0x0080
    #define POLLWRNORM  0x0100
    #define POLLWRBAND  0x0200
    
    struct pollfd
    {
      int fd;			/* which file descriptor to poll */
      short events;			/* events we are interested in   */
      short revents;		/* events found on return        */
    };
    
    typedef unsigned long nfds_t;
    
    extern int poll (struct pollfd *pfd, nfds_t nfd, int timeout);
    
    /* Define INFTIM only if doing so conforms to POSIX.  */
    #if !defined (_POSIX_C_SOURCE) && !defined (_XOPEN_SOURCE)
    #define INFTIM (-1)
    #endif
    
    #endif