Blame lib/Mrm/MrmPublic.h

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
/*   $XConsortium: MrmPublic.h /main/10 1995/07/14 10:39:55 drk $ */
Packit b099d7
Packit b099d7
/*
Packit b099d7
*  (c) Copyright 1989, 1990, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
Packit b099d7
Packit b099d7
#ifndef MrmPublic
Packit b099d7
#define MrmPublic
Packit b099d7
Packit b099d7
#include <X11/Intrinsic.h>
Packit b099d7
#include <X11/Xmd.h>
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Success or other non-error return codes
Packit b099d7
 */
Packit b099d7
#define	MrmSUCCESS	1
Packit b099d7
#define MrmCREATE_NEW	3
Packit b099d7
#define	MrmINDEX_RETRY	5	/* Retry on entering index required */
Packit b099d7
#define	MrmINDEX_GT	7	/* Index orders greater-than entry */
Packit b099d7
#define	MrmINDEX_LT	9	/* Index orders less-than entry */
Packit b099d7
#define MrmPARTIAL_SUCCESS	11	/* operation partly succeeded */
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Failure return codes
Packit b099d7
 */
Packit b099d7
#define	MrmFAILURE	0
Packit b099d7
#define	MrmNOT_FOUND	2
Packit b099d7
#define	MrmEXISTS	4
Packit b099d7
#define	MrmNUL_GROUP	6
Packit b099d7
#define	MrmNUL_TYPE	8
Packit b099d7
#define	MrmWRONG_GROUP	10
Packit b099d7
#define	MrmWRONG_TYPE	12
Packit b099d7
#define	MrmOUT_OF_RANGE	14	/* Record number too big */
Packit b099d7
#define	MrmBAD_RECORD	16	/* Record number wrong type */
Packit b099d7
#define	MrmNULL_DATA	18	/* No data for entry */
Packit b099d7
#define	MrmBAD_DATA_INDEX	20	/* Data index in RID out of range */
Packit b099d7
#define	MrmBAD_ORDER	22	/* Bad ordering specifier */
Packit b099d7
#define	MrmBAD_CONTEXT	24	/* Invalid Mrm context */
Packit b099d7
#define	MrmNOT_VALID	26	/* Validation failure */
Packit b099d7
#define	MrmBAD_BTREE	28	/* GT/LT pointer error in BTree */
Packit b099d7
#define	MrmBAD_WIDGET_REC	30	/* Validation failure on widget record */
Packit b099d7
#define	MrmBAD_CLASS_TYPE	32	/* Class type not a valid Mrmwc... value */
Packit b099d7
#define	MrmNO_CLASS_NAME	34	/* User class name is null */
Packit b099d7
#define	MrmTOO_MANY	36	/* Too many entries requested in some list */
Packit b099d7
#define	MrmBAD_IF_MODULE	38	/* invalid interface module */
Packit b099d7
#define	MrmNULL_DESC	40	/* Arglist or children descriptor null */
Packit b099d7
#define	MrmOUT_OF_BOUNDS	42	/* Argument index out of arglist bounds */
Packit b099d7
#define	MrmBAD_COMPRESS	44	/* Invalid compression code */
Packit b099d7
#define	MrmBAD_ARG_TYPE	46	/* Invalid type, not in RGMrType... */
Packit b099d7
#define	MrmNOT_IMP	48	/* Not yet implemented */
Packit b099d7
#define	MrmNULL_INDEX	50	/* empty index string */
Packit b099d7
#define	MrmBAD_KEY_TYPE	52	/* key must be MrmrIndex or MrmrRID */
Packit b099d7
#define	MrmBAD_CALLBACK	54	/* Invalid callback descriptor */
Packit b099d7
#define	MrmNULL_ROUTINE	56	/* Empty callback routine name string */
Packit b099d7
#define	MrmVEC_TOO_BIG	58	/* too many elements in vector */
Packit b099d7
#define	MrmBAD_HIERARCHY	60	/* invalid Mrm file hierarchy */
Packit b099d7
#define	MrmBAD_CLASS_CODE	62	/* Class code not found in Mrmwc... */
Packit b099d7
#define MrmDISPLAY_NOT_OPENED	63	/* Display not yet created */
Packit b099d7
#define MrmEOF			64      /* End of file */
Packit b099d7
#define MrmUNRESOLVED_REFS	65	/* Unresolved widget refs in callback*/
Packit b099d7
Packit b099d7

