annotate src/sysselect.h @ 55434:f88632e54afb

2004-05-08 John Wiegley <johnw@newartisans.com> * iswitchb.el (iswitchb-use-virtual-buffers): Added support for "virtual buffers" (off by default), which makes it possible to switch to the buffers of recently files. When a buffer name search fails, and this option is on, iswitchb will look at the list of recently visited files, and permit matching against those names. When the user hits RET on a match, it will revisit that file. (iswitchb-read-buffer): Added two optional arguments, which makes isearchb.el possible. (iswitchb-completions, iswitchb-set-matches, iswitchb-prev-match, iswitchb-next-match): Added support for virtual buffers.
author John Wiegley <johnw@newartisans.com>
date Sat, 08 May 2004 13:00:52 +0000
parents 695cf19ef79e
children 5b7105f0624e 375f2633d815
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.
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
2 Copyright (C) 1995 Free Software Foundation, Inc.
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
3
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
4 This file is part of GNU Emacs.
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
5
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
9 any later version.
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
10
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
14 GNU General Public License for more details.
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
15
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 10526
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 10526
diff changeset
19 Boston, MA 02111-1307, USA. */
10526
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
20
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
21 #ifdef HAVE_SYS_SELECT
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
22 #include <sys/select.h>
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
23 #endif
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
24
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
25 #ifdef FD_SET
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
26 #ifdef FD_SETSIZE
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
27 #define MAXDESC FD_SETSIZE
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
28 #else
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
29 #define MAXDESC 64
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 #define SELECT_TYPE fd_set
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
32 #else /* no FD_SET */
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
33 #define MAXDESC 32
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
34 #define SELECT_TYPE int
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
35
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
36 /* Define the macros to access a single-int bitmap of descriptors. */
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
37 #define FD_SET(n, p) (*(p) |= (1 << (n)))
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
38 #define FD_CLR(n, p) (*(p) &= ~(1 << (n)))
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
39 #define FD_ISSET(n, p) (*(p) & (1 << (n)))
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
40 #define FD_ZERO(p) (*(p) = 0)
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
41 #endif /* no FD_SET */
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
42
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
43 #if !defined (HAVE_SELECT) || defined (BROKEN_SELECT_NON_X)
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
44 #define select sys_select
62d5058cf94a Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
45 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 14186
diff changeset
46
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 14186
diff changeset
47 /* arch-tag: 36d05500-8cf6-4847-8e78-6721f18c06ef
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 14186
diff changeset
48 (do not change this comment) */