2 Copyright (C) 1993 Sun Microsystems, Inc.
4 This file is part of XEmacs.
6 XEmacs is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 You should have received a copy of the GNU General Public License
17 along with XEmacs; 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.
23 /* Synched up with: Not in FSF. */
25 #ifndef INCLUDED_tooltalk_h_
26 #define INCLUDED_tooltalk_h_
29 typedef struct Lisp_Tooltalk_Message Lisp_Tooltalk_Message;
30 DECLARE_LRECORD (tooltalk_message, Lisp_Tooltalk_Message);
31 #define XTOOLTALK_MESSAGE(x) XRECORD (x, tooltalk_message, Lisp_Tooltalk_Message)
32 #define XSETTOOLTALK_MESSAGE(x, p) XSETRECORD (x, p, tooltalk_message)
33 #define TOOLTALK_MESSAGEP(x) RECORDP (x, tooltalk_message)
34 #define CHECK_TOOLTALK_MESSAGE(x) CHECK_RECORD (x, tooltalk_message)
36 typedef struct Lisp_Tooltalk_Pattern Lisp_Tooltalk_Pattern;
37 DECLARE_LRECORD (tooltalk_pattern, Lisp_Tooltalk_Pattern);
38 #define XTOOLTALK_PATTERN(x) XRECORD (x, tooltalk_pattern, Lisp_Tooltalk_Pattern)
39 #define XSETTOOLTALK_PATTERN(x, p) XSETRECORD (x, p, tooltalk_pattern)
40 #define TOOLTALK_PATTERNP(x) RECORDP (x, tooltalk_pattern)
41 #define CHECK_TOOLTALK_PATTERN(x) CHECK_RECORD (x, tooltalk_pattern)
43 #define TOOLTALK_MESSAGE_KEY 100
44 #define TOOLTALK_PATTERN_KEY 101
46 #define CHECK_TOOLTALK_CONSTANT(x) do { \
47 if (!(INTP (x) || SYMBOLP (x))) \
48 dead_wrong_type_argument (Qsymbolp, (x)); \
51 #define VALID_TOOLTALK_MESSAGEP(m) \
52 (m && (tt_ptr_error (m) == TT_OK))
54 #define VALID_TOOLTALK_PATTERNP(p) \
55 (p && (tt_ptr_error (p) == TT_OK))
57 Lisp_Object box_tooltalk_message (Tt_message m);
58 Tt_message unbox_tooltalk_message (Lisp_Object msg);
60 extern Lisp_Object Qtooltalk_error;
62 #endif /* INCLUDED_tooltalk_h_ */