annotate src/sysselect.h @ 85414:f79d3fec6de7

(encoded-kbd-setup-display): Be careful not to remove keymaps that just happen to inherit from one of ours. When setting up our keymap, make sure it won't be accidentally modified by someone else.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 18 Oct 2007 18:53:28 +0000
parents 922696f363b0
children fc2bcd2a8aad f55f9811f5d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10526
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
1 /* sysselect.h - System-dependent definitions for the select function.
75227
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68651
diff changeset
2 Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68651
diff changeset
3 2006, 2007 Free Software Foundation, Inc.
10526
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
4
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
5 This file is part of GNU Emacs.
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
6
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
78260
922696f363b0 Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75227
diff changeset
9 the Free Software Foundation; either version 3, or (at your option)
10526
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
10 any later version.
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
11
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
15 GNU General Public License for more details.
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
16
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62105
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62105
diff changeset
20 Boston, MA 02110-1301, USA. */
10526
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
21
62002
5b7105f0624e Fix typo.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
22 #ifdef HAVE_SYS_SELECT_H
62105
988582b0e877 [DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 62002
diff changeset
23 #if defined (DARWIN) || defined (MAC_OSX)
988582b0e877 [DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 62002
diff changeset
24 #undef init_process
988582b0e877 [DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 62002
diff changeset
25 #endif
10526
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
26 #include <sys/select.h>
62105
988582b0e877 [DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 62002
diff changeset
27 #if defined (DARWIN) || defined (MAC_OSX)
988582b0e877 [DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 62002
diff changeset
28 #define init_process emacs_init_process
988582b0e877 [DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 62002
diff changeset
29 #endif
10526
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
30 #endif
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
31
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
32 #ifdef FD_SET
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
33 #ifdef FD_SETSIZE
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
34 #define MAXDESC FD_SETSIZE
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
35 #else
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
36 #define MAXDESC 64
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
37 #endif
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
38 #define SELECT_TYPE fd_set
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
39 #else /* no FD_SET */
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
40 #define MAXDESC 32
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
41 #define SELECT_TYPE int
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
42
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
43 /* Define the macros to access a single-int bitmap of descriptors. */
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
44 #define FD_SET(n, p) (*(p) |= (1 << (n)))
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
45 #define FD_CLR(n, p) (*(p) &= ~(1 << (n)))
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
46 #define FD_ISSET(n, p) (*(p) & (1 << (n)))
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
47 #define FD_ZERO(p) (*(p) = 0)
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
48 #endif /* no FD_SET */
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
49
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
50 #if !defined (HAVE_SELECT) || defined (BROKEN_SELECT_NON_X)
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
51 #define select sys_select
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
52 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 14186
diff changeset
53
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 14186
diff changeset
54 /* arch-tag: 36d05500-8cf6-4847-8e78-6721f18c06ef
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 14186
diff changeset
55 (do not change this comment) */