Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / lib / tt / lib / api / c / tt_c.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $TOG: tt_c.h /main/10 1999/09/16 13:46:20 mgreess $ */
24 /*%%  (c) Copyright 1993, 1994 Hewlett-Packard Company                   */
25 /*%%  (c) Copyright 1993, 1994 International Business Machines Corp.     */
26 /*%%  (c) Copyright 1993, 1994 Sun Microsystems, Inc.                    */
27 /*%%  (c) Copyright 1993, 1994 Novell, Inc.                              */
28
29 /*
30  * ToolTalk 1.2 API C language headers.
31  */
32
33 #ifndef _tt_c_h
34 #define _tt_c_h
35
36 #include <stdio.h>
37
38 /* ToolTalk version - Format:
39  *
40  * <Major Release #><Minor Release #: 2 digits><Dot Release #: 2 digits>
41  *
42  * For example:
43  *               10100  --> Version  1.1.0
44  *              100102  --> Version 10.1.2
45  */
46 #define TT_VERSION 10300
47
48 #if defined(_EXTERN_) && defined(__STDC__)
49 #       define _TT_CONST
50 #       define _TT_EXTERN_FUNC(type,name,list) extern XS_LVAL x##name ()
51 #else
52 #if defined(_EXTERN_)
53 #       define _TT_CONST
54 #       define _TT_EXTERN_FUNC(type,name,list) extern XS_LVAL x/**/name ()
55 #else
56 #if defined(_NAMES_)
57 #       define _TT_CONST
58 #       define _TT_EXTERN_FUNC(type,name,list)name
59 #else
60 #if defined(_XSCHEME_)
61 #       define _TT_CONST const
62 #       define _TT_EXTERN_FUNC(type,name,list)type; name; list
63 #else
64 #if defined(__cplusplus)
65 /* C++ 2.0 or later*/
66 #       define _TT_CONST const
67 #       define _TT_EXTERN_FUNC(type,name,list) extern "C" { type name list; }
68 #else
69 #if defined(__STDC__) 
70 /* ANSI C */
71 #       define _TT_CONST const
72 #       define _TT_EXTERN_FUNC(type,name,list) type name list;
73 #else
74 /* Sun C (K&R C, almost) */
75 #       define _TT_CONST
76 #       define _TT_EXTERN_FUNC(type,name,list) type name();
77 #endif
78 #endif
79 #endif
80 #endif
81 #endif
82 #endif
83
84 #if !defined(_EXTERN_) && !defined(_NAMES_) && !defined(_XSCHEME_) 
85
86 #if !defined(_XENUMS_) && !defined(_TYPES_)
87 #include <sys/types.h>
88 #endif
89
90 #include <rpc/types.h>
91 #include <rpc/xdr.h>
92
93 /* former status 1030 removed, but not used, for backward compatibility. */
94 typedef enum tt_status {
95         TT_OK                   = 0,
96         TT_WRN_NOTFOUND         = 1,
97         TT_WRN_STALE_OBJID      = 2,
98         TT_WRN_STOPPED          = 3,
99         TT_WRN_SAME_OBJID       = 4,
100         TT_WRN_START_MESSAGE    = 5,
101         TT_WRN_NOT_ENABLED      = 6,
102         TT_WRN_APPFIRST         = 512,
103         TT_WRN_LAST             = 1024,
104         TT_ERR_CLASS            = 1025,
105         TT_ERR_DBAVAIL          = 1026,
106         TT_ERR_DBEXIST          = 1027,
107         TT_ERR_FILE             = 1028,
108         TT_ERR_INVALID          = 1029,
109         TT_ERR_MODE             = 1031,
110         TT_ERR_ACCESS           = 1032,
111         TT_ERR_NOMP             = 1033,
112         TT_ERR_NOTHANDLER       = 1034,
113         TT_ERR_NUM              = 1035,
114         TT_ERR_OBJID            = 1036,
115         TT_ERR_OP               = 1037,
116         TT_ERR_OTYPE            = 1038,
117         TT_ERR_ADDRESS          = 1039,
118         TT_ERR_PATH             = 1040,
119         TT_ERR_POINTER          = 1041,
120         TT_ERR_PROCID           = 1042,
121         TT_ERR_PROPLEN          = 1043,
122         TT_ERR_PROPNAME         = 1044,
123         TT_ERR_PTYPE            = 1045,
124         TT_ERR_DISPOSITION      = 1046,
125         TT_ERR_SCOPE            = 1047,
126         TT_ERR_SESSION          = 1048,
127         TT_ERR_VTYPE            = 1049,
128         TT_ERR_NO_VALUE         = 1050,
129         TT_ERR_INTERNAL         = 1051,
130         TT_ERR_READONLY         = 1052,
131         TT_ERR_NO_MATCH         = 1053,
132         TT_ERR_UNIMP            = 1054,
133         TT_ERR_OVERFLOW         = 1055,
134         TT_ERR_PTYPE_START      = 1056,
135         TT_ERR_CATEGORY         = 1057,
136         TT_ERR_DBUPDATE         = 1058,
137         TT_ERR_DBFULL           = 1059,
138         TT_ERR_DBCONSIST        = 1060,
139         TT_ERR_STATE            = 1061,
140         TT_ERR_NOMEM            = 1062,
141         TT_ERR_SLOTNAME         = 1063,
142         TT_ERR_XDR              = 1064,
143         TT_ERR_NETFILE          = 1065,
144         TT_ERR_TOOLATE          = 1066,
145         TT_ERR_AUTHORIZATION    = 1067,
146         TT_ERR_VERSION_MISMATCH = 1068,
147         TT_DESKTOP_             = 1100,
148         TT_DESKTOP_EPERM        = 1101,
149         TT_DESKTOP_ENOENT       = 1102,
150         TT_DESKTOP_EINTR        = 1104,
151         TT_DESKTOP_EIO          = 1105,
152         TT_DESKTOP_EAGAIN       = 1111,
153         TT_DESKTOP_ENOMEM       = 1112,
154         TT_DESKTOP_EACCES       = 1113,
155         TT_DESKTOP_EFAULT       = 1114,
156         TT_DESKTOP_EEXIST       = 1117,
157         TT_DESKTOP_ENODEV       = 1119,
158         TT_DESKTOP_ENOTDIR      = 1120,
159         TT_DESKTOP_EISDIR       = 1121,
160         TT_DESKTOP_EINVAL       = 1122,
161         TT_DESKTOP_ENFILE       = 1123,
162         TT_DESKTOP_EMFILE       = 1124,
163         TT_DESKTOP_ETXTBSY      = 1126,
164         TT_DESKTOP_EFBIG        = 1127,
165         TT_DESKTOP_ENOSPC       = 1128,
166         TT_DESKTOP_EROFS        = 1130,
167         TT_DESKTOP_EMLINK       = 1131,
168         TT_DESKTOP_EPIPE        = 1132,
169         TT_DESKTOP_ENOMSG       = 1135,
170         TT_DESKTOP_EDEADLK      = 1145,
171         TT_DESKTOP_ECANCELED    = 1147,
172         TT_DESKTOP_ENOTSUP      = 1148,
173         TT_DESKTOP_ENODATA      = 1161,
174         TT_DESKTOP_EPROTO       = 1171,
175         TT_DESKTOP_ENOTEMPTY    = 1193,
176         TT_DESKTOP_ETIMEDOUT    = 1245,
177         TT_DESKTOP_EALREADY     = 1249,
178         TT_DESKTOP_UNMODIFIED   = 1299,
179         TT_MEDIA_ERR_SIZE       = 1300,
180         TT_MEDIA_ERR_FORMAT     = 1301,
181         TT_AUTHFILE_ACCESS      = 1400,
182         TT_AUTHFILE_LOCK        = 1401,
183         TT_AUTHFILE_LOCK_TIMEOUT = 1402,
184         TT_AUTHFILE_UNLOCK      = 1403,
185         TT_AUTHFILE_MISSING     = 1404,
186         TT_AUTHFILE_ENTRY_MISSING = 1405,
187         TT_AUTHFILE_WRITE       = 1406,
188         TT_ERR_APPFIRST         = 1536,
189         TT_ERR_LAST             = 2047,
190         TT_STATUS_LAST          = 2048} Tt_status;
191
192
193 typedef enum tt_filter_action {
194         TT_FILTER_CONTINUE      = 0, 
195         TT_FILTER_STOP          = 1, 
196         TT_FILTER_LAST          = 2} Tt_filter_action;
197
198 typedef enum tt_callback_action {
199         TT_CALLBACK_CONTINUE    = 0,
200         TT_CALLBACK_PROCESSED   = 1,
201         TT_CALLBACK_LAST        = 2} Tt_callback_action;
202
203 typedef enum tt_mode {
204         TT_MODE_UNDEFINED       = 0,
205         TT_IN                   = 1,
206         TT_OUT                  = 2,
207         TT_INOUT                = 3,
208         TT_MODE_LAST            = 4} Tt_mode;
209
210 typedef enum tt_scope {
211         TT_SCOPE_NONE           = 0,
212         TT_SESSION              = 1,
213         TT_FILE                 = 2,
214         TT_BOTH                 = 3,
215         TT_FILE_IN_SESSION      = 4} Tt_scope;
216
217 typedef enum tt_class {
218         TT_CLASS_UNDEFINED      = 0,
219         TT_NOTICE               = 1,
220         TT_REQUEST              = 2,
221         TT_OFFER                = 3,
222         TT_CLASS_LAST           = 4} Tt_class;
223
224 typedef enum tt_category {
225         TT_CATEGORY_UNDEFINED   = 0,
226         TT_OBSERVE              = 1,
227         TT_HANDLE               = 2,
228         TT_HANDLE_PUSH          = 3,
229         TT_HANDLE_ROTATE        = 4,
230         TT_CATEGORY_LAST        = 5} Tt_category;
231
232 typedef enum tt_address {
233         TT_PROCEDURE            = 0,
234         TT_OBJECT               = 1,
235         TT_HANDLER              = 2,
236         TT_OTYPE                = 3,
237         TT_ADDRESS_LAST         = 4} Tt_address;
238
239 typedef enum tt_disposition {
240         /* Flag bits, not enumerated values */
241         TT_DISCARD              = 0, /* for resetting value */
242         TT_QUEUE                = 1,
243         TT_START                = 2}  Tt_disposition;
244
245 typedef enum tt_state {
246         TT_CREATED              = 0,
247         TT_SENT                 = 1,
248         TT_HANDLED              = 2,
249         TT_FAILED               = 3,
250         TT_QUEUED               = 4,
251         TT_STARTED              = 5,
252         TT_REJECTED             = 6,
253         TT_RETURNED             = 7,
254         TT_ACCEPTED             = 8,
255         TT_ABSTAINED            = 9,
256         TT_STATE_LAST           = 10} Tt_state;
257
258 typedef enum tt_feature {
259         _TT_FEATURE_MULTITHREADED       = 1,
260         _TT_FEATURE_LAST                = 2} Tt_feature;
261
262 #define TT_FEATURE_MULTITHREADED        _TT_FEATURE_MULTITHREADED
263 #define TT_FEATURE_LAST                 _TT_FEATURE_LAST
264
265 #ifndef _XENUMS_
266
267 /*
268  * Official properties of ToolTalk objects.
269  *
270  * ToolTalk should prevent non-root processes from setting the values
271  * of properties whose name begins with '_'.
272  *
273  * Integrators should prevent users from assigning arbitrary strings
274  * as values of properties whose name begins with '.'.  That is, "dot"
275  * properties are like "dot" files: their existence should normally be
276  * hidden from users, and the displaying and setting of their contents
277  * should be mediated programatically, sort of like the OpenWindows
278  * "props" application mediates .Xdefaults.
279  */
280 #define TT_OBJECT_NAME_PROPERTY                 ".Name"
281 #define TT_OBJECT_OWNER_PROPERTY                "_Owner"
282 #define TT_OBJECT_GROUP_PROPERTY                "_Group"
283 #define TT_OBJECT_MODE_PROPERTY                 "_Mode"
284 #define TT_OBJECT_CREATION_DATE_PROPERTY        "_Creation_Date"
285
286 /* 
287  * The following define opaque handles which can be type checked (as compared
288  * to void *).  Don't bother looking for the definitions of the structs, there
289  * aren't any.
290  */
291 typedef struct _Tt_message_handle *Tt_message;
292 typedef struct _Tt_pattern_handle *Tt_pattern;
293 typedef struct _tt_AuthFileEntry  *Tt_AuthFileEntry;
294
295
296 #if defined(__cplusplus) || defined(__STDC__)
297 typedef Tt_filter_action (*Tt_filter_function)(_TT_CONST char *nodeid,
298                                                void *context,
299                                                void *accumulator);
300 typedef Tt_callback_action (*Tt_message_callback) (Tt_message m,
301                                                    Tt_pattern p);
302 #else
303 typedef Tt_filter_action (*Tt_filter_function)();
304 typedef Tt_callback_action (*Tt_message_callback)();
305 #endif
306
307 #endif /* _XENUMS_ */
308 #endif /* _XSCHEME_  _NAMES_  _EXTERN_ */
309
310 #ifndef _XENUMS_
311
312 _TT_EXTERN_FUNC(char *,tt_open,(void))
313 _TT_EXTERN_FUNC(Tt_status,tt_close,(void))
314 _TT_EXTERN_FUNC(char *,tt_X_session,(_TT_CONST char *xdisplay))
315
316 _TT_EXTERN_FUNC(char *,tt_default_ptype,(void))
317 _TT_EXTERN_FUNC(Tt_status,tt_default_ptype_set,(_TT_CONST char * ptid))
318 _TT_EXTERN_FUNC(char *,tt_default_file,(void))
319 _TT_EXTERN_FUNC(Tt_status,tt_default_file_set,(_TT_CONST char * docid))
320 _TT_EXTERN_FUNC(char *,tt_default_session,(void))
321 _TT_EXTERN_FUNC(Tt_status,tt_default_session_set,(_TT_CONST char *sessid))
322 _TT_EXTERN_FUNC(char *,tt_thread_session,(void))
323 _TT_EXTERN_FUNC(Tt_status,tt_thread_session_set,(_TT_CONST char *sessid))
324 _TT_EXTERN_FUNC(char *,tt_default_procid,(void))
325 _TT_EXTERN_FUNC(Tt_status,tt_default_procid_set,(_TT_CONST char *procid))
326 _TT_EXTERN_FUNC(char *,tt_thread_procid,(void))
327 _TT_EXTERN_FUNC(Tt_status,tt_thread_procid_set,(_TT_CONST char *procid))
328 _TT_EXTERN_FUNC(char *,tt_procid_session,(_TT_CONST char *procid))
329
330 _TT_EXTERN_FUNC(Tt_status,tt_file_join,(_TT_CONST char * filepath))
331 _TT_EXTERN_FUNC(Tt_status,tt_file_quit,(_TT_CONST char * filepath))
332 _TT_EXTERN_FUNC(Tt_status,tt_file_objects_query,
333                 (_TT_CONST char * filepath,
334                  Tt_filter_function filter,
335                  void *context,void *accumulator))
336 _TT_EXTERN_FUNC(Tt_status,tt_file_move,
337                 (_TT_CONST char *oldfilepath, _TT_CONST char *newfilepath))
338 _TT_EXTERN_FUNC(Tt_status,tt_file_copy,
339                 (_TT_CONST char *oldfilepath, _TT_CONST char *newfilepath))
340 _TT_EXTERN_FUNC(Tt_status,tt_file_destroy,(_TT_CONST char * filepath))
341
342 _TT_EXTERN_FUNC(char *,tt_message_context_val,
343                 (Tt_message m, _TT_CONST char *slotname))
344 _TT_EXTERN_FUNC(Tt_status,tt_message_context_ival,
345                 (Tt_message m, _TT_CONST char *slotname, int *value))
346 _TT_EXTERN_FUNC(Tt_status,tt_message_context_bval,
347                 (Tt_message m, _TT_CONST char *slotname,
348                  unsigned char **value, int *len))
349 _TT_EXTERN_FUNC(Tt_status,tt_message_context_xval,
350                 (Tt_message m, _TT_CONST char *slotname,
351                  xdrproc_t xdr_proc, void *value))
352 _TT_EXTERN_FUNC(Tt_status,tt_message_context_set,
353                 (Tt_message m, _TT_CONST char *slotname,
354                  _TT_CONST char *value))
355 _TT_EXTERN_FUNC(Tt_status,tt_message_icontext_set,
356                 (Tt_message m, _TT_CONST char *slotname, int value))
357 _TT_EXTERN_FUNC(Tt_status,tt_message_bcontext_set,
358                 (Tt_message m, _TT_CONST char *slotname,
359                  _TT_CONST unsigned char *value, int len))
360 _TT_EXTERN_FUNC(Tt_status,tt_message_xcontext_set,
361                 (Tt_message m, _TT_CONST char *slotname,
362                  xdrproc_t xdr_proc, void *value))
363
364 _TT_EXTERN_FUNC(Tt_status,tt_context_join,
365                 (_TT_CONST char *slotname, _TT_CONST char *value))
366 _TT_EXTERN_FUNC(Tt_status,tt_icontext_join,
367                 (_TT_CONST char *slotname, int value))
368 _TT_EXTERN_FUNC(Tt_status,tt_bcontext_join,
369                 (_TT_CONST char *slotname,
370                  _TT_CONST unsigned char *value, int len))
371 _TT_EXTERN_FUNC(Tt_status,tt_xcontext_join,
372                 (_TT_CONST char *slotname,
373                  xdrproc_t xdr_proc, void *value))
374 _TT_EXTERN_FUNC(Tt_status,tt_context_quit,
375                 (_TT_CONST char *slotname, _TT_CONST char *value))
376 _TT_EXTERN_FUNC(Tt_status,tt_icontext_quit,
377                 (_TT_CONST char *slotname, int value))
378 _TT_EXTERN_FUNC(Tt_status,tt_bcontext_quit,
379                 (_TT_CONST char *slotname,
380                  _TT_CONST unsigned char *value, int len))
381 _TT_EXTERN_FUNC(Tt_status,tt_xcontext_quit,
382                 (_TT_CONST char *slotname,
383                  xdrproc_t xdr_proc, void *value))
384 _TT_EXTERN_FUNC(int,tt_message_contexts_count,(Tt_message m))
385 _TT_EXTERN_FUNC(char *,tt_message_context_slotname,
386                 (Tt_message m, int i))
387
388 _TT_EXTERN_FUNC(Tt_message,tt_message_create,(void))
389 _TT_EXTERN_FUNC(Tt_message,tt_message_create_super,(Tt_message m))
390 _TT_EXTERN_FUNC(Tt_status,tt_message_destroy,(Tt_message m))
391
392 _TT_EXTERN_FUNC(Tt_status,tt_message_send,(Tt_message m))
393 _TT_EXTERN_FUNC(Tt_status,tt_message_send_on_exit,(Tt_message m))
394 _TT_EXTERN_FUNC(Tt_message,tt_message_receive,(void))
395 _TT_EXTERN_FUNC(Tt_status,tt_message_reply,(Tt_message m))
396 _TT_EXTERN_FUNC(Tt_status,tt_message_reject,(Tt_message m))
397 _TT_EXTERN_FUNC(Tt_status,tt_message_accept,(Tt_message m))
398 _TT_EXTERN_FUNC(Tt_status,tt_message_fail,(Tt_message m))
399 _TT_EXTERN_FUNC(Tt_pattern,tt_message_pattern,(Tt_message m))
400 _TT_EXTERN_FUNC(Tt_status,tt_message_callback_add,
401                 (Tt_message m,Tt_message_callback f))
402
403 _TT_EXTERN_FUNC(void *,tt_message_user,(Tt_message m,int key))
404 _TT_EXTERN_FUNC(Tt_status,tt_message_user_set,(Tt_message m,int key,void *v))
405
406 _TT_EXTERN_FUNC(Tt_status,tt_message_arg_add,
407                 (Tt_message m,Tt_mode n,_TT_CONST char *vtype,
408                  _TT_CONST char *value))
409 _TT_EXTERN_FUNC(Tt_mode,tt_message_arg_mode,(Tt_message m,int n))
410 _TT_EXTERN_FUNC(char *,tt_message_arg_type,(Tt_message m,int n))
411 _TT_EXTERN_FUNC(char *,tt_message_arg_val,(Tt_message m,int n))
412 _TT_EXTERN_FUNC(Tt_status,tt_message_arg_val_set,
413                 (Tt_message m,int n,_TT_CONST char *value))
414 _TT_EXTERN_FUNC(Tt_status,tt_message_arg_bval,
415                 (Tt_message m,int n,unsigned char **value,int *len))
416 _TT_EXTERN_FUNC(Tt_status,tt_message_arg_bval_set,
417                 (Tt_message m,int n,_TT_CONST unsigned char *value,int len))
418 _TT_EXTERN_FUNC(Tt_status,tt_message_barg_add,
419                 (Tt_message m,Tt_mode n,_TT_CONST char *vtype,
420                  _TT_CONST unsigned char *value,int len))
421 _TT_EXTERN_FUNC(Tt_status,tt_message_arg_ival,
422                 (Tt_message m,int n,int *value))
423 _TT_EXTERN_FUNC(Tt_status,tt_message_arg_ival_set,
424                 (Tt_message m,int n,int value))
425 _TT_EXTERN_FUNC(Tt_status,tt_message_iarg_add,
426                 (Tt_message m,Tt_mode n,_TT_CONST char *vtype,int value))
427 _TT_EXTERN_FUNC(Tt_status,tt_message_arg_xval,
428                 (Tt_message m,int n,xdrproc_t xdr_proc, void *value))
429 _TT_EXTERN_FUNC(Tt_status,tt_message_arg_xval_set,
430                 (Tt_message m,int n,xdrproc_t xdr_proc, void *value))
431 _TT_EXTERN_FUNC(Tt_status,tt_message_xarg_add,
432                 (Tt_message m,Tt_mode n,_TT_CONST char *vtype,
433                  xdrproc_t xdr_proc, void *value))
434 _TT_EXTERN_FUNC(int,tt_message_args_count,(Tt_message m))
435 _TT_EXTERN_FUNC(Tt_class,tt_message_class,(Tt_message m))
436 _TT_EXTERN_FUNC(Tt_status,tt_message_class_set,
437                 (Tt_message m,Tt_class c))
438 _TT_EXTERN_FUNC(char *,tt_message_file,(Tt_message m))
439 _TT_EXTERN_FUNC(Tt_status,tt_message_file_set,
440                 (Tt_message m,_TT_CONST char *file))
441 _TT_EXTERN_FUNC(char *,tt_message_object,(Tt_message m))
442 _TT_EXTERN_FUNC(Tt_status,tt_message_object_set,
443                 (Tt_message m,_TT_CONST char *objid))
444 _TT_EXTERN_FUNC(char *,tt_message_id,(Tt_message m))
445 _TT_EXTERN_FUNC(char *,tt_message_op,(Tt_message m))
446 _TT_EXTERN_FUNC(Tt_status,tt_message_op_set,
447                 (Tt_message m,_TT_CONST char *opname))
448 _TT_EXTERN_FUNC(int,tt_message_opnum,(Tt_message m))
449 _TT_EXTERN_FUNC(char *,tt_message_otype,(Tt_message m))
450 _TT_EXTERN_FUNC(Tt_status,tt_message_otype_set,
451                 (Tt_message m,_TT_CONST char *otype))
452 _TT_EXTERN_FUNC(Tt_address,tt_message_address,(Tt_message m))
453 _TT_EXTERN_FUNC(Tt_status,tt_message_address_set,
454                 (Tt_message m,Tt_address p))
455 _TT_EXTERN_FUNC(char *,tt_message_handler,(Tt_message m))
456 _TT_EXTERN_FUNC(Tt_status,tt_message_handler_set,
457                 (Tt_message m,_TT_CONST char *procid))
458 _TT_EXTERN_FUNC(char *,tt_message_handler_ptype,(Tt_message m))
459 _TT_EXTERN_FUNC(Tt_status,tt_message_handler_ptype_set,
460                 (Tt_message m,_TT_CONST char *ptid))
461 _TT_EXTERN_FUNC(int,tt_message_accepters_count,(Tt_message m))
462 _TT_EXTERN_FUNC(char *,tt_message_accepter,(Tt_message m,int n))
463 _TT_EXTERN_FUNC(int,tt_message_rejecters_count,(Tt_message m))
464 _TT_EXTERN_FUNC(char *,tt_message_rejecter,(Tt_message m,int n))
465 _TT_EXTERN_FUNC(int,tt_message_abstainers_count,(Tt_message m))
466 _TT_EXTERN_FUNC(char *,tt_message_abstainer,(Tt_message m,int n))
467 _TT_EXTERN_FUNC(Tt_disposition,tt_message_disposition,(Tt_message m))
468 _TT_EXTERN_FUNC(Tt_status,tt_message_disposition_set,
469                 (Tt_message m,Tt_disposition r))
470 _TT_EXTERN_FUNC(Tt_scope,tt_message_scope,(Tt_message m))
471 _TT_EXTERN_FUNC(Tt_status,tt_message_scope_set,(Tt_message m,Tt_scope s))
472 _TT_EXTERN_FUNC(char *,tt_message_sender,(Tt_message m))
473 _TT_EXTERN_FUNC(char *,tt_message_sender_ptype,(Tt_message m))
474 _TT_EXTERN_FUNC(Tt_status,tt_message_sender_ptype_set,
475                 (Tt_message m,_TT_CONST char *ptid))
476 _TT_EXTERN_FUNC(char *,tt_message_session,(Tt_message m))
477 _TT_EXTERN_FUNC(Tt_status,tt_message_session_set,
478                 (Tt_message m,_TT_CONST char *sessid))
479 _TT_EXTERN_FUNC(Tt_state,tt_message_state,(Tt_message m))
480 _TT_EXTERN_FUNC(int,tt_message_status,(Tt_message m))
481 _TT_EXTERN_FUNC(Tt_status,tt_message_status_set,(Tt_message m,int status))
482 _TT_EXTERN_FUNC(char *,tt_message_status_string,(Tt_message m))
483 _TT_EXTERN_FUNC(Tt_status,tt_message_status_string_set,
484                 (Tt_message m,_TT_CONST char *status_str))
485 _TT_EXTERN_FUNC(uid_t,tt_message_uid,(Tt_message m))
486 _TT_EXTERN_FUNC(gid_t,tt_message_gid,(Tt_message m))
487
488 /* 
489  * The following are "macros" which provide a simpler high level
490  * interface to the above low level calls.
491  */
492 _TT_EXTERN_FUNC(Tt_message,tt_pnotice_create,
493                 (Tt_scope scope, _TT_CONST char *op))
494 _TT_EXTERN_FUNC(Tt_message,tt_prequest_create,
495                 (Tt_scope scope, _TT_CONST char *op))
496 _TT_EXTERN_FUNC(Tt_message,tt_onotice_create,
497                 (_TT_CONST char *objid, _TT_CONST char *op))
498 _TT_EXTERN_FUNC(Tt_message,tt_orequest_create,
499                 (_TT_CONST char *objid, _TT_CONST char *op))
500
501 _TT_EXTERN_FUNC(char *,tt_spec_create,(_TT_CONST char * filepath))
502 _TT_EXTERN_FUNC(Tt_status,tt_spec_write,(_TT_CONST char * nodeid))
503 _TT_EXTERN_FUNC(Tt_status,tt_spec_destroy,(_TT_CONST char * nodeid))
504
505 _TT_EXTERN_FUNC(char *,tt_spec_file,(_TT_CONST char * nodeid))
506 _TT_EXTERN_FUNC(char *,tt_spec_type,(_TT_CONST char * nodeid))
507 _TT_EXTERN_FUNC(Tt_status,tt_spec_type_set,
508                 (_TT_CONST char * nodeid,_TT_CONST char * otid))
509 _TT_EXTERN_FUNC(char *,tt_spec_move,
510                 (_TT_CONST char * nodeid,_TT_CONST char * newfilepath))
511 _TT_EXTERN_FUNC(char *,tt_spec_propname,(_TT_CONST char *nodeid,int n))
512 _TT_EXTERN_FUNC(int,tt_spec_propnames_count,(_TT_CONST char *nodeid))
513
514
515 _TT_EXTERN_FUNC(char *,tt_spec_prop,
516                 (_TT_CONST char *nodeid,_TT_CONST char *propname,int i))
517 _TT_EXTERN_FUNC(Tt_status,tt_spec_prop_add,
518                 (_TT_CONST char *nodeid,_TT_CONST char *propname,
519                  _TT_CONST char *value))
520 _TT_EXTERN_FUNC(int,tt_spec_prop_count,
521                 (_TT_CONST char *nodeid,_TT_CONST char *propname))
522 _TT_EXTERN_FUNC(Tt_status,tt_spec_prop_set,
523                 (_TT_CONST char *nodeid,_TT_CONST char *propname,
524                  _TT_CONST char *value))
525 _TT_EXTERN_FUNC(Tt_status,tt_spec_bprop,
526                 (_TT_CONST char *nodeid,_TT_CONST char *propname,int i,
527                  unsigned char **value,int *length))
528 _TT_EXTERN_FUNC(Tt_status,tt_spec_bprop_add,
529                 (_TT_CONST char *nodeid,_TT_CONST char *propname,
530                   _TT_CONST unsigned char *value,int length))
531 _TT_EXTERN_FUNC(Tt_status,tt_spec_bprop_set,
532                 (_TT_CONST char *nodeid,_TT_CONST char *propname,
533                  _TT_CONST unsigned char *value,int length))
534
535 _TT_EXTERN_FUNC(int,tt_objid_equal,
536                 (_TT_CONST char * nodeid1,_TT_CONST char * nodeid2))
537 _TT_EXTERN_FUNC(char *,tt_objid_objkey,(_TT_CONST char * nodeid))
538
539 _TT_EXTERN_FUNC(int,tt_otype_deriveds_count,(_TT_CONST char *otype))
540 _TT_EXTERN_FUNC(char *,tt_otype_derived,(_TT_CONST char *otype, int i))
541 _TT_EXTERN_FUNC(char *,tt_otype_base,(_TT_CONST char *otype))
542 _TT_EXTERN_FUNC(int,tt_otype_is_derived,
543                 (_TT_CONST char *derivedotype, _TT_CONST char *baseotype))
544 _TT_EXTERN_FUNC(int,tt_otype_osig_count,(_TT_CONST char * otype))
545 _TT_EXTERN_FUNC(int,tt_otype_hsig_count,(_TT_CONST char * otype))
546 _TT_EXTERN_FUNC(char *,tt_otype_osig_op,(_TT_CONST char * otype, int sig))
547 _TT_EXTERN_FUNC(char *,tt_otype_hsig_op,(_TT_CONST char * otype, int sig))
548 _TT_EXTERN_FUNC(int,tt_otype_osig_args_count,(_TT_CONST char * otype, int sig))
549 _TT_EXTERN_FUNC(int,tt_otype_hsig_args_count,(_TT_CONST char * otype, int sig))
550 _TT_EXTERN_FUNC(Tt_mode,tt_otype_osig_arg_mode,(_TT_CONST char * otype,
551                                                 int sig, int arg))
552 _TT_EXTERN_FUNC(Tt_mode,tt_otype_hsig_arg_mode,(_TT_CONST char * otype,
553                                                 int sig, int arg))
554 _TT_EXTERN_FUNC(char *,tt_otype_osig_arg_type,(_TT_CONST char * otype,
555                                                 int sig, int arg))
556 _TT_EXTERN_FUNC(char *,tt_otype_hsig_arg_type,(_TT_CONST char * otype,
557                                                 int sig, int arg))
558
559 _TT_EXTERN_FUNC(Tt_pattern,tt_pattern_create,(void))
560 _TT_EXTERN_FUNC(Tt_status,tt_pattern_destroy,(Tt_pattern p))
561 _TT_EXTERN_FUNC(Tt_status,tt_pattern_register,(Tt_pattern p))
562 _TT_EXTERN_FUNC(Tt_status,tt_pattern_unregister,(Tt_pattern p))
563 _TT_EXTERN_FUNC(Tt_status,tt_pattern_callback_add,
564                 (Tt_pattern m,Tt_message_callback f))
565
566 _TT_EXTERN_FUNC(void *,tt_pattern_user,(Tt_pattern p,int key))
567 _TT_EXTERN_FUNC(Tt_status,tt_pattern_user_set,(Tt_pattern p,int key,void *v))
568
569 _TT_EXTERN_FUNC(Tt_category,tt_pattern_category,(Tt_pattern p))
570 _TT_EXTERN_FUNC(Tt_status,tt_pattern_category_set,
571                 (Tt_pattern p,Tt_category c))
572
573 _TT_EXTERN_FUNC(Tt_status,tt_pattern_arg_add,
574                 (Tt_pattern p,Tt_mode n,_TT_CONST char *vtype,
575                  _TT_CONST char *value))
576 _TT_EXTERN_FUNC(Tt_status,tt_pattern_barg_add,
577                 (Tt_pattern m,Tt_mode n,_TT_CONST char *vtype,
578                  _TT_CONST unsigned char *value,int len))
579 _TT_EXTERN_FUNC(Tt_status,tt_pattern_iarg_add,
580                 (Tt_pattern m,Tt_mode n,_TT_CONST char *vtype, int value))
581 _TT_EXTERN_FUNC(Tt_status,tt_pattern_xarg_add,
582                 (Tt_pattern m,Tt_mode n,_TT_CONST char *vtype,
583                  xdrproc_t xdr_proc, void *value))
584
585 _TT_EXTERN_FUNC(Tt_status,tt_pattern_class_add,
586                 (Tt_pattern p,Tt_class c))
587 _TT_EXTERN_FUNC(Tt_status,tt_pattern_file_add,
588                 (Tt_pattern p,_TT_CONST char *file))
589 _TT_EXTERN_FUNC(Tt_status,tt_pattern_object_add,
590                 (Tt_pattern p,_TT_CONST char *objid))
591 _TT_EXTERN_FUNC(Tt_status,tt_pattern_op_add,
592                 (Tt_pattern p,_TT_CONST char *opname))
593 _TT_EXTERN_FUNC(Tt_status,tt_pattern_opnum_add,(Tt_pattern p,int opnum))
594 _TT_EXTERN_FUNC(Tt_status,tt_pattern_otype_add,
595                 (Tt_pattern p,_TT_CONST char *otype))
596 _TT_EXTERN_FUNC(Tt_status,tt_pattern_address_add,
597                 (Tt_pattern p,Tt_address d))
598 _TT_EXTERN_FUNC(Tt_status,tt_pattern_disposition_add,
599                 (Tt_pattern p,Tt_disposition r))
600 _TT_EXTERN_FUNC(Tt_status,tt_pattern_scope_add,(Tt_pattern p,Tt_scope s))
601 _TT_EXTERN_FUNC(Tt_status,tt_pattern_sender_add,
602                 (Tt_pattern p,_TT_CONST char *procid))
603 _TT_EXTERN_FUNC(Tt_status,tt_pattern_sender_ptype_add,
604                 (Tt_pattern p,_TT_CONST char *ptid))
605 _TT_EXTERN_FUNC(Tt_status,tt_pattern_session_add,
606                 (Tt_pattern p,_TT_CONST char *sessid))
607 _TT_EXTERN_FUNC(Tt_status,tt_pattern_state_add,(Tt_pattern p,Tt_state s))
608
609 _TT_EXTERN_FUNC(Tt_status,tt_pattern_context_add,
610                 (Tt_pattern p, _TT_CONST char *slotname,
611                  _TT_CONST char *value))
612 _TT_EXTERN_FUNC(Tt_status,tt_pattern_icontext_add,
613                 (Tt_pattern p, _TT_CONST char *slotname,
614                  int value))
615 _TT_EXTERN_FUNC(Tt_status,tt_pattern_bcontext_add,
616                 (Tt_pattern p, _TT_CONST char *slotname,
617                  _TT_CONST unsigned char *value, int length))
618 _TT_EXTERN_FUNC(Tt_status,tt_pattern_xcontext_add,
619                 (Tt_pattern p, _TT_CONST char *slotname,
620                  xdrproc_t xdr_proc, void *value))
621
622 _TT_EXTERN_FUNC(Tt_status,tt_ptype_declare,(_TT_CONST char * ptid))
623 _TT_EXTERN_FUNC(Tt_status,tt_ptype_undeclare,(_TT_CONST char * ptid))
624 _TT_EXTERN_FUNC(Tt_status,tt_ptype_exists,(_TT_CONST char * ptid))
625 _TT_EXTERN_FUNC(Tt_status,tt_ptype_opnum_callback_add,
626                 (_TT_CONST char * ptid, int opnum, Tt_message_callback f))
627 _TT_EXTERN_FUNC(Tt_status,tt_otype_opnum_callback_add,
628                 (_TT_CONST char * otid, int opnum, Tt_message_callback f))
629         
630
631 _TT_EXTERN_FUNC(Tt_status,tt_session_join,(_TT_CONST char * sessid))
632 _TT_EXTERN_FUNC(Tt_status,tt_session_quit,(_TT_CONST char * sessid))
633 _TT_EXTERN_FUNC(char *,tt_initial_session,(void))
634
635 _TT_EXTERN_FUNC(char *,tt_session_propname,(_TT_CONST char *sessid,int n))
636 _TT_EXTERN_FUNC(int,tt_session_propnames_count,(_TT_CONST char *sessid))
637 _TT_EXTERN_FUNC(char *,tt_session_prop,
638                 (_TT_CONST char *sessid,_TT_CONST char *propname,int i))
639 _TT_EXTERN_FUNC(Tt_status,tt_session_prop_add,
640                 (_TT_CONST char *sessid,_TT_CONST char *propname,
641                  _TT_CONST char *value))
642 _TT_EXTERN_FUNC(int,tt_session_prop_count,
643                 (_TT_CONST char *sessid,_TT_CONST char *propname))
644 _TT_EXTERN_FUNC(Tt_status,tt_session_prop_set,
645                 (_TT_CONST char *sessid, _TT_CONST char *propname,
646                  _TT_CONST char *value))
647 _TT_EXTERN_FUNC(Tt_status,tt_session_bprop,
648                 (_TT_CONST char *sessid,_TT_CONST char *propname,int i,
649                  unsigned char **value,int *length))
650 _TT_EXTERN_FUNC(Tt_status,tt_session_bprop_add,
651                 (_TT_CONST char *sessid,_TT_CONST char *propname,
652                  _TT_CONST unsigned char *value,int length))
653 _TT_EXTERN_FUNC(Tt_status,tt_session_bprop_set,
654                 (_TT_CONST char *sessid,_TT_CONST char *propname,
655                  _TT_CONST unsigned char *value,int length))
656 _TT_EXTERN_FUNC(Tt_status,tt_session_types_load,
657                 (_TT_CONST char *sessid, _TT_CONST char *filename))
658
659
660 _TT_EXTERN_FUNC(int,tt_fd,(void))
661
662 _TT_EXTERN_FUNC(int,tt_mark,(void))
663 _TT_EXTERN_FUNC(void,tt_release,(int mark))
664 _TT_EXTERN_FUNC(caddr_t,tt_malloc,(size_t s))
665 _TT_EXTERN_FUNC(void,tt_free,(caddr_t p))
666
667 _TT_EXTERN_FUNC(char *,tt_status_message,(Tt_status ttrc))
668 _TT_EXTERN_FUNC(Tt_status,tt_pointer_error,(void *pointer))
669 _TT_EXTERN_FUNC(Tt_status,tt_int_error,(int return_val))
670
671 _TT_EXTERN_FUNC(void,tt_error,(const char *func,Tt_status ttrc))
672 _TT_EXTERN_FUNC(void *,tt_error_pointer,(Tt_status ttrc))
673 _TT_EXTERN_FUNC(int,tt_error_int,(Tt_status ttrc))
674
675 _TT_EXTERN_FUNC(int,tt_trace_control,(int onoff))
676
677 _TT_EXTERN_FUNC(char *,tt_message_print,(Tt_message m))
678 _TT_EXTERN_FUNC(char *,tt_pattern_print,(Tt_pattern p))
679
680 _TT_EXTERN_FUNC(char *,tt_file_netfile, (const char *filename))
681 _TT_EXTERN_FUNC(char *,tt_netfile_file, (const char *netfilename))
682
683 _TT_EXTERN_FUNC(char *,tt_host_file_netfile, (const char * host, const char * filename))
684 _TT_EXTERN_FUNC(char *,tt_host_netfile_file, (const char * host, const char * netfilename))
685 _TT_EXTERN_FUNC(Tt_status,tt_feature_enabled, (Tt_feature f))
686 _TT_EXTERN_FUNC(Tt_status,tt_feature_required, (Tt_feature f))
687
688 _TT_EXTERN_FUNC(char*, tt_AuthFileName, (void))
689 _TT_EXTERN_FUNC(int, tt_LockAuthFile, (char*, int, int, long))
690 _TT_EXTERN_FUNC(void, tt_UnlockAuthFile, (char*))
691 _TT_EXTERN_FUNC(Tt_AuthFileEntry, tt_ReadAuthFileEntry, (FILE*))
692 _TT_EXTERN_FUNC(void, tt_FreeAuthFileEntry, (Tt_AuthFileEntry))
693 _TT_EXTERN_FUNC(int, tt_WriteAuthFileEntry, (FILE*, Tt_AuthFileEntry))
694 _TT_EXTERN_FUNC(Tt_AuthFileEntry, tt_GetAuthFileEntry, (char*, char*, char*))
695 _TT_EXTERN_FUNC(char*, tt_GenerateMagicCookie, (int))
696
697 #endif /* _XENUMS_ */
698
699 #define tt_ptr_error(p) tt_pointer_error((void *)(p))
700 #define tt_is_err(p) (TT_WRN_LAST < (p))
701 #undef _TT_EXTERN_FUNC
702 #undef _TT_CONST
703 #endif