1/* sysselect.h - System-dependent definitions for the select function. 2 Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 3 2006, 2007 Free Software Foundation, Inc. 4 5This file is part of GNU Emacs. 6 7GNU Emacs is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by 9the Free Software Foundation; either version 2, or (at your option) 10any later version. 11 12GNU Emacs is distributed in the hope that it will be useful, 13but WITHOUT ANY WARRANTY; without even the implied warranty of 14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15GNU General Public License for more details. 16 17You should have received a copy of the GNU General Public License 18along with GNU Emacs; see the file COPYING. If not, write to 19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20Boston, MA 02110-1301, USA. */ 21 22#ifdef HAVE_SYS_SELECT_H 23#if defined (DARWIN) || defined (MAC_OSX) 24#undef init_process 25#endif 26#include <sys/select.h> 27#if defined (DARWIN) || defined (MAC_OSX) 28#define init_process emacs_init_process 29#endif 30#endif 31 32#ifdef FD_SET 33#ifdef FD_SETSIZE 34#define MAXDESC FD_SETSIZE 35#else 36#define MAXDESC 64 37#endif 38#define SELECT_TYPE fd_set 39#else /* no FD_SET */ 40#define MAXDESC 32 41#define SELECT_TYPE int 42 43/* Define the macros to access a single-int bitmap of descriptors. */ 44#define FD_SET(n, p) (*(p) |= (1 << (n))) 45#define FD_CLR(n, p) (*(p) &= ~(1 << (n))) 46#define FD_ISSET(n, p) (*(p) & (1 << (n))) 47#define FD_ZERO(p) (*(p) = 0) 48#endif /* no FD_SET */ 49 50#if !defined (HAVE_SELECT) || defined (BROKEN_SELECT_NON_X) 51#define select sys_select 52#endif 53 54/* arch-tag: 36d05500-8cf6-4847-8e78-6721f18c06ef 55 (do not change this comment) */ 56