Packit b099d7
/*
Packit b099d7
 * Definitions associated with widget representations
Packit b099d7
 */
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Define the creation callback
Packit b099d7
 */
Packit b099d7
#define MrmNcreateCallback	"createCallback"
Packit b099d7
/* BEGIN OSF Fix pir 2813 */
Packit b099d7
#define MrmCR_CREATE		XmCR_CREATE
Packit b099d7
/* END OSF Fix pir 2813 */
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Code for unknown (user-defined) classes.
Packit b099d7
 */
Packit b099d7
#define	MrmwcUnknown		1
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * The data types of values stored in uid files.
Packit b099d7
 */
Packit b099d7
#define	MrmRtypeMin		1
Packit b099d7
#define	MrmRtypeInteger		1	/* int */
Packit b099d7
#define	MrmRtypeBoolean		2
Packit b099d7
#define	MrmRtypeChar8		3	/* a nul-terminated string */
Packit b099d7
#define	MrmRtypeChar8Vector	4	/* a vector of char_8 strings */
Packit b099d7
#define	MrmRtypeCString		5	/* a compound string (DDIS) */
Packit b099d7
#define	MrmRtypeCStringVector	6	/* a vector of compound strings */
Packit b099d7
#define	MrmRtypeFloat		7
Packit b099d7
					/* 8 = TypeCompressed now unused */
Packit b099d7
#define	MrmRtypeCallback	9	/* code for a callback descriptor */
Packit b099d7
#define	MrmRtypePixmapImage	10	/* Pixmap in image form */
Packit b099d7
#define	MrmRtypePixmapDDIF	11	/* Pixmap in DDIF form */
Packit b099d7
#define	MrmRtypeResource	12	/* Mrm resource descriptor */
Packit b099d7
#define	MrmRtypeNull		13	/* no value given */
Packit b099d7
#define	MrmRtypeAddrName	14	/* nul-terminated string to be
Packit b099d7
					   interpreted as runtime address */
Packit b099d7
#define	MrmRtypeIconImage	15	/* icon image */
Packit b099d7
#define	MrmRtypeFont		16	/* Mrm font structure */
Packit b099d7
#define	MrmRtypeFontList	17	/* Mrm font list */
Packit b099d7
#define	MrmRtypeColor		18	/* Mrm color descriptor */
Packit b099d7
#define	MrmRtypeColorTable	19	/* Mrm color table */
Packit b099d7
#define	MrmRtypeAny		20	/* Any is allowed in UID file */
Packit b099d7
#define MrmRtypeTransTable	21	/* Translation table (ASCIZ string) */
Packit b099d7
#define MrmRtypeClassRecName	22	/* class record name (ASCIZ string) */
Packit b099d7
#define MrmRtypeIntegerVector	23	/* a vector of integers */
Packit b099d7
#define MrmRtypeXBitmapFile	24	/* X bitmap file to make pixmap with */
Packit b099d7
#define MrmRtypeCountedVector	25	/* vector with associated count */
Packit b099d7
#define MrmRtypeKeysym		26	/* X keysym data type */
Packit b099d7
#define MrmRtypeSingleFloat	27	/* single float data type */
Packit b099d7
#define MrmRtypeWideCharacter	28	/* wide_character string type */
Packit b099d7
#define MrmRtypeFontSet		29
Packit b099d7
#define MrmRtypeHorizontalInteger 30
Packit b099d7
#define MrmRtypeVerticalInteger   31
Packit b099d7
#define MrmRtypeHorizontalFloat   32
Packit b099d7
#define MrmRtypeVerticalFloat     33
Packit b099d7
#define	MrmRtypeMax		33
Packit b099d7
Packit b099d7
Packit b099d7

