Skip to content
Snippets Groups Projects
Select Git revision
  • ad7d35e75b4240f64ef8f8686df280eedb23df6d
  • master default protected
  • 9.0
  • 8.0
  • nt-tools
  • 7.8
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • 0.6
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • v8.0.2020
  • v8.0.2018
  • v8.0.2016
  • v8.0.2014
  • v8.0.2012
  • v8.0.2008
  • v8.0.2006
  • v8.0.2004
  • v8.0.2002
  • v8.0.2000
  • v8.0.1998
  • v8.0.1996
  • v8.0.1994
  • v8.0.1992
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
41 results

cpp.h

Blame
  • backend.h 8.17 KiB
    /*
    || This file is part of Pike. For copyright information see COPYRIGHT.
    || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
    || for more information.
    */
    
    #ifndef BACKEND_H
    #define BACKEND_H
    
    #include "global.h"
    #include "time_stuff.h"
    #include "callback.h"
    
    /*
     * POLL/SELECT selection
     */
    
    #if defined(HAVE_SYS_DEVPOLL_H) && defined(PIKE_POLL_DEVICE)
    /*
     * Backend using /dev/poll-style poll device.
     *
     * Used on:
     *   Solaris 7 + patches and above.
     *   OSF/1 + patches and above.
     *   IRIX 5.6.15m and above.
     */
    #define BACKEND_USES_POLL_DEVICE
    #define BACKEND_USES_DEVPOLL
    #elif defined(HAVE_SYS_EPOLL_H) && defined(WITH_EPOLL)
    /*
     * Backend using /dev/epoll-style poll device.
     *
     * Used on:
     *   Linux 2.6 and above.
     */
    #define BACKEND_USES_POLL_DEVICE
    #define BACKEND_USES_DEVEPOLL
    #elif defined(HAVE_SYS_EVENT_H) && defined(HAVE_KQUEUE) /* && !HAVE_POLL */
    /*
     * Backend using kqueue-style poll device.
     *
     * FIXME: Not fully implemented yet! Out of band data handling is missing.
     *
     * Used on
     *   FreeBSD 4.1 and above.
     *   MacOS X/Darwin 7.x and above.
     *   Various other BSDs.
     */
    #define BACKEND_USES_KQUEUE
    /* Currently kqueue doesn't differentiate between in-band and out-of-band
     * data.
     */
    #define BACKEND_OOB_IS_SIMULATED
    
    #if defined(HAVE_CFRUNLOOPRUNINMODE)
    /* Have kqueue+CFRunLoop variant (Mac OSX, iOS) */
    #define BACKEND_USES_CFRUNLOOP
    #endif /* HAVE_CFRUNLOOPRUNINMODE */
    
    #elif defined(HAVE_POLL) && defined(HAVE_AND_USE_POLL)
    /* We have poll(2), and it isn't simulated. */
    /*
     * Backend using poll(2).
     *
     * This is used on most older SVR4- or POSIX-style systems.
     */
    #define BACKEND_USES_POLL
    #else /* !HAVE_POLL */
    /*
     * Backend using select(2)