|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Motif
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are free software; you can
|
|
Packit |
b099d7 |
* redistribute them and/or modify them under the terms of the GNU
|
|
Packit |
b099d7 |
* Lesser General Public License as published by the Free Software
|
|
Packit |
b099d7 |
* Foundation; either version 2 of the License, or (at your option)
|
|
Packit |
b099d7 |
* any later version.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are distributed in the hope that
|
|
Packit |
b099d7 |
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
Packit |
b099d7 |
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Packit |
b099d7 |
* PURPOSE. See the GNU Lesser General Public License for more
|
|
Packit |
b099d7 |
* details.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b099d7 |
* License along with these librararies and programs; if not, write
|
|
Packit |
b099d7 |
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
Packit |
b099d7 |
* Floor, Boston, MA 02110-1301 USA
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/* $TOG: Mrm.h /main/23 1999/05/25 16:55:58 mgreess $ */
|
|
Packit |
b099d7 |
/* *
|
|
Packit |
b099d7 |
* (c) Copyright 1996 Hewlett-Packard Company *
|
|
Packit |
b099d7 |
* (c) Copyright 1996 International Business Machines Corp. *
|
|
Packit |
b099d7 |
* (c) Copyright 1996 Sun Microsystems, Inc. *
|
|
Packit |
b099d7 |
* (c) Copyright 1996 Novell, Inc. *
|
|
Packit |
b099d7 |
* (c) Copyright 1989, 1990, 1996 Digital Equipment Corporation. *
|
|
Packit |
b099d7 |
* (c) Copyright 1996 FUJITSU LIMITED. *
|
|
Packit |
b099d7 |
* (c) Copyright 1996 Hitachi. *
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#ifndef Mrm_H
|
|
Packit |
b099d7 |
#define Mrm_H
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define urm_h 1
|
|
Packit |
b099d7 |
#include <Mrm/MrmPublic.h>
|
|
Packit |
b099d7 |
#include <Xm/Xm.h> /* XmString definition and _NO_PROTO */
|
|
Packit |
b099d7 |
#include <Xm/XmosP.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* This is the internal file used throughout URM for literal and
|
|
Packit |
b099d7 |
* struct definitions. It defines everything not found in public
|
|
Packit |
b099d7 |
* files.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef MIN
|
|
Packit |
b099d7 |
#define MIN(x,y) ((x) < (y) ? (x) : (y))
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#ifndef MAX
|
|
Packit |
b099d7 |
#define MAX(x,y) ((x) > (y) ? (x) : (y))
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef XmConst
|
|
Packit |
b099d7 |
#if defined(__STDC__) || !defined( NO_CONST )
|
|
Packit |
b099d7 |
#define XmConst const
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
#define XmConst
|
|
Packit |
b099d7 |
#endif /* __STDC__ */
|
|
Packit |
b099d7 |
#endif /* XmConst */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The following macro is used to round the size of memory allocation requests
|
|
Packit |
b099d7 |
* up to eight bytes. This is done to help satisfy alignment
|
|
Packit |
b099d7 |
* request for MIPS, CRAY, Alpah, HP9000 (for doubles) and similar machines.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define _sl sizeof(long)
|
|
Packit |
b099d7 |
#define _slm (sizeof(long) - 1)
|
|
Packit |
b099d7 |
#define _FULLWORD(exp) (_sl * (((exp) + _slm) / _sl)) /* (4*(((exp)+3)/4)) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Swap the byte order of 4- and 2- byte quantities.
|
|
Packit |
b099d7 |
* "tp +=" lines are needed on Cray (CARD32 is actually 64 bits).
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define swap4bytes(l) {\
|
|
Packit |
b099d7 |
CARD32 t = (CARD32) l;\
|
|
Packit |
b099d7 |
char n, *tp = (char *) &t;\
|
|
Packit |
b099d7 |
tp += sizeof(CARD32) - 4;\
|
|
Packit |
b099d7 |
n = tp[0]; tp[0] = tp[3]; tp[3] = n;\
|
|
Packit |
b099d7 |
n = tp[1]; tp[1] = tp[2]; tp[2] = n;\
|
|
Packit |
b099d7 |
l = t;\
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define swap2bytes(s) {\
|
|
Packit |
b099d7 |
CARD16 t = (CARD16) s;\
|
|
Packit |
b099d7 |
char n, *tp = (char *) &t;\
|
|
Packit |
b099d7 |
tp += sizeof(CARD16) - 2;\
|
|
Packit |
b099d7 |
n = tp[0]; tp[0] = tp[1]; tp[1] = n;\
|
|
Packit |
b099d7 |
s = t;\
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define swapbytes(v) {\
|
|
Packit |
b099d7 |
if (sizeof(v) == 2) \
|
|
Packit |
b099d7 |
swap2bytes(v) \
|
|
Packit |
b099d7 |
else if (sizeof(v) == 4) \
|
|
Packit |
b099d7 |
swap4bytes(v); \
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define swapdouble(d) {\
|
|
Packit |
b099d7 |
double dt = (double) d;\
|
|
Packit |
b099d7 |
unsigned m, *dp = (unsigned *) &dt;\
|
|
Packit |
b099d7 |
swap4bytes( dp[0] );\
|
|
Packit |
b099d7 |
swap4bytes( dp[1] );\
|
|
Packit |
b099d7 |
m = dp[0]; dp[0] = dp[1]; dp[1] = m;\
|
|
Packit |
b099d7 |
d = dt;\
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* When a resource record is referenced but not yet fetched, logical or
|
|
Packit |
b099d7 |
* the convert type with this value as a flag.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define MrmResourceUnswapped (unsigned char)128
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* URM-wide constants
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define URMversion "URM 1.2"
|
|
Packit |
b099d7 |
#define URM1_1version "URM 1.1"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The indexes of the self-encoding compression tables in a UID file. They
|
|
Packit |
b099d7 |
* intentionally include characters which are illegal in UIL identifiers.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UilMrmClassTableIndex ">ClassTable"
|
|
Packit |
b099d7 |
#define UilMrmResourceTableIndex ">ResourceTable"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Resource classes and types
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMgNul 0
|
|
Packit |
b099d7 |
#define URMgWidget 1
|
|
Packit |
b099d7 |
#define URMgLiteral 2 /* types in MrmRtype... */
|
|
Packit |
b099d7 |
#define URMgResourceSet 3 /* type in URMrs... */
|
|
Packit |
b099d7 |
/* 4 unused */
|
|
Packit |
b099d7 |
#define URMgMessage 5
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define URMgMin 1 /* lowest legal group value */
|
|
Packit |
b099d7 |
#define URMgMax 5 /* highest legal group value */
|
|
Packit |
b099d7 |
#define URMgVecSize URMgMax+1 /* To size any vectors */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The null resource type
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMtNul 0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Access types
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMaPublic 1
|
|
Packit |
b099d7 |
#define URMaPrivate 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Index types. Immediate is included for the convenience of the UIL compiler
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMrIndex 1
|
|
Packit |
b099d7 |
#define URMrRID 2
|
|
Packit |
b099d7 |
#define URMrImmediate 3
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Maximum number of characters in an index
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMMaxIndexLen 31
|
|
Packit |
b099d7 |
#define URMMaxIndexLen1 (URMMaxIndexLen + 1) /* to size vectors */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* File open access types
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMReadAccess 1
|
|
Packit |
b099d7 |
#define URMWriteAccess 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Standard date string length
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMhsDate 29 /* any date string */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Types of resource sets.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMrsInterfaceModule 1 /* Interface module */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Values for the manage flag in memory only -- the manage field in RGMChildDesc
|
|
Packit |
b099d7 |
* is just a Boolean.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef enum {
|
|
Packit |
b099d7 |
MrmManageUnmanage,
|
|
Packit |
b099d7 |
MrmManageManage,
|
|
Packit |
b099d7 |
MrmManageDefault
|
|
Packit |
b099d7 |
} MrmManageFlag;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Urm typedefs
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The maximum number of arguments allowed in an arglist or children in
|
|
Packit |
b099d7 |
* a child list. A number intended to catch gross errors.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define RGMListSizeMax 32767
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* URM pointer list
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The following structure is inspired by resource contexts, but is used
|
|
Packit |
b099d7 |
* to store lists of pointers. Its supporting routines automatically manage
|
|
Packit |
b099d7 |
* space in the same the context routines do. Since this is used only
|
|
Packit |
b099d7 |
* internally, no validation is provided.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
int num_slots ; /* number of available pointer slots */
|
|
Packit |
b099d7 |
int num_ptrs ; /* number of slots actually used */
|
|
Packit |
b099d7 |
XtPointer *ptr_vec ; /* pointer slot vector */
|
|
Packit |
b099d7 |
} URMPointerList, *URMPointerListPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Accessors for the list or a pointer in the list
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmPlistPtrList(list) ((list)->ptr_vec)
|
|
Packit |
b099d7 |
#define UrmPlistNum(list) ((list)->num_ptrs)
|
|
Packit |
b099d7 |
#define UrmPlistPtrN(list,ndx) ((list)->ptr_vec[ndx])
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* URM Resource context
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The following context structure is provided by URM to cover all memory
|
|
Packit |
b099d7 |
* management of in-memory resources. This mechanism provides:
|
|
Packit |
b099d7 |
* o improved memory management efficiency through buffer re-use
|
|
Packit |
b099d7 |
* o collection of resource attributes in one place
|
|
Packit |
b099d7 |
* o support for non-standard allocation routines
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMResourceContextValid 232570204
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation ; /* validation code =
|
|
Packit |
b099d7 |
URMResourceContextValid */
|
|
Packit |
b099d7 |
char *data_buffer ; /* pointer to data buffer in memory */
|
|
Packit |
b099d7 |
MrmSize buffer_size ; /* number of bytes in buffer */
|
|
Packit |
b099d7 |
MrmSize resource_size ; /* number of bytes used by resource */
|
|
Packit |
b099d7 |
MrmGroup group ; /* resource group */
|
|
Packit |
b099d7 |
MrmType type ; /* resource type */
|
|
Packit |
b099d7 |
MrmCode access ; /* URMaPrivate or URMaPublic */
|
|
Packit |
b099d7 |
MrmCode lock ; /* resource locking code */
|
|
Packit |
b099d7 |
char *((*alloc_func) ()) ; /* memory allocation func */
|
|
Packit |
b099d7 |
void (*free_func) () ; /* deallocation func */
|
|
Packit |
b099d7 |
MrmFlag byte_swapped ; /* resource is byte_swapped */
|
|
Packit |
b099d7 |
} URMResourceContext, *URMResourceContextPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Validation macro, returns TRUE/FALSE
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmRCValid(context) ((context)->validation==URMResourceContextValid)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The following are accessor macros for a resource context
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmRCBuffer(context) ((context)->data_buffer)
|
|
Packit |
b099d7 |
#define UrmRCBufSize(context) ((context)->buffer_size)
|
|
Packit |
b099d7 |
#define UrmRCSize(context) ((context)->resource_size)
|
|
Packit |
b099d7 |
#define UrmRCGroup(context) ((context)->group)
|
|
Packit |
b099d7 |
#define UrmRCType(context) ((context)->type)
|
|
Packit |
b099d7 |
#define UrmRCAccess(context) ((context)->access)
|
|
Packit |
b099d7 |
#define UrmRCLock(context) ((context)->lock)
|
|
Packit |
b099d7 |
#define UrmRCByteSwap(context) ((context)->byte_swapped)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The following are modifiers for a resource context
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmRCSetBuffer(context,bufadr) {(context)->data_buffer=(bufadr);}
|
|
Packit |
b099d7 |
#define UrmRCSetSize(context,sizval) {(context)->resource_size=(sizval);}
|
|
Packit |
b099d7 |
#define UrmRCSetGroup(context,grpval) {(context)->group=(grpval);}
|
|
Packit |
b099d7 |
#define UrmRCSetType(context,typval) {(context)->type=(typval);}
|
|
Packit |
b099d7 |
#define UrmRCSetAccess(context,accval) {(context)->access=(accval);}
|
|
Packit |
b099d7 |
#define UrmRCSetLock(context,lckval) {(context)->lock=(lckval);}
|
|
Packit |
b099d7 |
#define UrmRCSetByteSwap(context,swapval) {(context)->byte_swapped=(swapval);}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Error reporting states
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMRCErrorDefault 1 /* default - report on line */
|
|
Packit |
b099d7 |
#define URMRCErrorSave 2 /* save error, don't report */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Error reporting destinations
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMErrOutMemory 1 /* Save error messages in memory, no print */
|
|
Packit |
b099d7 |
#define URMErrOutStdout 2 /* print error messages to stdout */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* IDB definitions in common use. The principal one is IDBFile; others
|
|
Packit |
b099d7 |
* are included to make that definition valid.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Record type definitions - IDBrt...
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define IDBrtMin 1
|
|
Packit |
b099d7 |
#define IDBrtHeader 1
|
|
Packit |
b099d7 |
#define IDBrtIndexLeaf 2
|
|
Packit |
b099d7 |
#define IDBrtIndexNode 3
|
|
Packit |
b099d7 |
#define IDBrtRIDMap 4
|
|
Packit |
b099d7 |
#define IDBrtData 5
|
|
Packit |
b099d7 |
#define IDBrtMax 5
|
|
Packit |
b099d7 |
#define IDBrtVecSize 6
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Sizes of fixed-length strings in the file header. Definitions are
|
|
Packit |
b099d7 |
* provided for both the number of characters in the string and the
|
|
Packit |
b099d7 |
* constant which gives the string length including the terminating nul.
|
|
Packit |
b099d7 |
* IDBhs...
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define IDBhsVersion 9 /* Any version string */
|
|
Packit |
b099d7 |
#define IDBhsVersion1 (IDBhsVersion + 1)
|
|
Packit |
b099d7 |
#define IDBhsCreator 29 /* Creator id */
|
|
Packit |
b099d7 |
#define IDBhsCreator1 (IDBhsCreator + 1)
|
|
Packit |
b099d7 |
#define IDBhsDate URMhsDate /* Any date string */
|
|
Packit |
b099d7 |
#define IDBhsDate1 (IDBhsDate + 1)
|
|
Packit |
b099d7 |
#define IDBhsModule 29 /* Module id */
|
|
Packit |
b099d7 |
#define IDBhsModule1 (IDBhsModule + 1)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Record number. 65k should be enough...
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef short int IDBRecordNumber ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* A resource ID consists of the resource map index and the ID index
|
|
Packit |
b099d7 |
* in the given resource map.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef short int IDBResourceIndex ;
|
|
Packit |
b099d7 |
typedef union {
|
|
Packit |
b099d7 |
unsigned external_id ; /* Looks like a fullword */
|
|
Packit |
b099d7 |
struct {
|
|
Packit |
b099d7 |
IDBRecordNumber map_rec B32 ; /* resource map record */
|
|
Packit |
b099d7 |
IDBResourceIndex res_index B32 ; /* resource index into map */
|
|
Packit |
b099d7 |
} internal_id ; /* 2 fields internally */
|
|
Packit |
b099d7 |
} IDBridDesc ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* A resource ID passed by value in a fullword.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef unsigned IDBResource ; /* a declaration for RIDs
|
|
Packit |
b099d7 |
passed by value */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Class descriptor.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* This descriptor contains the information URM requires about a toolkit
|
|
Packit |
b099d7 |
* class.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMWCIClassDescValid 39963371
|
|
Packit |
b099d7 |
#define UrmWCIClassDescValid(classdesc) \
|
|
Packit |
b099d7 |
((classdesc)->validation==URMWCIClassDescValid)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WCIClassDesc {
|
|
Packit |
b099d7 |
unsigned validation ; /* URMWCIClassDescValid */
|
|
Packit |
b099d7 |
struct _WCIClassDesc *next_desc ;
|
|
Packit |
b099d7 |
/* next descriptor in chain */
|
|
Packit |
b099d7 |
String creator_name ; /* create routine name. This is also
|
|
Packit |
b099d7 |
the accessor key for non-toolkit
|
|
Packit |
b099d7 |
widget classes. */
|
|
Packit |
b099d7 |
Widget (*creator) () ; /* low-level create routine. This is
|
|
Packit |
b099d7 |
also the class identifier (name)
|
|
Packit |
b099d7 |
used to match user classes. */
|
|
Packit |
b099d7 |
WidgetClass class_record ; /* Pointer to toolkit class record */
|
|
Packit |
b099d7 |
void (*cleanup) () ;
|
|
Packit |
b099d7 |
/* low-level destructor routine.
|
|
Packit |
b099d7 |
Used to clean up after creation
|
|
Packit |
b099d7 |
routines that leave dangling
|
|
Packit |
b099d7 |
memory (i.e. XmRendition,
|
|
Packit |
b099d7 |
XmRenderTable) */
|
|
Packit |
b099d7 |
} WCIClassDesc, *WCIClassDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Table used to uncompress compression codes in a self-encoding UID file.
|
|
Packit |
b099d7 |
* Table entries can be overlaid with function pointers for tables which
|
|
Packit |
b099d7 |
* encode convenience functions.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The table is accessed by the compression code. Code 0 is unused by
|
|
Packit |
b099d7 |
* convention, and code 1 is unused because it is the marker for an
|
|
Packit |
b099d7 |
* unknown (user defined) entry, which is specified by an explicit string.
|
|
Packit |
b099d7 |
* Thus the valid entries begin at 2 (UilMrmMinValidCode). Any code
|
|
Packit |
b099d7 |
* < UilMrmMinValidCode or > num_entries is invalid.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* When stored in a UID file, a table is a block of memory with the
|
|
Packit |
b099d7 |
* following properties:
|
|
Packit |
b099d7 |
* o The table is allocated with enough space for all the decompression
|
|
Packit |
b099d7 |
* pointers required.
|
|
Packit |
b099d7 |
* o The table is followed by the strings in the table. They are allocated
|
|
Packit |
b099d7 |
* in a heap built from contiguous memory following table itself.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UidCompressionTableValid 317938336
|
|
Packit |
b099d7 |
#define UilMrmUnknownCode 1
|
|
Packit |
b099d7 |
#define UilMrmMinValidCode 2
|
|
Packit |
b099d7 |
#define UilMrmReservedCodeCount 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef union
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
MrmOffset stoffset; /* offset of string in
|
|
Packit |
b099d7 |
heap (in file) */
|
|
Packit |
b099d7 |
char *cstring; /* compressed string as
|
|
Packit |
b099d7 |
a memory pointer */
|
|
Packit |
b099d7 |
WCIClassDescPtr cldesc; /* class descriptor for
|
|
Packit |
b099d7 |
class table */
|
|
Packit |
b099d7 |
} UidCTableEntry;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
unsigned validation; /* validation code =
|
|
Packit |
b099d7 |
UIDCompressionTableValid */
|
|
Packit |
b099d7 |
MrmCount num_entries; /* number of table entries */
|
|
Packit |
b099d7 |
UidCTableEntry entry[1]; /* first entry */
|
|
Packit |
b099d7 |
} UidCompressionTable, *UidCompressionTablePtr;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Hash table entry
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define k_hash_table_size (127)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _URMHashTableEntry
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
char *az_value; /* value associated with this name */
|
|
Packit |
b099d7 |
struct _URMHashTableEntry
|
|
Packit |
b099d7 |
*az_next_entry; /* next entry on hash chain */
|
|
Packit |
b099d7 |
char c_text[1]; /* text of the name */
|
|
Packit |
b099d7 |
} URMHashTableEntry, *URMHashTableEntryPtr;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Low level file information.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* This structure is pointed to in the IDBOpenFile structure and blindly
|
|
Packit |
b099d7 |
* passed to the low level routines.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned rab; /* Record Access Block */
|
|
Packit |
b099d7 |
int file_desc; /* File Descriptor */
|
|
Packit |
b099d7 |
char *name; /* The file name */
|
|
Packit |
b099d7 |
} IDBLowLevelFile, *IDBLowLevelFilePtr;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* IDB open file information
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The following is the information retained by IDB for an open file.
|
|
Packit |
b099d7 |
* Much of this information matches that found in the file header,
|
|
Packit |
b099d7 |
* and is the source of for that info when the header is updated.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define IDBOpenFileValid 421642674
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation ; /* validation code =
|
|
Packit |
b099d7 |
IDBOpenFileValid */
|
|
Packit |
b099d7 |
int get_count ; /* # get operations on file */
|
|
Packit |
b099d7 |
int put_count ; /* # put operations on file */
|
|
Packit |
b099d7 |
MrmCode access ; /* URMReadAccess or
|
|
Packit |
b099d7 |
URMWriteAccess */
|
|
Packit |
b099d7 |
IDBLowLevelFilePtr lowlevel_id ; /* open file id returned
|
|
Packit |
b099d7 |
by low-level routines */
|
|
Packit |
b099d7 |
IDBRecordNumber index_root ; /* index root pointer */
|
|
Packit |
b099d7 |
MrmCount num_indexed ; /* # entries in index */
|
|
Packit |
b099d7 |
MrmCount num_RID ; /* # RID entries in file */
|
|
Packit |
b099d7 |
IDBridDesc next_RID ; /* next available RID */
|
|
Packit |
b099d7 |
IDBRecordNumber last_record ; /* last record used in file */
|
|
Packit |
b099d7 |
IDBRecordNumber last_data_record ; /* last data record in file.
|
|
Packit |
b099d7 |
NULL if no records yet */
|
|
Packit |
b099d7 |
MrmCount group_counts[URMgVecSize] ;
|
|
Packit |
b099d7 |
/* vector of record counts
|
|
Packit |
b099d7 |
by resource group */
|
|
Packit |
b099d7 |
MrmCount rt_counts[IDBrtVecSize] ;
|
|
Packit |
b099d7 |
/* vector of record counts by
|
|
Packit |
b099d7 |
record type (statistics) */
|
|
Packit |
b099d7 |
unsigned long timer ; /* for statistics */
|
|
Packit |
b099d7 |
char db_version[IDBhsVersion1] ;
|
|
Packit |
b099d7 |
/* database version */
|
|
Packit |
b099d7 |
char creator[IDBhsCreator1] ; /* creator id */
|
|
Packit |
b099d7 |
char creator_version[IDBhsVersion1] ;
|
|
Packit |
b099d7 |
/* creator version */
|
|
Packit |
b099d7 |
char creation_date[IDBhsDate1] ;
|
|
Packit |
b099d7 |
/* creation date */
|
|
Packit |
b099d7 |
char module[IDBhsModule1] ; /* module id */
|
|
Packit |
b099d7 |
char module_version[IDBhsVersion1] ;
|
|
Packit |
b099d7 |
/* module version */
|
|
Packit |
b099d7 |
UidCompressionTablePtr
|
|
Packit |
b099d7 |
class_ctable; /* compression table for
|
|
Packit |
b099d7 |
class info */
|
|
Packit |
b099d7 |
UidCompressionTablePtr
|
|
Packit |
b099d7 |
resource_ctable; /* compression table for
|
|
Packit |
b099d7 |
resource info */
|
|
Packit |
b099d7 |
int user1 ; /* for caller use */
|
|
Packit |
b099d7 |
int user2 ; /* for caller use */
|
|
Packit |
b099d7 |
MrmFlag byte_swapped ; /* indicates uid file created on
|
|
Packit |
b099d7 |
opposite-endian machine */
|
|
Packit |
b099d7 |
MrmFlag in_memory ; /* for memory mapped files */
|
|
Packit |
b099d7 |
unsigned char *uid_buffer ; /* pointer to memory buffer */
|
|
Packit |
b099d7 |
} IDBOpenFile, *IDBFile ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Open hierarchy struct
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The following structure represents an open hierarchy. A hierarchy
|
|
Packit |
b099d7 |
* is principally a list of open IDB files in search order. As an aid to
|
|
Packit |
b099d7 |
* efficient searching, a list of files by resource group is also kept.
|
|
Packit |
b099d7 |
* Each entry in the list is the subset of the files in the hierarchy
|
|
Packit |
b099d7 |
* which contains resources in the corresponding group.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MrmHIERARCHY_VALID 102214835
|
|
Packit |
b099d7 |
typedef struct MrmHierarchyDescStruct {
|
|
Packit |
b099d7 |
unsigned validation ; /* MrmHIERARCHY_VALID */
|
|
Packit |
b099d7 |
MrmCount num_file ; /* number of files open */
|
|
Packit |
b099d7 |
IDBFile *file_list ; /* list of open files */
|
|
Packit |
b099d7 |
MrmCount grp_num[URMgVecSize] ; /* vector of file counts by
|
|
Packit |
b099d7 |
resource group */
|
|
Packit |
b099d7 |
IDBFile *grp_ids[URMgVecSize] ; /* vectors of file ids by
|
|
Packit |
b099d7 |
resource group */
|
|
Packit |
b099d7 |
URMHashTableEntryPtr
|
|
Packit |
b099d7 |
*name_registry; /* to register names */
|
|
Packit |
b099d7 |
} MrmHierarchyDesc;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Validation macro
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define MrmHierarchyValid(hierarchy) \
|
|
Packit |
b099d7 |
((hierarchy)->validation==MrmHIERARCHY_VALID)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record typedefs
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM Widget record. All offset are relative to the beginning of the record
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMWidgetRecordValid 373946338
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Variety codes. */
|
|
Packit |
b099d7 |
#define UilMrmWidgetVariety 0
|
|
Packit |
b099d7 |
#define UilMrmAutoChildVariety 1
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation; /* validation code =
|
|
Packit |
b099d7 |
URMWidgetRecordValid */
|
|
Packit |
b099d7 |
MrmSize size; /* Total number of bytes for record */
|
|
Packit |
b099d7 |
MrmCode access; /* URMaPublic or URMaPrivate */
|
|
Packit |
b099d7 |
MrmCode lock; /* locking code */
|
|
Packit |
b099d7 |
MrmType type; /* widget type, equates to class
|
|
Packit |
b099d7 |
for toolkit widgets. (Unknown or
|
|
Packit |
b099d7 |
a uid-based compression code). */
|
|
Packit |
b099d7 |
MrmOffset name_offs; /* Offset of widget name. Locates a
|
|
Packit |
b099d7 |
String. Empty string is illegal */
|
|
Packit |
b099d7 |
MrmOffset class_offs; /* Offset of class name. The class name
|
|
Packit |
b099d7 |
is required for application-defined
|
|
Packit |
b099d7 |
widgets. */
|
|
Packit |
b099d7 |
MrmOffset arglist_offs; /* Offset of arglist descriptor.
|
|
Packit |
b099d7 |
Locates a RGMArgListDesc struct */
|
|
Packit |
b099d7 |
MrmOffset children_offs; /* Offset of children descriptor.
|
|
Packit |
b099d7 |
Locates a RGMChildrenDesc struct */
|
|
Packit |
b099d7 |
MrmOffset comment_offs; /* Offset of comment string for
|
|
Packit |
b099d7 |
this widget. (URM extension) */
|
|
Packit |
b099d7 |
MrmOffset creation_offs; /* Offset of RGMCallnackDesc struct
|
|
Packit |
b099d7 |
specifying URM creation callback
|
|
Packit |
b099d7 |
for this widget */
|
|
Packit |
b099d7 |
unsigned long variety;/* Regular widget or auto child. */
|
|
Packit |
b099d7 |
unsigned long annex; /* annex allows compatible growth */
|
|
Packit |
b099d7 |
} RGMWidgetRecord, *RGMWidgetRecordPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Size of the header part of the record
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define RGMWidgetRecordHdrSize sizeof(RGMWidgetRecord)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Macro to access the widget record in a context
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmWRWidgetRec(context) \
|
|
Packit |
b099d7 |
((RGMWidgetRecordPtr) UrmRCBuffer(context))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* All validation, accessor, and setting macros access a widget record in
|
|
Packit |
b099d7 |
* a context. They all take a pointer to the widget record, which is
|
|
Packit |
b099d7 |
* the context buffer CAST to RGMWidgetRecordptr.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmWRValid(widgetrec) \
|
|
Packit |
b099d7 |
((widgetrec)->validation==URMWidgetRecordValid)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Accessor macros for the widget record header
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmWRPSize(context) (UrmWRWidgetRec(context)->size)
|
|
Packit |
b099d7 |
#define UrmWRPAccess(context) (UrmWRWidgetRec(context)->access)
|
|
Packit |
b099d7 |
#define UrmWRPLock(context) (UrmWRWidgetRec(context)->lock)
|
|
Packit |
b099d7 |
#define UrmWRPType(context) (UrmWRWidgetRec(context)->type)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* value descriptor. This consists of a representation type, followed
|
|
Packit |
b099d7 |
* by a union of either an immediate value or an offset, depending
|
|
Packit |
b099d7 |
* on the representation type.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
MrmType rep_type; /* representation type from
|
|
Packit |
b099d7 |
RGMrType... */
|
|
Packit |
b099d7 |
union {
|
|
Packit |
b099d7 |
int ival; /* integer, boolean, compressed */
|
|
Packit |
b099d7 |
MrmOffset offset ; /* offset for all others */
|
|
Packit |
b099d7 |
} datum ; /* immediate value or offset */
|
|
Packit |
b099d7 |
} RGMArgValue, *RGMArgValuePtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record argument descriptor
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
MrmCode tag_code; /* Either the compressed code for
|
|
Packit |
b099d7 |
the argument tag from URMc...,
|
|
Packit |
b099d7 |
or UilMrmUnknownCode to indicate no
|
|
Packit |
b099d7 |
known string. If UilMrmUnknownCode, then
|
|
Packit |
b099d7 |
the offset is in tag_off */
|
|
Packit |
b099d7 |
union
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
MrmOffset tag_offs; /* offset to tag string if needed */
|
|
Packit |
b099d7 |
MrmCode related_code; /* related argument code for case
|
|
Packit |
b099d7 |
where tag_code is valid and a
|
|
Packit |
b099d7 |
related argument is to be set */
|
|
Packit |
b099d7 |
} stg_or_relcode;
|
|
Packit |
b099d7 |
RGMArgValue arg_val ; /* argument value */
|
|
Packit |
b099d7 |
} RGMArgument, *RGMArgumentPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record arglist descriptor
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
MrmCount count; /* number of arguments in list */
|
|
Packit |
b099d7 |
MrmCount extra; /* # extra runtime args needed */
|
|
Packit |
b099d7 |
unsigned long annex1 ; /* annex allows compatible growth */
|
|
Packit |
b099d7 |
RGMArgument args[1] ; /* first of the argument descriptors */
|
|
Packit |
b099d7 |
} RGMArgListDesc, *RGMArgListDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record text vector item (text vector literal)
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The following represents vectors of either ASCIZ or compound strings.
|
|
Packit |
b099d7 |
* each member of the vector is type-tagged so that mixed vectors are possible.
|
|
Packit |
b099d7 |
* This descriptor is a union so that a vector of these items can be over-
|
|
Packit |
b099d7 |
* written to become an in-memory list of pointers. This avoids some
|
|
Packit |
b099d7 |
* allocation problems at widget instantiation. Char8 items are String,
|
|
Packit |
b099d7 |
* CString items are XmString.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Offsets are interpreted as follows:
|
|
Packit |
b099d7 |
* text vector as immediate in widget record - offset from beginning
|
|
Packit |
b099d7 |
* of record buffer.
|
|
Packit |
b099d7 |
* text vector as UID literal - offset from beginning of resource buffer
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef union {
|
|
Packit |
b099d7 |
XtPointer pointer ; /* for use as memory pointer */
|
|
Packit |
b099d7 |
struct {
|
|
Packit |
b099d7 |
MrmType rep_type B32; /* MrmRtypeChar8 or MrmRtypeCString */
|
|
Packit |
b099d7 |
MrmOffset offset B32; /* offset of item in record */
|
|
Packit |
b099d7 |
} text_item ; /* for use as item type & offset */
|
|
Packit |
b099d7 |
} RGMTextEntry, *RGMTextEntryPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The text Vector. This is designed to allow the vector of text entries
|
|
Packit |
b099d7 |
* to be over-written into an in-memory vector of pointers. Thus this list
|
|
Packit |
b099d7 |
* has one extra entry to provide a terminating null.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMTextVectorValid 34966592
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation; /* URMTextVectorValid */
|
|
Packit |
b099d7 |
MrmCount count; /* Number of text items in vector */
|
|
Packit |
b099d7 |
RGMTextEntry item[1] ; /* first text item in a vector of
|
|
Packit |
b099d7 |
n = .count+1 items. item[.count]
|
|
Packit |
b099d7 |
always = NULL */
|
|
Packit |
b099d7 |
} RGMTextVector, *RGMTextVectorPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The integer Vector. This is designed to allow the vector of integers
|
|
Packit |
b099d7 |
* to be over-written into an in-memory vector of pointers.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMIntegerVectorValid 34966593
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation; /* URMIntegerVectorValid */
|
|
Packit |
b099d7 |
MrmCount count; /* Number of integer items in vector */
|
|
Packit |
b099d7 |
int item[1] ; /* first integer item in a vector */
|
|
Packit |
b099d7 |
/* of n = .count+1 items. */
|
|
Packit |
b099d7 |
} RGMIntegerVector, *RGMIntegerVectorPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record callback item
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* A callback item is the offset of a routine name (which must be a
|
|
Packit |
b099d7 |
* non-imported string), and the routine tag value, which is encoded
|
|
Packit |
b099d7 |
* as a value. The tag value can evaluate to almost anything, including
|
|
Packit |
b099d7 |
* an imported value.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* This structure is intended to be over-written with memory pointers
|
|
Packit |
b099d7 |
* and thus function as an arglist value.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef union
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int ival; /* integer, boolean, compressed */
|
|
Packit |
b099d7 |
MrmOffset offset; /* offset for all others */
|
|
Packit |
b099d7 |
} RGMdatum; /* immediate value, offset, widget */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef union {
|
|
Packit |
b099d7 |
struct {
|
|
Packit |
b099d7 |
XtCallbackRec callback ; /* item as Xt callback */
|
|
Packit |
b099d7 |
MrmFlag resolved; /* Item resolved to XtCallbackRec */
|
|
Packit |
b099d7 |
String wname; /* Name of widget reference */
|
|
Packit |
b099d7 |
} runtime;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
struct {
|
|
Packit |
b099d7 |
MrmOffset routine B32; /* offset to routine name string */
|
|
Packit |
b099d7 |
/* duplicate RGMArgValue, avoiding
|
|
Packit |
b099d7 |
union alignment hassles */
|
|
Packit |
b099d7 |
MrmType rep_type B32; /* from RGMrType... */
|
|
Packit |
b099d7 |
RGMdatum datum ; /* immediate value, offset, widget */
|
|
Packit |
b099d7 |
} cb_item ; /* callback item in record */
|
|
Packit |
b099d7 |
} RGMCallbackItem, *RGMCallbackItemPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record callback argument descriptor. This list has
|
|
Packit |
b099d7 |
* count + 1 entries so that this structure may be overwritten
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMCallbackDescriptorValid 107397480
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation; /* URMCallbackDescriptorValid */
|
|
Packit |
b099d7 |
MrmCount count; /* Number of callback items */
|
|
Packit |
b099d7 |
MrmCount annex; /* annex allows growth */
|
|
Packit |
b099d7 |
MrmCount unres_ref_count; /* # of unresolved widget refs
|
|
Packit |
b099d7 |
in the RGMCallbackItems */
|
|
Packit |
b099d7 |
RGMCallbackItem item[1] ; /* First callback item in a list
|
|
Packit |
b099d7 |
of n = .count+1 items */
|
|
Packit |
b099d7 |
} RGMCallbackDesc, *RGMCallbackDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* We need to have the 1.1 versions of RGMCallbackItem and RGMCallbackDesc
|
|
Packit |
b099d7 |
* so that backwards compatibility can be maintained between 1.1 and 1.2.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef union {
|
|
Packit |
b099d7 |
XtCallbackRec runtime ; /* item as Xt callback */
|
|
Packit |
b099d7 |
struct {
|
|
Packit |
b099d7 |
MrmOffset routine ; /* offset to routine name string */
|
|
Packit |
b099d7 |
/* duplicate RGMArgValue, avoiding
|
|
Packit |
b099d7 |
union alignment hassles */
|
|
Packit |
b099d7 |
MrmType rep_type ; /* from RGMrType... */
|
|
Packit |
b099d7 |
RGMdatum datum ; /* immediate value or offset */
|
|
Packit |
b099d7 |
} cb_item ; /* callback item in record */
|
|
Packit |
b099d7 |
} OldRGMCallbackItem, *OldRGMCallbackItemPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation ; /* URMCallbackDescriptorValid */
|
|
Packit |
b099d7 |
MrmCount count ; /* Number of callback items */
|
|
Packit |
b099d7 |
unsigned long annex1 ; /* annex allows compatible growth */
|
|
Packit |
b099d7 |
OldRGMCallbackItem item[1] ; /* First callback item in a list
|
|
Packit |
b099d7 |
of n = .count+1 items */
|
|
Packit |
b099d7 |
} OldRGMCallbackDesc, *OldRGMCallbackDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* BEGIN OSF Fix CR 4859 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Wide character uid form
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The following represents a multi-byte string which needs to be converted
|
|
Packit |
b099d7 |
* to a wide-character string when it is retrieved.
|
|
Packit |
b099d7 |
* The structure contains a byte count followed by the bytes.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef union {
|
|
Packit |
b099d7 |
XtPointer pointer; /* for use as memory pointer */
|
|
Packit |
b099d7 |
struct {
|
|
Packit |
b099d7 |
MrmCount count; /* # of bytes */
|
|
Packit |
b099d7 |
char bytes[1]; /* vector of bytes */
|
|
Packit |
b099d7 |
} wchar_item;
|
|
Packit |
b099d7 |
} RGMWCharEntry, *RGMWCharEntryPtr;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* END OSF Fix CR 4859 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Font literal
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The following represents a MrmRtypeFont literal. Since it contains two
|
|
Packit |
b099d7 |
* strings, the same offset mechanism is used to store both, and this
|
|
Packit |
b099d7 |
* is a fixed-length data structure.
|
|
Packit |
b099d7 |
* data structure.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
union
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
/*XmStringCharset*/char* charset; /* character set (resolved) */
|
|
Packit |
b099d7 |
MrmOffset cs_offs; /* character set in buffer */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} cset;
|
|
Packit |
b099d7 |
union
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
String font; /* string naming font */
|
|
Packit |
b099d7 |
MrmOffset font_offs; /* font name in buffer */
|
|
Packit |
b099d7 |
} font;
|
|
Packit |
b099d7 |
MrmCode type;
|
|
Packit |
b099d7 |
} RGMFontItem, *RGMFontItemPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* A font list, which is a vector of font items. The font items are
|
|
Packit |
b099d7 |
* treated as a heap store following the fixed length list (similar
|
|
Packit |
b099d7 |
* to text vectors). Font lists in widget records have offsets from
|
|
Packit |
b099d7 |
* the beginning of the record; font list literals in a UID file have
|
|
Packit |
b099d7 |
* offsets from the beginning of the list itself (just like text
|
|
Packit |
b099d7 |
* vectors). Font items in a font list are a union of a pointer and
|
|
Packit |
b099d7 |
* an offset, so that (as in text vectors) they can be converted in
|
|
Packit |
b099d7 |
* place to an in-memory pointer list.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMFontListValid 74149235
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation; /* URMFontListValid */
|
|
Packit |
b099d7 |
MrmCount count; /* # of font items in list */
|
|
Packit |
b099d7 |
RGMFontItem item[1] ; /* vector of RGMFontItems */
|
|
Packit |
b099d7 |
} RGMFontList, *RGMFontListPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* We need to have the 1.1 versions of RGMFontItem and RGMFontList
|
|
Packit |
b099d7 |
* so that backwards compatibility can be maintained between 1.1 and 1.2.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
union
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
/*XmStringCharset*/char* charset; /* character set (resolved) */
|
|
Packit |
b099d7 |
MrmOffset cs_offs; /* character set in buffer */
|
|
Packit |
b099d7 |
} cset;
|
|
Packit |
b099d7 |
union
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
String font; /* string naming font */
|
|
Packit |
b099d7 |
MrmOffset font_offs; /* font name in buffer */
|
|
Packit |
b099d7 |
} font;
|
|
Packit |
b099d7 |
} OldRGMFontItem, *OldRGMFontItemPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation ; /* URMFontListValid */
|
|
Packit |
b099d7 |
MrmCount count ; /* # of font items in list */
|
|
Packit |
b099d7 |
OldRGMFontItem item[1] ; /* vector of RGMFontItems */
|
|
Packit |
b099d7 |
} OldRGMFontList, *OldRGMFontListPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record child descriptor
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
MrmFlag manage ; /* true if child is managed by parent
|
|
Packit |
b099d7 |
at initialization */
|
|
Packit |
b099d7 |
MrmSCode access ; /* URMaPublic or URMaPrivate */
|
|
Packit |
b099d7 |
MrmSCode unused1 ; /* formerly class, unused anywhere */
|
|
Packit |
b099d7 |
MrmSCode type ; /* specifier type - URMrIndex or
|
|
Packit |
b099d7 |
URMrRID */
|
|
Packit |
b099d7 |
unsigned long annex1; /* annex allows compatible growth */
|
|
Packit |
b099d7 |
union {
|
|
Packit |
b099d7 |
int index_offs; /* index string offset (URMrIndex) */
|
|
Packit |
b099d7 |
MrmResource_id id; /* IDB resource id (URMrRID) */
|
|
Packit |
b099d7 |
} key ; /* key to widget by index or id */
|
|
Packit |
b099d7 |
} RGMChildDesc, *RGMChildDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record children list descriptor
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
MrmCount count; /* number of children */
|
|
Packit |
b099d7 |
MrmCode unused1; /* formerly access, unused anywhere */
|
|
Packit |
b099d7 |
unsigned long annex1; /* annex allows compatible growth */
|
|
Packit |
b099d7 |
RGMChildDesc child[1] ; /* First child descriptor in a list of
|
|
Packit |
b099d7 |
n = .count descriptors. */
|
|
Packit |
b099d7 |
} RGMChildrenDesc, *RGMChildrenDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGM widget record URM resource descriptor. This is commonly used as the
|
|
Packit |
b099d7 |
* value of an argument which is a discrete resource. In this case, the
|
|
Packit |
b099d7 |
* resource specifies the data type required for the argument (from
|
|
Packit |
b099d7 |
* RGMrType...) to allow conversion if the literal is a different type
|
|
Packit |
b099d7 |
* when read.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
MrmSize size; /* number of bytes in structure */
|
|
Packit |
b099d7 |
MrmFlag access ; /* Public/private - URMaPublic or
|
|
Packit |
b099d7 |
URMaPrivate for this resource */
|
|
Packit |
b099d7 |
MrmSCode type ; /* URMrIndex or URMrRID */
|
|
Packit |
b099d7 |
MrmSCode res_group ; /* resource group */
|
|
Packit |
b099d7 |
MrmSCode cvt_type ; /* RGMrType... to which the resource
|
|
Packit |
b099d7 |
needs to be converted when used
|
|
Packit |
b099d7 |
as an argument value. RGMwrType
|
|
Packit |
b099d7 |
for widget references. */
|
|
Packit |
b099d7 |
unsigned long annex1 ; /* annex allows compatible growth */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
union {
|
|
Packit |
b099d7 |
char index[1] ; /* index for URMrIndex resource
|
|
Packit |
b099d7 |
(nul teminated) */
|
|
Packit |
b099d7 |
MrmResource_id id ; /* resource id */
|
|
Packit |
b099d7 |
} key ; /* key to resource by index or id */
|
|
Packit |
b099d7 |
} RGMResourceDesc, *RGMResourceDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* When a resource descriptor names a widget, the cvt_type is used to
|
|
Packit |
b099d7 |
* indicate the type of reference, which indicates the processing required.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define RGMwrTypeReference 233 /* Reference a widget defined by
|
|
Packit |
b099d7 |
a CreateInstance elsewhere */
|
|
Packit |
b099d7 |
#define RGMwrTypeSubTree 234 /* Subtree reference. The subtree
|
|
Packit |
b099d7 |
must be instantiated as part of
|
|
Packit |
b099d7 |
the current operation */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Interface module descriptor
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* An interface module is currently the only type of resource set defined.
|
|
Packit |
b099d7 |
* It defines the topmost widgets for some application (there is no
|
|
Packit |
b099d7 |
* requirement that there be only one interface module for an application).
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* A topmost widget descriptor. These are currently required to be
|
|
Packit |
b099d7 |
* accessed by index only, and the index is currently the only information
|
|
Packit |
b099d7 |
* saved. The index is stored as a fixed-length entry to simplify the
|
|
Packit |
b099d7 |
* layout of an interface module.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The widgets referenced in an interface module are those who have
|
|
Packit |
b099d7 |
* no parent in the interface definition. Commonly these will have
|
|
Packit |
b099d7 |
* the top-level widget as their parent at runtime, but this is not
|
|
Packit |
b099d7 |
* required.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
char index[URMMaxIndexLen1] ;
|
|
Packit |
b099d7 |
/* Index (name) of widget */
|
|
Packit |
b099d7 |
} RGMTopmostDesc, *RGMTopmostDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define URMInterfaceModuleValid 408427447
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation; /* URMInterfaceModuleValid */
|
|
Packit |
b099d7 |
MrmCount count; /* number of topmost widgets */
|
|
Packit |
b099d7 |
unsigned long annex1; /* annex allows compatible growth */
|
|
Packit |
b099d7 |
unsigned long annex2; /* annex allows compatible growth */
|
|
Packit |
b099d7 |
RGMTopmostDesc topmost[1] ; /* First topmost descriptor in a
|
|
Packit |
b099d7 |
list of n= .count descriptors */
|
|
Packit |
b099d7 |
} RGMModuleDesc, *RGMModuleDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Validation macro
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmInterfaceModuleValid(module) \
|
|
Packit |
b099d7 |
((module)->validation==URMInterfaceModuleValid)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Representations for URM color descriptor (MrmRtypeColor) and
|
|
Packit |
b099d7 |
* color table (MrmRtypeColorTable).
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* RGB color data structure
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned short red; /* RGB colors */
|
|
Packit |
b099d7 |
unsigned short green; /* RGB colors */
|
|
Packit |
b099d7 |
unsigned short blue; /* RGB colors */
|
|
Packit |
b099d7 |
}RGBColor, *RGBColorPtr;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* URM color descriptor. This is a color name plus a fallback
|
|
Packit |
b099d7 |
* designator specifying the color as foreground or background.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
MrmSCode mono_state ; /* monochrome treatment, from
|
|
Packit |
b099d7 |
URMColorMonochrome... */
|
|
Packit |
b099d7 |
MrmSCode desc_type; /* color desc_type from
|
|
Packit |
b099d7 |
URMColorDescType... */
|
|
Packit |
b099d7 |
union {
|
|
Packit |
b099d7 |
char name[1] ; /* color name */
|
|
Packit |
b099d7 |
RGBColor rgb ; /* RGB Color */
|
|
Packit |
b099d7 |
} desc;
|
|
Packit |
b099d7 |
} RGMColorDesc, *RGMColorDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Monochrome treatments
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMColorMonochromeUnspecified 1
|
|
Packit |
b099d7 |
#define URMColorMonochromeForeground 2
|
|
Packit |
b099d7 |
#define URMColorMonochromeBackground 3
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Color descriptor types
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMColorDescTypeName 1
|
|
Packit |
b099d7 |
#define URMColorDescTypeRGB 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Use this Min size plus the size of the color name string to determine the
|
|
Packit |
b099d7 |
* exact size that the RGMColorDesc will need to allocate.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define RGMColorDescNameMinSize (sizeof (RGMColorDesc)\
|
|
Packit |
b099d7 |
- sizeof (RGBColor)\
|
|
Packit |
b099d7 |
+ sizeof (char))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* URM color table item. This is a pointer to a color descriptor, plus
|
|
Packit |
b099d7 |
* a Pixel for the runtime conversion of the color.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
Pixel color_pixel ; /* runtime translation */
|
|
Packit |
b099d7 |
MrmType type; /* descriptor reference type,
|
|
Packit |
b099d7 |
either MrmRtypeColor, or
|
|
Packit |
b099d7 |
or MrmRtypeResource if
|
|
Packit |
b099d7 |
coffs locates a resource */
|
|
Packit |
b099d7 |
unsigned long annex1; /* annex allows growth */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
union {
|
|
Packit |
b099d7 |
RGMColorDescPtr cptr ; /* in-memory color descriptor */
|
|
Packit |
b099d7 |
MrmOffset coffs; /* descriptor/resource in record */
|
|
Packit |
b099d7 |
} color_item ; /* pointer or offset */
|
|
Packit |
b099d7 |
} RGMColorTableEntry, *RGMColorTableEntryPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* A color table. This is a vector of color items. Items 0 and 1 are
|
|
Packit |
b099d7 |
* reserved for "background"(0) and "foreground"(1) in all color tables;
|
|
Packit |
b099d7 |
* user-specified colors begin at entry 2. The color count always
|
|
Packit |
b099d7 |
* includes these predefined colors, so the minimum count is 2. No
|
|
Packit |
b099d7 |
* color descriptor is required or used for the predefined entries;
|
|
Packit |
b099d7 |
* only the color_pixel field in the table item is ever used.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Color descriptor offsets are valid only in a widget record. All
|
|
Packit |
b099d7 |
* other instances of a color table, including those which are
|
|
Packit |
b099d7 |
* are parameters to the widget record creation routines, must have
|
|
Packit |
b099d7 |
* valid memory pointers.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMColorTableValid 9424574
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation ; /* URMColorTableValid */
|
|
Packit |
b099d7 |
MrmCount count ; /* # entries in table */
|
|
Packit |
b099d7 |
RGMColorTableEntry item[1] ; /* 1st entry in table */
|
|
Packit |
b099d7 |
} RGMColorTable, *RGMColorTablePtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Predefined entries, first accessible user-defined entry
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMColorTableBG 0
|
|
Packit |
b099d7 |
#define URMColorTableFG 1
|
|
Packit |
b099d7 |
#define URMColorTableUserMin 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Definitions to a support a URM icon; the representation for
|
|
Packit |
b099d7 |
* MrmRtypeIconImage objects.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* A URM icon supports a pixmap of arbitrary size and with, and with support
|
|
Packit |
b099d7 |
* for up to 256 colors including foreground and background. The
|
|
Packit |
b099d7 |
* icon pixels are stored using either 1, 4, or 8 bits, depending on
|
|
Packit |
b099d7 |
* how much information is required to index the icon's color map.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The pixel array is stored in row-major order. Each row begins on a byte
|
|
Packit |
b099d7 |
* boundary no matter what the pixel size is. URM uses the ZPixmap
|
|
Packit |
b099d7 |
* representation for the image data at runtime, and attempts to avoid
|
|
Packit |
b099d7 |
* allocating memory for the pixel array by overwriting the pixel data
|
|
Packit |
b099d7 |
* array with Pixel values if the number of bits per pixel is sufficient.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* The color table design is intended to support eventual creation of
|
|
Packit |
b099d7 |
* color tables as discrete resources, possibly accessible as resource
|
|
Packit |
b099d7 |
* references. Currently, the color table must be allocated and managed
|
|
Packit |
b099d7 |
* as part of the icon image.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Icon image offsets are valid only in a widget record. All
|
|
Packit |
b099d7 |
* other instances of an icon image, including those which are
|
|
Packit |
b099d7 |
* are parameters to the widget record creation routines, must have
|
|
Packit |
b099d7 |
* valid memory pointers.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define URMIconImageValid 160003640
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned validation; /* URMIconImageValid */
|
|
Packit |
b099d7 |
MrmSCode pixel_size ; /* from URMIconPixelSize... */
|
|
Packit |
b099d7 |
MrmCount width; /* # pixels wide */
|
|
Packit |
b099d7 |
MrmCount height; /* # pixels high */
|
|
Packit |
b099d7 |
MrmCount hot_x, hot_y ; /* hot spot location */
|
|
Packit |
b099d7 |
MrmType ct_type; /* MrmRtypeColorTable for
|
|
Packit |
b099d7 |
table in record.
|
|
Packit |
b099d7 |
MrmRtypeResource for
|
|
Packit |
b099d7 |
separate resource ref. */
|
|
Packit |
b099d7 |
unsigned long annex1; /* annex allows growth */
|
|
Packit |
b099d7 |
union {
|
|
Packit |
b099d7 |
RGMColorTablePtr ctptr ; /* in-memory color table */
|
|
Packit |
b099d7 |
MrmOffset ctoff; /* color table or resource
|
|
Packit |
b099d7 |
desc offset in record */
|
|
Packit |
b099d7 |
} color_table ; /* memory/record color table */
|
|
Packit |
b099d7 |
union {
|
|
Packit |
b099d7 |
char *pdptr ; /* pixel data in memory */
|
|
Packit |
b099d7 |
MrmOffset pdoff; /* pixel data record offset */
|
|
Packit |
b099d7 |
} pixel_data ;
|
|
Packit |
b099d7 |
} RGMIconImage, *RGMIconImagePtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Pixel sizes. These are limited and specified with literals.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMPixelSize1Bit 1 /* 1 bit (bitmap) */
|
|
Packit |
b099d7 |
#define URMPixelSize2Bit 2 /* 2 bits */
|
|
Packit |
b099d7 |
#define URMPixelSize4Bit 3 /* 4 bits */
|
|
Packit |
b099d7 |
#define URMPixelSize8Bit 4 /* 8 bits */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Definitions of the data structures used to store units information for
|
|
Packit |
b099d7 |
* dimensional values.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned value; /* the actual integer value */
|
|
Packit |
b099d7 |
unsigned units; /* the units designation of the value. Matches
|
|
Packit |
b099d7 |
the Xm units values in Xm.h */
|
|
Packit |
b099d7 |
} RGMUnitsInteger, *RGMUnitsIntegerPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
unsigned long value[2]; /* the actual floating point value */
|
|
Packit |
b099d7 |
unsigned units; /* the units designation of the value. Matches
|
|
Packit |
b099d7 |
the Xm units values in Xm.h */
|
|
Packit |
b099d7 |
} RGMUnitsFloat, *RGMUnitsFloatPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Definition of the data structure used during widget creation to retain
|
|
Packit |
b099d7 |
* and provide the information required to resolve widget arguments which
|
|
Packit |
b099d7 |
* must be SetValue rather than create. The layout and use of
|
|
Packit |
b099d7 |
* the descriptor depends on the type argument:
|
|
Packit |
b099d7 |
* URMsvWidgetRef - widget resource forward reference. Resolved
|
|
Packit |
b099d7 |
* when the widget is defined, applied when all the
|
|
Packit |
b099d7 |
* widgets in a tree are instantiated.
|
|
Packit |
b099d7 |
* URMsvIconImage - Icon image which is SetValued immediately
|
|
Packit |
b099d7 |
* after the widget create (when foreground/backgound
|
|
Packit |
b099d7 |
* info is available).
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
Widget setw ; /* widget to be modified */
|
|
Packit |
b099d7 |
MrmCode type ; /* from URMsv... */
|
|
Packit |
b099d7 |
MrmCode tagcode ; /* code of argument to be set */
|
|
Packit |
b099d7 |
String tagname ; /* string name of argument. If
|
|
Packit |
b099d7 |
the tag code is UilMrmUnknownCode,
|
|
Packit |
b099d7 |
this must be freed. */
|
|
Packit |
b099d7 |
MrmFlag done ; /* set TRUE when SetValues done */
|
|
Packit |
b099d7 |
union {
|
|
Packit |
b099d7 |
String wname ; /* arg widget index */
|
|
Packit |
b099d7 |
RGMIconImagePtr icon ; /* icon pointer only */
|
|
Packit |
b099d7 |
RGMCallbackDescPtr callbacks; /* callback list */
|
|
Packit |
b099d7 |
} sv ; /* some SetValues descriptor */
|
|
Packit |
b099d7 |
} URMSetValuesDesc, *URMSetValuesDescPtr ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* SetValues descriptor types
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define URMsvWidgetRef 1 /* widget reference */
|
|
Packit |
b099d7 |
#define URMsvIconImage 2 /* icon image */
|
|
Packit |
b099d7 |
#define URMsvCallBackList 3 /* list of callbacks */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The following data structures support resolving references to widgets
|
|
Packit |
b099d7 |
* found during creation of a widget tree. The data structure retains
|
|
Packit |
b099d7 |
* an ordered list of the widget name/id pairs instantiated during
|
|
Packit |
b099d7 |
* tree creation. The data structure is maintained in a resource context
|
|
Packit |
b099d7 |
* which allows for expansion. The top part of the data structure retains
|
|
Packit |
b099d7 |
* fixed-length information, while the bottom part of the buffer is
|
|
Packit |
b099d7 |
* used as a string heap.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Single element in the fixed-length vector
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
Widget w_id; /* widget id */
|
|
Packit |
b099d7 |
MrmOffset w_name_offs; /* name offset in heap */
|
|
Packit |
b099d7 |
} URMWRef, URMWRefPtr;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Header for the structure
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
MrmCount num_refs; /* # entries defined */
|
|
Packit |
b099d7 |
MrmCount heap_size; /* # bytes used in heap */
|
|
Packit |
b099d7 |
URMWRef refs[1]; /* beginning of vector */
|
|
Packit |
b099d7 |
} URMWRefStruct, *URMWRefStructPtr;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* size and access macros
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define UrmWRefHeaderBytes(ref_id) \
|
|
Packit |
b099d7 |
(sizeof(URMWRefStruct)+((ref_id)->num_refs-1)*sizeof(URMWRef))
|
|
Packit |
b099d7 |
#define UrmWRefBytesUsed(ref_id) \
|
|
Packit |
b099d7 |
(UrmWRefHeaderBytes((ref_id))+(ref_id)->heap_size)
|
|
Packit |
b099d7 |
#define UrmWRefIdN(ref_id,ndx) \
|
|
Packit |
b099d7 |
((ref_id)->refs[(ndx)].w_id)
|
|
Packit |
b099d7 |
#define UrmWRefNameN(ref_id,ndx) \
|
|
Packit |
b099d7 |
((String)((String)(ref_id)+(ref_id)->refs[(ndx)].w_name_offs))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Function prototypes for URM routines
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#ifndef _ARGUMENTS
|
|
Packit |
b099d7 |
#define _ARGUMENTS(arglist) arglist
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include "IDB.h" /* needed for prototype definitions */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmcontext.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmGetResourceContext _ARGUMENTS(( char *((*alloc_func )()),
|
|
Packit |
b099d7 |
void (*free_func )(),
|
|
Packit |
b099d7 |
MrmSize size ,
|
|
Packit |
b099d7 |
URMResourceContextPtr *context_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmResizeResourceContext _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
int size ));
|
|
Packit |
b099d7 |
extern Cardinal UrmFreeResourceContext _ARGUMENTS(( URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmerror.c */
|
|
Packit |
b099d7 |
extern Cardinal Urm__UT_Error _ARGUMENTS(( char *module ,
|
|
Packit |
b099d7 |
char *error ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal status ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__UT_SetErrorReport _ARGUMENTS(( MrmCode report_type ));
|
|
Packit |
b099d7 |
extern MrmCode Urm__UT_LatestErrorCode _ARGUMENTS(( void ));
|
|
Packit |
b099d7 |
extern String Urm__UT_LatestErrorMessage _ARGUMENTS(( void ));
|
|
Packit |
b099d7 |
extern String Urm__UT_UrmCodeString _ARGUMENTS(( MrmCode cod ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmhier.c */
|
|
Packit |
b099d7 |
extern Cardinal Urm__OpenHierarchy _ARGUMENTS(( MrmCount num_files ,
|
|
Packit |
b099d7 |
String *name_list ,
|
|
Packit |
b099d7 |
MrmOsOpenParamPtr *os_ext_list ,
|
|
Packit |
b099d7 |
MrmHierarchy *hierarchy_id_return,
|
|
Packit |
b099d7 |
MrmFlag in_memory,
|
|
Packit |
b099d7 |
unsigned char *uid_buffer));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CloseHierarchy _ARGUMENTS(( MrmHierarchy hierarchy_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmHGetIndexedResource _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
MrmGroup group_filter ,
|
|
Packit |
b099d7 |
MrmType type_filter ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
IDBFile *file_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__RegisterNamesInHierarchy _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
String *names ,
|
|
Packit |
b099d7 |
XtPointer *values ,
|
|
Packit |
b099d7 |
MrmCount num_cb ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__LookupNameInHierarchy _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
String name ,
|
|
Packit |
b099d7 |
XtPointer *value_return ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmibuffer.c */
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_InitBufferVector _ARGUMENTS(( void ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_GetBuffer _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_MarkActivity _ARGUMENTS(( IDBRecordBufferPtr buffer ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_MarkModified _ARGUMENTS(( IDBRecordBufferPtr buffer ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_GetRecord _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordNumber record ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_InitRecord _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordNumber record ,
|
|
Packit |
b099d7 |
MrmType type ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_InitDataRecord _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_Decommit _ARGUMENTS(( IDBRecordBufferPtr buffer ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_DecommitAll _ARGUMENTS(( IDBFile file_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmicon.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmCreatePixmap _ARGUMENTS(( RGMIconImagePtr icon ,
|
|
Packit |
b099d7 |
Screen *screen ,
|
|
Packit |
b099d7 |
Display *display ,
|
|
Packit |
b099d7 |
Pixel fgpix ,
|
|
Packit |
b099d7 |
Pixel bgpix ,
|
|
Packit |
b099d7 |
Pixel *pixmap ,
|
|
Packit |
b099d7 |
Widget parent ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCreateBitmap _ARGUMENTS(( RGMIconImagePtr icon ,
|
|
Packit |
b099d7 |
Screen *screen ,
|
|
Packit |
b099d7 |
Display *display ,
|
|
Packit |
b099d7 |
Pixel *pixmap ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_ReadBitmapFile _ARGUMENTS(( String filename ,
|
|
Packit |
b099d7 |
Screen *screen ,
|
|
Packit |
b099d7 |
Pixel fgint ,
|
|
Packit |
b099d7 |
Pixel bgint ,
|
|
Packit |
b099d7 |
Pixmap *pixmap ,
|
|
Packit |
b099d7 |
Widget parent ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__MapIconBitmap _ARGUMENTS(( RGMIconImagePtr icon ,
|
|
Packit |
b099d7 |
int srcpix ,
|
|
Packit |
b099d7 |
RGMColorTablePtr ctable ,
|
|
Packit |
b099d7 |
Screen *screen ,
|
|
Packit |
b099d7 |
Display *display ,
|
|
Packit |
b099d7 |
Pixmap *pixmap ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__MapIconBitmapDepth1 _ARGUMENTS(( RGMIconImagePtr icon ,
|
|
Packit |
b099d7 |
int srcpix ,
|
|
Packit |
b099d7 |
Screen *screen ,
|
|
Packit |
b099d7 |
Display *display ,
|
|
Packit |
b099d7 |
Pixmap *pixmap ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__MapIconReplace _ARGUMENTS(( RGMIconImagePtr icon ,
|
|
Packit |
b099d7 |
int srcpix ,
|
|
Packit |
b099d7 |
RGMColorTablePtr ctable ,
|
|
Packit |
b099d7 |
Screen *screen ,
|
|
Packit |
b099d7 |
Display *display ,
|
|
Packit |
b099d7 |
Pixmap *pixmap ,
|
|
Packit |
b099d7 |
Widget parent ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__MapIconAllocate _ARGUMENTS(( RGMIconImagePtr icon ,
|
|
Packit |
b099d7 |
int srcpix ,
|
|
Packit |
b099d7 |
int dstpix ,
|
|
Packit |
b099d7 |
RGMColorTablePtr ctable ,
|
|
Packit |
b099d7 |
Screen *screen ,
|
|
Packit |
b099d7 |
Display *display ,
|
|
Packit |
b099d7 |
Pixmap *pixmap ,
|
|
Packit |
b099d7 |
Widget parent ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__RealizeColorTable _ARGUMENTS(( Screen *screen ,
|
|
Packit |
b099d7 |
Display *display ,
|
|
Packit |
b099d7 |
Pixel fgpix ,
|
|
Packit |
b099d7 |
Pixel bgpix ,
|
|
Packit |
b099d7 |
RGMColorTablePtr ctable ,
|
|
Packit |
b099d7 |
Widget parent ));
|
|
Packit |
b099d7 |
extern RGMIconImagePtr UrmCopyAllocatedIconImage _ARGUMENTS(( RGMIconImagePtr dst_icon ,
|
|
Packit |
b099d7 |
RGMIconImagePtr src_icon ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__UT_GetNamedColorPixel _ARGUMENTS(( Display *display ,
|
|
Packit |
b099d7 |
Colormap cmap ,
|
|
Packit |
b099d7 |
RGMColorDescPtr colorptr ,
|
|
Packit |
b099d7 |
Pixel *pixel_return ,
|
|
Packit |
b099d7 |
Pixel fallback));
|
|
Packit |
b099d7 |
extern Cardinal Urm__UT_GetColorPixel _ARGUMENTS(( Display *display ,
|
|
Packit |
b099d7 |
Colormap cmap ,
|
|
Packit |
b099d7 |
RGMColorDescPtr colorptr ,
|
|
Packit |
b099d7 |
Pixel *pixel_return,
|
|
Packit |
b099d7 |
Pixel fallback));
|
|
Packit |
b099d7 |
extern Cardinal UrmIconImageSize _ARGUMENTS(( RGMIconImagePtr icon ));
|
|
Packit |
b099d7 |
extern Cardinal UrmColorTableSize _ARGUMENTS(( RGMColorTablePtr ctable ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmientry.c */
|
|
Packit |
b099d7 |
extern Cardinal Idb__DB_GetDataEntry _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__DB_PutDataEntry _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
IDBDataHandle *data_entry ));
|
|
Packit |
b099d7 |
extern Boolean Idb__DB_MatchFilter _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ,
|
|
Packit |
b099d7 |
MrmCode group_filter ,
|
|
Packit |
b099d7 |
MrmCode type_filter ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmifile.c */
|
|
Packit |
b099d7 |
extern Cardinal Idb__FU_OpenFile _ARGUMENTS(( char *name ,
|
|
Packit |
b099d7 |
MrmCode access ,
|
|
Packit |
b099d7 |
MrmOsOpenParamPtr os_ext ,
|
|
Packit |
b099d7 |
IDBLowLevelFilePtr *file_id ,
|
|
Packit |
b099d7 |
char *returned_fname ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__FU_PutBlock _ARGUMENTS((IDBLowLevelFile *file_id,
|
|
Packit |
b099d7 |
IDBRecordNumber block_num,
|
|
Packit |
b099d7 |
char *buffer)) ;
|
|
Packit |
b099d7 |
extern Cardinal Idb__FU_CloseFile _ARGUMENTS((IDBLowLevelFile *file_id,
|
|
Packit |
b099d7 |
int del)) ;
|
|
Packit |
b099d7 |
extern Cardinal Idb__FU_GetBlock _ARGUMENTS(( IDBLowLevelFile *file_id ,
|
|
Packit |
b099d7 |
IDBRecordNumber block_num ,
|
|
Packit |
b099d7 |
char *buffer ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmiheader.c */
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_GetHeader _ARGUMENTS(( IDBFile file_id ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_InitHeader _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String creator ,
|
|
Packit |
b099d7 |
String creator_version ,
|
|
Packit |
b099d7 |
String module ,
|
|
Packit |
b099d7 |
String module_version ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_PutHeader _ARGUMENTS(( IDBFile file_id ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_UpdateHeader _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_EnterItem _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBResource resource_id ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_ReturnItem _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBResource resource_id ,
|
|
Packit |
b099d7 |
Boolean signal_null ,
|
|
Packit |
b099d7 |
IDBDataHandle *entry_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_NextRID _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBResource *res_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_GetDataEntry _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__HDR_PutDataEntry _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
IDBDataHandle *data_entry ));
|
|
Packit |
b099d7 |
extern Boolean Idb__HDR_MatchFilter _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ,
|
|
Packit |
b099d7 |
MrmCode group_filter ,
|
|
Packit |
b099d7 |
MrmCode type_filter ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmiindex.c */
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_ReturnItem _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
char *index ,
|
|
Packit |
b099d7 |
IDBDataHandle *data_entry ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_FindIndex _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
char *index ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer_return ,
|
|
Packit |
b099d7 |
MrmCount *index_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_SearchIndex _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
char *index ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr buffer ,
|
|
Packit |
b099d7 |
MrmCount *index_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_GetBtreeRecord _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer_return ,
|
|
Packit |
b099d7 |
MrmCount entry_index ,
|
|
Packit |
b099d7 |
Cardinal order ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_FindResources _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordNumber recno ,
|
|
Packit |
b099d7 |
MrmGroup group_filter ,
|
|
Packit |
b099d7 |
MrmType type_filter ,
|
|
Packit |
b099d7 |
URMPointerListPtr index_list ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmiindexw.c */
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_EnterItem _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
char *index ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_EnterLeafIndex _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr buffer ,
|
|
Packit |
b099d7 |
char *index ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ,
|
|
Packit |
b099d7 |
MrmCount entry_index ,
|
|
Packit |
b099d7 |
Cardinal order ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_EnterNodeIndex _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr buffer ,
|
|
Packit |
b099d7 |
char *index ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ,
|
|
Packit |
b099d7 |
IDBRecordNumber lt_record ,
|
|
Packit |
b099d7 |
IDBRecordNumber gt_record ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_SplitLeafRecord _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr gt_buffer ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_SplitNodeRecord _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr gt_buffer ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_InitRootLeafRecord _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_InitRootNodeRecord _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr *buffer_return ,
|
|
Packit |
b099d7 |
char *index ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ,
|
|
Packit |
b099d7 |
IDBRecordNumber lt_record ,
|
|
Packit |
b099d7 |
IDBRecordNumber gt_record ));
|
|
Packit |
b099d7 |
extern void Idb__INX_CopyLeafRecord _ARGUMENTS(( IDBIndexLeafRecordPtr dst_recptr ,
|
|
Packit |
b099d7 |
IDBIndexLeafRecordPtr src_recptr ));
|
|
Packit |
b099d7 |
extern void Idb__INX_CopyNodeRecord _ARGUMENTS(( IDBIndexNodeRecordPtr dst_recptr ,
|
|
Packit |
b099d7 |
IDBIndexNodeRecordPtr src_recptr ));
|
|
Packit |
b099d7 |
extern void Idb__INX_CollapseLeafRecord _ARGUMENTS(( IDBIndexLeafRecordPtr recptr ,
|
|
Packit |
b099d7 |
MrmCount start ,
|
|
Packit |
b099d7 |
MrmCount end ));
|
|
Packit |
b099d7 |
extern void Idb__INX_CollapseNodeRecord _ARGUMENTS(( IDBIndexNodeRecordPtr recptr ,
|
|
Packit |
b099d7 |
MrmCount start ,
|
|
Packit |
b099d7 |
MrmCount end ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_ConfirmNodeSpace _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordBufferPtr buffer ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_SetParent _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordNumber parent_record ,
|
|
Packit |
b099d7 |
IDBRecordNumber child_record ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__INX_FixNodeChildren _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBRecordNumber p_record ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmirid.c */
|
|
Packit |
b099d7 |
extern Cardinal Idb__RID_EnterItem _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBResource resource_id ,
|
|
Packit |
b099d7 |
IDBDataHandle data_entry ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__RID_ReturnItem _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBResource resource_id ,
|
|
Packit |
b099d7 |
Boolean signal_null ,
|
|
Packit |
b099d7 |
IDBDataHandle *entry_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__RID_NextRID _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
IDBResource *res_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__RID_AddRecord _ARGUMENTS(( IDBFile file_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmitop.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbOpenFileRead _ARGUMENTS(( String name ,
|
|
Packit |
b099d7 |
MrmOsOpenParamPtr os_ext ,
|
|
Packit |
b099d7 |
IDBFile *file_id_return ,
|
|
Packit |
b099d7 |
char *fname_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbOpenBuffer _ARGUMENTS(( unsigned char *uid_buffer ,
|
|
Packit |
b099d7 |
IDBFile *file_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbCloseFile _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
Boolean keep_new_file ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbGetIndexedResource _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
MrmGroup group_filter ,
|
|
Packit |
b099d7 |
MrmType type_filter ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbFindIndexedResource _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
MrmGroup group_filter ,
|
|
Packit |
b099d7 |
MrmType type_filter ,
|
|
Packit |
b099d7 |
URMPointerListPtr index_list ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbGetRIDResource _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ,
|
|
Packit |
b099d7 |
MrmGroup group_filter ,
|
|
Packit |
b099d7 |
MrmType type_filter ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbGetResourceId _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
MrmResource_id *resource_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal Idb__FIL_Valid _ARGUMENTS(( IDBFile file_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmitopw.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbOpenFileWrite _ARGUMENTS(( String name ,
|
|
Packit |
b099d7 |
MrmOsOpenParamPtr os_ext ,
|
|
Packit |
b099d7 |
String creator ,
|
|
Packit |
b099d7 |
String creator_version ,
|
|
Packit |
b099d7 |
String module ,
|
|
Packit |
b099d7 |
String module_version ,
|
|
Packit |
b099d7 |
IDBFile *file_id_return ,
|
|
Packit |
b099d7 |
char *fname_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbPutIndexedResource _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIdbPutRIDResource _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmlread.c */
|
|
Packit |
b099d7 |
extern Cardinal Urm__FetchLiteral _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
URMPointerListPtr *ctxlist ));
|
|
Packit |
b099d7 |
extern Cardinal UrmGetIndexedLiteral _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmGetRIDLiteral _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__HGetIndexedLiteral _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
IDBFile *file_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmHGetIndexedLiteral _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmlwrite.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmPutIndexedLiteral _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmPutRIDLiteral _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmmodule.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmIFMInitModule _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
MrmCount num_widget ,
|
|
Packit |
b099d7 |
MrmCode access ,
|
|
Packit |
b099d7 |
MrmCode lock ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIFMSetTopmost _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal topmost_ndx ,
|
|
Packit |
b099d7 |
String index ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIFMPutModule _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIFMHGetModule _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
IDBFile *file_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmIFMGetModule _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmptrlist.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmPlistInit _ARGUMENTS(( int size ,
|
|
Packit |
b099d7 |
URMPointerListPtr *list_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmPlistResize _ARGUMENTS(( URMPointerListPtr list_id ,
|
|
Packit |
b099d7 |
int size ));
|
|
Packit |
b099d7 |
extern Cardinal UrmPlistFree _ARGUMENTS(( URMPointerListPtr list_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmPlistFreeContents _ARGUMENTS(( URMPointerListPtr list_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmPlistAppendPointer _ARGUMENTS(( URMPointerListPtr list_id ,
|
|
Packit |
b099d7 |
XtPointer ptr ));
|
|
Packit |
b099d7 |
extern Cardinal UrmPlistAppendString _ARGUMENTS(( URMPointerListPtr list_id ,
|
|
Packit |
b099d7 |
String stg ));
|
|
Packit |
b099d7 |
extern MrmCount UrmPlistFindString _ARGUMENTS(( URMPointerListPtr list_id ,
|
|
Packit |
b099d7 |
String stg ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmtable.c */
|
|
Packit |
b099d7 |
extern Cardinal Urm__FixupCompressionTable _ARGUMENTS(( UidCompressionTablePtr ctable ,
|
|
Packit |
b099d7 |
Boolean qfindcldesc, Boolean byte_swapped ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__FindClassDescriptor _ARGUMENTS(( IDBFile cfile ,
|
|
Packit |
b099d7 |
MrmCode code ,
|
|
Packit |
b099d7 |
char *name ,
|
|
Packit |
b099d7 |
WCIClassDescPtr *class_return ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__UncompressCode _ARGUMENTS(( IDBFile cfile ,
|
|
Packit |
b099d7 |
MrmCode code ,
|
|
Packit |
b099d7 |
String *stg_return ));
|
|
Packit |
b099d7 |
extern Boolean Urm__IsSubtreeResource _ARGUMENTS(( IDBFile cfile ,
|
|
Packit |
b099d7 |
MrmCode code ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmtime.c */
|
|
Packit |
b099d7 |
extern void Urm__UT_Time _ARGUMENTS(( char *time_stg ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmvm.c */
|
|
Packit |
b099d7 |
extern String Urm__UT_AllocString _ARGUMENTS(( String stg ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmwci.c */
|
|
Packit |
b099d7 |
extern Cardinal Urm__WCI_RegisterNames _ARGUMENTS(( String *names ,
|
|
Packit |
b099d7 |
XtPointer *values ,
|
|
Packit |
b099d7 |
MrmCount num_cb ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__WCI_UnregisterName _ARGUMENTS(( String name ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__WCI_LookupClassDescriptor _ARGUMENTS(( String class_name ,
|
|
Packit |
b099d7 |
WCIClassDescPtr *class_return ));
|
|
Packit |
b099d7 |
extern WidgetClass Urm__WCI_GetClRecOfName _ARGUMENTS(( String clname ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__WCI_LookupRegisteredName _ARGUMENTS(( String name ,
|
|
Packit |
b099d7 |
XtPointer *value_return ));
|
|
Packit |
b099d7 |
extern void hash_initialize _ARGUMENTS(( URMHashTableEntryPtr *htable ,
|
|
Packit |
b099d7 |
Boolean *initflag ));
|
|
Packit |
b099d7 |
extern URMHashTableEntryPtr hash_find_name _ARGUMENTS(( URMHashTableEntryPtr *htable ,
|
|
Packit |
b099d7 |
char *c_text ));
|
|
Packit |
b099d7 |
extern URMHashTableEntryPtr hash_insert_name _ARGUMENTS(( URMHashTableEntryPtr *htable ,
|
|
Packit |
b099d7 |
char *c_text ));
|
|
Packit |
b099d7 |
extern URMHashTableEntryPtr hash_delete_name _ARGUMENTS(( URMHashTableEntryPtr *htable ,
|
|
Packit |
b099d7 |
char *c_text ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmwcrw.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmCreateWidgetTree
|
|
Packit |
b099d7 |
_ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Widget parent ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
String ov_name ,
|
|
Packit |
b099d7 |
ArgList ov_args ,
|
|
Packit |
b099d7 |
Cardinal ov_num_args ,
|
|
Packit |
b099d7 |
MrmCode keytype ,
|
|
Packit |
b099d7 |
String kindex ,
|
|
Packit |
b099d7 |
MrmResource_id krid ,
|
|
Packit |
b099d7 |
MrmManageFlag manage ,
|
|
Packit |
b099d7 |
URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
URMResourceContextPtr wref_id ,
|
|
Packit |
b099d7 |
Widget *w_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCreateWidgetInstance
|
|
Packit |
b099d7 |
_ARGUMENTS((URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Widget parent ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
String ov_name ,
|
|
Packit |
b099d7 |
ArgList ov_args ,
|
|
Packit |
b099d7 |
Cardinal ov_num_args ,
|
|
Packit |
b099d7 |
MrmCode keytype ,
|
|
Packit |
b099d7 |
String kindex ,
|
|
Packit |
b099d7 |
MrmResource_id krid ,
|
|
Packit |
b099d7 |
MrmManageFlag manage,
|
|
Packit |
b099d7 |
URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
URMResourceContextPtr wref_id ,
|
|
Packit |
b099d7 |
Widget *w_return,
|
|
Packit |
b099d7 |
char **w_name));
|
|
Packit |
b099d7 |
extern Cardinal UrmCreateOrSetWidgetInstance
|
|
Packit |
b099d7 |
_ARGUMENTS((URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Widget parent ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
String ov_name ,
|
|
Packit |
b099d7 |
ArgList ov_args ,
|
|
Packit |
b099d7 |
Cardinal ov_num_args ,
|
|
Packit |
b099d7 |
MrmCode keytype ,
|
|
Packit |
b099d7 |
String kindex ,
|
|
Packit |
b099d7 |
MrmResource_id krid ,
|
|
Packit |
b099d7 |
MrmManageFlag manage ,
|
|
Packit |
b099d7 |
URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
URMResourceContextPtr wref_id ,
|
|
Packit |
b099d7 |
Widget *w_return,
|
|
Packit |
b099d7 |
char **w_name));
|
|
Packit |
b099d7 |
extern Cardinal UrmSetWidgetInstance
|
|
Packit |
b099d7 |
_ARGUMENTS((URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Widget parent ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
ArgList ov_args ,
|
|
Packit |
b099d7 |
Cardinal ov_num_args ,
|
|
Packit |
b099d7 |
MrmCode keytype ,
|
|
Packit |
b099d7 |
String kindex ,
|
|
Packit |
b099d7 |
MrmResource_id krid ,
|
|
Packit |
b099d7 |
MrmManageFlag manage ,
|
|
Packit |
b099d7 |
URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
URMResourceContextPtr wref_id ,
|
|
Packit |
b099d7 |
Widget *w_return ));
|
|
Packit |
b099d7 |
extern void Urm__CW_CreateArglist _ARGUMENTS(( Widget parent ,
|
|
Packit |
b099d7 |
RGMWidgetRecordPtr widgetrec ,
|
|
Packit |
b099d7 |
RGMArgListDescPtr argdesc ,
|
|
Packit |
b099d7 |
URMPointerListPtr ctxlist ,
|
|
Packit |
b099d7 |
URMPointerListPtr cblist,
|
|
Packit |
b099d7 |
URMPointerListPtr ftllist ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
ArgList args ,
|
|
Packit |
b099d7 |
URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
URMResourceContextPtr wref_id ,
|
|
Packit |
b099d7 |
Cardinal *num_used ));
|
|
Packit |
b099d7 |
extern long Urm__CW_EvaluateValOrOffset _ARGUMENTS(( MrmType reptype ,
|
|
Packit |
b099d7 |
XtPointer bufptr ,
|
|
Packit |
b099d7 |
long ival ,
|
|
Packit |
b099d7 |
MrmOffset offset ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_FixupValue _ARGUMENTS(( long val ,
|
|
Packit |
b099d7 |
MrmType reptype ,
|
|
Packit |
b099d7 |
XtPointer bufptr ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
Boolean *swap_needed));
|
|
Packit |
b099d7 |
extern String Urm__CW_DisplayToString _ARGUMENTS(( char *val ,
|
|
Packit |
b099d7 |
String add_string ,
|
|
Packit |
b099d7 |
int add_string_size ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_ConvertValue _ARGUMENTS(( Widget parent,
|
|
Packit |
b099d7 |
long *val ,
|
|
Packit |
b099d7 |
MrmType reptype ,
|
|
Packit |
b099d7 |
MrmType cvttype ,
|
|
Packit |
b099d7 |
Display *display ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
URMPointerListPtr ftllist ));
|
|
Packit |
b099d7 |
extern void Urm__CW_SafeCopyValue _ARGUMENTS(( long *val ,
|
|
Packit |
b099d7 |
MrmType reptype ,
|
|
Packit |
b099d7 |
URMPointerListPtr cblist,
|
|
Packit |
b099d7 |
int vec_count ,
|
|
Packit |
b099d7 |
int vec_size ));
|
|
Packit |
b099d7 |
extern void UrmDestroyCallback _ARGUMENTS((Widget w ,
|
|
Packit |
b099d7 |
URMPointerListPtr list_id ,
|
|
Packit |
b099d7 |
XmAnyCallbackStruct *reason));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_ReadLiteral _ARGUMENTS(( RGMResourceDescPtr resptr ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
URMPointerListPtr ctxlist ,
|
|
Packit |
b099d7 |
MrmType *type ,
|
|
Packit |
b099d7 |
long *val ,
|
|
Packit |
b099d7 |
int *vec_count ,
|
|
Packit |
b099d7 |
IDBFile *act_file_id ,
|
|
Packit |
b099d7 |
int *vec_size ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_LoadIconImage _ARGUMENTS(( RGMIconImagePtr iconptr ,
|
|
Packit |
b099d7 |
XtPointer bufptr ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
URMPointerListPtr ctxlist ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_FixupCallback _ARGUMENTS(( Widget parent ,
|
|
Packit |
b099d7 |
XtPointer bufptr ,
|
|
Packit |
b099d7 |
RGMCallbackDescPtr cbdesc ,
|
|
Packit |
b099d7 |
URMPointerListPtr ctxlist ,
|
|
Packit |
b099d7 |
URMPointerListPtr cblist ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr wref_id));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_LoadWidgetResource _ARGUMENTS(( Widget parent ,
|
|
Packit |
b099d7 |
RGMWidgetRecordPtr widgetrec ,
|
|
Packit |
b099d7 |
RGMResourceDescPtr resptr ,
|
|
Packit |
b099d7 |
URMPointerListPtr ctxlist ,
|
|
Packit |
b099d7 |
MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
IDBFile file_id ,
|
|
Packit |
b099d7 |
URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
URMResourceContextPtr wref_id ,
|
|
Packit |
b099d7 |
long *val ));
|
|
Packit |
b099d7 |
extern void Urm__CW_GetPixmapParms _ARGUMENTS(( Widget w ,
|
|
Packit |
b099d7 |
Screen **screen ,
|
|
Packit |
b099d7 |
Display **display ,
|
|
Packit |
b099d7 |
Pixel *fgint ,
|
|
Packit |
b099d7 |
Pixel *bgint ));
|
|
Packit |
b099d7 |
extern RGMCallbackDescPtr
|
|
Packit |
b099d7 |
Urm__CW_TranslateOldCallback _ARGUMENTS(( OldRGMCallbackDescPtr oldptr));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmwcrwr.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRInit _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
String name ,
|
|
Packit |
b099d7 |
MrmCode access ,
|
|
Packit |
b099d7 |
MrmCode lock ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetClass _ARGUMENTS(( URMResourceContextPtr context_id,
|
|
Packit |
b099d7 |
MrmCode type,
|
|
Packit |
b099d7 |
String urm_class,
|
|
Packit |
b099d7 |
unsigned long variety ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRInitArglist _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal nargs ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetCompressedArgTag _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal arg_ndx ,
|
|
Packit |
b099d7 |
MrmCode tag ,
|
|
Packit |
b099d7 |
MrmCode related_tag ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetUncompressedArgTag _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal arg_ndx ,
|
|
Packit |
b099d7 |
String tag ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetArgValue _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal arg_ndx ,
|
|
Packit |
b099d7 |
MrmCode type ,
|
|
Packit |
b099d7 |
unsigned long arg_val ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetArgResourceRef _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal arg_ndx ,
|
|
Packit |
b099d7 |
MrmCode access ,
|
|
Packit |
b099d7 |
MrmGroup group ,
|
|
Packit |
b099d7 |
MrmCode type ,
|
|
Packit |
b099d7 |
MrmCode key_type ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetArgChar8Vec _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal arg_ndx ,
|
|
Packit |
b099d7 |
String *stg_vec ,
|
|
Packit |
b099d7 |
MrmCount num_stg ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetArgCStringVec _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal arg_ndx ,
|
|
Packit |
b099d7 |
XmString *cstg_vec ,
|
|
Packit |
b099d7 |
MrmCount num_cstg ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetArgCallback _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal arg_ndx ,
|
|
Packit |
b099d7 |
Cardinal nitems ,
|
|
Packit |
b099d7 |
MrmOffset *cb_offs_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetCallbackItem _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
MrmOffset cb_offs ,
|
|
Packit |
b099d7 |
Cardinal item_ndx ,
|
|
Packit |
b099d7 |
String routine ,
|
|
Packit |
b099d7 |
MrmCode type ,
|
|
Packit |
b099d7 |
unsigned long itm_val ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetCallbackItemRes _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
MrmOffset cb_offs ,
|
|
Packit |
b099d7 |
Cardinal item_ndx ,
|
|
Packit |
b099d7 |
String routine ,
|
|
Packit |
b099d7 |
MrmGroup group ,
|
|
Packit |
b099d7 |
MrmCode access ,
|
|
Packit |
b099d7 |
MrmCode type ,
|
|
Packit |
b099d7 |
MrmCode key_type ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetExtraArgs _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal nextra ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRInitChildren _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal nchildren ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetChild _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal child_ndx ,
|
|
Packit |
b099d7 |
Boolean manage ,
|
|
Packit |
b099d7 |
MrmCode access ,
|
|
Packit |
b099d7 |
MrmCode key_type ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetComment _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
String comment ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWRSetCreationCallback _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
Cardinal nitems ,
|
|
Packit |
b099d7 |
MrmOffset *cb_offs_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWR__AppendString _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
String stg ,
|
|
Packit |
b099d7 |
MrmOffset *offset ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWR__AppendCString _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
XmString cstg ,
|
|
Packit |
b099d7 |
MrmOffset *offset ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWR__AppendWcharString
|
|
Packit |
b099d7 |
_ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
wchar_t *wcs ,
|
|
Packit |
b099d7 |
MrmOffset *offset ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWR__GuaranteeSpace _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
MrmSize delta ,
|
|
Packit |
b099d7 |
MrmOffset *offset ,
|
|
Packit |
b099d7 |
char **addr ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWR__AppendResource _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
MrmCode access ,
|
|
Packit |
b099d7 |
MrmCode group ,
|
|
Packit |
b099d7 |
MrmCode type ,
|
|
Packit |
b099d7 |
MrmCode key_type ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ,
|
|
Packit |
b099d7 |
MrmOffset *offset ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWR__ValidateContext _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
String routine));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWR__BindArgPtrs _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
String routine ,
|
|
Packit |
b099d7 |
Cardinal argndx ,
|
|
Packit |
b099d7 |
RGMArgListDescPtr *descptr ,
|
|
Packit |
b099d7 |
RGMArgumentPtr *argptr ));
|
|
Packit |
b099d7 |
extern Cardinal UrmCWR__BindCallbackPtrs _ARGUMENTS(( URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
String routine ,
|
|
Packit |
b099d7 |
MrmOffset descoffs ,
|
|
Packit |
b099d7 |
Cardinal itemndx ,
|
|
Packit |
b099d7 |
RGMCallbackDescPtr *descptr ,
|
|
Packit |
b099d7 |
RGMCallbackItemPtr *itmptr ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmwread.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmHGetWidget _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ,
|
|
Packit |
b099d7 |
IDBFile *file_id_return ));
|
|
Packit |
b099d7 |
extern Cardinal UrmGetIndexedWidget _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmGetRIDWidget _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmwrefs.c */
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_InitWRef _ARGUMENTS(( URMResourceContextPtr *wref_id ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_AddWRef _ARGUMENTS(( URMResourceContextPtr wref_id ,
|
|
Packit |
b099d7 |
String w_name ,
|
|
Packit |
b099d7 |
Widget w_id ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__CW_FindWRef _ARGUMENTS(( URMResourceContextPtr wref_id ,
|
|
Packit |
b099d7 |
String w_name ,
|
|
Packit |
b099d7 |
Widget *w_id_return ));
|
|
Packit |
b099d7 |
extern void Urm__CW_AppendSVWidgetRef _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
String w_name ,
|
|
Packit |
b099d7 |
MrmCode argtag ,
|
|
Packit |
b099d7 |
String argname ));
|
|
Packit |
b099d7 |
extern void Urm__CW_AppendCBSVWidgetRef _ARGUMENTS((IDBFile file_id,
|
|
Packit |
b099d7 |
URMPointerListPtr *svlist,
|
|
Packit |
b099d7 |
RGMCallbackDescPtr cbptr,
|
|
Packit |
b099d7 |
MrmCode argtag,
|
|
Packit |
b099d7 |
String argname));
|
|
Packit |
b099d7 |
extern void Urm__CW_UpdateSVWidgetRef _ARGUMENTS(( URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
Widget cur_id ));
|
|
Packit |
b099d7 |
extern void Urm__CW_ResolveSVWidgetRef _ARGUMENTS(( URMPointerListPtr *svlist ,
|
|
Packit |
b099d7 |
String cur_name ,
|
|
Packit |
b099d7 |
Widget cur_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern void Urm__CW_FreeSetValuesDesc _ARGUMENTS((URMSetValuesDescPtr svdesc));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmwvalues.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmFetchSetValues _ARGUMENTS(( MrmHierarchy hierarchy_id ,
|
|
Packit |
b099d7 |
Widget w ,
|
|
Packit |
b099d7 |
ArgList args ,
|
|
Packit |
b099d7 |
Cardinal num_args ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmwwrite.c */
|
|
Packit |
b099d7 |
extern Cardinal UrmPutIndexedWidget _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
String index ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
extern Cardinal UrmPutRIDWidget _ARGUMENTS(( IDBFile file_id ,
|
|
Packit |
b099d7 |
MrmResource_id resource_id ,
|
|
Packit |
b099d7 |
URMResourceContextPtr context_id ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mrmiswap.c */
|
|
Packit |
b099d7 |
extern Cardinal Idb__BM_SwapRecordBytes _ARGUMENTS(( IDBRecordBufferPtr buffer ));
|
|
Packit |
b099d7 |
extern unsigned Urm__SwapValidation _ARGUMENTS(( unsigned validation ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__SwapRGMResourceDesc _ARGUMENTS(( RGMResourceDescPtr res_desc ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__SwapRGMCallbackDesc _ARGUMENTS(( RGMCallbackDescPtr callb_desc,
|
|
Packit |
b099d7 |
RGMWidgetRecordPtr widget_rec ));
|
|
Packit |
b099d7 |
extern Cardinal Urm__SwapRGMWidgetRecord _ARGUMENTS(( RGMWidgetRecordPtr widget_rec ));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* string copy macro
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* If the alignment characteristics of your machine are right, these may be
|
|
Packit |
b099d7 |
faster */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef UNALIGNED
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define UrmBCopy(src, dst, size) \
|
|
Packit |
b099d7 |
if (size == sizeof(long)) \
|
|
Packit |
b099d7 |
*((long *) (dst)) = *((long *) (src)); \
|
|
Packit |
b099d7 |
else if (size == sizeof(int)) \
|
|
Packit |
b099d7 |
*((int *) (dst)) = *((int *) (src)); \
|
|
Packit |
b099d7 |
else if (size == sizeof(short)) \
|
|
Packit |
b099d7 |
*((short *) (dst)) = *((short *) (src)); \
|
|
Packit |
b099d7 |
else if (size == sizeof(char)) \
|
|
Packit |
b099d7 |
*((char *) (dst)) = *((char *) (src)); \
|
|
Packit |
b099d7 |
else \
|
|
Packit |
b099d7 |
memmove((char *) (dst), (char *) (src), (int) (size));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define UrmBCopy(src, dst, size) \
|
|
Packit |
b099d7 |
memmove((char *) (dst), (char *) (src), (int) (size));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* UNALIGNED */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******** Conditionally defined macros for thread_safe DtTerm ******/
|
|
Packit |
b099d7 |
#ifdef XTHREADS
|
|
Packit |
b099d7 |
#define _MrmWidgetToAppContext(w) \
|
|
Packit |
b099d7 |
XtAppContext app = XtWidgetToApplicationContext(w)
|
|
Packit |
b099d7 |
#define _MrmDisplayToAppContext(d) \
|
|
Packit |
b099d7 |
XtAppContext app = XtDisplayToApplicationContext(d)
|
|
Packit |
b099d7 |
#define _MrmAppLock(app) XtAppLock(app)
|
|
Packit |
b099d7 |
#define _MrmAppUnlock(app) XtAppUnlock(app)
|
|
Packit |
b099d7 |
#define _MrmProcessLock() XtProcessLock()
|
|
Packit |
b099d7 |
#define _MrmProcessUnlock() XtProcessUnlock()
|
|
Packit |
b099d7 |
#else /* XTHREADS */
|
|
Packit |
b099d7 |
#define _MrmWidgetToAppContext(w)
|
|
Packit |
b099d7 |
#define _MrmDisplayToAppContext(d)
|
|
Packit |
b099d7 |
#define _MrmAppLock(app)
|
|
Packit |
b099d7 |
#define _MrmAppUnlock(app)
|
|
Packit |
b099d7 |
#define _MrmProcessLock()
|
|
Packit |
b099d7 |
#define _MrmProcessUnlock()
|
|
Packit |
b099d7 |
#endif /* XTHREADS */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* Mrm_H */
|
|
Packit |
b099d7 |
/* DON'T ADD STUFF AFTER THIS #endif */
|