Mercurial > emacs
annotate src/atimer.h @ 33697:e7765cb122c3
(Fw32_set_clipboard_data): Save a copy of what is put on the clipboard.
(Fw32_get_clipboard_data): Compare data on clipboard with saved copy
of what Emacs last put there. If they are the same, do not use the
clipboard copy to avoid losing data due to coding conversions.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Tue, 21 Nov 2000 19:18:13 +0000 |
parents | cc1255965fcc |
children | 7ca787d18982 |
rev | line source |
---|---|
27433 | 1 /* Asynchronous timers. |
2 Copyright (C) 2000 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
8 the Free Software Foundation; either version 2, or (at your option) | |
9 any later version. | |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 Boston, MA 02111-1307, USA. */ | |
20 | |
29927
cc1255965fcc
Protect against multiple inclusion. Include
Dave Love <fx@gnu.org>
parents:
27671
diff
changeset
|
21 #ifndef EMACS_ATIMER_H |
cc1255965fcc
Protect against multiple inclusion. Include
Dave Love <fx@gnu.org>
parents:
27671
diff
changeset
|
22 #define EMACS_ATIMER_H |
cc1255965fcc
Protect against multiple inclusion. Include
Dave Love <fx@gnu.org>
parents:
27671
diff
changeset
|
23 |
cc1255965fcc
Protect against multiple inclusion. Include
Dave Love <fx@gnu.org>
parents:
27671
diff
changeset
|
24 #include "systime.h" /* for EMACS_TIME */ |
cc1255965fcc
Protect against multiple inclusion. Include
Dave Love <fx@gnu.org>
parents:
27671
diff
changeset
|
25 |
27433 | 26 /* Forward declaration. */ |
27 | |
28 struct atimer; | |
29 | |
30 /* Types of timers. */ | |
31 | |
32 enum atimer_type | |
33 { | |
34 /* Timer is ripe at some absolute time. */ | |
35 ATIMER_ABSOLUTE, | |
36 | |
37 /* Timer is ripe at now plus an offset. */ | |
38 ATIMER_RELATIVE, | |
39 | |
40 /* Timer runs continously. */ | |
41 ATIMER_CONTINUOUS | |
42 }; | |
43 | |
44 /* Type of timer callback functions. */ | |
45 | |
46 typedef void (* atimer_callback) P_ ((struct atimer *timer)); | |
47 | |
48 /* Structure describing an asynchronous timer. */ | |
49 | |
50 struct atimer | |
51 { | |
52 /* The type of this timer. */ | |
53 enum atimer_type type; | |
54 | |
55 /* Time when this timer is ripe. */ | |
56 EMACS_TIME expiration; | |
57 | |
58 /* Interval of this timer. */ | |
59 EMACS_TIME interval; | |
60 | |
61 /* Function to call when timer is ripe. Interupt input is | |
62 garanteed to not be blocked when this function is called. */ | |
63 atimer_callback fn; | |
64 | |
65 /* Additional user-specified data to pass to FN. */ | |
66 void *client_data; | |
67 | |
68 /* Next in list of active or free atimers. */ | |
69 struct atimer *next; | |
70 }; | |
71 | |
72 /* Function prototypes. */ | |
73 | |
74 struct atimer *start_atimer P_ ((enum atimer_type, EMACS_TIME, | |
75 atimer_callback, void *)); | |
76 void cancel_atimer P_ ((struct atimer *)); | |
77 void do_pending_atimers P_ ((void)); | |
78 void init_atimer P_ ((void)); | |
79 void turn_on_atimers P_ ((int)); | |
27671
466a99bee7fd
(stop_other_atimers, run_all_atimers)
Gerd Moellmann <gerd@gnu.org>
parents:
27433
diff
changeset
|
80 void stop_other_atimers P_ ((struct atimer *)); |
466a99bee7fd
(stop_other_atimers, run_all_atimers)
Gerd Moellmann <gerd@gnu.org>
parents:
27433
diff
changeset
|
81 void run_all_atimers P_ ((void)); |
466a99bee7fd
(stop_other_atimers, run_all_atimers)
Gerd Moellmann <gerd@gnu.org>
parents:
27433
diff
changeset
|
82 Lisp_Object unwind_stop_other_atimers P_ ((Lisp_Object)); |
27433 | 83 |
29927
cc1255965fcc
Protect against multiple inclusion. Include
Dave Love <fx@gnu.org>
parents:
27671
diff
changeset
|
84 #endif /* EMACS_ATIMER_H */ |