Packit b099d7
/*
Packit b099d7
 * MRM typedefs
Packit b099d7
 */
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * MRM primitive types
Packit b099d7
 */
Packit b099d7
typedef short int		MrmCode;  /* Used for codes, e.g. Mrmcr... */
Packit b099d7
typedef	unsigned char		MrmSCode; /* Short code for small ranges */
Packit b099d7
typedef unsigned short int	MrmOffset;/* Used for offsets in records */
Packit b099d7
typedef short int		MrmType;  /* Used for types, e.g. MrmrType... */
Packit b099d7
typedef unsigned short int	MrmSize;  /* For size fields */
Packit b099d7
typedef short int		MrmCount; /* For counter fields */
Packit b099d7
typedef unsigned char		MrmFlag;  /* flag fields */
Packit b099d7
typedef long int		MrmResource_id; /* Resource id in portable IDB files */
Packit b099d7
typedef short int		MrmGroup; /* For Mrm resource groups */
Packit b099d7
Packit b099d7
#define	MrmMaxResourceSize	65535	/* (2)16 - 1 */ 
Packit b099d7
Packit b099d7

Packit b099d7
/*
Packit b099d7
 * Operating System specific parameter struct.  Passed to low level
Packit b099d7
 * file OPEN.
Packit b099d7
 */
Packit b099d7
#define MrmOsOpenParamVersion 1
Packit b099d7
typedef struct	{
Packit b099d7
/*
Packit b099d7
 * The version of this structure. Set to MrmOsOpenParamVersion
Packit b099d7
 */
Packit b099d7
	Cardinal		version; 
Packit b099d7
/*
Packit b099d7
 * The default name, for systems which can use it
Packit b099d7
 */
Packit b099d7
	char			*default_fname;	
Packit b099d7
/*
Packit b099d7
 * The related name, for systems which can use it
Packit b099d7
 * Flag for file clobber (1 means OK to clobber)
Packit b099d7
 */
Packit b099d7
	union {
Packit b099d7
	    unsigned long	related_nam; 
Packit b099d7
	    Boolean		clobber_flg; 
Packit b099d7
	} nam_flg;
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * The display, for which the user wants us to open
Packit b099d7
 * this hierarchy on. Used for the LANG variable.
Packit b099d7
 */
Packit b099d7
	Display			*display;
Packit b099d7
Packit b099d7
} MrmOsOpenParam, *MrmOsOpenParamPtr ;
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * The opaque result of opening a Mrm hierarchy.
Packit b099d7
 */
Packit b099d7
typedef struct MrmHierarchyDescStruct *MrmHierarchy;
Packit b099d7
Packit b099d7
Packit b099d7

Packit b099d7
/*
Packit b099d7
 * Structure used to pass name/value pairs to MrmRegisterNames
Packit b099d7
 */
Packit b099d7
typedef struct {
Packit b099d7
	String		name ;		/* case-sensitive name */
Packit b099d7
	XtPointer	value ;		/* value/address associated with name */
Packit b099d7
} MRMRegisterArg, MrmRegisterArg, *MrmRegisterArglist ;
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Code for unknown (user-defined) classes. 
Packit b099d7
 */
Packit b099d7
#define	URMwcUnknown	1
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Declarations of Mrm public entry points
Packit b099d7
 */
Packit b099d7
#include <Mrm/MrmDecls.h>
Packit b099d7
Packit b099d7
#endif /* MrmPublic */
Packit b099d7
/* DON'T ADD STUFF AFTER THIS #endif */