1 /* 2 * Motif Tools Library, Version 3.1 3 * $Id: Symbols.h,v 1.1.1.1 2001/02/10 13:50:55 motiftools Exp $ 4 * 5 * Written by David Flanagan. 6 * Copyright (c) 1992-2001 by David Flanagan. 7 * All Rights Reserved. See the file COPYRIGHT for details. 8 * This is open source software. See the file LICENSE for details. 9 * There is no warranty for this software. See NO_WARRANTY for details. 10 * 11 * $Log: Symbols.h,v $ 12 * Revision 1.1.1.1 2001/02/10 13:50:55 motiftools 13 * Initial import of Xmt310 to CVS 14 * 15 * 16 */ 17 18 #ifndef _XmtSymbols_h 19 #define _XmtSymbols_h 20 21 #include <Xmt/Hash.h> 22 23 typedef struct _XmtSymbolRec *XmtSymbol; 24 25 typedef void (*XmtSymbolCallbackProc)( 26 #if NeedFunctionPrototypes 27 XmtSymbol, XtPointer, XtArgVal 28 #endif 29 ); 30 31 typedef struct _XmtSymbolCallbackRec { 32 XmtSymbolCallbackProc proc; 33 XtPointer closure; 34 struct _XmtSymbolCallbackRec *next; 35 } XmtSymbolCallbackRec; 36 37 typedef struct _XmtSymbolRec { /* app programmer declares these */ 38 String name; 39 String type; 40 Cardinal size; 41 XtPointer addr; 42 String resource_name; 43 short num_values; 44 XtPointer *values; 45 /* private, don't initialize */ 46 unsigned char mode; 47 XmtSymbolCallbackRec *callbacks; 48 unsigned short index; 49 } XmtSymbolRec; 50 51 _XFUNCPROTOBEGIN 52 #if NeedFunctionPrototypes 53 extern void XmtRegisterSymbol(XmtSymbol); 54 extern void XmtRegisterSymbols(XmtSymbolRec *, Cardinal); 55 extern void XmtRegisterResourceList(XtPointer, XtResourceList, Cardinal); 56 extern void XmtRegisterWidgetResource(StringConst, Widget, StringConst); 57 extern XmtSymbol XmtLookupSymbol(StringConst); 58 extern void XmtSymbolSetValue(XmtSymbol, XtArgVal); 59 extern void XmtSymbolGetValue(XmtSymbol, XtArgVal *); 60 extern Boolean XmtSymbolSetTypedValue(Widget, XmtSymbol, String, 61 XtArgVal, Cardinal); 62 extern String XmtSymbolName(XmtSymbol); 63 extern int XmtSymbolSize(XmtSymbol); 64 extern XrmQuark XmtSymbolTypeQuark(XmtSymbol); 65 extern String XmtSymbolType(XmtSymbol); 66 extern Boolean XmtSymbolIsEnumerated(XmtSymbol); 67 extern void XmtSymbolAddCallback(XmtSymbol, XmtSymbolCallbackProc, XtPointer); 68 extern void XmtSymbolRemoveCallback(XmtSymbol,XmtSymbolCallbackProc,XtPointer); 69 #else 70 extern void XmtRegisterSymbol(); 71 extern void XmtRegisterSymbols(); 72 extern void XmtRegisterResourceList(); 73 extern void XmtRegisterWidgetResource(); 74 extern XmtSymbol XmtLookupSymbol(); 75 extern void XmtSymbolSetValue(); 76 extern void XmtSymbolGetValue(); 77 extern Boolean XmtSymbolSetTypedValue(); 78 extern String XmtSymbolName(); 79 extern int XmtSymbolSize(); 80 extern XrmQuark XmtSymbolTypeQuark(); 81 extern String XmtSymbolType(); 82 extern Boolean XmtSymbolIsEnumerated(); 83 extern void XmtSymbolAddCallback(); 84 extern void XmtSymbolRemoveCallback(); 85 #endif 86 87 #if NeedVarargsPrototypes 88 extern void XmtVaRegisterSymbols(StringConst, ...); 89 #else 90 extern void XmtVaRegisterSymbols(); 91 #endif 92 _XFUNCPROTOEND 93 94 #endif /* _XmtSymbols_h */ 95