The great includes migration of 2019 (autotools)
Ok - so one of the steps in building CDE is an early phase called the includes phase (make includes). At this point, all of the public header files are exported to exports/include/Dt, DtI, ... Then, the software is built using that include dir. This of course does not work in autotools. Much of the software does things like #include <Dt/something.h>, so in order for the build to succeed, this behavior must be represented/replicated in some way. It seems the usual way of dealing with this is to place all public headers (and in some projects, ALL headers) into a toplevel include directory. We now do this for all public headers - they have been moved from wherever they were and placed in the appropriate spot in includes/ This will break the Imake 'make includes' phase unless the Imakefiles are fixed (remove the HEADERS = stuff, and the incdir defines). This has not been done at this point since in reality, once autotools works properly, there will be no need for the Imake stuff anymore, and I intend to get rid of it. This is just a warning for now - Imake builds in this tree will now fail at the 'includes' stage. This commit is only the migration. In upcoming commits, libtt will be fixed so that the hack being used before to get around this problem is removed as there will no longer be any need. And then the autotools work continues...
This commit is contained in:
@@ -1,139 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: Action.h /main/4 1998/05/06 15:55:18 rafi $ */
|
||||
/*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _Dt_Action_h
|
||||
#define _Dt_Action_h
|
||||
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Argument types
|
||||
*/
|
||||
|
||||
#define DtACTION_FILE 1 /* file argument */
|
||||
#define DtACTION_BUFFER 2 /* buffer argument */
|
||||
#define DtACTION_STRING 3 /* string argument */
|
||||
#define DtACTION_NULLARG 4 /* untyped return-only argument */
|
||||
|
||||
typedef struct {
|
||||
void *bp; /* location of buffer */
|
||||
int size; /* size of buffer in bytes */
|
||||
char *type; /* (opt.) type of buffer */
|
||||
char *name; /* (opt.) name of buffer object */
|
||||
Boolean writable; /* allow changes to buffer object? */
|
||||
} DtActionBuffer;
|
||||
|
||||
typedef struct {
|
||||
char *name;
|
||||
} DtActionFile;
|
||||
|
||||
typedef struct {
|
||||
/*
|
||||
* Structure containing argument information
|
||||
*/
|
||||
int argClass; /* see argument types */
|
||||
union {
|
||||
DtActionFile file;
|
||||
DtActionBuffer buffer;
|
||||
} u;
|
||||
} DtActionArg;
|
||||
|
||||
/*
|
||||
* DtActionStatus codes
|
||||
*/
|
||||
typedef enum {
|
||||
DtACTION_OK, /* If not any of the below */
|
||||
DtACTION_INVALID_ID, /* ID is not valid */
|
||||
DtACTION_INVOKED, /* the action invocation step is done */
|
||||
DtACTION_STATUS_UPDATE, /* status update */
|
||||
DtACTION_DONE, /* normal action termination code */
|
||||
DtACTION_FAILED, /* error running action */
|
||||
DtACTION_CANCELED /* normal action termination by cancel*/
|
||||
} DtActionStatus;
|
||||
|
||||
typedef void (*DtDbReloadCallbackProc)(
|
||||
XtPointer clientData);
|
||||
|
||||
/*
|
||||
* DtActionInvocationID is the fundamental user-space handle to invoked
|
||||
* actions.
|
||||
*/
|
||||
typedef unsigned long DtActionInvocationID;
|
||||
|
||||
typedef void (*DtActionCallbackProc) (
|
||||
DtActionInvocationID id,
|
||||
XtPointer client_data,
|
||||
DtActionArg *actionArgPtr,
|
||||
int actionArgCount,
|
||||
DtActionStatus status);
|
||||
|
||||
/*
|
||||
* Functions
|
||||
*/
|
||||
|
||||
extern Boolean DtActionExists(
|
||||
char *actionName);
|
||||
|
||||
extern char * DtActionLabel(
|
||||
char *actionName);
|
||||
|
||||
extern char * DtActionDescription(
|
||||
char *actionName);
|
||||
|
||||
extern void DtDbReloadNotify (
|
||||
DtDbReloadCallbackProc proc,
|
||||
XtPointer clientData);
|
||||
|
||||
extern void DtDbLoad(void);
|
||||
|
||||
extern DtActionInvocationID DtActionInvoke (
|
||||
Widget w,
|
||||
char *action,
|
||||
DtActionArg *args,
|
||||
int argCount,
|
||||
char *termOpts,
|
||||
char *execHost,
|
||||
char *contextDir,
|
||||
int useIndicator,
|
||||
DtActionCallbackProc statusUpdateCb,
|
||||
XtPointer client_data);
|
||||
|
||||
extern char * DtActionIcon(
|
||||
char *actionName);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_Action_h */
|
||||
@@ -1,241 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* File: ActionDb.h
|
||||
* RCS: $XConsortium: ActionDb.h /main/3 1995/10/26 14:58:38 rswiston $
|
||||
* Description: Internal header file for the action database functions.
|
||||
* Language: C
|
||||
* Package: N/A
|
||||
* Status: Experimental (Do Not Distribute)
|
||||
*
|
||||
*
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef _Dt_ActionDb_h
|
||||
#define _Dt_ActionDb_h
|
||||
|
||||
|
||||
/*
|
||||
* The following constants are used by the database parsing code to
|
||||
* identify the field names for an action definition.
|
||||
*
|
||||
* Recognized Field names for any action definition.
|
||||
*/
|
||||
#define _DtACTION_NAME "ACTION"
|
||||
#define _DtACTION_TYPE "TYPE"
|
||||
#define _DtACTION_LABEL "LABEL"
|
||||
#define _DtACTION_ARG_CLASS "ARG_CLASS"
|
||||
#define _DtACTION_ARG_MODE "ARG_MODE"
|
||||
#define _DtACTION_ARG_TYPE "ARG_TYPE"
|
||||
#define _DtACTION_ARG_COUNT "ARG_COUNT"
|
||||
#define _DtACTION_DESCRIPTION "DESCRIPTION"
|
||||
#define _DtACTION_ICON "ICON"
|
||||
#define _DtACTION_INSTANCE_ICON "INSTANCE_ICON"
|
||||
|
||||
/*
|
||||
* Miscellaneous syntax strings
|
||||
*/
|
||||
#define _DtACT_ANY "*"
|
||||
#define _DtACT_LIST_SEPARATOR_CHAR ','
|
||||
#define _DtACT_GT_CHAR '>'
|
||||
#define _DtACT_LT_CHAR '<'
|
||||
|
||||
|
||||
/*
|
||||
* Valid values for ACTION_TYPE
|
||||
*/
|
||||
#define _DtACTION_MAP "MAP"
|
||||
#define _DtACTION_COMMAND "COMMAND"
|
||||
#define _DtACTION_TT_MSG "TT_MSG"
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
|
||||
#define _DtACTION_DT_REQUEST "DT_REQUEST"
|
||||
#define _DtACTION_DT_NOTIFY "DT_NOTIFY"
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
/*
|
||||
* Field names for "MAP" type actions
|
||||
*/
|
||||
|
||||
#define _DtACTION_MAP_ACTION "MAP_ACTION"
|
||||
|
||||
/*
|
||||
* Field names for the "COMMAND" type actions.
|
||||
*/
|
||||
#define _DtACTION_EXEC_STRING "EXEC_STRING"
|
||||
#define _DtACTION_EXEC_HOST "EXEC_HOST"
|
||||
#define _DtACTION_CWD "CWD"
|
||||
#define _DtACTION_WINDOW_TYPE "WINDOW_TYPE"
|
||||
#define _DtACTION_TERM_OPTS "TERM_OPTS"
|
||||
|
||||
/*
|
||||
* Field names for "TT_MSG" type actions
|
||||
*/
|
||||
#define _DtACTION_TT_CLASS "TT_CLASS"
|
||||
#define _DtACTION_TT_SCOPE "TT_SCOPE"
|
||||
#define _DtACTION_TT_OPERATION "TT_OPERATION"
|
||||
#define _DtACTION_TT_FILE "TT_FILE"
|
||||
/* definitions to decifer TT_ARGn_* fields */
|
||||
#define _DtACTION_TTN_ARG "TT_ARG"
|
||||
#define _DtACTION_TTN_MODE "_MODE"
|
||||
#define _DtACTION_TTN_VTYPE "_VTYPE"
|
||||
#define _DtACTION_TTN_REP_TYPE "_REP_TYPE"
|
||||
#define _DtACTION_TTN_VALUE "_VALUE"
|
||||
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
/*
|
||||
* Field names for "DT_REQUEST" type actions
|
||||
*/
|
||||
#define _DtACTION_DT_REQUEST_NAME "DT_REQUEST_NAME"
|
||||
#define _DtACTION_DT_SVC "DT_SVC"
|
||||
|
||||
/*
|
||||
* Field names for "DT_NOTIFY" type actions
|
||||
*/
|
||||
#define _DtACTION_DT_NOTIFY_NAME "DT_NOTIFY_NAME"
|
||||
#define _DtACTION_DT_NGROUP "DT_NGROUP"
|
||||
|
||||
/*
|
||||
* Field names for DT ARGn (either request or notify)
|
||||
*/
|
||||
#define _DtACTION_DTN_ARG "DT_ARG"
|
||||
#define _DtACTION_DTN_VALUE "_VALUE"
|
||||
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
/*
|
||||
* Valid Field value strings
|
||||
* for Command Actions Window Types
|
||||
*/
|
||||
#define _DtACTION_TERMINAL "TERMINAL"
|
||||
#define _DtACTION_PERM_TERMINAL "PERM_TERMINAL"
|
||||
#define _DtACTION_NO_STDIO "NO_STDIO"
|
||||
|
||||
/*
|
||||
* Valid Field values for ARG_CLASS records.
|
||||
*/
|
||||
#define _DtACTION_BUFFER "BUFFER"
|
||||
#define _DtACTION_FILE "FILE"
|
||||
#define _DtACTION_STRING "STRING"
|
||||
|
||||
/*
|
||||
* Valid Field values for ARG_MODE
|
||||
*/
|
||||
|
||||
#define _DtACT_ARG_MODE_WRITE "w"
|
||||
#define _DtACT_ARG_MODE_NOWRITE "!w"
|
||||
#define _DtACT_ARG_MODE_ANY _DtACT_ANY
|
||||
|
||||
|
||||
/*
|
||||
* Valid Field values for TT_CLASS records.
|
||||
*/
|
||||
#define _DtACTION_TT_NOTICE "TT_NOTICE"
|
||||
#define _DtACTION_TT_REQUEST "TT_REQUEST"
|
||||
|
||||
/*
|
||||
* Valid Field values for TT_SCOPE records.
|
||||
*/
|
||||
#define _DtACTION_TT_SESSION "TT_SESSION"
|
||||
#define _DtACTION_TT_BOTH "TT_BOTH"
|
||||
#define _DtACTION_TT_FILE_IN_SESSION "TT_FILE_IN_SESSION"
|
||||
/* --- same as TT_MSG's TT_FILE field name --------
|
||||
#define _DtACTION_TT_FILE "TT_FILE"
|
||||
*/
|
||||
|
||||
/*
|
||||
* Valid Field values for TT_ARGn_MODE
|
||||
*/
|
||||
#define _DtACTION_TT_MODE_IN "TT_IN"
|
||||
#define _DtACTION_TT_MODE_OUT "TT_OUT"
|
||||
#define _DtACTION_TT_MODE_INOUT "TT_INOUT"
|
||||
|
||||
/*
|
||||
* Valid Field values for TT_ARGn_REP_TYPE
|
||||
*/
|
||||
#define _DtACTION_TT_RTYP_UND "TT_REP_UNDEFINED"
|
||||
#define _DtACTION_TT_RTYP_INT "TT_REP_INTEGER"
|
||||
#define _DtACTION_TT_RTYP_BUF "TT_REP_BUFFER"
|
||||
#define _DtACTION_TT_RTYP_STR "TT_REP_STRING"
|
||||
|
||||
/*
|
||||
* Action Keywords --
|
||||
* these keywords appear in the action database files
|
||||
* in the form: %<qualifier><keyword><prompt string>%
|
||||
* where the optional qualifier in enclosed in: ()
|
||||
* and the optional prompt string is enclosed in: ""
|
||||
*/
|
||||
#define _DtACT_DATABASEHOST_STR "DatabaseHost"
|
||||
#define _DtACT_DISPLAYHOST_STR "DisplayHost"
|
||||
#define _DtACT_LOCALHOST_STR "LocalHost"
|
||||
#define _DtACT_SESSIONHOST_STR "SessionHost"
|
||||
#define _DtACT_ARGS_STR "Args"
|
||||
#define _DtACT_ARG_UNDER_STR "Arg_"
|
||||
|
||||
#define _DtACT_STRING_QUALIFIER "(String)"
|
||||
#define _DtACT_FILE_QUALIFIER "(File)"
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Default action field value definitions (these should be strings)
|
||||
* for recognized fields.
|
||||
*/
|
||||
#define _DtACT_LBL_DFLT NULL
|
||||
#define _DtACT_TYPE_DFLT _DtACTION_COMMAND
|
||||
#define _DtACT_ARG_CLASS_DFLT _DtACT_ANY
|
||||
#define _DtACT_ARG_MODE_DFLT _DtACT_ANY
|
||||
#define _DtACT_ARG_TYPE_DFLT _DtACT_ANY
|
||||
#define _DtACT_ARG_CNT_DFLT _DtACT_ANY
|
||||
#define _DtACT_DESC_DFLT NULL
|
||||
#define _DtACT_ICON_DFLT NULL
|
||||
#define _DtACT_MAP_ACT_DFLT NULL
|
||||
#define _DtACT_EXEC_STRG_DFLT NULL
|
||||
#define _DtACT_EXEC_HOST_DFLT \
|
||||
"%" _DtACT_DATABASEHOST_STR "%,%" _DtACT_LOCALHOST_STR "%"
|
||||
#define _DtACT_CWD_DFLT NULL
|
||||
#define _DtACT_WIN_TYPE_DFLT _DtACTION_PERM_TERMINAL
|
||||
#define _DtACT_TERM_OPTS_DFLT NULL
|
||||
#define _DtACT_TT_CLASS_DFLT NULL
|
||||
#define _DtACT_TT_SCOPE_DFLT NULL
|
||||
#define _DtACT_TT_OP_DFLT NULL
|
||||
#define _DtACT_TT_FILE_DFLT NULL
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
#define _DtACT_DT_REQ_DFLT NULL
|
||||
#define _DtACT_DT_SVC_DFLT NULL
|
||||
#define _DtACT_DT_NTFY_DFLT NULL
|
||||
#define _DtACT_DT_NGRP_DFLT NULL
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
|
||||
|
||||
#endif /* _Dt_ActionDb_h */
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
@@ -1,143 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* File: ActionDbP.h
|
||||
* RCS: $XConsortium: ActionDbP.h /main/3 1995/10/26 14:58:53 rswiston $
|
||||
* Description: Private header file for the action database functions.
|
||||
* Language: C
|
||||
* Package: N/A
|
||||
*
|
||||
*
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef _Dt_ActionDbP_h
|
||||
#define _Dt_ActionDbP_h
|
||||
|
||||
#include <Dt/DbReader.h>
|
||||
#include <Dt/ActionDb.h>
|
||||
|
||||
#define _DtMAX_NUM_FIELDS 30
|
||||
#define _ActDb_MAX_NUM_FIELDS _DtMAX_NUM_FIELDS
|
||||
|
||||
|
||||
/*
|
||||
* Bitmask field definitions for the action converter bit mask.
|
||||
* These are NOT the bits for the mask in struct ACTION.
|
||||
*/
|
||||
|
||||
#define _ActDb_LABEL_SET (1<<0)
|
||||
#define _ActDb_TYPE_SET (1<<1)
|
||||
#define _ActDb_ARG_CLASS_SET (1<<2)
|
||||
#define _ActDb_ARG_TYPE_SET (1<<3)
|
||||
#define _ActDb_ARG_COUNT_SET (1<<4)
|
||||
#define _ActDb_ARG_MODE_SET (1<<5)
|
||||
#define _ActDb_DESCRIPTION_SET (1<<6)
|
||||
#define _ActDb_ICON_SET (1<<7)
|
||||
|
||||
#define _ActDb_MAP_ACTION_SET (1<<10)
|
||||
|
||||
#define _ActDb_EXEC_STRING_SET (1<<12)
|
||||
#define _ActDb_EXEC_HOST_SET (1<<13)
|
||||
#define _ActDb_CWD_SET (1<<14)
|
||||
#define _ActDb_WINDOW_TYPE_SET (1<<15)
|
||||
#define _ActDb_TERM_OPTS_SET (1<<16)
|
||||
|
||||
#define _ActDb_TT_CLASS_SET (1<<18)
|
||||
#define _ActDb_TT_SCOPE_SET (1<<19)
|
||||
#define _ActDb_TT_OPERATION_SET (1<<20)
|
||||
#define _ActDb_TT_FILE_SET (1<<21)
|
||||
#define _ActDb_TT_ARGN_MODE_SET (1<<22)
|
||||
#define _ActDb_TT_ARGN_VTYP_SET (1<<23)
|
||||
#define _ActDb_TT_ARGN_RTYP_SET (1<<24)
|
||||
#define _ActDb_TT_ARGN_VAL_SET (1<<25)
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
#define _ActDb_DT_REQ_NAME_SET (1<<26)
|
||||
#define _ActDb_DT_SVC_SET (1<<27)
|
||||
|
||||
#define _ActDb_DT_NTFY_NAME_SET (1<<28)
|
||||
#define _ActDb_DT_NGROUP_SET (1<<29)
|
||||
#define _ActDb_DT_ARGN_VAL_SET (1<<30)
|
||||
/* no mask for ARGn strings */
|
||||
|
||||
|
||||
#define _ActDb_DT_REQUEST_BITS ( _ActDb_DT_REQ_NAME_SET \
|
||||
| _ActDb_DT_SVC_SET )
|
||||
#define _ActDb_DT_NOTIFY_BITS ( _ActDb_DT_NTFY_NAME_SET \
|
||||
| _ActDb_DT_NGROUP_SET )
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
#define _ActDb_TT_BITS ( _ActDb_TT_CLASS_SET \
|
||||
| _ActDb_TT_SCOPE_SET \
|
||||
| _ActDb_TT_OPERATION_SET \
|
||||
| _ActDb_TT_ARGN_MODE_SET \
|
||||
| _ActDb_TT_ARGN_VTYP_SET \
|
||||
| _ActDb_TT_ARGN_RTYP_SET \
|
||||
| _ActDb_TT_ARGN_VAL_SET \
|
||||
| _ActDb_TT_FILE_SET )
|
||||
#define _ActDb_CMD_BITS ( _ActDb_EXEC_STRING_SET \
|
||||
| _ActDb_CWD_SET \
|
||||
| _ActDb_WINDOW_TYPE_SET \
|
||||
| _ActDb_TERM_OPTS_SET )
|
||||
#define _ActDb_MAP_BITS ( _ActDb_MAP_ACTION_SET )
|
||||
|
||||
#define _ActDb_TT_ARGN_BITS ( _ActDb_TT_ARGN_MODE_SET \
|
||||
| _ActDb_TT_ARGN_VTYP_SET \
|
||||
| _ActDb_TT_ARGN_RTYP_SET \
|
||||
| _ActDb_TT_ARGN_VAL_SET )
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
#define _ActDb_ARGN_BITS ( _ActDb_TT_ARGN_BITS \
|
||||
| _ActDb_DT_ARGN_VAL_SET )
|
||||
#else
|
||||
#define _ActDb_ARGN_BITS ( _ActDb_TT_ARGN_BITS )
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Private (but external) entry points for internal use by Action Database
|
||||
* Library code only.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
|
||||
extern Boolean _DtActionConverter( DtDtsDbField *fields,
|
||||
DtDbPathId pathId,
|
||||
char *hostPrefix,
|
||||
Boolean rejectionStatus);
|
||||
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
#endif /* _Dt_ActionDbP_h */
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
@@ -1,67 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: ActionFind.h /main/4 1995/10/26 14:59:41 rswiston $ */
|
||||
/************************************<+>*************************************
|
||||
****************************************************************************
|
||||
**
|
||||
** File: ActionFind.h
|
||||
**
|
||||
** Project: DT
|
||||
**
|
||||
** Description: Public include file for the ActionFind functions.
|
||||
**
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Novell, Inc.
|
||||
****************************************************************************
|
||||
************************************<+>*************************************/
|
||||
|
||||
#ifndef _Dt_ActionFind_h
|
||||
#define _Dt_ActionFind_h
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xresource.h>
|
||||
|
||||
#include <Dt/ActionP.h>
|
||||
#include <Dt/DtsDb.h>
|
||||
#include <Dt/DtsMM.h>
|
||||
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
extern void _DtSortActionDb(void);
|
||||
extern ActionPtr
|
||||
_DtActionFindDBEntry( ActionRequest *reqp,
|
||||
DtShmBoson actQuark );
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
|
||||
|
||||
#endif /* _Dt_ActionFind_h */
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
|
||||
@@ -1,849 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: ActionP.h /main/3 1995/10/26 14:59:56 rswiston $ */
|
||||
/************************************<+>*************************************
|
||||
****************************************************************************
|
||||
**
|
||||
** File: ActionP.h
|
||||
**
|
||||
** Project: DT
|
||||
**
|
||||
** Description: Private include file for the Action Library.
|
||||
**
|
||||
**
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Novell, Inc.
|
||||
****************************************************************************
|
||||
************************************<+>*************************************/
|
||||
|
||||
#ifndef _ActionP_h
|
||||
#define _ActionP_h
|
||||
|
||||
#include <Dt/DtP.h>
|
||||
#include <Dt/DbReader.h>
|
||||
#include <Dt/ActionDb.h>
|
||||
#include <Dt/Action.h>
|
||||
#include <Tt/tttk.h>
|
||||
#include <Dt/DtShmDb.h>
|
||||
/*
|
||||
* Environment Variable Names
|
||||
*/
|
||||
#define ENV_SESSION_SVR "SESSION_SVR"
|
||||
/*
|
||||
* Define maximum static buffer size for action code.
|
||||
*/
|
||||
#define _DtAct_MAX_BUF_SIZE 1024
|
||||
|
||||
/*
|
||||
* Data-type field which contains the template for producing filenames
|
||||
* of a given type.
|
||||
*/
|
||||
#define _DtActNAME_TEMPLATE "NAME_TEMPLATE"
|
||||
#define _DtActIS_EXECUTABLE "IS_EXECUTABLE"
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* MASK LAYOUT:
|
||||
*
|
||||
* The same layout is used for all the masks (defined herein);, independent of
|
||||
* the data structure in which they are defined. That is, all bit fields for
|
||||
* all masks are non-overlapping. In general, the mask in any given structure
|
||||
* should ONLY contain information in the field appropriate for that structure.
|
||||
*
|
||||
* The action bit mask is broken into the following fields
|
||||
*
|
||||
* --------------------------------------------------------------------------
|
||||
* |act'n |arg |arg |arg | win |args| request | object |treat| not |
|
||||
* |type |class|count|typ | type | | status | status | as | |
|
||||
* |bits |bits |bits |bit | bits |used| bits | bits |file |used |
|
||||
* --------------------------------------------------------------------------
|
||||
* 0 - 4,5 - 8,9 - 12, 13 ,14 - 17,18-19,20 ------- 22,23 ---- 28, 29 ,30-31
|
||||
* | | | | | |
|
||||
* |<-- action mask -->| |<- request->|<- obj. ->|< - >|
|
||||
* mask data |
|
||||
* mask msgCcomp.
|
||||
* mask
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* generic bit manipulation macros
|
||||
*/
|
||||
#define SET_ANY_BITS(mask,bits) ( mask |= (bits) )
|
||||
#define RESET_ANY_BITS(mask,bits) ( mask &= ~(bits) )
|
||||
#define TST_ANY_BITS(mask,bits) ( mask & (bits) )
|
||||
|
||||
/*
|
||||
* Action type bits
|
||||
*/
|
||||
#define _DtAct_CMD_BIT (1<<0)
|
||||
#define _DtAct_MAP_BIT (1<<1)
|
||||
#define _DtAct_TT_MSG_BIT (1<<2)
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
#define _DtAct_DT_REQ_MSG_BIT (1<<3)
|
||||
#define _DtAct_DT_NTFY_MSG_BIT (1<<4)
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
/*
|
||||
* Action structure mask bits
|
||||
*/
|
||||
#define _DtAct_ARG_CLASS_FILE_BIT (1<<5)
|
||||
#define _DtAct_ARG_CLASS_STRING_BIT (1<<6)
|
||||
#define _DtAct_ARG_CLASS_BUFFER_BIT (1<<7)
|
||||
#define _DtAct_ARG_CLASS_WILD_BIT (1<<8)
|
||||
|
||||
#define _DtAct_ARG_COUNT_LT_BIT (1<<9)
|
||||
#define _DtAct_ARG_COUNT_GT_BIT (1<<10)
|
||||
#define _DtAct_ARG_COUNT_EQ_BIT (1<<11)
|
||||
#define _DtAct_ARG_COUNT_WILD_BIT (1<<12)
|
||||
|
||||
#define _DtAct_ARG_TYPE_WILD_BIT (1<<13)
|
||||
|
||||
#define _DtAct_NO_STDIO_BIT (1<<14)
|
||||
#define _DtAct_TERMINAL_BIT (1<<15)
|
||||
#define _DtAct_PERM_TERM_BIT (1<<16)
|
||||
|
||||
/*
|
||||
* Defines which reflect the actual number
|
||||
* of %ARGn% instances found in the action definition
|
||||
* NOTE: Is this JUST in the EXEC_STRING? or the total number of %ARGn%'s
|
||||
* referenced in all parssed definitions?
|
||||
*
|
||||
*/
|
||||
#define _DtAct_SINGLE_ARG_BIT (1<<18)
|
||||
#define _DtAct_MULTI_ARG_BIT (1<<19)
|
||||
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
#define _DtAct_ACTION_TYPE_BITS ( _DtAct_CMD_BIT \
|
||||
| _DtAct_MAP_BIT \
|
||||
| _DtAct_DT_NTFY_MSG_BIT \
|
||||
| _DtAct_DT_REQ_MSG_BIT \
|
||||
| _DtAct_TT_MSG_BIT )
|
||||
#else
|
||||
#define _DtAct_ACTION_TYPE_BITS ( _DtAct_CMD_BIT \
|
||||
| _DtAct_MAP_BIT \
|
||||
| _DtAct_TT_MSG_BIT )
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
#define _DtAct_ARG_CLASS_BITS ( _DtAct_ARG_CLASS_FILE_BIT \
|
||||
| _DtAct_ARG_CLASS_STRING_BIT\
|
||||
| _DtAct_ARG_CLASS_BUFFER_BIT \
|
||||
| _DtAct_ARG_CLASS_WILD_BIT )
|
||||
#define _DtAct_ARG_TYPE_BITS ( _DtAct_ARG_TYPE_WILD_BIT )
|
||||
#define _DtAct_ARG_COUNT_BITS ( _DtAct_ARG_COUNT_LT_BIT \
|
||||
| _DtAct_ARG_COUNT_GT_BIT \
|
||||
| _DtAct_ARG_COUNT_EQ_BIT \
|
||||
| _DtAct_ARG_COUNT_WILD_BIT )
|
||||
#define _DtAct_WINTYPE_BITS ( _DtAct_NO_STDIO_BIT \
|
||||
| _DtAct_TERMINAL_BIT \
|
||||
| _DtAct_PERM_TERM_BIT )
|
||||
#define _DtAct_ARGS_USED_BITS ( _DtAct_SINGLE_ARG \
|
||||
| _DtAct_MULTI_ARG )
|
||||
|
||||
#define _DtAct_ACTION_BITS ( _DtAct_ACTION_TYPE_BITS \
|
||||
| _DtAct_ARG_CLASS_BITS \
|
||||
| _DtAct_ARG_TYPE_BITS \
|
||||
| _DtAct_ARG_COUNT_BITS \
|
||||
| _DtAct_WINTYPE_BITS \
|
||||
| _DtAct_ARGS_USED_BITS )
|
||||
|
||||
#define IS_CMD(mask) ( mask & _DtAct_CMD_BIT )
|
||||
#define IS_MAP(mask) ( mask & _DtAct_MAP_BIT )
|
||||
#define IS_TT_MSG(mask) ( mask & _DtAct_TT_MSG_BIT )
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
#define IS_DT_REQ_MSG(mask) ( mask & _DtAct_DT_REQ_MSG_BIT )
|
||||
#define IS_DT_NOTIFY_MSG(mask) ( mask & _DtAct_DT_NTFY_MSG_BIT )
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
#define SET_CMD_ACTION(mask) ( mask |= _DtAct_CMD_BIT )
|
||||
#define SET_MAP_ACTION(mask) ( mask |= _DtAct_MAP_BIT )
|
||||
#define SET_TT_MSG(mask) ( mask |= _DtAct_TT_MSG_BIT )
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
#define SET_DT_REQUEST_MSG(mask) ( mask |= _DtAct_DT_REQ_MSG_BIT)
|
||||
#define SET_DT_NOTIFY_MSG(mask) ( mask |= _DtAct_DT_NTFY_MSG_BIT)
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
#define RESET_CMD_ACTION(mask) ( mask &= ~(_DtAct_CMD_BIT))
|
||||
#define RESET_MAP_ACTION(mask) ( mask &= ~(_DtAct_MAP_BIT))
|
||||
#define RESET_TT_MSG(mask) ( mask &= ~(_DtAct_TT_MSG_BIT))
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
#define RESET_DT_REQ_MSG(mask) ( mask &= ~(_DtAct_DT_REQ_MSG_BIT))
|
||||
#define RESET_DT_NOTIFY_MSG(mask) ( mask &= ~(_DtAct_DT_NTFY_MSG_BIT))
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
#define IS_NO_STDIO(mask) ( mask & _DtAct_NO_STDIO_BIT )
|
||||
#define IS_TERMINAL(mask) ( mask & _DtAct_TERMINAL_BIT )
|
||||
#define IS_PERM_TERM(mask) ( mask & _DtAct_PERM_TERM_BIT)
|
||||
|
||||
#define SET_NO_STDIO(mask) ( mask |= _DtAct_NO_STDIO_BIT )
|
||||
#define SET_TERMINAL(mask) ( mask |= _DtAct_TERMINAL_BIT )
|
||||
#define SET_PERM_TERM(mask) ( mask |= _DtAct_PERM_TERM_BIT )
|
||||
|
||||
#define RESET_NO_STDIO(mask) ( mask &= ~(_DtAct_NO_STDIO_BIT ))
|
||||
#define RESET_TERMINAL(mask) ( mask &= ~(_DtAct_TERMINAL_BIT ))
|
||||
#define RESET_PERM_TERM(mask) ( mask &= ~(_DtAct_PERM_TERM_BIT ))
|
||||
|
||||
#define IS_ARG_CLASS_FILE(mask) ( mask & _DtAct_ARG_CLASS_FILE_BIT )
|
||||
#define IS_ARG_CLASS_STRING(mask) ( mask & _DtAct_ARG_CLASS_STRING_BIT )
|
||||
#define IS_ARG_CLASS_BUFFER(mask) ( mask & _DtAct_ARG_CLASS_BUFFER_BIT )
|
||||
#define IS_ARG_CLASS_WILD(mask) ( mask & _DtAct_ARG_CLASS_WILD_BIT )
|
||||
|
||||
#define SET_ARG_CLASS_FILE(mask) ( mask |= _DtAct_ARG_CLASS_FILE_BIT )
|
||||
#define SET_ARG_CLASS_STRING(mask) ( mask |= _DtAct_ARG_CLASS_STRING_BIT)
|
||||
#define SET_ARG_CLASS_BUFFER(mask) ( mask |= _DtAct_ARG_CLASS_BUFFER_BIT)
|
||||
#define SET_ARG_CLASS_WILD(mask) ( mask |= _DtAct_ARG_CLASS_WILD_BIT )
|
||||
|
||||
#define RESET_ARG_CLASS_FILE(mask) (mask &= ~(_DtAct_ARG_CLASS_FILE_BIT))
|
||||
#define RESET_ARG_CLASS_STRING(mask) (mask &= ~(_DtAct_ARG_CLASS_STRING_BIT))
|
||||
#define RESET_ARG_CLASS_BUFFER(mask) (mask &= ~(_DtAct_ARG_CLASS_BUFFER_BIT))
|
||||
#define RESET_ARG_CLASS_WILD(mask) (mask &= ~(_DtAct_ARG_CLASS_WILD_BIT))
|
||||
|
||||
|
||||
#define IS_ARG_TYPE_WILD(mask) ( mask & _DtAct_ARG_TYPE_WILD_BIT )
|
||||
|
||||
#define SET_ARG_TYPE_WILD(mask) ( mask |= _DtAct_ARG_TYPE_WILD_BIT )
|
||||
|
||||
#define RESET_ARG_TYPE_WILD(mask) ( mask &= ~(_DtAct_ARG_TYPE_WILD_BIT))
|
||||
|
||||
#define IS_ARG_COUNT_GT(mask) ( mask & _DtAct_ARG_COUNT_GT_BIT )
|
||||
#define IS_ARG_COUNT_LT(mask) ( mask & _DtAct_ARG_COUNT_LT_BIT )
|
||||
#define IS_ARG_COUNT_EQ(mask) ( mask & _DtAct_ARG_COUNT_EQ_BIT )
|
||||
#define IS_ARG_COUNT_WILD(mask) ( mask & _DtAct_ARG_COUNT_WILD_BIT )
|
||||
|
||||
#define SET_ARG_COUNT_GT(mask) ( mask |= _DtAct_ARG_COUNT_GT_BIT )
|
||||
#define SET_ARG_COUNT_LT(mask) ( mask |= _DtAct_ARG_COUNT_LT_BIT )
|
||||
#define SET_ARG_COUNT_EQ(mask) ( mask |= _DtAct_ARG_COUNT_EQ_BIT )
|
||||
#define SET_ARG_COUNT_WILD(mask) ( mask |= _DtAct_ARG_COUNT_WILD_BIT )
|
||||
|
||||
#define RESET_ARG_COUNT_GT(mask) ( mask &= ~(_DtAct_ARG_COUNT_GT_BIT ))
|
||||
#define RESET_ARG_COUNT_LT(mask) ( mask &= ~(_DtAct_ARG_COUNT_LT_BIT ))
|
||||
#define RESET_ARG_COUNT_EQ(mask) ( mask &= ~(_DtAct_ARG_COUNT_EQ_BIT ))
|
||||
#define RESET_ARG_COUNT_WILD(mask) ( mask &= ~(_DtAct_ARG_COUNT_WILD_BIT ))
|
||||
|
||||
/*
|
||||
* Use of the logical "NOT" operator(!) instead of the bitwise negation
|
||||
* operator(~) is intentional in IS_ARG_NONE_FOUND.
|
||||
*/
|
||||
#define IS_ARG_NONE_FOUND(mask) !( mask & ( _DtAct_SINGLE_ARG_BIT \
|
||||
| _DtAct_MULTI_ARG_BIT ))
|
||||
#define IS_ARG_SINGLE_ARG(mask) ( mask & _DtAct_SINGLE_ARG_BIT )
|
||||
#define IS_ARG_MULTI_ARG(mask) ( mask & _DtAct_MULTI_ARG_BIT )
|
||||
|
||||
#define SET_ARG_NONE_FOUND(mask) ( mask &= ~( _DtAct_SINGLE_ARG_BIT \
|
||||
| _DtAct_MULTI_ARG_BIT ))
|
||||
#define SET_ARG_SINGLE_ARG(mask) ((mask |= _DtAct_SINGLE_ARG_BIT), \
|
||||
( mask &= ~(_DtAct_MULTI_ARG_BIT)))
|
||||
#define SET_ARG_MULTI_ARG(mask) ((mask |= _DtAct_MULTI_ARG_BIT), \
|
||||
( mask &= ~(_DtAct_SINGLE_ARG_BIT)))
|
||||
|
||||
#define RESET_ARG_SINGLE_ARG(mask) ( mask &= ~(_DtAct_SINGLE_ARG_BIT))
|
||||
#define RESET_ARG_MULTI_ARG(mask) ( mask &= ~(_DtAct_MULTI_ARG_BIT))
|
||||
|
||||
/*
|
||||
* ActionRequest structure mask bits
|
||||
*/
|
||||
|
||||
#define _DtAct_REPROCESSING_BIT (1<<20)
|
||||
#define _DtAct_TOO_MANY_MAPS_BIT (1<<21)
|
||||
#define _DtAct_CLONED_REQUEST_BIT (1<<22)
|
||||
|
||||
#define _DtAct_ACTION_REQUEST_BITS ( _DtAct_REPROCESSING_BIT \
|
||||
| _DtAct_TOO_MANY_MAPS_BIT \
|
||||
| _DtAct_CLONED_REQUEST_BIT )
|
||||
|
||||
#define IS_REPROCESSING(mask) ( mask & _DtAct_REPROCESSING_BIT )
|
||||
#define IS_TOO_MANY_MAPS(mask) ( mask & _DtAct_TOO_MANY_MAPS_BIT )
|
||||
#define IS_CLONED_REQUEST(mask) ( mask & _DtAct_CLONED_REQUEST_BIT )
|
||||
|
||||
#define SET_REPROCESSING(mask) ( mask |= _DtAct_REPROCESSING_BIT )
|
||||
#define SET_TOO_MANY_MAPS(mask) ( mask |= _DtAct_TOO_MANY_MAPS_BIT )
|
||||
#define SET_CLONED_REQUEST(mask) ( mask |= _DtAct_CLONED_REQUEST_BIT )
|
||||
|
||||
#define RESET_REPROCESSING(mask) ( mask &= ~(_DtAct_REPROCESSING_BIT))
|
||||
#define RESET_TOO_MANY_MAPS(mask) ( mask &= ~(_DtAct_TOO_MANY_MAPS_BIT))
|
||||
#define RESET_CLONED_REQUEST(mask) ( mask &= ~(_DtAct_CLONED_REQUEST_BIT))
|
||||
|
||||
|
||||
/*
|
||||
* ObjectData structure mask bits
|
||||
*
|
||||
*/
|
||||
|
||||
#define _DtAct_WRITE_OBJ_BIT (1<<23)
|
||||
#define _DtAct_FILE_OBJ_BIT (1<<24)
|
||||
#define _DtAct_BUFFER_OBJ_BIT (1<<25)
|
||||
#define _DtAct_STRING_OBJ_BIT (1<<26)
|
||||
#define _DtAct_DIR_OBJ_BIT (1<<27)
|
||||
#define _DtAct_UNKNOWN_IF_DIR_BIT (1<<28)
|
||||
|
||||
#define _DtAct_OBJ_DATA_BITS ( _DtAct_WRITE_OBJ_BIT \
|
||||
| _DtAct_FILE_OBJ_BIT \
|
||||
| _DtAct_DIR_OBJ_BIT \
|
||||
| _DtAct_BUFFER_OBJ_BIT \
|
||||
| _DtAct_STRING_OBJ_BIT \
|
||||
| _DtAct_UNKNOWN_IF_DIR_BIT )
|
||||
|
||||
#define IS_WRITE_OBJ(mask) ( mask & _DtAct_WRITE_OBJ_BIT )
|
||||
#define IS_FILE_OBJ(mask) ( mask & _DtAct_FILE_OBJ_BIT )
|
||||
#define IS_BUFFER_OBJ(mask) ( mask & _DtAct_BUFFER_OBJ_BIT )
|
||||
#define IS_STRING_OBJ(mask) ( mask & _DtAct_STRING_OBJ_BIT )
|
||||
#define IS_UNKNOWN_IF_DIR(mask) ( mask & _DtAct_UNKNOWN_IF_DIR_BIT )
|
||||
#define IS_DIR_OBJ(mask) ( mask & \
|
||||
( _DtAct_UNKNOWN_IF_DIR_BIT \
|
||||
| _DtAct_DIR_OBJ_BIT ) \
|
||||
== _DtAct_DIR_OBJ_BIT)
|
||||
|
||||
#define SET_WRITE_OBJ(mask) ( mask |= _DtAct_WRITE_OBJ_BIT )
|
||||
#define SET_FILE_OBJ(mask) ( mask |= _DtAct_FILE_OBJ_BIT )
|
||||
#define SET_BUFFER_OBJ(mask) ( mask |= _DtAct_BUFFER_OBJ_BIT )
|
||||
#define SET_STRING_OBJ(mask) ( mask |= _DtAct_STRING_OBJ_BIT )
|
||||
#define SET_DIR_OBJ(mask) ( mask |= _DtAct_DIR_OBJ_BIT )
|
||||
#define SET_UNKNOWN_IF_DIR(mask) ( mask |= _DtAct_UNKNOWN_IF_DIR_BIT)
|
||||
|
||||
#define RESET_WRITE_OBJ(mask) ( mask &= ~(_DtAct_WRITE_OBJ_BIT))
|
||||
#define RESET_FILE_OBJ(mask) ( mask &= ~(_DtAct_FILE_OBJ_BIT))
|
||||
#define RESET_BUFFER_OBJ(mask) ( mask &= ~(_DtAct_BUFFER_OBJ_BIT))
|
||||
#define RESET_STRING_OBJ(mask) ( mask &= ~(_DtAct_STRING_OBJ_BIT))
|
||||
#define RESET_DIR_OBJ(mask) ( mask &= ~(_DtAct_DIR_OBJ_BIT))
|
||||
#define RESET_UNKNOWN_IF_DIR(mask) ( mask &= ~(_DtAct_UNKNOWN_IF_DIR_BIT))
|
||||
|
||||
|
||||
/*
|
||||
* MsgComponent structure mask bits (shared with Object Data?)
|
||||
*/
|
||||
|
||||
#define _DtAct_TREAT_AS_FILE_BIT (1<<29)
|
||||
|
||||
#define _DtAct_MSG_COMP_BITS ( _DtAct_TREAT_AS_FILE_BIT )
|
||||
|
||||
#define IS_TREAT_AS_FILE(mask) ( mask & _DtAct_TREAT_AS_FILE_BIT )
|
||||
#define SET_TREAT_AS_FILE(mask) ( mask |= _DtAct_TREAT_AS_FILE_BIT)
|
||||
#define RESET_TREAT_AS_FILE(mask) ( mask &= ~(_DtAct_TREAT_AS_FILE_BIT))
|
||||
|
||||
|
||||
/* Keyword defines */
|
||||
|
||||
#define NO_KEYWORD -1
|
||||
#define LOCAL_HOST 0
|
||||
#define DATA_HOST 1
|
||||
#define DATABASE_HOST 2
|
||||
#define ARG 3
|
||||
#define DISPLAY_HOST 4
|
||||
#define LABEL 5
|
||||
#define SESSION_HOST 6
|
||||
|
||||
/* Special argNum values */
|
||||
|
||||
#define NO_ARG -1
|
||||
#define ALL_ARGS 0
|
||||
|
||||
/*
|
||||
* ToolTalk base representation type ( tt_argn_rep_type ) values
|
||||
*/
|
||||
#define DtACT_TT_REP_UNDEFINED 0
|
||||
#define DtACT_TT_REP_INT 1
|
||||
#define DtACT_TT_REP_BUFFER 2
|
||||
#define DtACT_TT_REP_STRING 3
|
||||
|
||||
/*
|
||||
* Resource name and class for the EXEC-HOST resource.
|
||||
*/
|
||||
#define DtEXEC_HOSTS_NAME "executionHosts"
|
||||
#define DtEXEC_HOSTS_CLASS "ExecutionHosts"
|
||||
#define DtEXEC_HOSTS_DEFAULT _DtACT_EXEC_HOST_DFLT
|
||||
|
||||
/* Flags to force special processing of filenames */
|
||||
#define _DTAct_TT_VTYPE 1 << 0
|
||||
#define _DTAct_TT_ARG 1 << 1
|
||||
|
||||
/* Structure used to hold the components of a message */
|
||||
|
||||
typedef struct {
|
||||
char *precedingText;
|
||||
char *prompt;
|
||||
int keyword;
|
||||
int argNum;
|
||||
unsigned long mask; /* replaces isFile, isBuffer, isString boolean */
|
||||
} MsgComponent;
|
||||
|
||||
|
||||
typedef struct {
|
||||
MsgComponent *parsedMessage;
|
||||
int numMsgParts;
|
||||
char *compiledMessage;
|
||||
int msgLen;
|
||||
} parsedMsg;
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Structs used during the invocation of an action. Once DtActionInvoke()
|
||||
* exits, these structs are generally freed.
|
||||
*
|
||||
*****************************************************************************/
|
||||
typedef struct {
|
||||
/*int winMask; ---> moved into the action mask*/
|
||||
parsedMsg execString;
|
||||
parsedMsg termOpts;
|
||||
char *contextDir;
|
||||
char *contextHost;
|
||||
parsedMsg execHosts;
|
||||
char **execHostArray;
|
||||
int execHostCount;
|
||||
} cmdAttr;
|
||||
|
||||
typedef struct {
|
||||
DtShmBoson map_action;
|
||||
} mapAttr;
|
||||
|
||||
typedef struct {
|
||||
int tt_class;
|
||||
int tt_scope;
|
||||
parsedMsg tt_op;
|
||||
parsedMsg tt_file; /* must be a single file name */
|
||||
int *tt_argn_mode;
|
||||
int mode_count;
|
||||
parsedMsg *tt_argn_vtype;
|
||||
int vtype_count;
|
||||
parsedMsg *tt_argn_value;
|
||||
int value_count;
|
||||
int *tt_argn_rep_type; /* INT, STRING, BUFFER or UNDEFINED */
|
||||
int rep_type_count;
|
||||
} tt_msgAttr;
|
||||
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
typedef struct {
|
||||
parsedMsg service; /* ICCCM service name */
|
||||
parsedMsg request; /* request name string */
|
||||
parsedMsg *argn_value;
|
||||
int value_count;
|
||||
|
||||
} dt_reqAttr;
|
||||
|
||||
typedef struct {
|
||||
parsedMsg ngroup; /* ICCCM notification group */
|
||||
parsedMsg notify; /* notification to be sent */
|
||||
parsedMsg *argn_value;
|
||||
int value_count;
|
||||
} dt_notifyAttr;
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
|
||||
|
||||
typedef struct {
|
||||
DtShmBoson action; /* Might just use a char * here? */
|
||||
DtDbPathId file_name_id; /* id of file wherein the action is defined */
|
||||
char *label; /* localizable action label string */
|
||||
char *description;
|
||||
DtShmBoson *arg_types;
|
||||
int type_count;
|
||||
int arg_count; /* Number of arguments accepted by the action */
|
||||
unsigned long mask; /* action mask -- class/type/arg info */
|
||||
union { /* attributes for the different action kinds */
|
||||
cmdAttr cmd;
|
||||
mapAttr map;
|
||||
tt_msgAttr tt_msg;
|
||||
#ifdef _DT_ALLOW_DT_MSGS
|
||||
dt_reqAttr dt_req;
|
||||
dt_notifyAttr dt_notify;
|
||||
#endif /* _DT_ALLOW_DT_MSGS */
|
||||
} u;
|
||||
} Action, *ActionPtr; /* new action structure and pointer */
|
||||
|
||||
|
||||
/* Structure used to hold each of the object components */
|
||||
|
||||
typedef struct {
|
||||
char * origFilename;
|
||||
char * baseFilename;
|
||||
char * origHostname;
|
||||
int hostIndex;
|
||||
int dirIndex;
|
||||
void * bp; /* pointer to original buffer -- tmp files only */
|
||||
int sizebp; /* size of original buf -- for tmp files only */
|
||||
} fileAttr;
|
||||
|
||||
typedef struct {
|
||||
char * string;
|
||||
} stringAttr;
|
||||
|
||||
typedef struct {
|
||||
int size;
|
||||
void *bp;
|
||||
} bufferAttr;
|
||||
|
||||
|
||||
typedef struct {
|
||||
DtShmBoson type;
|
||||
unsigned long mask;
|
||||
union {
|
||||
fileAttr file;
|
||||
stringAttr string;
|
||||
bufferAttr buffer;
|
||||
} u;
|
||||
} ObjectData;
|
||||
|
||||
|
||||
/*
|
||||
* Structure attached to the button callbacks in the
|
||||
* dialog used to collect missing parameters.
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
char *actionName;
|
||||
int objOffset;
|
||||
int objsUsed;
|
||||
int numObjects;
|
||||
ObjectData *objects;
|
||||
int numPromptInputs;
|
||||
char **promptInputs;
|
||||
int numHostNames;
|
||||
char **hostNames;
|
||||
int numDirNames;
|
||||
char **dirNames;
|
||||
char *termOpts;
|
||||
char *cwdHost;
|
||||
char *cwdDir;
|
||||
ActionPtr clonedAction;
|
||||
unsigned long mask;
|
||||
char *badHostList;
|
||||
char *currentHost;
|
||||
int hostIndex;
|
||||
char *execHost;
|
||||
DtActionInvocationID invocId;
|
||||
unsigned long childId;
|
||||
} ActionRequest;
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Structs used to maintain information on invoked actions until they
|
||||
* exit. A few select elements of the ActionRequest and Action structs
|
||||
* will be copied into these strcuts.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
******************************************************************************
|
||||
**
|
||||
** Major data-structure diagram for the DtAction invocation layer:
|
||||
**
|
||||
** _DtActInvRec <=== _DtActInvRecArray[ actInvRecArraySize ]
|
||||
** ------------------
|
||||
** | info per |
|
||||
** | DtActionInvoke |
|
||||
** |----------------|
|
||||
** | numChildren |
|
||||
** |----------------|
|
||||
** | childRecs[] | ===> _DtActChildRec
|
||||
** ------------------ ------------------
|
||||
** | info per |
|
||||
** | child request |
|
||||
** |----------------|
|
||||
** | *request | ===> ActionRequest
|
||||
** ------------------ ------------------
|
||||
** | info on users |
|
||||
** | action request |
|
||||
** |----------------|
|
||||
** Action <=== | *clonedAction |
|
||||
** ------------------ ------------------
|
||||
** |info on matching|
|
||||
** | actionDB entry |
|
||||
** |----------------|
|
||||
** | cmd/map/tt/dt |
|
||||
** | attributes of |
|
||||
** | resulting msg |
|
||||
** ------------------
|
||||
**
|
||||
** "ActionRequest" and "Action" were present in VUE 3.0, and have a
|
||||
** scratch-pad like function within DtActionInvoke() to get actions
|
||||
** started. They are not good long-term retainers of information.
|
||||
** Action and ActionRequest are in fact freed when DtActionInvoke()
|
||||
** exits.
|
||||
**
|
||||
** "_DtActInvRec" and "_DtActChildRec" have been introduced to retain
|
||||
** information for the entire life of the actions. Some of the
|
||||
** information from ActionRequest and Action will be copied (mirrored)
|
||||
** up to these structures.
|
||||
**
|
||||
******************************************************************************
|
||||
*****************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Child Status Macro Definitions -- These values are used in
|
||||
* the status word of the _DtActChildRec child record.
|
||||
*
|
||||
* ****** IMPORTANT NOTE *** IMPORTANT NOTE *** IMPORTANT NOTE ******
|
||||
*
|
||||
* The _DtActCHILD_ macros are also used in cde1/dtexec/Main.c
|
||||
* in the _DtActDtexecDone(Request) message, so in effect they
|
||||
* are also protocol constants that should *never* be changed.
|
||||
* If changed, libDtSvc and dtexec may mis-communicate status.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define _DtActCHILD_UNKNOWN (1<<0) /* 1 - child status unknown */
|
||||
#define _DtActCHILD_PENDING_START (1<<1) /* 2 - child start pending */
|
||||
#define _DtActCHILD_ALIVE_UNKNOWN (1<<2) /* 4 - child alive but unknown*/
|
||||
#define _DtActCHILD_ALIVE (1<<3) /* 8 - child alive and well */
|
||||
#define _DtActCHILD_DONE (1<<4) /* 16 - child done */
|
||||
#define _DtActCHILD_FAILED (1<<5) /* 32 - child failed */
|
||||
#define _DtActCHILD_CANCELED (1<<6) /* 64 - child canceled */
|
||||
|
||||
#define _DtActCHILD_DONE_BITS ( (_DtActCHILD_DONE) | \
|
||||
(_DtActCHILD_FAILED) | \
|
||||
(_DtActCHILD_CANCELED) )
|
||||
|
||||
/*** IMPORTANT NOTE ABOVE *** IMPORTANT NOTE ABOVE *** IMPORTANT NOTE ABOVE ***/
|
||||
|
||||
|
||||
#define ARE_CHILDREN_DONE(mask) ( (mask) & _DtActCHILD_DONE_BITS )
|
||||
|
||||
#define IS_CHILD_UNKNOWN(mask) ( (mask) == _DtActCHILD_UNKNOWN )
|
||||
#define IS_CHILD_PENDING_START(mask) ( (mask) & _DtActCHILD_PENDING_START )
|
||||
#define IS_CHILD_DONE(mask) ( (mask) & _DtActCHILD_DONE)
|
||||
#define IS_CHILD_FAILED(mask) ( (mask) & _DtActCHILD_FAILED)
|
||||
#define IS_CHILD_CANCELED(mask) ( (mask) & _DtActCHILD_CANCELED)
|
||||
#define IS_CHILD_ALIVE(mask) ( (mask) & _DtActCHILD_ALIVE)
|
||||
#define IS_CHILD_ALIVE_UNKOWN(mask) ( (mask) & _DtActCHILD_ALIVE_UNKNOWN)
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Information per child of DtActionInvoke()
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Structure useed to map returnable arguments to the child argument list.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int argN; /* Nth returned value (0 based for tooltalk) */
|
||||
int argIdx; /* Nth child argument */
|
||||
} _DtActArgMap;
|
||||
|
||||
typedef struct {
|
||||
unsigned long childId; /* serial # with DtActInvId */
|
||||
unsigned long childState; /* child state */
|
||||
|
||||
/*
|
||||
* Information cloned from "ActionRequest *req"
|
||||
*/
|
||||
int numObjects; /* number of child args */
|
||||
_DtActArgMap *argMap; /* map of returnable args to chd args */
|
||||
|
||||
/*
|
||||
* Information cloned from "ActionPtr clonedAction"
|
||||
*/
|
||||
unsigned long mask; /* action type - IS_xxx() */
|
||||
|
||||
/* a list of tmp file names 5/11/94 --tomg */
|
||||
|
||||
union {
|
||||
struct { /* COMMAND elements */
|
||||
char *TTProcId; /* TT procID handle to child */
|
||||
Tt_message reqMessage; /* Initiator TT Request */
|
||||
Tt_pattern magic_cookie; /* dtexec to libDtSvc cookie */
|
||||
} cmd;
|
||||
struct { /* TT_MSG elements */
|
||||
char *TTProcId; /* TT procID handle to child */
|
||||
Tt_message reqMessage; /* Initiator TT Request */
|
||||
int isTtMedia; /* handled by ttmedia_load ? */
|
||||
Tttk_op TtMediaOp; /* if ttmedia_load, the op */
|
||||
Tt_pattern *subConPats; /* for subcontract_manage */
|
||||
} tt;
|
||||
} u;
|
||||
|
||||
} _DtActChildRecT;
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Invocation Status Macro Definitions -- These values are used in
|
||||
* the state word of the _DtActInvRec invocation record.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define _DtActINV_UNKNOWN 0 /* unknown invocation status */
|
||||
#define _DtActINV_ERROR (1<<0) /* invocation error detected */
|
||||
#define _DtActINV_CANCEL (1<<1) /* trying to cancel invocation*/
|
||||
#define _DtActINV_PENDING (1<<2) /* invocation pending */
|
||||
#define _DtActINV_WORKING (1<<3) /* invocation in process */
|
||||
#define _DtActINV_DONE (1<<4) /* invocation step done */
|
||||
#define _DtActINV_COMPLETE (1<<5) /* invocation steps all done */
|
||||
#define _DtActINV_CB_CALLED (1<<6) /* invocation callback called */
|
||||
#define _DtActINV_ID_RETURNED (1<<7) /* invocation id has returned */
|
||||
#define _DtActINV_CMD_QUEUED (1<<8) /* command has been queued */
|
||||
#define _DtActINV_INDICATOR_ON (1<<9) /* busy indicator active bit */
|
||||
|
||||
#define SET_INV_UNKNOWN(mask) (mask = 0)
|
||||
|
||||
#define SET_INV_ERROR(mask) (mask |= _DtActINV_ERROR)
|
||||
#define SET_INV_CANCEL(mask) (mask |= _DtActINV_CANCEL)
|
||||
#define SET_INV_PENDING(mask) (mask |= _DtActINV_PENDING)
|
||||
#define SET_INV_WORKING(mask) (mask |= _DtActINV_WORKING)
|
||||
#define SET_INV_DONE(mask) (mask |= _DtActINV_DONE)
|
||||
#define SET_INV_COMPLETE(mask) (mask |= _DtActINV_COMPLETE)
|
||||
#define SET_INV_CB_CALLED(mask) (mask |= _DtActINV_CB_CALLED)
|
||||
#define SET_INV_ID_RETURNED(mask) (mask |= _DtActINV_ID_RETURNED)
|
||||
#define SET_INV_CMD_QUEUED(mask) (mask |= _DtActINV_CMD_QUEUED)
|
||||
#define SET_INV_INDICATOR_ON(mask) (mask |= _DtActINV_INDICATOR_ON)
|
||||
|
||||
#define RESET_INV_ERROR(mask) (mask &= ~(_DtActINV_ERROR))
|
||||
#define RESET_INV_CANCEL(mask) (mask &= ~(_DtActINV_CANCEL))
|
||||
#define RESET_INV_PENDING(mask) (mask &= ~(_DtActINV_PENDING))
|
||||
#define RESET_INV_WORKING(mask) (mask &= ~(_DtActINV_WORKING))
|
||||
#define RESET_INV_COMPLETE(mask) (mask &= ~(_DtActINV_COMPLETE))
|
||||
#define RESET_INV_DONE(mask) (mask &= ~(_DtActINV_DONE))
|
||||
#define RESET_INV_CB_CALLED(mask) (mask &= ~(_DtActINV_CB_CALLED))
|
||||
#define RESET_INV_ID_RETURNED(mask) (mask &= ~(_DtActINV_ID_RETURNED))
|
||||
#define RESET_INV_CMD_QUEUED(mask) (mask &= ~(_DtActINV_CMD_QUEUED))
|
||||
#define RESET_INV_INDICATOR_ON(mask) (mask &= ~(_DtActINV_INDICATOR_ON))
|
||||
|
||||
#define IS_INV_FINISHED(mask) ( !((mask) & _DtActINV_CMD_QUEUED) \
|
||||
&& ((mask) & (_DtActINV_COMPLETE \
|
||||
| _DtActINV_CANCEL)) )
|
||||
#define IS_INV_UNKNOWN(mask) ( (mask) == _DtActINV_UNKNOWN )
|
||||
|
||||
#define IS_INV_ERROR(mask) ((mask) & _DtActINV_ERROR )
|
||||
#define IS_INV_CANCEL(mask) ((mask) & _DtActINV_CANCEL )
|
||||
#define IS_INV_PENDING(mask) ((mask) & _DtActINV_PENDING )
|
||||
#define IS_INV_WORKING(mask) ((mask) & _DtActINV_WORKING )
|
||||
#define IS_INV_DONE(mask) ((mask) & _DtActINV_DONE )
|
||||
#define IS_INV_COMPLETE(mask) ((mask) & _DtActINV_COMPLETE )
|
||||
#define IS_INV_CB_CALLED(mask) ((mask) & _DtActINV_CB_CALLED )
|
||||
#define IS_INV_ID_RETURNED(mask) ((mask) & _DtActINV_ID_RETURNED )
|
||||
#define IS_INV_CMD_QUEUED(mask) ((mask) & _DtActINV_CMD_QUEUED )
|
||||
#define IS_INV_INDICATOR_ON(mask) ((mask) & _DtActINV_INDICATOR_ON )
|
||||
|
||||
#define CALL_INV_CB(mask) ((IS_INV_FINISHED(mask)) && \
|
||||
(IS_INV_ID_RETURNED(mask)) && \
|
||||
!(IS_INV_CB_CALLED(mask)))
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Information per DtActionInvoke()
|
||||
*
|
||||
* Note: For TT_MSG(NOTICE)'s during CDE 1.0, this struct will disappear
|
||||
* immediately after the NOTICEs are sent.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
typedef struct {
|
||||
unsigned long mask; /* encodes object class and writable flag */
|
||||
int size; /* original size (buffers only) */
|
||||
char *type; /* original type (buffers only) */
|
||||
char *name; /* encodes (tmp) file name associated with the
|
||||
object (if any) */
|
||||
} _DtActArgInfo;
|
||||
|
||||
typedef struct {
|
||||
DtActionStatus userStatus;
|
||||
DtActionArg *newArgp;
|
||||
int newArgc;
|
||||
} _DtActUpdateCache;
|
||||
|
||||
typedef struct _DtActInvRec {
|
||||
unsigned long state; /* invocation state */
|
||||
DtActionInvocationID id; /* identifying invocation ID */
|
||||
Widget w; /* users widget id */
|
||||
DtActionCallbackProc cb; /* users callback */
|
||||
XtPointer client_data; /* users client data for cb */
|
||||
_DtActArgInfo *info; /* template w/ .argClass info */
|
||||
int ac; /* original # of arguments */
|
||||
int numChildren; /* number of childRec's. */
|
||||
_DtActChildRecT **childRec; /* array of child Rec's */
|
||||
int cachedUploadCnt;/* cached callback updates */
|
||||
_DtActUpdateCache *cachedUploads; /* data for */
|
||||
} _DtActInvRecT;
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Structs for dialogs/prompts
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/* Structure used to hold a prompt string destined for a dialog */
|
||||
|
||||
typedef struct {
|
||||
int argIndex;
|
||||
char *prompt;
|
||||
} PromptEntry;
|
||||
|
||||
|
||||
/* Structure used to contain prompt dialog information */
|
||||
|
||||
typedef struct {
|
||||
int argIndex;
|
||||
Widget promptWidget;
|
||||
} DialogPromptEntry;
|
||||
|
||||
typedef struct {
|
||||
ActionRequest * request;
|
||||
Widget topLevel;
|
||||
Widget associatedWidget;
|
||||
int numPrompts;
|
||||
DialogPromptEntry * prompts;
|
||||
} PromptDialog;
|
||||
|
||||
|
||||
/* Structure used to contain abort/continue dialog information */
|
||||
|
||||
typedef struct {
|
||||
ActionRequest * request;
|
||||
Widget topLevel;
|
||||
Widget associatedWidget;
|
||||
int numPrompts;
|
||||
PromptEntry * prompts;
|
||||
} ContinueDialog;
|
||||
|
||||
|
||||
/* Structure passed to request passed/failed callbacks */
|
||||
|
||||
typedef struct {
|
||||
Widget associatedWidget;
|
||||
char *actionLabel;
|
||||
int offset;
|
||||
ActionPtr actionPtr; /* Ptr to the action that
|
||||
was invoked. */
|
||||
ActionRequest *requestPtr;
|
||||
DtActionInvocationID actInvId; /* A standard invocation id */
|
||||
unsigned long childId; /* An id to further identify
|
||||
children of actInvId */
|
||||
} CallbackData;
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Private External Function Declarations -- not for public consumption
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
extern void _DtFreeActionStruct( ActionPtr action) ;
|
||||
|
||||
#endif /* _ActionP_h */
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
@@ -1,114 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: ActionUtilP.h /main/3 1995/10/26 15:01:19 rswiston $ */
|
||||
/************************************<+>*************************************
|
||||
****************************************************************************
|
||||
**
|
||||
** File: ActionUtilP.h
|
||||
**
|
||||
** Project: DT
|
||||
**
|
||||
** Description: Private include file for the Action Library Utilities.
|
||||
**
|
||||
**
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Novell, Inc.
|
||||
****************************************************************************
|
||||
************************************<+>*************************************/
|
||||
|
||||
#ifndef _ActionUtilP_h
|
||||
#define _ActionUtilP_h
|
||||
|
||||
#include <X11/Intrinsic.h> /* for Display struct definition */
|
||||
#include "ActionP.h"
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Macro to protect against sending a NULL pointer to certain
|
||||
* library functions (i.e. sprintf, strlen, ...) with on some
|
||||
* systems choke on a NULL pointer.
|
||||
*
|
||||
****************************************************************************/
|
||||
#define _DtActNULL_GUARD(s) ((s) ? (s) : "")
|
||||
|
||||
/******************************************************************************
|
||||
External Utility Function Declarations
|
||||
|
||||
These functions are for internal use and are not part of the
|
||||
public Action API. Each of the following functions returns a
|
||||
newly allocated version of the desired string. It is up to the
|
||||
caller to free the strings obtained.
|
||||
******************************************************************************/
|
||||
|
||||
extern char *_DtBasename(const char *s);
|
||||
extern char *_DtDirname(const char *s);
|
||||
extern char *_DtPathname(const char *s);
|
||||
extern char *_DtHostString(const char *s);
|
||||
extern char *_DtGetSessionHostName( void );
|
||||
extern char *_DtGetDisplayHostName( Display *d);
|
||||
extern char *_DtGetLocalHostName( void );
|
||||
extern char *_DtGetExecHostsDefault (void);
|
||||
extern char *_DtGetActionIconDefault (void);
|
||||
extern char *_DtGetDtTmpDir(void);
|
||||
extern char *_DtActGenerateTmpFile(char *dir,
|
||||
char *format,
|
||||
mode_t mode,
|
||||
int *fd );
|
||||
extern int _DtIsSameHost( const char *host1, const char *host2 );
|
||||
extern void _DtRemoveTrailingBlanksInPlace(char **s);
|
||||
extern int _DtExecuteAccess(const char *path);
|
||||
|
||||
extern DtActionInvocationID _DtActAllocID();
|
||||
extern _DtActInvRecT *_DtActAllocInvRec();
|
||||
extern _DtActChildRecT *_DtActAllocChildRec( _DtActInvRecT *recp );
|
||||
extern int _DtActDeleteInvRec( DtActionInvocationID id);
|
||||
extern _DtActInvRecT *_DtActFindInvRec( DtActionInvocationID id);
|
||||
extern _DtActChildRecT *_DtActFindChildRec(
|
||||
DtActionInvocationID id,
|
||||
unsigned long childId);
|
||||
extern unsigned long _DtActEvalChildren(DtActionInvocationID id);
|
||||
extern void _DtActExecutionLeafNodeCleanup(
|
||||
DtActionInvocationID id,
|
||||
DtActionArg *newArgp,
|
||||
int newArgc,
|
||||
int respectQuitBlock);
|
||||
extern DtActionArg *_DtActMallocEmptyArgArray(int ac);
|
||||
extern void _DtActFreeArgArray( DtActionArg *argp, int ac );
|
||||
extern void *_DtActReadTmpFileToBuffer (
|
||||
char *fname,
|
||||
int *sizep);
|
||||
extern int _DtActGetCmdReturnArgs (
|
||||
DtActionInvocationID invId,
|
||||
_DtActChildRecT *childp,
|
||||
DtActionArg **aargv );
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
|
||||
#endif /* _ActionUtilP_h */
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
|
||||
|
||||
@@ -1,199 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: CmdInv.h /main/6 1996/01/23 10:41:03 barstow $ */
|
||||
/***************************************************************************
|
||||
*
|
||||
* File: CmdInv.h
|
||||
* Description: Public header for the command invocation system.
|
||||
* Language: C
|
||||
*
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Novell, Inc.
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _CmdInv_h
|
||||
#define _CmdInv_h
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <Dt/Message.h>
|
||||
#include <Dt/Spc.h>
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* DtCmdInvExecuteProc - This type is is used to define the parameters
|
||||
* needed in the callback functions for success and failure notification
|
||||
* of a Command Invoker execution call.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
typedef void (*DtCmdInvExecuteProc) (
|
||||
char *message, /* NULL if the request is successful.
|
||||
* Otherwise an error message. */
|
||||
void *client_data
|
||||
);
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Function: void _DtInitializeCommandInvoker (
|
||||
* Display *display,
|
||||
* char *toolClass,
|
||||
* char *applicationClass,
|
||||
* DtSvcReceiveProc reloadDBHandler,
|
||||
* XtAppContext appContext)
|
||||
*
|
||||
* Parameters:
|
||||
*
|
||||
* display - The X server display connection.
|
||||
*
|
||||
* toolClass - The BMS tool class of the client.
|
||||
*
|
||||
* applicationClass - The application class of the client (see
|
||||
* XtInitialize). This is needed to add the
|
||||
* Command Invoker's resources to the client's
|
||||
* resources.
|
||||
*
|
||||
* reloadDBHandler - Function to be called if a RELOAD-TYPES-DB
|
||||
* request is made. If the client does not read
|
||||
* DT action and/or filetype databases, NULL must
|
||||
* be used.
|
||||
*
|
||||
* appContext - The client's application context. Must be NULL
|
||||
* if the client does not use an application
|
||||
* context.
|
||||
*
|
||||
* Purpose:
|
||||
*
|
||||
* This function allows a client to internalize the functionality
|
||||
* of the DT "Command Invoker". By using this library and the
|
||||
* Action Library, requests for the Command Invoker will be done
|
||||
* internally instead of sending a request to a separate Command
|
||||
* Invoker process.
|
||||
*
|
||||
* For local execution, the "fork" and "execvp" system calls are
|
||||
* used. For remote execution, the "SPCD" is used.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
extern void
|
||||
_DtInitializeCommandInvoker(
|
||||
Display *display,
|
||||
char *toolClass,
|
||||
char *applicationClass,
|
||||
DtSvcReceiveProc reloadDBHandler,
|
||||
XtAppContext appContext);
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Function: void _DtCommandInvokerExecute (
|
||||
* char *request_name,
|
||||
* char *context_host,
|
||||
* char *context_dir,
|
||||
* char *context_file,
|
||||
* char *exec_parameters,
|
||||
* char *exec_host,
|
||||
* char *exec_string,
|
||||
* DtCmdInvExecProc success_proc,
|
||||
* void *success_data,
|
||||
* DtCmdInvExecProc failure_proc,
|
||||
* void *failure_data)
|
||||
*
|
||||
* Parameters:
|
||||
*
|
||||
* request_name - The request name (defined in "CommandM.h").
|
||||
*
|
||||
* context_host - Name of the host where request is executed from. If
|
||||
* NULL, the "exec_host" parameter is used. Note: this
|
||||
* should not be confused with execution host, described
|
||||
* below.
|
||||
*
|
||||
* context_dir - Directory where the request should be executed. If
|
||||
* NULL, the HOME directory is used.
|
||||
*
|
||||
* context_file - Not currently used by the Command Invoker.
|
||||
*
|
||||
* exec_parameters - Command Invoker execution parameters. See External
|
||||
* Specification for more information.
|
||||
* If set to NULL, "-" is used.
|
||||
*
|
||||
* exec_host - Name of the host where the request is executed.
|
||||
*
|
||||
* exec_string - The command line to execute.
|
||||
*
|
||||
* success_proc - The function to be invoked if the request is
|
||||
* successfully executed.
|
||||
*
|
||||
* success_data - Client data for successful execution.
|
||||
*
|
||||
* failure_proc - The function to be invoked if an attempt to exeucte
|
||||
* the request fails.
|
||||
*
|
||||
* failure_data - Client data for unsuccessful execution.
|
||||
*
|
||||
* Purpose:
|
||||
*
|
||||
* This function allows a client to use the DT "Command Invoker"
|
||||
* Library for its' process execution. This function is intended
|
||||
* for processes which do not use the Action Library.
|
||||
*
|
||||
* For local execution, the "fork" and "execvp" system calls are
|
||||
* used. For remote execution, the "SPCD" is used.
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
* This function must be preceded by a call to
|
||||
* "_DtInitializeCommandInvoker".
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
extern void
|
||||
_DtCommandInvokerExecute(
|
||||
char *request_name,
|
||||
char *context_host,
|
||||
char *context_dir,
|
||||
char *context_file,
|
||||
char *exec_parameters,
|
||||
char *exec_host,
|
||||
char *exec_string,
|
||||
DtCmdInvExecuteProc success_proc,
|
||||
void *success_data,
|
||||
DtCmdInvExecuteProc failure_proc,
|
||||
void *failure_data);
|
||||
|
||||
extern SPC_Channel_Ptr _DtSPCOpen( char *hostname,
|
||||
int iomode,
|
||||
char *errorMessage); /* MODIFIED */
|
||||
|
||||
extern int _DtSPCSpawn(
|
||||
char *path,
|
||||
char *context,
|
||||
char **args,
|
||||
char **env,
|
||||
SPC_Channel_Ptr chan,
|
||||
char *execHost,
|
||||
char *contextHost,
|
||||
char *contextDir,
|
||||
char *errorMessage); /* MODIFIED */
|
||||
|
||||
#endif /* _CmdInv_h */
|
||||
@@ -1,206 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: CmdInvP.h /main/5 1998/07/30 12:10:30 mgreess $ */
|
||||
/***************************************************************************
|
||||
*
|
||||
* File: CmdInvP.h
|
||||
* Description: Command execution system private externs and includes
|
||||
* Language: C
|
||||
*
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Novell, Inc.
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _CmdInvP_h
|
||||
#define _CmdInvP_h
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/param.h> /* MAXPATHNAMELEN */
|
||||
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
#include <Dt/DtP.h>
|
||||
#include <Dt/DtNlUtils.h>
|
||||
#include <Dt/Message.h>
|
||||
#include <bms/SbEvent.h>
|
||||
#include <bms/XeUserMsg.h>
|
||||
#include <Dt/Spc.h>
|
||||
#include <Dt/CmdInv.h>
|
||||
#include <Dt/ActionP.h>
|
||||
#include <Dt/Connect.h>
|
||||
|
||||
#ifndef CDE_INSTALLATION_TOP
|
||||
#define CDE_INSTALLATION_TOP "/opt/dt"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Resource names and classes for the Command Invoker.
|
||||
*/
|
||||
#define DtLOCAL_TERMINAL_NAME "localTerminal"
|
||||
#define DtLOCAL_TERMINAL_CLASS "LocalTerminal"
|
||||
|
||||
#define DtREMOTE_TERMINALS_NAME "remoteTerminals"
|
||||
#define DtREMOTE_TERMINALS_CLASS "RemoteTerminals"
|
||||
|
||||
#define DtWAIT_TIME_NAME "waitTime"
|
||||
#define DtWAIT_TIME_CLASS "WaitTime"
|
||||
|
||||
#define DtDTEXEC_PATH_NAME "dtexecPath"
|
||||
#define DtDTEXEC_PATH_CLASS "DtexecPath"
|
||||
|
||||
#define DtEXECUTION_HOST_LOGGING_NAME "executionHostLogging"
|
||||
#define DtEXECUTION_HOST_LOGGING_CLASS "ExecutionHostLogging"
|
||||
|
||||
|
||||
/*
|
||||
* Structure for saving the "state" of a remote request that is
|
||||
* queued while waiting for a remote subprocess to terminate.
|
||||
*/
|
||||
typedef struct _Cmd_RequestQueue {
|
||||
SPC_Channel_Ptr channel;
|
||||
char *context;
|
||||
char *exec_host;
|
||||
char *exec_string;
|
||||
char **argv;
|
||||
int winType;
|
||||
unsigned long request_num;
|
||||
DtSvcMsgContext replyContext;
|
||||
DtCmdInvExecuteProc success_proc;
|
||||
void *success_data;
|
||||
DtCmdInvExecuteProc failure_proc;
|
||||
void *failure_data;
|
||||
struct _Cmd_RequestQueue *next;
|
||||
} Cmd_RequestQueue;
|
||||
|
||||
/*
|
||||
* Command invocation resources.
|
||||
*/
|
||||
typedef struct {
|
||||
char *localTerminal;
|
||||
char **remoteHosts;
|
||||
char **remoteTerminals;
|
||||
int waitTime;
|
||||
char *dtexecPath;
|
||||
Boolean executionHostLogging;
|
||||
} Cmd_Resources;
|
||||
|
||||
/*
|
||||
* Command invocation global variables.
|
||||
*/
|
||||
typedef struct {
|
||||
Boolean terminal_ok;
|
||||
Boolean subprocess_ok;
|
||||
XtAppContext app_context;
|
||||
char **path_list;
|
||||
char *error_directory_name_map;
|
||||
char *error_subprocess;
|
||||
char *error_terminal;
|
||||
} Cmd_Globals;
|
||||
|
||||
/*
|
||||
* Defaults for the Resources.
|
||||
*/
|
||||
#define DtWAIT_TIME_DEFAULT 3 /* In seconds. */
|
||||
#define DtTERMINAL_DEFAULT "dtterm"
|
||||
|
||||
#define DtCMD_INV_SUB_PROCESS CDE_INSTALLATION_TOP "/bin/dtexec"
|
||||
|
||||
/*
|
||||
* Temporary buffer size.
|
||||
*/
|
||||
#define MAX_BUF_SIZE 1024
|
||||
|
||||
/*
|
||||
* Window types:
|
||||
*/
|
||||
#define NO_STDIO 0
|
||||
#define TERMINAL 1
|
||||
#define PERM_TERMINAL 2
|
||||
|
||||
/*
|
||||
* Command execution return status:
|
||||
*/
|
||||
#define _CMD_EXECUTE_SUCCESS 1
|
||||
#define _CMD_EXECUTE_FAILURE 2
|
||||
#define _CMD_EXECUTE_QUEUED 3
|
||||
#define _CMD_EXECUTE_FATAL 4
|
||||
|
||||
/*
|
||||
* External declarations for the global Command Invoker variables.
|
||||
*/
|
||||
extern Cmd_Resources cmd_Resources;
|
||||
extern Cmd_Globals cmd_Globals;
|
||||
|
||||
/*
|
||||
******* Public Function Declarations for CmdSpc.c *******
|
||||
*/
|
||||
|
||||
extern SbInputId _DtCmdSPCAddInputHandler (
|
||||
int fd,
|
||||
SbInputCallbackProc proc,
|
||||
void *data);
|
||||
extern SbInputId _DtCmdSPCAddExceptionHandler (
|
||||
int fd,
|
||||
SbInputCallbackProc proc,
|
||||
void *data);
|
||||
extern void _DtCmdLogErrorMessage(
|
||||
char *message) ;
|
||||
|
||||
|
||||
/*
|
||||
******* Public Function Declarations for CmdProcess.c *******
|
||||
*/
|
||||
|
||||
extern void _DtCmdCreateTerminalCommand(
|
||||
char **theCommand,
|
||||
int windowType,
|
||||
char *execString,
|
||||
char *execParms,
|
||||
char *execHost,
|
||||
char *procId,
|
||||
char *tmpFiles) ;
|
||||
extern Boolean _DtCmdCheckForExecutable(
|
||||
char *fileName) ;
|
||||
extern Boolean _DtCmdValidDir(
|
||||
char *clientHost,
|
||||
char *contextDir,
|
||||
char *contextHost) ;
|
||||
extern void _DtCmdGetResources(
|
||||
Display *display);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
******* Public Function Declarations for CmdUtilityP.c *******
|
||||
*/
|
||||
|
||||
extern void _DtCmdBuildPathList( void ) ;
|
||||
|
||||
/******** End Public Function Declarations ********/
|
||||
|
||||
#endif /* _CmdInvP_h */
|
||||
@@ -1,188 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*
|
||||
* File: DbReader.h $XConsortium: DbReader.h /main/4 1995/10/26 15:03:35 rswiston $
|
||||
*
|
||||
* Description: Public include file for the database reader.
|
||||
*
|
||||
* (c) Copyright 1987, 1988, 1989 by Hewlett-Packard Company
|
||||
*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp. *
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
|
||||
* (c) Copyright 1993, 1994 Novell, Inc. *
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _Dt_DbReader_h
|
||||
#define _Dt_DbReader_h
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xresource.h>
|
||||
#include <Dt/DbUtil.h>
|
||||
|
||||
#define DTRECORDIDENTIFIER NULL
|
||||
#define DTUNLIMITEDFIELDS 0
|
||||
|
||||
/* one set of attribute/pair */
|
||||
typedef struct
|
||||
{
|
||||
XrmQuark fieldName;
|
||||
char *fieldValue;
|
||||
} DtDtsDbField;
|
||||
|
||||
/*
|
||||
* Opaque identifier used for identifying a database file name. The opaque
|
||||
* identifier can be converted to an ascii string, using the function
|
||||
* _DtDbPathIdToString().
|
||||
*/
|
||||
#define DtDbPathId long
|
||||
|
||||
/*
|
||||
* All record converters should expect to be called with the parameters
|
||||
* indicated below:
|
||||
*
|
||||
* fields: This is an array of keyword/value pair strings, each
|
||||
* representing one field value for this database record. NOTE:
|
||||
* the keywords have not been validated; this is the
|
||||
* responsibility of the converter, and is usually accomplished
|
||||
* by calling _DtValidateFieldNames(). The array is NULL
|
||||
* terminated, with the last entry having both the 'fieldName'
|
||||
* and 'fieldValue' pointers set to NULL. The first entry always
|
||||
* represents the record identifier, with the 'fieldName' set
|
||||
* to the record type string, and the 'fieldValue' set to any
|
||||
* remaining data specified on the record identifier line.
|
||||
*
|
||||
* pathId: Is an opaque identifier, which can be used to retrieve the name
|
||||
* of the database file from which this record was obtained. By
|
||||
* calling _DtDbPathIdToString(), the database file, in
|
||||
* "host:/path" format, can be obtained.
|
||||
*
|
||||
* hostPrefix: If the database file was loaded from a machine other than the
|
||||
* local machine, then this string indicates the host prefix, in
|
||||
* "/nfs/<host>" format. If the host was the local host, then
|
||||
* this value is set to NULL.
|
||||
*
|
||||
* rejectionStatus: This flag indicates whether any of the earlier record
|
||||
* converters had rejected this entry. Certain classes
|
||||
* of converters may choose to ignore entries if they
|
||||
* had already been rejected.
|
||||
*
|
||||
* It is the responsibility of the converter to perform any necessary
|
||||
* verification of the passed in set of keywords; the function
|
||||
* _DtValidateFieldNames() is provided as a convenience function for performing
|
||||
* this type of validation. Typically, the converter will write an error to
|
||||
* the user's errorlog file, if an invalid record is encountered.
|
||||
*
|
||||
* It is also the responsibility of the converter to allocate any memory needed
|
||||
* to store the new record. The strings contained within the 'fields' array
|
||||
* will all be freed when the converter returns to _DtDbRead(), so the
|
||||
* converter should make copies of any information it wishes to use in the
|
||||
* future. The converter is also responsible for adding the new record to
|
||||
* whatever storage array it is using to save record information.
|
||||
*
|
||||
* If the converter decides to reject the record, then it should return a
|
||||
* 'True' value. If the record was acceptable, then 'False' should be
|
||||
* returned.
|
||||
*/
|
||||
typedef Boolean (*DtDbConverter) (DtDtsDbField * fields,
|
||||
DtDbPathId pathId,
|
||||
char * hostPrefix,
|
||||
Boolean rejectionStatus);
|
||||
|
||||
/*
|
||||
* This structure defines each record type which should be loaded by
|
||||
* _DtDbRead(). Since _DtDbRead() is capable of loading multiple record types
|
||||
* (i.e ACTION, DATA_CRITERIA, etc) in a single pass, the invoking function will
|
||||
* pass in an array of these structures, for which each element will define a
|
||||
* record type which should be loaded. Each record definition requires the
|
||||
* following information:
|
||||
*
|
||||
* recordKeyword: This is the keyword which uniquely identifies the record
|
||||
* which matches this definition. Examples are "ACTION" and
|
||||
* "DATA_CRITERIA".
|
||||
*
|
||||
* maxFields: Indicates the maximum number of fields which is expected
|
||||
* by this record type; typically, this corresponds to the
|
||||
* number of distinct field keywords supported by this type
|
||||
* of record. This feature is used to prevent runaway database
|
||||
* records from getting out of hand; a runaway database record
|
||||
* typically occurs when the user forgets to include line
|
||||
* continuation characters, and a long 'description' field
|
||||
* is entered. If this parameter is set to
|
||||
* DTUNLIMITEDFIELDS, then the check for runaway records
|
||||
* will be disabled for records of this type.
|
||||
*
|
||||
* converters: This is a NULL-terminated array of function pointers,
|
||||
* corresponding to the set of record converters which will
|
||||
* be called, whenever a record of this type is encountered.
|
||||
* The converters are called in order, and all converters will
|
||||
* be called, even if an earlier one rejects the record. The
|
||||
* last entry in the array must be set to NULL.
|
||||
*/
|
||||
typedef struct {
|
||||
char * recordKeyword;
|
||||
int maxFields;
|
||||
DtDbConverter * converters;
|
||||
} DtDbRecordDesc;
|
||||
|
||||
|
||||
/*
|
||||
* _DtDbRead() is the function which causes the specified set of directories to
|
||||
* be searched for files ending with the specified suffix. Although not
|
||||
* required, the set of directories to search is typically obtained by calling
|
||||
* _DtGetDatabaseDirPaths(). This function supports the loading of multiple
|
||||
* field types, all in a single pass of the database files. This function does
|
||||
* not attempt to manage the memory used to store the information extracted from
|
||||
* the database files; it is the responsibility of the function calling this
|
||||
* procedure to initialize any storage, and it is the responsibility of the
|
||||
* record converters to allocate any memory needed to store and record, along
|
||||
* with adding the record to the appropriate storage array.
|
||||
*
|
||||
* dirs: The set of directories to be searched for database files.
|
||||
*
|
||||
* suffix: The file suffix (i.e. ".vf") used to qualify which files within
|
||||
* the database directories should be loaded.
|
||||
*
|
||||
* recordDescriptions: An array, where each entry describes a database record
|
||||
* which should be loaded during this pass of _DtDbRead().
|
||||
* See the definition for this structure, for more details.
|
||||
*
|
||||
* int numRecordDescriptions: The number of entries in the above array.
|
||||
*/
|
||||
extern void _DtDbRead (DtDirPaths * dirs,
|
||||
char * suffix,
|
||||
DtDbRecordDesc * recordDescriptions,
|
||||
int numRecordDescriptions);
|
||||
|
||||
|
||||
/*
|
||||
* _DtDbPathIdToString() is used to map a filename identifier, represented
|
||||
* by an opaque DtDbPathId value, into its corresponding ascii string
|
||||
* representation. The returned string is owned by the calling application,
|
||||
* which should free it up when no longer needed.
|
||||
*/
|
||||
extern char * _DtDbPathIdToString ( DtDbPathId pathId );
|
||||
|
||||
#endif /* _Dt_DbReader_h */
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
@@ -1,103 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*
|
||||
* File: DbUtil.h $XConsortium: DbUtil.h /main/4 1995/10/26 15:04:04 rswiston $
|
||||
* Language: C
|
||||
*
|
||||
* (c) Copyright 1988, Hewlett-Packard Company, all rights reserved.
|
||||
*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp. *
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
|
||||
* (c) Copyright 1993, 1994 Novell, Inc. *
|
||||
*/
|
||||
|
||||
#ifndef _Dt_DbUtil_h
|
||||
#define _Dt_DbUtil_h
|
||||
|
||||
#include <X11/Intrinsic.h> /* Boolean */
|
||||
|
||||
/*
|
||||
* This structure is used by many of the database functions. It is used to
|
||||
* specify a collection of filenames or directory names. Each file/directory
|
||||
* name is returned in two forms:
|
||||
*
|
||||
* dirs[n] The fully host-qualified pathname for the file or directory,
|
||||
* in "host:/path" format.
|
||||
*
|
||||
* paths[n] The internal format of the file or directory anme, which
|
||||
* can be passed to any of the standard tools which expect a
|
||||
* valid filename; i.e. /nfs/host/path.
|
||||
*
|
||||
* Both of the arrays are NULL-terminated.
|
||||
*/
|
||||
typedef struct {
|
||||
char ** dirs;
|
||||
char ** paths;
|
||||
} DtDirPaths;
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
*
|
||||
*
|
||||
****************************************************************************/
|
||||
extern DtDirPaths * _DtFindMatchingFiles( DtDirPaths * dirs,
|
||||
char * suffix,
|
||||
Boolean sortFiles );
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* _DtGetDatabaseDirPaths() returns a NULL-terminated array of directories,
|
||||
* which are to be searched for database files. The paths are obtained by
|
||||
* querying the DTDATABASESEARCHPATH environment variable, which specifies
|
||||
* a set of comma separated pathnames, int "host:/path" format. The
|
||||
* return structure should be freed up, when no longer needed, by invoking
|
||||
* _DtFreeDatabaseDirPaths().
|
||||
*
|
||||
* The returned directory names are represented in two formats:
|
||||
*
|
||||
* 1) Fully host qualified; i.e. "host:/path"
|
||||
* 2) Internal format; i.e. "/nfs/host/path"
|
||||
*
|
||||
****************************************************************************/
|
||||
extern DtDirPaths * _DtGetDatabaseDirPaths( void );
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* _DtFreeDatabaseDirPaths() is used to free the memory occupied by the
|
||||
* passed-in instance of the DtDirPaths structure. Typically, this
|
||||
* information was originally obtained by a call to DtGetDatabasePaths()
|
||||
* or _DtFindMatchingFiles().
|
||||
*
|
||||
* Parameters:
|
||||
*
|
||||
* dirs The structure which is to be freed up.
|
||||
*
|
||||
****************************************************************************/
|
||||
extern void _DtFreeDatabaseDirPaths( DtDirPaths * dirs );
|
||||
|
||||
#endif /* _Dt_DbUtil_h */
|
||||
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
@@ -1,210 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: Dnd.h /main/3 1995/10/26 15:04:35 rswiston $ */
|
||||
/*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _Dt_Dnd_h
|
||||
#define _Dt_Dnd_h
|
||||
|
||||
#include <Xm/DragIcon.h>
|
||||
#include <Xm/DragC.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Constants
|
||||
*/
|
||||
|
||||
/* Dnd Callback Reasons */
|
||||
|
||||
enum {
|
||||
DtCR_DND_CONVERT_DATA,
|
||||
DtCR_DND_CONVERT_DELETE,
|
||||
DtCR_DND_DRAG_FINISH,
|
||||
DtCR_DND_TRANSFER_DATA,
|
||||
DtCR_DND_DROP_ANIMATE,
|
||||
DtCR_DND_ROOT_TRANSFER
|
||||
};
|
||||
#define DtCR_DND_TRANSFER DtCR_DND_TRANSFER_DATA
|
||||
|
||||
/*
|
||||
* Dnd Drag Start Resources
|
||||
* dropOnRootCallback is private and should not be used
|
||||
*/
|
||||
|
||||
#define DtNdropOnRootCallback "dropOnRootCallback"
|
||||
#define DtCDropOnRootCallback "DropOnRootCallback"
|
||||
#define DtNsourceIcon "sourceIcon"
|
||||
#define DtCSourceIcon "SourceIcon"
|
||||
#define DtNbufferIsText "bufferIsText"
|
||||
#define DtCBufferIsText "BufferIsText"
|
||||
|
||||
/*
|
||||
*Dnd Drop Register Resources
|
||||
*/
|
||||
|
||||
#define DtNdropAnimateCallback "dropAnimateCallback"
|
||||
#define DtCDropAnimateCallback "DropAnimateCallback"
|
||||
#define DtNpreserveRegistration "preserveRegistration"
|
||||
#define DtCPreserveRegistration "PreserveRegistration"
|
||||
#define DtNregisterChildren "registerChildren"
|
||||
#define DtCRegisterChildren "RegisterChildren"
|
||||
#define DtNtextIsBuffer "textIsBuffer"
|
||||
#define DtCTextIsBuffer "TextIsBuffer"
|
||||
|
||||
/*
|
||||
* Types
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
DtDND_SUCCESS,
|
||||
DtDND_FAILURE
|
||||
} DtDndStatus;
|
||||
|
||||
typedef unsigned long DtDndProtocol;
|
||||
|
||||
enum {
|
||||
DtDND_NOOP_TRANSFER = 0L,
|
||||
DtDND_TEXT_TRANSFER = (1L << 0),
|
||||
DtDND_FILENAME_TRANSFER = (1L << 1),
|
||||
DtDND_BUFFER_TRANSFER = (1L << 2)
|
||||
};
|
||||
|
||||
typedef struct _DtDndBuffer {
|
||||
void * bp;
|
||||
int size;
|
||||
String name;
|
||||
} DtDndBuffer;
|
||||
|
||||
typedef struct _DtDndContext {
|
||||
DtDndProtocol protocol;
|
||||
Cardinal numItems;
|
||||
union {
|
||||
XmString * strings;
|
||||
String * files;
|
||||
DtDndBuffer * buffers;
|
||||
} data;
|
||||
} DtDndContext;
|
||||
|
||||
|
||||
/*
|
||||
* Dnd Callback Structures
|
||||
*/
|
||||
|
||||
typedef struct _DtDndConvertCallbackStruct {
|
||||
int reason;
|
||||
XEvent * event;
|
||||
DtDndContext * dragData;
|
||||
DtDndStatus status;
|
||||
} DtDndConvertCallbackStruct, *DtDndConvertCallback;
|
||||
|
||||
typedef struct _DtDndDragFinishCallbackStruct {
|
||||
int reason;
|
||||
XEvent * event;
|
||||
DtDndContext * dragData;
|
||||
Widget sourceIcon;
|
||||
} DtDndDragFinishCallbackStruct, *DtDndDragFinishCallback;
|
||||
|
||||
typedef struct _DtDndTransferCallbackStruct {
|
||||
int reason;
|
||||
XEvent * event;
|
||||
Position x, y;
|
||||
unsigned char operation;
|
||||
DtDndContext * dropData;
|
||||
Widget dragContext;
|
||||
Boolean completeMove;
|
||||
DtDndStatus status;
|
||||
} DtDndTransferCallbackStruct, *DtDndTransferCallback;
|
||||
|
||||
typedef DtDndTransferCallbackStruct DtDndDropCallbackStruct, *DtDndDropCallback;
|
||||
|
||||
typedef struct _DtDndDropAnimateCallbackStruct {
|
||||
int reason;
|
||||
XEvent * event;
|
||||
Position x, y;
|
||||
unsigned char operation;
|
||||
DtDndContext * dropData;
|
||||
} DtDndDropAnimateCallbackStruct, *DtDndDropAnimateCallback;
|
||||
|
||||
|
||||
/*
|
||||
* Functions
|
||||
*/
|
||||
|
||||
extern Widget DtDndCreateSourceIcon(
|
||||
Widget widget,
|
||||
Pixmap source,
|
||||
Pixmap mask);
|
||||
|
||||
extern Widget DtDndDragStart(
|
||||
Widget dragInitiator,
|
||||
XEvent* event,
|
||||
DtDndProtocol protocol,
|
||||
Cardinal numItems,
|
||||
unsigned char operations,
|
||||
XtCallbackList convertCallback,
|
||||
XtCallbackList dragFinishCallback,
|
||||
ArgList argList,
|
||||
Cardinal argCount);
|
||||
|
||||
extern Widget DtDndVaDragStart(
|
||||
Widget dragInitiator,
|
||||
XEvent* event,
|
||||
DtDndProtocol protocol,
|
||||
Cardinal numItems,
|
||||
unsigned char operations,
|
||||
XtCallbackList convertCallback,
|
||||
XtCallbackList dragFinishCallback,
|
||||
...);
|
||||
|
||||
extern void DtDndDropRegister(
|
||||
Widget dropSite,
|
||||
DtDndProtocol protocols,
|
||||
unsigned char operations,
|
||||
XtCallbackList transferCallback,
|
||||
ArgList argList,
|
||||
Cardinal argCount);
|
||||
|
||||
extern void DtDndVaDropRegister(
|
||||
Widget dropSite,
|
||||
DtDndProtocol protocols,
|
||||
unsigned char operations,
|
||||
XtCallbackList transferCallback,
|
||||
...);
|
||||
|
||||
extern void DtDndDropUnregister(
|
||||
Widget widget);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_Dnd_h */
|
||||
@@ -1,423 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: DndIconI.h /main/3 1995/10/26 15:05:58 rswiston $ */
|
||||
/*********************************************************************
|
||||
*
|
||||
* File: DndIconI.h
|
||||
*
|
||||
* Description: Private include file containing DND drag icons bitmaps
|
||||
*
|
||||
*********************************************************************
|
||||
*
|
||||
*+SNOTICE
|
||||
*
|
||||
* RESTRICTED CONFIDENTIAL INFORMATION:
|
||||
*
|
||||
* The information in this document is subject to special
|
||||
* restrictions in a confidential disclosure agreement between
|
||||
* HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
|
||||
* document outside HP, IBM, Sun, USL, SCO, or Univel without
|
||||
* Sun's specific written approval. This documment and all copies
|
||||
* and derivative works thereof must be returned or destroyed at
|
||||
* Sun's request.
|
||||
*
|
||||
* Copyright 1993 Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*
|
||||
*+ENOTICE
|
||||
*/
|
||||
|
||||
#ifndef _Dt_DndIconI_h
|
||||
#define _Dt_DndIconI_h
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
* Motif Defaults
|
||||
*-------------------------------------------------------------------*/
|
||||
|
||||
#define motif_x_hot 1
|
||||
#define motif_y_hot 1
|
||||
|
||||
#define motif_x_offset_state -8
|
||||
#define motif_y_offset_state -2
|
||||
|
||||
#define motif_x_offset_delta 0
|
||||
#define motif_y_offset_delta 0
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
* Text Drags: Cursors
|
||||
*-------------------------------------------------------------------*/
|
||||
|
||||
#define text_x_hot 1
|
||||
#define text_y_hot 1
|
||||
|
||||
#define text_x_offset_state 1
|
||||
#define text_y_offset_state 1
|
||||
|
||||
#define text_x_offset_delta 7
|
||||
#define text_y_offset_delta 3
|
||||
|
||||
/*
|
||||
* Text: State Valid
|
||||
*/
|
||||
|
||||
#define text_valid_width 16
|
||||
#define text_valid_height 16
|
||||
|
||||
static unsigned char text_valid_bits[] = {
|
||||
#ifdef OLDTEXTVALID
|
||||
0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x3e, 0x00,
|
||||
0x7e, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#else
|
||||
0x00, 0x00, 0xfe, 0x01, 0xfe, 0x00, 0x7e, 0x00, 0x3e, 0x00, 0x1e, 0x00,
|
||||
0x0e, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#endif
|
||||
|
||||
static unsigned char text_valid_m_bits[] = {
|
||||
#ifdef OLDTEXTVALID
|
||||
0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x3f, 0x00, 0x7f, 0x00,
|
||||
0xff, 0x00, 0xff, 0x01, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#else
|
||||
0xff, 0x07, 0xff, 0x03, 0xff, 0x01, 0xff, 0x00, 0x7f, 0x00, 0x3f, 0x00,
|
||||
0x1f, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Text: State Invalid
|
||||
*/
|
||||
|
||||
#define text_invalid_width 16
|
||||
#define text_invalid_height 16
|
||||
|
||||
static unsigned char text_invalid_bits[] = {
|
||||
0x00, 0x00, 0xe0, 0x03, 0xf8, 0x0f, 0x1c, 0x1c, 0x0c, 0x1e, 0x06, 0x37,
|
||||
0x86, 0x33, 0xc6, 0x31, 0xe6, 0x30, 0x76, 0x30, 0x3c, 0x18, 0x1c, 0x1c,
|
||||
0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char text_invalid_m_bits[] = {
|
||||
0xe0, 0x03, 0xf8, 0x0f, 0xfc, 0x1f, 0xfe, 0x3f, 0x1e, 0x3f, 0x8f, 0x7f,
|
||||
0xcf, 0x7f, 0xef, 0x7b, 0xff, 0x79, 0xff, 0x78, 0x7e, 0x3c, 0xfe, 0x3f,
|
||||
0xfc, 0x1f, 0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00};
|
||||
|
||||
/*
|
||||
* Text: None
|
||||
*/
|
||||
|
||||
#define text_none_width 16
|
||||
#define text_none_height 16
|
||||
|
||||
static unsigned char text_none_bits[] = {
|
||||
0x00, 0x00, 0xe0, 0x03, 0xf8, 0x0f, 0x1c, 0x1c, 0x0c, 0x1e, 0x06, 0x37,
|
||||
0x86, 0x33, 0xc6, 0x31, 0xe6, 0x30, 0x76, 0x30, 0x3c, 0x18, 0x1c, 0x1c,
|
||||
0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char text_none_m_bits[] = {
|
||||
0xe0, 0x03, 0xf8, 0x0f, 0xfc, 0x1f, 0xfe, 0x3f, 0x1e, 0x3f, 0x8f, 0x7f,
|
||||
0xcf, 0x7f, 0xef, 0x7b, 0xff, 0x79, 0xff, 0x78, 0x7e, 0x3c, 0xfe, 0x3f,
|
||||
0xfc, 0x1f, 0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00};
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
* Text Drags: Operation Cursors
|
||||
*-------------------------------------------------------------------*/
|
||||
|
||||
/* Use Data Operation Cursors */
|
||||
|
||||
/*
|
||||
* Text: Operation Move
|
||||
*/
|
||||
|
||||
/*
|
||||
* Text: Operation Copy
|
||||
*/
|
||||
|
||||
/*
|
||||
* Text: Operation Link
|
||||
*/
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
* Text Drags: Source Cursor
|
||||
*-------------------------------------------------------------------*/
|
||||
|
||||
#define text_source_width 32
|
||||
#define text_source_height 32
|
||||
|
||||
static unsigned char text_source_bits[] = {
|
||||
#ifdef OLDTEXTSOURCE
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xd8, 0xdb, 0xcd, 0x0d, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xbe, 0x7f, 0x1f,
|
||||
0x00, 0x00, 0x00, 0x00, 0xb8, 0xf6, 0xfd, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0xe8, 0x7b, 0x76, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xbb, 0xff, 0x06,
|
||||
0x00, 0x00, 0x00, 0x00, 0xd8, 0xde, 0x7b, 0x1d, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0xd7, 0xb4, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xad, 0xd5, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#else
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xcd, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x7f, 0x1f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfd, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x7b, 0x76, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xbb, 0xff, 0x06,
|
||||
0x00, 0x00, 0x00, 0x00, 0xf0, 0xde, 0x7b, 0x1d, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x77, 0xb7, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xbd, 0xdd, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#endif
|
||||
|
||||
static unsigned char text_source_m_bits[] = {
|
||||
#ifdef OLDTEXTSOURCE
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f,
|
||||
0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
|
||||
0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
|
||||
0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
|
||||
0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
|
||||
0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
|
||||
0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#else
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x3f,
|
||||
0x00, 0xf0, 0xff, 0x3f, 0x00, 0xf8, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0x3f,
|
||||
0x00, 0xfe, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x3f, 0x80, 0xff, 0xff, 0x3f,
|
||||
0xc0, 0xff, 0xff, 0x3f, 0xe0, 0xff, 0xff, 0x3f, 0xf0, 0xff, 0xff, 0x3f,
|
||||
0xf8, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
|
||||
0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
|
||||
0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
* Data Drags: Cursors
|
||||
*------------------------------------------------------------------*/
|
||||
|
||||
#define data_x_hot 3
|
||||
#define data_y_hot 3
|
||||
|
||||
#define data_x_offset_state 11
|
||||
#define data_y_offset_state 11
|
||||
|
||||
#define data_x_offset_delta 7
|
||||
#define data_y_offset_delta 7
|
||||
|
||||
/*
|
||||
* Data: State Valid
|
||||
*/
|
||||
|
||||
#define data_valid_width 16
|
||||
#define data_valid_height 16
|
||||
|
||||
static unsigned char data_valid_bits[] = {
|
||||
0x00, 0x00, 0x06, 0x00, 0x1e, 0x00, 0x7c, 0x00, 0xfc, 0x01, 0xf8, 0x07,
|
||||
0xf8, 0x07, 0xf0, 0x01, 0xf0, 0x03, 0x60, 0x07, 0x60, 0x0e, 0x00, 0x1c,
|
||||
0x00, 0x38, 0x00, 0x70, 0x00, 0x60, 0x00, 0x00};
|
||||
|
||||
static unsigned char data_valid_m_bits[] = {
|
||||
0x07, 0x00, 0x1f, 0x00, 0x7f, 0x00, 0xfe, 0x01, 0xfe, 0x07, 0xfc, 0x0f,
|
||||
0xfc, 0x0f, 0xf8, 0x07, 0xf8, 0x07, 0xf0, 0x0f, 0xf0, 0x1f, 0x60, 0x3e,
|
||||
0x00, 0x7c, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0x60};
|
||||
|
||||
/*
|
||||
* Data: State Invalid
|
||||
*/
|
||||
|
||||
#define data_invalid_width 16
|
||||
#define data_invalid_height 16
|
||||
|
||||
static unsigned char data_invalid_bits[] = {
|
||||
0x00, 0x00, 0xe0, 0x03, 0xf8, 0x0f, 0x1c, 0x1c, 0x0c, 0x1e, 0x06, 0x37,
|
||||
0x86, 0x33, 0xc6, 0x31, 0xe6, 0x30, 0x76, 0x30, 0x3c, 0x18, 0x1c, 0x1c,
|
||||
0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char data_invalid_m_bits[] = {
|
||||
0xe0, 0x03, 0xf8, 0x0f, 0xfc, 0x1f, 0xfe, 0x3f, 0x1e, 0x3f, 0x8f, 0x7f,
|
||||
0xcf, 0x7f, 0xef, 0x7b, 0xff, 0x79, 0xff, 0x78, 0x7e, 0x3c, 0xfe, 0x3f,
|
||||
0xfc, 0x1f, 0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00};
|
||||
|
||||
/*
|
||||
* Data: State None
|
||||
*/
|
||||
|
||||
#define data_none_width 16
|
||||
#define data_none_height 16
|
||||
|
||||
static unsigned char data_none_bits[] = {
|
||||
0x00, 0x00, 0xe0, 0x03, 0xf8, 0x0f, 0x1c, 0x1c, 0x0c, 0x1e, 0x06, 0x37,
|
||||
0x86, 0x33, 0xc6, 0x31, 0xe6, 0x30, 0x76, 0x30, 0x3c, 0x18, 0x1c, 0x1c,
|
||||
0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char data_none_m_bits[] = {
|
||||
0xe0, 0x03, 0xf8, 0x0f, 0xfc, 0x1f, 0xfe, 0x3f, 0x1e, 0x3f, 0x8f, 0x7f,
|
||||
0xcf, 0x7f, 0xef, 0x7b, 0xff, 0x79, 0xff, 0x78, 0x7e, 0x3c, 0xfe, 0x3f,
|
||||
0xfc, 0x1f, 0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00};
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
* Data Drags: Operation Cursors
|
||||
*-------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Data: Operation Move
|
||||
*/
|
||||
|
||||
#define data_move_width 16
|
||||
#define data_move_height 16
|
||||
|
||||
static unsigned char data_move_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char data_move_m_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
/*
|
||||
* Data: Operation Copy
|
||||
*/
|
||||
|
||||
#define data_copy_width 16
|
||||
#define data_copy_height 16
|
||||
|
||||
static unsigned char data_copy_bits[] = {
|
||||
0x00, 0x00, 0xfe, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x1f, 0x02, 0x11,
|
||||
0x02, 0x11, 0x02, 0x11, 0x02, 0x11, 0x02, 0x11, 0xfe, 0x11, 0x20, 0x10,
|
||||
0x20, 0x10, 0xe0, 0x1f, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char data_copy_m_bits[] = {
|
||||
0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f,
|
||||
0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f,
|
||||
0xf0, 0x3f, 0xf0, 0x3f, 0xf0, 0x3f, 0x00, 0x00};
|
||||
|
||||
/*
|
||||
* Data: Operation Link
|
||||
*/
|
||||
|
||||
#define data_link_width 16
|
||||
#define data_link_height 16
|
||||
|
||||
static unsigned char data_link_bits[] = {
|
||||
0x00, 0x00, 0xfe, 0x03, 0x02, 0x02, 0x02, 0x02, 0x32, 0x02, 0x32, 0x3e,
|
||||
0x42, 0x20, 0x82, 0x20, 0x02, 0x21, 0x3e, 0x26, 0x20, 0x26, 0x20, 0x20,
|
||||
0x20, 0x20, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char data_link_m_bits[] = {
|
||||
0xff, 0x07, 0xff, 0x07, 0xff, 0x07, 0xff, 0x07, 0xff, 0x7f, 0xff, 0x7f,
|
||||
0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xf0, 0x7f,
|
||||
0xf0, 0x7f, 0xf0, 0x7f, 0xf0, 0x7f, 0x00, 0x00};
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
* Data Drags: Source Icons
|
||||
*-------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Data Source: Single
|
||||
*/
|
||||
|
||||
#define data_single_width 32
|
||||
#define data_single_height 32
|
||||
|
||||
static unsigned char data_single_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00,
|
||||
0x10, 0x00, 0x40, 0x01, 0x10, 0x00, 0x40, 0x02, 0x10, 0x00, 0x40, 0x04,
|
||||
0x10, 0x00, 0xc0, 0x0f, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
|
||||
0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
|
||||
0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
|
||||
0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
|
||||
0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
|
||||
0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
|
||||
0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
|
||||
0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
|
||||
0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
|
||||
|
||||
static unsigned char data_single_m_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x7f, 0x00, 0xf0, 0xff, 0xff, 0x00,
|
||||
0xf0, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0x07,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f,
|
||||
0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x0f};
|
||||
|
||||
/*
|
||||
* Data Source: Multiple
|
||||
*/
|
||||
|
||||
#define data_multiple_width 32
|
||||
#define data_multiple_height 32
|
||||
|
||||
static unsigned char data_multiple_bits[] = {
|
||||
0xfc, 0xff, 0x0f, 0x00, 0x04, 0x00, 0x30, 0x00, 0x04, 0x00, 0xd0, 0x1f,
|
||||
0x04, 0x00, 0x90, 0x10, 0x04, 0x00, 0x10, 0xf1, 0x04, 0x00, 0xf0, 0x93,
|
||||
0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92,
|
||||
0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92,
|
||||
0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92,
|
||||
0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92,
|
||||
0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92,
|
||||
0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92,
|
||||
0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92,
|
||||
0xfc, 0xff, 0xff, 0x93, 0x20, 0x00, 0x00, 0x90, 0xe0, 0xff, 0xff, 0x9f,
|
||||
0x00, 0x01, 0x00, 0x80, 0x00, 0xff, 0xff, 0xff};
|
||||
|
||||
static unsigned char data_multiple_m_bits[] = {
|
||||
0xfc, 0xff, 0x0f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0xff, 0x1f,
|
||||
0xfc, 0xff, 0xff, 0x1f, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xfc, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff,
|
||||
0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_DndIconI_h */
|
||||
@@ -1,332 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: DndP.h /main/4 1996/06/21 17:28:31 ageorge $ */
|
||||
/*********************************************************************
|
||||
*
|
||||
* File: DndP.h
|
||||
*
|
||||
* Description: Private include file for DND Convenience API.
|
||||
*
|
||||
*********************************************************************
|
||||
*
|
||||
*+SNOTICE
|
||||
*
|
||||
* RESTRICTED CONFIDENTIAL INFORMATION:
|
||||
*
|
||||
* The information in this document is subject to special
|
||||
* restrictions in a confidential disclosure agreement bertween
|
||||
* HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
|
||||
* document outside HP, IBM, Sun, USL, SCO, or Univel wihtout
|
||||
* Sun's specific written approval. This documment and all copies
|
||||
* and derivative works thereof must be returned or destroyed at
|
||||
* Sun's request.
|
||||
*
|
||||
* Copyright 1993 Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*
|
||||
*+ENOTICE
|
||||
*/
|
||||
|
||||
#ifndef _Dt_DndP_h
|
||||
#define _Dt_DndP_h
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Drag and Drop selection targets
|
||||
*/
|
||||
|
||||
extern Atom XA_TARGETS;
|
||||
extern Atom XA_TIMESTAMP;
|
||||
extern Atom XA_MULTIPLE;
|
||||
extern Atom XA_DELETE;
|
||||
extern Atom XA_NULL;
|
||||
extern Atom XA_TEXT;
|
||||
extern Atom XA_HOST_NAME;
|
||||
extern Atom XA_SUN_FILE_HOST_NAME;
|
||||
extern Atom XA_SUN_ENUM_COUNT;
|
||||
extern Atom XA_SUN_DATA_LABEL;
|
||||
extern Atom XA_SUN_SELN_READONLY;
|
||||
extern Atom XA_SUN_ATM_FILE_NAME;
|
||||
extern Atom XA_SUN_ATM_METHODS;
|
||||
|
||||
#define DtGetAtom(display, atomname) \
|
||||
XmInternAtom((display),(atomname),False)
|
||||
|
||||
|
||||
/*
|
||||
* Drag Icon Styles
|
||||
*/
|
||||
typedef enum {
|
||||
DtDND_DRAG_SOURCE_DEFAULT,
|
||||
DtDND_DRAG_SOURCE_TEXT,
|
||||
DtDND_DRAG_SOURCE_DATA,
|
||||
DtDND_DRAG_SOURCE_MULTIPLE
|
||||
} DtDndDragSource;
|
||||
|
||||
/*
|
||||
* Drag-n-Drop Data Transfer Protocol
|
||||
*/
|
||||
typedef struct _DtDndTransfer {
|
||||
Atom * targets;
|
||||
Cardinal numTargets;
|
||||
struct _DtDndMethods * methods;
|
||||
} DtDndTransfer;
|
||||
|
||||
/*
|
||||
* Drag Initiator Structure
|
||||
*/
|
||||
|
||||
typedef struct _DtDragInfo {
|
||||
Widget dragInitiator;
|
||||
Widget dragContext;
|
||||
DtDndProtocol protocol;
|
||||
Cardinal numItems;
|
||||
unsigned char operations;
|
||||
XtCallbackList dragConvertCallback;
|
||||
XtCallbackList dragFinishCallback;
|
||||
XtCallbackList dropOnRootCallback;
|
||||
XtCallbackList dragDropFinishCallback;
|
||||
XtCallbackList dropFinishCallback;
|
||||
XtCallbackList topLevelEnterCallback;
|
||||
XtCallbackList topLevelLeaveCallback;
|
||||
XtCallbackList dropStartCallback;
|
||||
Widget sourceIcon;
|
||||
Boolean bufferIsText;
|
||||
DtDndTransfer * transfer;
|
||||
DtDndContext * dragData;
|
||||
Boolean inRoot;
|
||||
Window backdropWindow;
|
||||
DtDndStatus status;
|
||||
XtPointer clientData;
|
||||
} DtDragInfo;
|
||||
|
||||
/*
|
||||
* Drop Receiver Existing Registration Structure
|
||||
*/
|
||||
|
||||
typedef struct _DtDropSiteInfo {
|
||||
XtCallbackProc dropProc;
|
||||
unsigned char operations;
|
||||
Atom * importTargets;
|
||||
int numImportTargets;
|
||||
} DtDropSiteInfo;
|
||||
|
||||
/*
|
||||
* Drop Receiver Data Transfer Structure
|
||||
*/
|
||||
|
||||
typedef struct _DtTransferInfo {
|
||||
Widget dragContext;
|
||||
DtDndProtocol protocol;
|
||||
unsigned char operation;
|
||||
struct _DtDndMethods * methods;
|
||||
Atom * transferTargets;
|
||||
Cardinal numTransferTargets;
|
||||
Cardinal currentTransfer;
|
||||
Boolean appTransferCalled;
|
||||
XEvent * event;
|
||||
Position x, y;
|
||||
XtPointer clientData;
|
||||
XtCallbackList dropAnimateCallback;
|
||||
} DtTransferInfo;
|
||||
|
||||
/*
|
||||
* Drop Receiver Registration Structure
|
||||
*/
|
||||
|
||||
typedef struct _DtDropInfo {
|
||||
Widget dropReceiver;
|
||||
DtDndProtocol protocols;
|
||||
unsigned char operations;
|
||||
XtCallbackList dropTransferCallback;
|
||||
XtCallbackList dropAnimateCallback;
|
||||
Boolean textIsBuffer;
|
||||
DtDropSiteInfo * dropSiteInfo;
|
||||
DtDndTransfer * transfers;
|
||||
Cardinal numTransfers;
|
||||
DtTransferInfo * transferInfo;
|
||||
DtDndContext * dropData;
|
||||
DtDndStatus status;
|
||||
} DtDropInfo;
|
||||
|
||||
/*
|
||||
* Drag-n-Drop Data Transfer Protocol Function Prototypes
|
||||
*/
|
||||
|
||||
typedef void
|
||||
(*DtDndGetAvailTargetsProc)(
|
||||
DtDragInfo * dtDragInfo,
|
||||
Atom ** returnAvailTargetsList,
|
||||
Cardinal * returnNumAvailTargets);
|
||||
|
||||
typedef void
|
||||
(*DtDndGetExportTargetsProc)(
|
||||
DtDragInfo * dtDragInfo,
|
||||
Atom ** returnExportTargetsList,
|
||||
Cardinal * returnNumExportTargets);
|
||||
|
||||
typedef void
|
||||
(*DtDndGetImportTargetsProc)(
|
||||
DtDropInfo * dtDropInfo,
|
||||
Atom ** returnImportTargetsList,
|
||||
Cardinal * returnNumImportTargets);
|
||||
|
||||
typedef void
|
||||
(*DtDndConvertInitProc)(
|
||||
DtDragInfo * dtDragInfo);
|
||||
|
||||
typedef Boolean
|
||||
(*DtDndConvertProc)(
|
||||
Widget dragContext,
|
||||
DtDragInfo * dtDragInfo,
|
||||
Atom * selection,
|
||||
Atom * target,
|
||||
Atom * returnType,
|
||||
XtPointer * returnValue,
|
||||
unsigned long * returnLength,
|
||||
int * returnFormat,
|
||||
XSelectionRequestEvent *selectionRequestEvent);
|
||||
|
||||
typedef void
|
||||
(*DtDndConvertFinishProc)(
|
||||
DtDragInfo * dtDragInfo);
|
||||
|
||||
typedef void
|
||||
(*DtDndTransferTargetsProc)(
|
||||
DtDropInfo * dtDropInfo,
|
||||
Atom * exportTargets,
|
||||
Cardinal numExportTargets,
|
||||
Atom ** returnTransferTargetsList,
|
||||
Cardinal * returnNumTransferTargets);
|
||||
|
||||
typedef void
|
||||
(*DtDndTransferProc)(
|
||||
Widget dropTransfer,
|
||||
DtDropInfo * dtDropInfo,
|
||||
Atom * selection,
|
||||
Atom * target,
|
||||
Atom * type,
|
||||
XtPointer value,
|
||||
unsigned long * length,
|
||||
int * format);
|
||||
|
||||
typedef void
|
||||
(*DtDndTransferFinishProc)(
|
||||
DtDropInfo * dtDropInfo);
|
||||
|
||||
/*
|
||||
* Drag-n-Drop Data Transfer Methods
|
||||
*/
|
||||
|
||||
typedef struct _DtDndMethods {
|
||||
String name;
|
||||
DtDndProtocol protocol;
|
||||
DtDndDragSource sourceType;
|
||||
DtDndGetAvailTargetsProc getAvailTargets;
|
||||
DtDndGetExportTargetsProc getExportTargets;
|
||||
DtDndGetImportTargetsProc getImportTargets;
|
||||
DtDndConvertInitProc convertInit;
|
||||
DtDndConvertProc convert;
|
||||
DtDndConvertFinishProc convertFinish;
|
||||
DtDndTransferTargetsProc transferTargets;
|
||||
DtDndTransferProc transfer;
|
||||
DtDndTransferFinishProc transferFinish;
|
||||
} DtDndMethods;
|
||||
|
||||
/*
|
||||
* Drag-n-Drop Private Utility Functions
|
||||
*/
|
||||
|
||||
extern DtDndTransfer *
|
||||
_DtDndCreateExportTransfer(
|
||||
DtDragInfo * dtDragInfo);
|
||||
|
||||
extern DtDndTransfer *
|
||||
_DtDndCreateImportTransfers(
|
||||
DtDropInfo * dtDropInfo,
|
||||
Cardinal * numTransfers);
|
||||
|
||||
extern void
|
||||
_DtDndDestroyTransfers(
|
||||
DtDndTransfer * transfers,
|
||||
Cardinal numTransfers);
|
||||
|
||||
extern DtDndTransfer *
|
||||
_DtDndTransferFromTargets(
|
||||
DtDndTransfer * transfers,
|
||||
Cardinal numTransfers,
|
||||
Atom * targets,
|
||||
Cardinal numTargets);
|
||||
|
||||
extern void
|
||||
_DtDndTransferAdd(
|
||||
Widget dropTransfer,
|
||||
DtDropInfo * dtDropInfo,
|
||||
Atom * transferTargets,
|
||||
Cardinal numTransferTargets);
|
||||
|
||||
extern XtCallbackList
|
||||
_DtDndCopyCallbackList(
|
||||
XtCallbackList callbacks);
|
||||
|
||||
extern void
|
||||
_DtDndCallCallbackList(
|
||||
Widget widget,
|
||||
XtCallbackList callbacks,
|
||||
XtPointer calldata);
|
||||
|
||||
extern void
|
||||
_DtDndSelectDragSource(
|
||||
Widget anyWidget,
|
||||
DtDndDragSource sourceType,
|
||||
Widget sourceIcon);
|
||||
|
||||
extern void
|
||||
_DtDndGetIconOffset(
|
||||
Widget dragContext,
|
||||
DtDndDragSource sourceType,
|
||||
int * offsetXReturn,
|
||||
int * offsetYReturn);
|
||||
|
||||
extern String
|
||||
_DtDndGetHostName(void);
|
||||
|
||||
#ifdef DEBUG
|
||||
extern void _DtDndPrintTargets(Display*,Atom*,Cardinal);
|
||||
extern void _DtDndPrintTransfers(Display*,DtDndTransfer*,Cardinal);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_DndP_h */
|
||||
@@ -1,93 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: Dt.h /main/12 1999/10/18 14:49:57 samborn $ */
|
||||
/*
|
||||
* (c) Copyright 1997, The Open Group
|
||||
*/
|
||||
/*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1993,1994,1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1993,1994,1996 International Business Machines Corp.
|
||||
* (c) Copyright 1993-1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993,1994,1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
#ifndef _Dt_Dt_h
|
||||
#define _Dt_Dt_h
|
||||
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Constants
|
||||
*/
|
||||
|
||||
/* CDE Version information */
|
||||
|
||||
#define DtVERSION 2
|
||||
#define DtREVISION 3
|
||||
#define DtUPDATE_LEVEL 0
|
||||
|
||||
#define DtVERSION_NUMBER (DtVERSION * 10000 + \
|
||||
DtREVISION * 100 + \
|
||||
DtUPDATE_LEVEL)
|
||||
|
||||
#define DtVERSION_STRING "CDE Version 2.3.0a"
|
||||
|
||||
|
||||
/*
|
||||
* CDE Version information
|
||||
*/
|
||||
|
||||
externalref const int DtVersion;
|
||||
externalref const char *DtVersionString;
|
||||
|
||||
|
||||
/*
|
||||
* Functions
|
||||
*/
|
||||
|
||||
extern Boolean DtInitialize(
|
||||
Display *display,
|
||||
Widget widget,
|
||||
char *name,
|
||||
char *tool_class);
|
||||
|
||||
extern Boolean DtAppInitialize(
|
||||
XtAppContext app_context,
|
||||
Display *display,
|
||||
Widget widget,
|
||||
char *name,
|
||||
char *tool_class);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_Dt_h */
|
||||
@@ -1,49 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: DtHash.h /main/5 1996/08/29 15:42:13 cde-dec $ */
|
||||
#ifndef _DtHash_h
|
||||
#define _DtHash_h
|
||||
|
||||
typedef void * DtHashTbl;
|
||||
|
||||
DtHashTbl _DtUtilMakeHash(int size);
|
||||
DtHashTbl _DtUtilMakeIHash(int size);
|
||||
void ** _DtUtilGetHash(DtHashTbl tbl, const unsigned char * key);
|
||||
void ** _DtUtilFindHash(DtHashTbl tbl,const unsigned char * key);
|
||||
void * _DtUtilDelHash(DtHashTbl tbl, const unsigned char * key);
|
||||
int _DtUtilOperateHash(DtHashTbl tbl, void (*op_func)(), void * usr_arg);
|
||||
void _DtUtilDestroyHash(DtHashTbl tbl, int (*des_func)(), void * usr_arg);
|
||||
|
||||
typedef void (*DtHashOperateFunc)();
|
||||
typedef int (*DtHashDestroyFunc)();
|
||||
|
||||
#endif /* _DtHash_h */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: DtShmDb.h /main/4 1996/05/09 04:22:30 drk $ */
|
||||
#ifndef DtShmDb_h
|
||||
#define DtShmDb_h
|
||||
|
||||
/*
|
||||
this include file provides prototypes for the various
|
||||
shared memory database routines
|
||||
*/
|
||||
|
||||
typedef void * DtShmProtoStrtab;
|
||||
typedef void * DtShmProtoInttab;
|
||||
typedef void * DtShmProtoIntList;
|
||||
|
||||
typedef const void * DtShmStrtab;
|
||||
typedef const void * DtShmInttab;
|
||||
typedef const int * DtShmIntList;
|
||||
typedef int DtShmBoson;
|
||||
|
||||
/*
|
||||
routines used while building shared memory databases
|
||||
*/
|
||||
|
||||
DtShmProtoStrtab _DtShmProtoInitStrtab (int estimated_entries);
|
||||
DtShmBoson _DtShmProtoAddStrtab (DtShmProtoStrtab prototab, const char * string, int * isnew);
|
||||
const char * _DtShmProtoLookUpStrtab (DtShmProtoStrtab prototab, DtShmBoson boson);
|
||||
int _DtShmProtoSizeStrtab (DtShmProtoStrtab prototab);
|
||||
DtShmStrtab _DtShmProtoCopyStrtab (DtShmProtoStrtab prototab, void * dataspace);
|
||||
int _DtShmProtoDestroyStrtab (DtShmProtoStrtab prototab);
|
||||
|
||||
DtShmProtoInttab _DtShmProtoInitInttab (int estimated_entries);
|
||||
int _DtShmProtoAddInttab (DtShmProtoInttab prototab, unsigned int keyin, int datain);
|
||||
int * _DtShmProtoLookUpInttab (DtShmProtoInttab prototab, unsigned int keyin);
|
||||
int _DtShmProtoSizeInttab (DtShmProtoInttab prototab);
|
||||
DtShmInttab _DtShmProtoCopyInttab (DtShmProtoInttab prototab, void * dataspace);
|
||||
int _DtShmProtoDestroyInttab (DtShmProtoInttab prototab);
|
||||
|
||||
|
||||
DtShmProtoIntList _DtShmProtoInitIntLst (int estimated_entries);
|
||||
int * _DtShmProtoAddIntLst (DtShmProtoIntList protolist, int size, int * index_value);
|
||||
int _DtShmProtoSizeIntLst (DtShmProtoIntList protolist);
|
||||
DtShmIntList _DtShmProtoCopyIntLst (DtShmProtoIntList protolist, void * dataspace);
|
||||
int _DtShmProtoDestroyIntLst (DtShmProtoIntList protolist);
|
||||
|
||||
|
||||
/*
|
||||
run-time routines once shared memory area is built
|
||||
*/
|
||||
|
||||
DtShmBoson _DtShmStringToBoson (DtShmStrtab tab, const char * string);
|
||||
const char * _DtShmBosonToString (DtShmStrtab tab, DtShmBoson boson);
|
||||
const int * _DtShmFindIntTabEntry (DtShmInttab tab, unsigned int key);
|
||||
|
||||
#endif /* DtShmDb_h */
|
||||
|
||||
@@ -1,181 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: Dts.h /main/5 1996/03/05 13:30:59 drk $ */
|
||||
/*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _Dt_Dts_h
|
||||
#define _Dt_Dts_h
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Constants
|
||||
*/
|
||||
|
||||
#define DtDTS_DC_NAME "DATA_CRITERIA"
|
||||
#define DtDTS_NAME_PATTERN "NAME_PATTERN"
|
||||
#define DtDTS_PATH_PATTERN "PATH_PATTERN"
|
||||
#define DtDTS_CONTENT "CONTENT"
|
||||
#define DtDTS_MODE "MODE"
|
||||
#define DtDTS_LINK_PATH "LINK_PATH"
|
||||
#define DtDTS_LINK_NAME "LINK_NAME"
|
||||
#define DtDTS_DATA_ATTRIBUTES_NAME "DATA_ATTRIBUTES_NAME"
|
||||
|
||||
#define DtDTS_DT_RECURSIVE_LINK "RECURSIVE_LINK"
|
||||
#define DtDTS_DT_BROKEN_LINK "BROKEN_LINK"
|
||||
#define DtDTS_DT_UNKNOWN "UNKNOWN"
|
||||
|
||||
#define DtDTS_DA_IS_SYNTHETIC "IS_SYNTHETIC"
|
||||
#define DtDTS_DA_LABEL "LABEL"
|
||||
#define DtDTS_DA_NAME "DATA_ATTRIBUTES"
|
||||
#define DtDTS_DA_DESCRIPTION "DESCRIPTION"
|
||||
#define DtDTS_DA_DATA_HOST "DATA_HOST"
|
||||
#define DtDTS_DA_ICON "ICON"
|
||||
#define DtDTS_DA_INSTANCE_ICON "INSTANCE_ICON"
|
||||
#define DtDTS_DA_PROPERTIES "PROPERTIES"
|
||||
#define DtDTS_DA_ACTION_LIST "ACTIONS"
|
||||
#define DtDTS_DA_NAME_TEMPLATE "NAME_TEMPLATE"
|
||||
#define DtDTS_DA_MODE_TEMPLATE "MODE_TEMPLATE"
|
||||
#define DtDTS_DA_MOVE_TO_ACTION "MOVE_TO_ACTION"
|
||||
#define DtDTS_DA_COPY_TO_ACTION "COPY_TO_ACTION"
|
||||
#define DtDTS_DA_LINK_TO_ACTION "LINK_TO_ACTION"
|
||||
#define DtDTS_DA_IS_TEXT "IS_TEXT"
|
||||
#define DtDTS_DA_MEDIA "MEDIA"
|
||||
#define DtDTS_DA_MIME_TYPE "MIME_TYPE"
|
||||
#define DtDTS_DA_MIME_TO_MEDIA_FILTER "MIME_TO_MEDIA_FILTER"
|
||||
#define DtDTS_DA_MEDIA_TO_MIME_FILTER "MEDIA_TO_MIME_FILTER"
|
||||
#define DtDTS_DA_X400_TYPE "X400_TYPE"
|
||||
#define DtDTS_DA_X400_TO_MEDIA_FILTER "X400_TO_MEDIA_FILTER"
|
||||
#define DtDTS_DA_MEDIA_TO_X400_FILTER "MEDIA_TO_X400_FILTER"
|
||||
#define DtDTS_DA_IS_ACTION "IS_ACTION"
|
||||
#define DtDTS_DA_IS_EXECUTABLE "IS_EXECUTABLE"
|
||||
|
||||
#define DtDTS_DT_DIR ".DtDirDataType"
|
||||
|
||||
|
||||
/*
|
||||
* Types
|
||||
*/
|
||||
|
||||
typedef struct _DtDtsAttribute
|
||||
{
|
||||
char *name;
|
||||
char *value;
|
||||
} DtDtsAttribute;
|
||||
|
||||
|
||||
/*
|
||||
* Functions
|
||||
*/
|
||||
|
||||
extern void DtDtsLoadDataTypes(void);
|
||||
extern void DtDtsRelease(void);
|
||||
|
||||
extern char *DtDtsDataToDataType(
|
||||
const char *filepath,
|
||||
const void *buffer,
|
||||
const int size,
|
||||
const struct stat *stat_buff,
|
||||
const char *link_name,
|
||||
const struct stat *link_stat_buff,
|
||||
const char *opt_name);
|
||||
|
||||
extern char *DtDtsFileToDataType(
|
||||
const char *filepath);
|
||||
|
||||
extern char *DtDtsFileToAttributeValue(
|
||||
const char *filepath,
|
||||
const char *attr);
|
||||
|
||||
extern DtDtsAttribute **DtDtsFileToAttributeList(
|
||||
const char *filepath);
|
||||
|
||||
extern char *DtDtsBufferToDataType(
|
||||
const void *buffer,
|
||||
const int size,
|
||||
const char *opt_name);
|
||||
|
||||
extern char *DtDtsBufferToAttributeValue(
|
||||
const void *buffer,
|
||||
const int size,
|
||||
const char *attr,
|
||||
const char *opt_name);
|
||||
|
||||
extern DtDtsAttribute **DtDtsBufferToAttributeList(
|
||||
const void *buffer,
|
||||
const int size,
|
||||
const char *opt_name);
|
||||
|
||||
extern char *DtDtsDataTypeToAttributeValue(
|
||||
const char *datatype,
|
||||
const char *attr,
|
||||
const char *opt_name);
|
||||
|
||||
extern DtDtsAttribute **DtDtsDataTypeToAttributeList(
|
||||
const char *datatype,
|
||||
const char *opt_name);
|
||||
|
||||
extern void DtDtsFreeDataTypeNames(
|
||||
char **namelist);
|
||||
|
||||
extern void DtDtsFreeAttributeList(
|
||||
DtDtsAttribute **attr_list);
|
||||
|
||||
extern void DtDtsFreeAttributeValue(
|
||||
char *attr_value);
|
||||
|
||||
extern void DtDtsFreeDataType(
|
||||
char *datatype);
|
||||
|
||||
extern char **DtDtsDataTypeNames(void);
|
||||
|
||||
extern char **DtDtsFindAttribute(
|
||||
const char *name,
|
||||
const char *value);
|
||||
|
||||
extern char *DtDtsSetDataType(
|
||||
const char *filepath,
|
||||
const char *datatype,
|
||||
const int override);
|
||||
|
||||
extern int DtDtsDataTypeIsAction(
|
||||
const char *datatype);
|
||||
|
||||
extern Boolean DtDtsIsTrue(
|
||||
const char *str);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_Dts_h */
|
||||
@@ -1,154 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp. *
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
|
||||
* (c) Copyright 1993, 1994 Novell, Inc. *
|
||||
*/
|
||||
/*
|
||||
*+SNOTICE
|
||||
*
|
||||
* $XConsortium: DtsDb.h /main/5 1996/08/28 14:32:17 rswiston $
|
||||
*
|
||||
* RESTRICTED CONFIDENTIAL INFORMATION:
|
||||
*
|
||||
* The information in this document is subject to special
|
||||
* restrictions in a confidential disclosure agreement bertween
|
||||
* HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
|
||||
* document outside HP, IBM, Sun, USL, SCO, or Univel wihtout
|
||||
* Sun's specific written approval. This documment and all copies
|
||||
* and derivative works thereof must be returned or destroyed at
|
||||
* Sun's request.
|
||||
*
|
||||
* Copyright 1993 Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
*+ENOTICE
|
||||
*/
|
||||
#ifndef DT_DTS_DB_H
|
||||
#define DT_DTS_DB_H
|
||||
|
||||
#include <X11/Xresource.h>
|
||||
#include <Dt/DbReader.h>
|
||||
|
||||
typedef int OtBoolean;
|
||||
|
||||
/* typedefs for casting comparison functions if needed */
|
||||
typedef int (*_DtDtsDbFieldCompare)(DtDtsDbField **fld1, DtDtsDbField **fld2);
|
||||
|
||||
/* entry of a list of attribute/pairs */
|
||||
typedef struct
|
||||
{
|
||||
XrmQuark recordName;
|
||||
_DtDtsDbFieldCompare compare;
|
||||
long pathId;
|
||||
int seq;
|
||||
int fieldCount;
|
||||
DtDtsDbField **fieldList;
|
||||
} DtDtsDbRecord;
|
||||
|
||||
/* typedefs for casting record comparison functions if needed */
|
||||
typedef int (*_DtDtsDbRecordCompare)(DtDtsDbRecord **rec1, DtDtsDbRecord **rec2);
|
||||
|
||||
/* a "database" of a collection of entrys (i.e. OBJECT-TYPE, ACTION, FILE-TYPE
|
||||
This is a private Structure to the DtDtsDb component.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
char *databaseName;
|
||||
_DtDtsDbRecordCompare compare;
|
||||
int recordCount;
|
||||
DtDtsDbRecord **recordList;
|
||||
unsigned long ActionSequenceNumber;
|
||||
} DtDtsDbDatabase;
|
||||
|
||||
/* for the mmaped database this the use_in_memory_db variable is used
|
||||
to call the old API while the database is being built and is set to
|
||||
false when the mmaped versions are being accessed.
|
||||
*/
|
||||
|
||||
extern int use_in_memory_db;
|
||||
|
||||
/*
|
||||
* adds a new database to the list of databases -- returns a pointer to the
|
||||
* new database. If a database of the given name already exists it returns
|
||||
* a pointer to that database.
|
||||
*/
|
||||
extern DtDtsDbDatabase *_DtDtsDbAddDatabase( char *dbname );
|
||||
|
||||
/* returns the handle for the database where name is the Database name */
|
||||
extern DtDtsDbDatabase *_DtDtsDbGet(char *name);
|
||||
extern char **_DtDtsDbListDb(void);
|
||||
|
||||
/* Record Sort function:
|
||||
* sorts the specified database, usually obtained from _DtDtsDbGet(), in the
|
||||
* order specified by the comparison function. If (*compare) == 0 then
|
||||
* _DtDtsDbCompareRecordNames() is used as the (*compare) function.
|
||||
*/
|
||||
extern void _DtDtsDbRecordSort(DtDtsDbDatabase *database,
|
||||
_DtDtsDbRecordCompare compare);
|
||||
/* Field Sort function:
|
||||
* sorts the specified Record in the order specified by the comparison function
|
||||
* If (*compare) == 0 then _DtDtsDbCompareFieldNames() is used as the
|
||||
* (*compare) function.
|
||||
*/
|
||||
extern void _DtDtsDbFieldSort(DtDtsDbRecord *record,
|
||||
_DtDtsDbFieldCompare compare);
|
||||
|
||||
/* Name Comparison functions:
|
||||
* These routines can be passed in to the corresponding sort function to
|
||||
* sort by name.
|
||||
*
|
||||
*/
|
||||
extern int _DtDtsDbCompareRecordNames(DtDtsDbRecord **entry1, DtDtsDbRecord **entry2);
|
||||
extern int _DtDtsDbCompareFieldNames(DtDtsDbField **entry1, DtDtsDbField **entry2);
|
||||
|
||||
/* retrieves the Record that matches the specified entry from the record */
|
||||
extern DtDtsDbField *_DtDtsDbGetField(DtDtsDbRecord *record,
|
||||
char *value);
|
||||
|
||||
/* retrieves the entry of the specified entry from the specified database */
|
||||
extern DtDtsDbRecord *_DtDtsDbGetRecord(DtDtsDbDatabase *database,
|
||||
DtDtsDbRecord *value);
|
||||
|
||||
/* Get By Name functions:
|
||||
* retrieves the entry of the specified name from the specified database
|
||||
* ** IF ** the _DtDtsDb*Sort routine has been called with the corresponding
|
||||
* _DtDtsDbCompare*Name comparison function. Otherwise use the standard
|
||||
* _DtDtsDbGet* functions.
|
||||
*/
|
||||
extern char *_DtDtsDbGetFieldByName(DtDtsDbRecord *record, char *name);
|
||||
extern DtDtsDbRecord *_DtDtsDbGetRecordByName(DtDtsDbDatabase *database, char *name);
|
||||
|
||||
extern DtDtsDbRecord *_DtDtsDbAddRecord(DtDtsDbDatabase *db);
|
||||
|
||||
extern DtDtsDbField *_DtDtsDbAddField(DtDtsDbRecord *rec);
|
||||
|
||||
extern int _DtDtsDbDeleteDb(DtDtsDbDatabase *db);
|
||||
extern int _DtDtsDbDeleteRecord(DtDtsDbRecord *rec, DtDtsDbDatabase *db);
|
||||
extern int _DtDtsDbDeleteRecords(DtDtsDbDatabase *db);
|
||||
extern int _DtDtsDbDeleteField(DtDtsDbField *fld, DtDtsDbRecord *rec);
|
||||
extern int _DtDtsDbDeleteFields(DtDtsDbRecord *rec);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,174 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: DtsMM.h /main/8 1996/08/28 14:27:26 rswiston $ */
|
||||
/*
|
||||
*
|
||||
* RESTRICTED CONFIDENTIAL INFORMATION:
|
||||
*
|
||||
*
|
||||
* Copyright 1993 Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
*+ENOTICE
|
||||
*/
|
||||
#ifndef DT_DTS_MM_H
|
||||
#define DT_DTS_MM_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <Dt/DtShmDb.h>
|
||||
#include <X11/Intrinsic.h>
|
||||
#include "Dt/DbReader.h"
|
||||
|
||||
#define DTDTSDB_TMPDATABASENAME "%s/.dt/.tmp_dt_db_cache.%s\0"
|
||||
#define DTDTSDB_DATABASENAME "%s/.dt/.dt_db_cache.%s\0"
|
||||
#define _DTDTSMMTEMPFILE "dtdbcache_"
|
||||
|
||||
/*
|
||||
* NOTE: _DTDTSMMTEMPDIR affects the location of the dtdbcache
|
||||
* file, and therefore affects the Xsession.src, Xreset.src, and
|
||||
* Xstartup.src scripts in dtlogin/config.
|
||||
*/
|
||||
#define _DTDTSMMTEMPDIR "/tmp"
|
||||
|
||||
typedef int DtDtsMMSeqNo; /* the order it occures in db */
|
||||
typedef int DtDtsMMFieldCount; /* number of fields in record */
|
||||
typedef int DtDtsMMRecordCount; /* number of records in field */
|
||||
typedef int DtDtsMMDataBaseCount; /* how many databases */
|
||||
typedef int DtDtsMMFieldStart; /* index in table where field list starts */
|
||||
typedef int DtDtsMMRecordStart; /* index in table where record list starts */
|
||||
typedef int DtDtsMMDataBaseStart; /* index in table where database list starts */
|
||||
typedef int DtDtsMMIndexOffset;
|
||||
typedef int DtDtsMMNameIndex;
|
||||
typedef int DtDtsMMPathHash;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DtDtsMMPathHash pathhash; /* hash of dir. we visit */
|
||||
DtDtsMMDataBaseCount num_db; /* number of databases */
|
||||
DtDtsMMDataBaseStart db_offset; /* index to databases */
|
||||
DtDtsMMNameIndex name_list_offset; /* index to name list */
|
||||
DtDtsMMNameIndex no_name_offset; /* index to nonunique names */
|
||||
DtDtsMMNameIndex buffer_start_index; /* index to list of buffers */
|
||||
DtDtsMMIndexOffset str_tbl_offset; /* index to table of strings */
|
||||
DtDtsMMIndexOffset files_count; /* number of loaded files */
|
||||
DtDtsMMIndexOffset files_offset; /* index to list of loaded files */
|
||||
DtDtsMMIndexOffset mtimes_offset; /* index to modified times of files */
|
||||
} DtDtsMMHeader;
|
||||
|
||||
/* one set of attribute/pair */
|
||||
typedef struct
|
||||
{
|
||||
DtShmBoson fieldName; /* name of attribute */
|
||||
DtShmBoson fieldValue; /* value of attribute */
|
||||
} DtDtsMMField;
|
||||
|
||||
/* typedefs for casting comparison functions if needed */
|
||||
typedef int (*_DtDtsMMFieldCompare)(DtDtsMMField *fld1, DtDtsMMField *fld2);
|
||||
|
||||
/* entry of a list of attribute/pairs */
|
||||
typedef struct
|
||||
{
|
||||
DtShmBoson recordName; /* name of this entry */
|
||||
DtShmBoson pathId; /* file entry is located in */
|
||||
DtDtsMMSeqNo seq; /* sequence this got loaded */
|
||||
DtDtsMMFieldCount fieldCount; /* number of fields in record */
|
||||
DtDtsMMFieldStart fieldList; /* index to field table */
|
||||
} DtDtsMMRecord;
|
||||
|
||||
/* typedefs for casting record comparison functions if needed */
|
||||
typedef int (*_DtDtsMMRecordCompare)(DtDtsMMRecord *rec1, DtDtsMMRecord *rec2);
|
||||
|
||||
/* a "database" of a collection of entrys (i.e. OBJECT-TYPE, ACTION, FILE-TYPE
|
||||
This is a private Structure to the DtDtsMM component.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
DtShmBoson databaseName; /* name of database */
|
||||
DtDtsMMIndexOffset nameIndex; /* index for DataCriteria quick find */
|
||||
DtDtsMMRecordCount recordCount; /* number of records */
|
||||
DtDtsMMRecordStart recordList; /* index to records table */
|
||||
} DtDtsMMDatabase;
|
||||
|
||||
|
||||
/* Db Internal pointers */
|
||||
int * _DtDtsMMGetDCNameIndex(int *size);
|
||||
int * _DtDtsMMGetBufferIndex(int *size);
|
||||
int * _DtDtsMMGetNoNameIndex(int *size);
|
||||
void * _DtDtsMMGetPtr(int index);
|
||||
DtShmInttab _DtDtsMMGetFileList(void);
|
||||
int _DtDtsMMGetPtrSize(int index);
|
||||
int _DtDtsMMInit(int);
|
||||
void _DtDtsMMPrint(FILE *org_fd);
|
||||
int _DtDtsMMCreateDb(DtDirPaths *dirs, const char *CacheFile, int override);
|
||||
int _DtDtsMMCreateFile(DtDirPaths *dirs, const char *CacheFile);
|
||||
char * _DtDtsMMCacheName(int);
|
||||
int _DtDtsMMapDB(const char *CacheFile);
|
||||
|
||||
const char * _DtDtsMMBosonToString(DtShmBoson boson);
|
||||
DtShmBoson _DtDtsMMStringToBoson(const char *string);
|
||||
|
||||
extern int use_in_memory_db;
|
||||
|
||||
|
||||
/* returns the handle for the database where name is the Database name */
|
||||
extern DtDtsMMDatabase *_DtDtsMMGet(const char *name);
|
||||
extern char **_DtDtsMMListDb(void);
|
||||
|
||||
/* FIXME: document */
|
||||
extern int *_DtDtsMMGetDbName(DtDtsMMDatabase *db, DtShmBoson boson);
|
||||
|
||||
|
||||
/* Name Comparison functions:
|
||||
* These routines can be passed in to the corresponding sort function to
|
||||
* sort by name.
|
||||
*
|
||||
*/
|
||||
extern int _DtDtsMMCompareRecordNames(DtDtsMMRecord *entry1, DtDtsMMRecord *entry2);
|
||||
extern int _DtDtsMMCompareFieldNames(DtDtsMMField *entry1, DtDtsMMField *entry2);
|
||||
|
||||
/* retrieves the Record that matches the specified entry from the record */
|
||||
extern DtDtsMMField *_DtDtsMMGetField(DtDtsMMRecord *record,
|
||||
const char *value);
|
||||
extern const char *_DtDtsMMGetFieldByName(DtDtsMMRecord *rec, const char *name);
|
||||
|
||||
/* retrieves the entry of the specified entry from the specified database */
|
||||
extern DtDtsMMRecord *_DtDtsMMGetRecord(DtDtsMMDatabase *database,
|
||||
DtDtsMMRecord *value);
|
||||
extern DtDtsMMRecord *_DtDtsMMGetRecordByName(DtDtsMMDatabase *database,
|
||||
const char *value);
|
||||
|
||||
/* Get By Name functions:
|
||||
* retrieves the entry of the specified name from the specified database
|
||||
* ** IF ** the _DtDtsMM*Sort routine has been called with the corresponding
|
||||
* _DtDtsMMCompare*Name comparison function. Otherwise use the standard
|
||||
* _DtDtsMMGet* functions.
|
||||
*/
|
||||
|
||||
|
||||
char * _DtDtsMMExpandValue(const char *value);
|
||||
void _DtDtsMMSafeFree(char *value);
|
||||
int _DtDtsMMIsMemory(const char *value);
|
||||
|
||||
extern DtShmBoson _DtDtsMMNameStringToBoson(const char *string);
|
||||
|
||||
|
||||
#endif /* DT_DTS_MM_H */
|
||||
@@ -1,78 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* File: Qualify.h
|
||||
* RCS: $XConsortium: Qualify.h /main/3 1995/10/26 15:10:03 rswiston $
|
||||
* Description: Public header file for the Qualify routine
|
||||
* Project: DT Runtime Library
|
||||
* Language: C
|
||||
* Package: N/A
|
||||
*
|
||||
* (c) Copyright 1993 by Hewlett-Packard Company
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/*********************************************************************
|
||||
* _DtQualifyWithFirst
|
||||
*
|
||||
* takes: an unqualified filename like foo.txt, and
|
||||
* a colon-separated list of pathnames, such as
|
||||
* /etc/dt:/usr/dt/config
|
||||
*
|
||||
* returns: a fully qualified filename. Space for the filename
|
||||
* has been allocated off the heap using malloc. It is
|
||||
* the responsibility of the calling function to dispose
|
||||
* of the space using free.
|
||||
*
|
||||
* example: ...
|
||||
* char * filename;
|
||||
* ...
|
||||
* filename = _DtQualifyWithFirst("configFile",
|
||||
* "/foo/first/location:/foo/second/choice");
|
||||
* < use filename >
|
||||
* free(filename);
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef _Dt_Qualify_h
|
||||
#define _Dt_Qualify_h
|
||||
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
extern char * _DtQualifyWithFirst
|
||||
(
|
||||
char *, /* file to locate */
|
||||
char * /* list of colon-separated paths in which to look */
|
||||
);
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* _Dt_Qualify_h */
|
||||
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
@@ -1,52 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: Saver.h /main/3 1995/10/26 15:10:29 rswiston $ */
|
||||
/*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _dtsaver_h
|
||||
#define _dtsaver_h
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Functions
|
||||
*/
|
||||
|
||||
extern Boolean DtSaverGetWindows(
|
||||
Display *display,
|
||||
Window **window,
|
||||
int *count);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* Close scope of 'extern "C"' declaration which encloses file. */
|
||||
#endif
|
||||
|
||||
#endif /*_dtsaver_h*/
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
@@ -1,112 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: SaverP.h /main/4 1995/10/26 15:10:42 rswiston $ */
|
||||
/* *
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp. *
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
|
||||
* (c) Copyright 1993, 1994 Novell, Inc. *
|
||||
*/
|
||||
/************************************<+>*************************************
|
||||
****************************************************************************
|
||||
**
|
||||
** File: Saver.h
|
||||
**
|
||||
** Description
|
||||
** -----------
|
||||
** Variables and declarations needed for
|
||||
** managing external screen savers
|
||||
**
|
||||
****************************************************************************
|
||||
************************************<+>*************************************/
|
||||
#ifndef _dtsaverp_h
|
||||
#define _dtsaverp_h
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* _DtSaverStart()
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Store provided array of windows on root window property
|
||||
* _DT_SAVER_WINDOWS and launch specified screen saver. Screen savers
|
||||
* will attempt to use these windows as drawables.
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display structure
|
||||
* drawArea - array of widgets to be drawn upon by screen saver
|
||||
* count - number of elements in drawArea array
|
||||
* saverAction - screen saver action to invoke
|
||||
* wAction - action UI widget
|
||||
*
|
||||
* Outputs:
|
||||
* -------
|
||||
*
|
||||
* Return:
|
||||
* -------
|
||||
* state - pointer to opaque state structure
|
||||
*
|
||||
* Comments:
|
||||
* --------
|
||||
* This function uses _DtActionInvoke() to launch an action. As a result,
|
||||
* the caller is responsible for loading and maintaining the action database
|
||||
* using the DtDbLoad() function and procedures. The caller
|
||||
* must call _DtSaverStop() to terminate screen saver
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
|
||||
extern void * _DtSaverStart(Display *, Widget *, int, char *, Widget);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* _DtSaverStop()
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Stop an external screen saver started with DtStartSaver(). Deletes
|
||||
* _DT_SAVER_WINDOWS property from root window.
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display structure
|
||||
* state - state returned from _DtSaverStart()
|
||||
*
|
||||
* Outputs:
|
||||
* -------
|
||||
*
|
||||
* Return:
|
||||
* -------
|
||||
*
|
||||
* Comments:
|
||||
* --------
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
|
||||
extern void _DtSaverStop(Display *, void *);
|
||||
|
||||
|
||||
#endif /*_dtsaverp_h*/
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
@@ -1,59 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: Session.h /main/3 1995/10/26 15:10:56 rswiston $ */
|
||||
/*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _Dt_Session_h
|
||||
#define _Dt_Session_h
|
||||
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Functions
|
||||
*/
|
||||
|
||||
extern Boolean DtSessionSavePath(
|
||||
Widget widget,
|
||||
char **save_path,
|
||||
char **save_file);
|
||||
|
||||
extern Boolean DtSessionRestorePath(
|
||||
Widget widget,
|
||||
char **restore_path,
|
||||
char *restore_file);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_Session_h */
|
||||
@@ -1,250 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: SessionM.h /main/8 1998/07/30 12:10:49 mgreess $ */
|
||||
/*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1993, 1994, 1996 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994, 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994, 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994, 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
/*************************************<+>*************************************
|
||||
*****************************************************************************
|
||||
**
|
||||
** File: SessionM.h
|
||||
**
|
||||
** Description:
|
||||
** -----------
|
||||
** Contains all variables needed for SM messaging. All messages serviced,
|
||||
** and the tool class name for the session manager
|
||||
**
|
||||
**
|
||||
**
|
||||
*******************************************************************
|
||||
** (c) Copyright Hewlett-Packard Company, 1990. All rights are
|
||||
** reserved. Copying or other reproduction of this program
|
||||
** except for archival purposes is prohibited without prior
|
||||
** written consent of Hewlett-Packard Company.
|
||||
********************************************************************
|
||||
**
|
||||
**
|
||||
*****************************************************************************
|
||||
*************************************<+>*************************************/
|
||||
#ifndef _SessionM_h
|
||||
#define _SessionM_h
|
||||
|
||||
/*
|
||||
* Include files
|
||||
*/
|
||||
/* If <X11/Intrinsic.h> is included along with this file, <X11/Intrinsic.h>
|
||||
MUST be included first due to "typedef Boolean ..." problems. The following
|
||||
conditional #define is also part of the solution to this problem. */
|
||||
#include <X11/X.h>
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
/*
|
||||
* Tool class for the session manager
|
||||
*/
|
||||
#define DtSM_TOOL_CLASS "SESSIONMGR"
|
||||
|
||||
/*
|
||||
* SM_STARTUP_CHANGE an SM_STATE parameters
|
||||
*/
|
||||
#define DtSM_VERBOSE_MODE 1
|
||||
#define DtSM_QUIET_MODE 2
|
||||
#define DtSM_ASK_STATE 0
|
||||
#define DtSM_HOME_STATE 3
|
||||
#define DtSM_CURRENT_STATE 4
|
||||
|
||||
|
||||
/*
|
||||
* Atoms for session manager/style manager communication
|
||||
*/
|
||||
#define _XA_DT_SM_STM_PROTOCOL "_DT_SM_STM_PROTOCOL"
|
||||
#define _XA_DT_SM_SAVE_TO_HOME "_DT_SM_SAVE_TO_HOME"
|
||||
#define _XA_DT_SM_STATE_CHANGE "_DT_SM_STATE_CHANGE"
|
||||
#define _XA_DT_SM_RESTORE_DEFAULT "_DT_SM_RESTORE_DEFAULT"
|
||||
#define _XA_DT_SM_PREFERENCES "_DT_SM_PREFERENCES"
|
||||
|
||||
/*
|
||||
* Atoms for lock changes
|
||||
*/
|
||||
#define _XA_DT_SM_LOCK_CHANGE "_DT_SM_LOCK_CHANGE"
|
||||
#define CoverScreenMask (1L<<0)
|
||||
#define LockOnTimeoutMask (1L<<1)
|
||||
|
||||
/*
|
||||
* Parameters to be sent into session manager
|
||||
*/
|
||||
|
||||
/*
|
||||
* Atoms for communicating configuration changes and state
|
||||
*/
|
||||
/*
|
||||
* Defines needed for getting/setting the sm window property on the root
|
||||
*/
|
||||
#define PROP_DT_SM_WINDOW_INFO_ELEMENTS 2
|
||||
#define _XA_DT_SM_WINDOW_INFO "_DT_SM_WINDOW_INFO"
|
||||
|
||||
/*
|
||||
* Defines needed for getting the session manager state off it's window
|
||||
*/
|
||||
#define PROP_DT_SM_STATE_INFO_ELEMENTS 13
|
||||
#define _XA_DT_SM_STATE_INFO "_DT_SM_STATE_INFO"
|
||||
|
||||
/*
|
||||
* Defines needed for the screen saver list property.
|
||||
*/
|
||||
#define _XA_DT_SM_SAVER_INFO "_DT_SM_SAVER_INFO"
|
||||
|
||||
/*
|
||||
* Defines needed for the screen saver property
|
||||
*/
|
||||
#define PROP_DT_SM_SCREEN_INFO_ELEMENTS 5
|
||||
#define _XA_DT_SM_SCREEN_INFO "_DT_SM_SCREEN_INFO"
|
||||
|
||||
/*
|
||||
* Defines needed for the audio property
|
||||
*/
|
||||
#define PROP_DT_SM_AUDIO_INFO_ELEMENTS 4
|
||||
#define _XA_DT_SM_AUDIO_INFO "_DT_SM_AUDIO_INFO"
|
||||
|
||||
/*
|
||||
* Defines needed for the keyboard property
|
||||
*/
|
||||
#define PROP_DT_SM_KEYBOARD_INFO_ELEMENTS 3
|
||||
#define _XA_DT_SM_KEYBOARD_INFO "_DT_SM_KEYBOARD_INFO"
|
||||
|
||||
/*
|
||||
* Define needed for the font info property
|
||||
*/
|
||||
#define _XA_DT_SM_FONT_INFO "_DT_SM_FONT_INFO"
|
||||
|
||||
/*
|
||||
* Define needed for the font info property
|
||||
*/
|
||||
#define _XA_DT_SM_POINTER_INFO "_DT_SM_POINTER_INFO"
|
||||
|
||||
/*
|
||||
* Define needed for the preeditType info property
|
||||
*/
|
||||
#define _XA_DT_SM_PREEDIT_INFO "_DT_SM_PREEDIT_INFO"
|
||||
|
||||
/* bit definitions for SmStateInfo.flags */
|
||||
#define SM_STATE_NONE 0
|
||||
#define SM_STATE_START (1L << 0)
|
||||
#define SM_STATE_CONFIRM (1L << 1)
|
||||
#define SM_STATE_COMPAT (1L << 2)
|
||||
#define SM_STATE_SEND (1L << 3)
|
||||
#define SM_STATE_COVER (1L << 4) /* Obsolete */
|
||||
#define SM_STATE_LOTOUT (1L << 5) /* Obsolete */
|
||||
#define SM_STATE_LOTOUTSTAT (1L << 6)
|
||||
|
||||
#define SM_STATE_CYCLETIMEOUT (1L << 7)
|
||||
#define SM_STATE_LOCKTIMEOUT (1L << 8)
|
||||
#define SM_STATE_SAVERTIMEOUT (1L << 9)
|
||||
#define SM_STATE_RANDOM (1L << 10)
|
||||
#define SM_STATE_DISP_SESSION (1L << 11)
|
||||
|
||||
|
||||
#define SM_STATE_ALL (SM_STATE_START | SM_STATE_CONFIRM |\
|
||||
SM_STATE_COMPAT | SM_STATE_SEND |\
|
||||
SM_STATE_COVER | SM_STATE_LOTOUT |\
|
||||
SM_STATE_LOTOUTSTAT | SM_STATE_CYCLETIMEOUT |\
|
||||
SM_STATE_LOCKTIMEOUT | SM_STATE_SAVERTIMEOUT |\
|
||||
SM_STATE_RANDOM | SM_STATE_DISP_SESSION)
|
||||
|
||||
|
||||
/*
|
||||
* typedef statements for structures to be returned
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
int flags;
|
||||
int smStartState;
|
||||
int smConfirmMode;
|
||||
Boolean smCompatMode;
|
||||
Boolean smSendSettings;
|
||||
Boolean smCoverScreen; /* Obsolete */
|
||||
Boolean smLockOnTimeout; /* Obsolete */
|
||||
Boolean smLockOnTimeoutStatus;
|
||||
int smCycleTimeout;
|
||||
int smLockTimeout;
|
||||
int smSaverTimeout;
|
||||
Boolean smRandom;
|
||||
Boolean smDisplaySpecific; /* If True, the currently running
|
||||
session is for a specific display */
|
||||
|
||||
} SmStateInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *saverList;
|
||||
} SmSaverInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int flags;
|
||||
int smTimeout;
|
||||
int smInterval;
|
||||
int smPreferBlank;
|
||||
int smAllowExp;
|
||||
} SmScreenInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int flags;
|
||||
int smBellPercent;
|
||||
unsigned int smBellPitch;
|
||||
unsigned int smBellDuration;
|
||||
} SmAudioInfo;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int flags;
|
||||
int smKeyClickPercent;
|
||||
int smGlobalAutoRepeat;
|
||||
} SmKeyboardInfo;
|
||||
|
||||
/*
|
||||
* Function definitions
|
||||
*/
|
||||
extern Status _DtGetSmWindow(Display *, Window, Window *) ;
|
||||
extern Status _DtGetSmState(Display *, Window, SmStateInfo *);
|
||||
extern Status _DtSetSmState(Display *, Window, SmStateInfo *);
|
||||
extern Status _DtGetSmSaver(Display *, Window, SmSaverInfo *);
|
||||
extern void _DtSetSmSaver(Display *, Window, SmSaverInfo *);
|
||||
extern Status _DtGetSmScreen(Display *, Window, Atom, SmScreenInfo *);
|
||||
extern Status _DtGetSmAudio(Display *, Window, Atom, SmAudioInfo *);
|
||||
extern Status _DtGetSmKeyboard(Display *, Window, Atom, SmKeyboardInfo *);
|
||||
extern Status _DtGetSmFont(Display *, Window, Atom, char **);
|
||||
extern Status _DtGetSmPointer(Display *, Window, Atom, char **);
|
||||
extern Status _DtGetSmPreedit(Display *, Window, Atom, char **);
|
||||
|
||||
#endif /* _SessionM_h */
|
||||
|
||||
|
||||
|
||||
@@ -1,130 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: SessionP.h /main/5 1998/07/30 12:11:06 mgreess $ */
|
||||
/* *
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp. *
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
|
||||
* (c) Copyright 1993, 1994 Novell, Inc. *
|
||||
*/
|
||||
/*************************************<+>*************************************
|
||||
*****************************************************************************
|
||||
**
|
||||
** File: SessionP.h
|
||||
**
|
||||
** Description: Private header for Session Management routines
|
||||
** -----------
|
||||
**
|
||||
*******************************************************************
|
||||
** (c) Copyright Hewlett-Packard Company, 1990. All rights are
|
||||
** reserved. Copying or other reproduction of this program
|
||||
** except for archival purposes is prohibited without prior
|
||||
** written consent of Hewlett-Packard Company.
|
||||
********************************************************************
|
||||
**
|
||||
**
|
||||
**
|
||||
*****************************************************************************
|
||||
*************************************<+>*************************************/
|
||||
|
||||
#ifndef _SessionP_h
|
||||
#define _SessionP_h
|
||||
|
||||
/*
|
||||
* include statements
|
||||
*/
|
||||
|
||||
/*
|
||||
* define statements
|
||||
*/
|
||||
|
||||
/*
|
||||
* typedef statements
|
||||
*/
|
||||
|
||||
/*
|
||||
* Definition for the _DT_SM_WINDOW_INFO property.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long smWindow;
|
||||
} PropDtSmWindowInfo;
|
||||
|
||||
/*
|
||||
* Definition for the _DT_SM_STATE_INFO property
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long smStartState;
|
||||
unsigned long smConfirmMode;
|
||||
unsigned long smCompatMode;
|
||||
unsigned long smSendSettings;
|
||||
unsigned long smCoverScreen;
|
||||
unsigned long smLockOnTimeout;
|
||||
unsigned long smLockOnTimeoutStatus;
|
||||
unsigned long smCycleTimeout;
|
||||
unsigned long smLockTimeout;
|
||||
unsigned long smSaverTimeout;
|
||||
unsigned long smRandom;
|
||||
unsigned long smDisplaySpecific;
|
||||
} PropDtSmStateInfo;
|
||||
|
||||
/*
|
||||
* Definition for the _DT_SM_SCREEN_INFO property
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long smTimeout;
|
||||
unsigned long smInterval;
|
||||
unsigned long smPreferBlank;
|
||||
unsigned long smAllowExp;
|
||||
} PropDtSmScreenInfo;
|
||||
|
||||
/*
|
||||
* Definition for the _DT_SM_AUDIO_INFO property
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long smBellPercent;
|
||||
unsigned long smBellPitch;
|
||||
unsigned long smBellDuration;
|
||||
} PropDtSmAudioInfo;
|
||||
|
||||
|
||||
/*
|
||||
* Definition for the _DT_SM_KEYBOARD_INFO property
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long smKeyClickPercent;
|
||||
unsigned long smGlobalAutoRepeat;
|
||||
} PropDtSmKeyboardInfo;
|
||||
|
||||
|
||||
#endif /* _SessionP_h */
|
||||
/* Do not add anything after this endif. */
|
||||
@@ -1,189 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: Wsm.h /main/5 1996/05/20 16:08:50 drk $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1993,1994,1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1993,1994,1996 International Business Machines Corp.
|
||||
* (c) Copyright 1993,1994,1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993,1994,1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
#ifndef _Dt_Wsm_h
|
||||
#define _Dt_Wsm_h
|
||||
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Constants
|
||||
*/
|
||||
|
||||
#define DtWSM_REASON_ADD 0
|
||||
#define DtWSM_REASON_DELETE 1
|
||||
#define DtWSM_REASON_BACKDROP 2
|
||||
#define DtWSM_REASON_TITLE 3
|
||||
#define DtWSM_REASON_CURRENT 4
|
||||
|
||||
|
||||
/*
|
||||
* Types
|
||||
*/
|
||||
|
||||
/* Workspace property information */
|
||||
|
||||
typedef struct _DtWsmWorkspaceInfo {
|
||||
Atom workspace;
|
||||
unsigned long bg;
|
||||
unsigned long fg;
|
||||
Atom backdropName;
|
||||
int colorSetId;
|
||||
char *pchTitle;
|
||||
Window *backdropWindows;
|
||||
int numBackdropWindows;
|
||||
} DtWsmWorkspaceInfo;
|
||||
|
||||
|
||||
/* Workspace modified callback reasons */
|
||||
|
||||
typedef int DtWsmWsReason;
|
||||
|
||||
/* Workspace callback context (opaque) */
|
||||
|
||||
typedef struct _DtWsmCBContext * DtWsmCBContext;
|
||||
|
||||
/* Workspace callback prototype */
|
||||
|
||||
typedef void (*DtWsmWsChangeProc)(
|
||||
Widget widget,
|
||||
Atom aWs,
|
||||
XtPointer client_data);
|
||||
|
||||
/* Workspace modified callback prototype */
|
||||
|
||||
typedef void (*DtWsmWsModifiedProc)(
|
||||
Widget widget,
|
||||
Atom aWs,
|
||||
DtWsmWsReason reason,
|
||||
XtPointer client_data);
|
||||
|
||||
|
||||
/*
|
||||
* Functions
|
||||
*/
|
||||
|
||||
extern void DtWsmAddWorkspaceFunctions(
|
||||
Display *display,
|
||||
Window client);
|
||||
|
||||
extern void DtWsmRemoveWorkspaceFunctions(
|
||||
Display *display,
|
||||
Window client);
|
||||
|
||||
extern int DtWsmGetWorkspaceInfo(
|
||||
Display *display,
|
||||
Window root,
|
||||
Atom aWS,
|
||||
DtWsmWorkspaceInfo **ppWsInfo);
|
||||
|
||||
extern void DtWsmFreeWorkspaceInfo(
|
||||
DtWsmWorkspaceInfo *pWsInfo);
|
||||
|
||||
extern int DtWsmGetWorkspaceList(
|
||||
Display *display,
|
||||
Window root,
|
||||
Atom **ppWorkspaceList,
|
||||
int *pNumWorkspaces);
|
||||
|
||||
extern int DtWsmGetCurrentWorkspace(
|
||||
Display *display,
|
||||
Window root,
|
||||
Atom *paWorkspace);
|
||||
|
||||
extern DtWsmCBContext DtWsmAddCurrentWorkspaceCallback(
|
||||
Widget widget,
|
||||
DtWsmWsChangeProc ws_change,
|
||||
XtPointer client_data);
|
||||
|
||||
extern void DtWsmRemoveWorkspaceCallback(
|
||||
DtWsmCBContext pCbCtx);
|
||||
|
||||
extern int DtWsmSetCurrentWorkspace(
|
||||
Widget widget,
|
||||
Atom aWs);
|
||||
|
||||
extern int DtWsmGetWorkspacesOccupied(
|
||||
Display *display,
|
||||
Window window,
|
||||
Atom **ppaWs,
|
||||
unsigned long *pNumWs);
|
||||
|
||||
extern void DtWsmSetWorkspacesOccupied(
|
||||
Display *display,
|
||||
Window window,
|
||||
Atom *pWsHints,
|
||||
unsigned long numHints);
|
||||
|
||||
extern void DtWsmOccupyAllWorkspaces(
|
||||
Display *display,
|
||||
Window window);
|
||||
|
||||
extern DtWsmCBContext DtWsmAddWorkspaceModifiedCallback(
|
||||
Widget widget,
|
||||
DtWsmWsModifiedProc ws_modified,
|
||||
XtPointer client_data);
|
||||
|
||||
extern Window DtWsmGetCurrentBackdropWindow(
|
||||
Display *display,
|
||||
Window root);
|
||||
|
||||
extern int DtWsmSetWorkspaceTitle(
|
||||
Widget widget,
|
||||
Atom aWs,
|
||||
char *title);
|
||||
|
||||
extern int DtWsmChangeBackdrop(
|
||||
Display *display,
|
||||
Window root,
|
||||
char *path,
|
||||
Pixmap pixmap);
|
||||
|
||||
extern int DtWsmAddWorkspace(
|
||||
Widget widget,
|
||||
char *title);
|
||||
|
||||
extern int DtWsmDeleteWorkspace(
|
||||
Widget widget,
|
||||
Atom aWs);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_Wsm_h */
|
||||
@@ -1,133 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*****************************<+>*************************************
|
||||
*********************************************************************
|
||||
**
|
||||
** File: WsmM.h
|
||||
**
|
||||
** RCS: $XConsortium: WsmM.h /main/3 1995/10/26 15:14:36 rswiston $
|
||||
** Project: DT Workspace Manager
|
||||
**
|
||||
** Description: Defines parameters necessary for messaging with
|
||||
** the workspace manager.
|
||||
**
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Novell, Inc.
|
||||
**
|
||||
*********************************************************************
|
||||
*****************************<+>*************************************/
|
||||
#ifndef _Dt_WsmM_h
|
||||
#define _Dt_WsmM_h
|
||||
|
||||
/*
|
||||
* Messaging definitions
|
||||
*/
|
||||
|
||||
/* Workspace manager tool class (for old messages) */
|
||||
#define DtWM_TOOL_CLASS "WORKSPACEMGR"
|
||||
|
||||
/* Workspace manager tool class (for new messages) */
|
||||
#define DtWSM_TOOL_CLASS "WORKSPACE_MANAGER"
|
||||
|
||||
/* Workspace manager tool class (for front panel messages) */
|
||||
#define DtFP_TOOL_CLASS "FRONTPANEL"
|
||||
|
||||
/* Request from dtstyle to change backdrop */
|
||||
#define DtWM_BACKDROP_CHANGE "BACKDROP_CHANGE"
|
||||
|
||||
/* Request from session manager to unlock the display (depress button) */
|
||||
#define DtWM_UNLOCK_DISPLAY "UNLOCK_DISPLAY"
|
||||
|
||||
/* Request from session manager to cancel an exit (depress button) */
|
||||
#define DtWM_CANCEL_EXIT "CANCEL_EXIT"
|
||||
|
||||
/* Request from session manager to retore the front panel to default state */
|
||||
#define DtWM_RESTORE_PANEL "RESTORE_PANEL"
|
||||
|
||||
/* Notification from Workspace manager of a new workspace */
|
||||
#define DtWSM_NEW_WORKSPACE "ACTIVE_WORKSPACE"
|
||||
|
||||
#define DtWSM_NEW_WORKSPACE_ARG_NAME 0
|
||||
#define DtWSM_NEW_WORKSPACE_ARG_ATOM 1
|
||||
|
||||
/* Request to set the current workspace */
|
||||
#define DtWSM_SET_WORKSPACE "SET_WORKSPACE"
|
||||
|
||||
#define DtWSM_SET_WORKSPACE_ARG_ATOM 0
|
||||
|
||||
/* Request to change the title of a workspace */
|
||||
#define DtWSM_SET_WORKSPACE_TITLE "SET_WORKSPACE_TITLE"
|
||||
|
||||
#define DtWSM_SET_WORKSPACE_TITLE_ARG_ATOM 0
|
||||
#define DtWSM_SET_WORKSPACE_TITLE_ARG_TITLE 1
|
||||
|
||||
/* Request to add a workspace */
|
||||
#define DtWSM_ADD_WORKSPACE "ADD_WORKSPACE"
|
||||
|
||||
#define DtWSM_ADD_WORKSPACE_ARG_TITLE 0
|
||||
|
||||
/* Request to delete a workspace */
|
||||
#define DtWSM_DELETE_WORKSPACE "DELETE_WORKSPACE"
|
||||
|
||||
#define DtWSM_DELETE_WORKSPACE_ARG_ATOM 0
|
||||
|
||||
/* Notification from Workspace manager of a modified workspace */
|
||||
#define DtWSM_MODIFY_WORKSPACE "MODIFY_WORKSPACE"
|
||||
|
||||
#define DtWSM_MODIFY_WORKSPACE_ARG_ATOM 0
|
||||
#define DtWSM_MODIFY_WORKSPACE_ARG_TYPE 1
|
||||
|
||||
#define DtWSM_MODIFY_WORKSPACE_TYPE_ADD 0
|
||||
#define DtWSM_MODIFY_WORKSPACE_TYPE_DELETE 1
|
||||
#define DtWSM_MODIFY_WORKSPACE_TYPE_BACKDROP 2
|
||||
#define DtWSM_MODIFY_WORKSPACE_TYPE_TITLE 3
|
||||
#define DtWSM_MODIFY_WORKSPACE_TYPE_ACTIVE 4
|
||||
|
||||
/* Notification from Workspace manager of a modified workspace */
|
||||
#define DtWSM_MARQUEE_SELECTION "MARQUEE_SELECTION"
|
||||
|
||||
#define DtWSM_MARQUEE_SELECTION_ARG_TYPE 0
|
||||
#define DtWSM_MARQUEE_SELECTION_ARG_X 1
|
||||
#define DtWSM_MARQUEE_SELECTION_ARG_Y 2
|
||||
#define DtWSM_MARQUEE_SELECTION_ARG_WIDTH 3
|
||||
#define DtWSM_MARQUEE_SELECTION_ARG_HEIGHT 4
|
||||
|
||||
#define DtWSM_MARQUEE_SELECTION_TYPE_BEGIN 1
|
||||
#define DtWSM_MARQUEE_SELECTION_TYPE_CONTINUE 2
|
||||
#define DtWSM_MARQUEE_SELECTION_TYPE_END 3
|
||||
#define DtWSM_MARQUEE_SELECTION_TYPE_CANCEL 4
|
||||
|
||||
/*
|
||||
* Macros to set and fetch argument fields into a message
|
||||
*
|
||||
* (NOTE: Since sending the request breaks out the zero'th
|
||||
* field, there is a difference of one in these two macros.)
|
||||
*/
|
||||
#define DtWSM_SET_FIELD(fields,ix,value) ((fields)[(ix)]=(value))
|
||||
#define DtWSM_GET_FIELD(fields,ix) ((fields)[((ix)+1)])
|
||||
|
||||
|
||||
#endif /* _Dt_WsmM_h */
|
||||
/* Do not add anything after this endif. */
|
||||
@@ -1,848 +0,0 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: WsmP.h /main/8 1996/05/20 16:08:59 drk $ */
|
||||
|
||||
/************************************<+>*************************************
|
||||
****************************************************************************
|
||||
**
|
||||
** File: WsmP.h
|
||||
**
|
||||
** Project: DT Workspace Manager
|
||||
**
|
||||
** Description: Defines PRIVATE properties, structures, and
|
||||
** parameters used for communication with the
|
||||
** workspace manager.
|
||||
**
|
||||
** (c) Copyright 1996 Digital Equipment Corporation.
|
||||
** (c) Copyright 1993,1994,1996 Hewlett-Packard Company.
|
||||
** (c) Copyright 1993,1994,1996 International Business Machines Corp.
|
||||
** (c) Copyright 1993,1994,1996 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993,1994,1996 Novell, Inc.
|
||||
** (c) Copyright 1996 FUJITSU LIMITED.
|
||||
** (c) Copyright 1996 Hitachi.
|
||||
**
|
||||
****************************************************************************
|
||||
************************************<+>*************************************/
|
||||
#ifndef _Dt_WsmP_h
|
||||
#define _Dt_WsmP_h
|
||||
#include <Dt/Wsm.h>
|
||||
#include <X11/Intrinsic.h>
|
||||
#include <Dt/Service.h>
|
||||
#include <Tt/tt_c.h>
|
||||
|
||||
/**********************************************************************
|
||||
* Workspace atom names
|
||||
**********************************************************************/
|
||||
#define _XA_DT_MARQUEE_SELECTION "_DT_MARQUEE_SELECTION"
|
||||
#define _XA_DT_WORKSPACE_EMBEDDED_CLIENTS \
|
||||
"_DT_WORKSPACE_EMBEDDED_CLIENTS"
|
||||
#define _XA_DT_WM_REQUEST "_DT_WM_REQUEST"
|
||||
#define _XA_DT_WORKSPACE_HINTS "_DT_WORKSPACE_HINTS"
|
||||
#define _XA_DT_WORKSPACE_PRESENCE "_DT_WORKSPACE_PRESENCE"
|
||||
#define _XA_DT_WORKSPACE_INFO "_DT_WORKSPACE_INFO"
|
||||
#define _XA_DT_WM_HINTS "_DT_WM_HINTS"
|
||||
#define _XA_DT_WORKSPACE_LIST "_DT_WORKSPACE_LIST"
|
||||
#define _XA_DT_WORKSPACE_CURRENT "_DT_WORKSPACE_CURRENT"
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Name to request ``all'' workspaces (for a persistent window)
|
||||
**********************************************************************/
|
||||
|
||||
#define _XA_DT_WORKSPACE_ALL "all"
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Workspace function definitions
|
||||
**********************************************************************/
|
||||
#define DtWM_FUNC_OCCUPY_WS DtWM_FUNCTION_OCCUPY_WS
|
||||
#define DtWM_FUNC_ALL DtWM_FUNC_OCCUPY_WS
|
||||
|
||||
/**********************************************************************
|
||||
* Workspace property information
|
||||
**********************************************************************/
|
||||
|
||||
/*
|
||||
*
|
||||
* NOTE: The "(client -> dtwm)" indication calls out the direction
|
||||
* of information flow. In this case, the client writes the
|
||||
* property and dtwm reads the property.
|
||||
*
|
||||
*
|
||||
* _DT_WORKSPACE_HINTS (client -> dtwm)
|
||||
*
|
||||
* This property is a list of atoms placed by a client on its
|
||||
* top level window(s). Each atom is an "interned" string name
|
||||
* for a workspace. The workspace manager looks at this property
|
||||
* when it manages the window (e.g. when the window is mapped)
|
||||
* and will place the window in the workspaces listed.
|
||||
*
|
||||
* _DT_WORKSPACE_PRESENCE (dtwm -> client)
|
||||
*
|
||||
* This property is a list of atoms placed on a client by dtwm.
|
||||
* Each atom is an "interned" string name for a workspace. This
|
||||
* property lists the workspaces that this client lives in.
|
||||
*
|
||||
* _DT_WORKSPACE_LIST (dtwm -> clients)
|
||||
*
|
||||
* This property is a list of atoms. Each atom represents a
|
||||
* name of a workspace. The list is in "order" such that
|
||||
* the first element is for the first workspace and so on.
|
||||
* This proeprty is placed on the mwm ("wmWindow") window.
|
||||
*
|
||||
* _DT_WORKSPACE_CURRENT (dtwm -> clients)
|
||||
*
|
||||
* This property is a single atom, representing the current
|
||||
* workspace. It is updated each time the workspace changes.
|
||||
* This proeprty is placed on the mwm window.
|
||||
*
|
||||
* _DT_WORKSPACE_INFO_<name> (dtwm -> clients)
|
||||
*
|
||||
* There is one property of this form for each workspace in
|
||||
* _DT_WORKSPACE_LIST. This property is a sequence of ISO-LATIN1
|
||||
* NULL-terminated strings representing the elements in a
|
||||
* structure. This information was formerly in _DT_WORKSPACE_INFO
|
||||
* but was broken out to allow for extensibility.
|
||||
* This proeprty is placed on the mwm window.
|
||||
*
|
||||
* _DT_WM_HINTS (client -> dtwm)
|
||||
*
|
||||
* This property requests specific window/workspace management behavior.
|
||||
* The functions member of the property allows a client to enable or
|
||||
* disable workspace management functions. The behavior member is
|
||||
* used to indicate front panels and slide-ups.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Property structures
|
||||
**********************************************************************/
|
||||
|
||||
typedef struct _DtWmHints
|
||||
{
|
||||
long flags; /* marks valid fields */
|
||||
long functions; /* special dtwm functions */
|
||||
long behaviors; /* special dtwm behaviors */
|
||||
Window attachWindow; /* (reserved) */
|
||||
} DtWmHints;
|
||||
|
||||
/* DtWmHints "flags" definitions */
|
||||
#define DtWM_HINTS_FUNCTIONS (1L << 0)
|
||||
#define DtWM_HINTS_BEHAVIORS (1L << 1)
|
||||
#define DtWM_HINTS_ATTACH_WINDOW (1L << 2) /* (reserved) */
|
||||
|
||||
/* DtWmHints "functions" definitions */
|
||||
#define DtWM_FUNCTION_ALL (1L << 0)
|
||||
#define DtWM_FUNCTION_OCCUPY_WS (1L << 16)
|
||||
|
||||
/* DtWmHints "behaviors" definitions */
|
||||
#define DtWM_BEHAVIOR_PANEL (1L << 1)
|
||||
#define DtWM_BEHAVIOR_SUBPANEL (1L << 2)
|
||||
#define DtWM_BEHAVIOR_SUB_RESTORED (1L << 3)
|
||||
|
||||
/**********************************************************************
|
||||
* Session atom names
|
||||
**********************************************************************/
|
||||
#define _XA_DT_SESSION_HINTS "_DT_SESSION_HINTS"
|
||||
#define _XA_DT_SAVE_MODE "_DT_SAVE_MODE"
|
||||
#define _XA_DT_RESTORE_MODE "_DT_RESTORE_MODE"
|
||||
#define _XA_DT_RESTORE_DIR "_DT_RESTORE_DIR"
|
||||
#define _XA_DT_SM_WM_PROTOCOL "_DT_SM_WM_PROTOCOL"
|
||||
#define _XA_DT_SM_START_ACK_WINDOWS "_DT_SM_START_ACK_WINDOWS"
|
||||
#define _XA_DT_SM_STOP_ACK_WINDOWS "_DT_SM_STOP_ACK_WINDOWS"
|
||||
#define _XA_DT_WM_WINDOW_ACK "_DT_WM_WINDOW_ACK"
|
||||
#define _XA_DT_WM_EXIT_SESSION "_DT_WM_EXIT_SESSION"
|
||||
#define _XA_DT_WM_LOCK_DISPLAY "_DT_WM_LOCK_DISPLAY"
|
||||
#define _XA_DT_WM_READY "_DT_WM_READY"
|
||||
|
||||
/**********************************************************************
|
||||
* Workspace special character definitions
|
||||
**********************************************************************/
|
||||
#define DTWM_CH_ESC_NEXT "\\"
|
||||
|
||||
/**********************************************************************
|
||||
* Marquee selection callback prototype
|
||||
**********************************************************************/
|
||||
typedef void (*DtWsmMarqueeSelectionProc) ();
|
||||
/*
|
||||
Widget widget;
|
||||
int type;
|
||||
Position x, y;
|
||||
Dimension width, height;
|
||||
XtPointer client_data;
|
||||
*/
|
||||
|
||||
/**********************************************************************
|
||||
* Marquee Select
|
||||
**********************************************************************/
|
||||
|
||||
#define DT_WSM_MARQUEE_SELECTION_TYPE_BEGIN 1
|
||||
#define DT_WSM_MARQUEE_SELECTION_TYPE_CONTINUE 2
|
||||
#define DT_WSM_MARQUEE_SELECTION_TYPE_END 3
|
||||
#define DT_WSM_MARQUEE_SELECTION_TYPE_CANCEL 4
|
||||
|
||||
/**********************************************************************
|
||||
* Workspace request definitions
|
||||
*
|
||||
* NOTE: These functions do not necessarily match the other
|
||||
* window manager f.* functions!
|
||||
**********************************************************************/
|
||||
#define DTWM_REQ_CHANGE_BACKDROP "f.change_backdrop"
|
||||
#define DTWM_REQ_RESTART "f.restart"
|
||||
|
||||
/**********************************************************************
|
||||
* Workspace request parameter definitions
|
||||
**********************************************************************/
|
||||
#define DTWM_REQP_BACKDROP_NONE "NoBackdrop"
|
||||
#define DTWM_REQP_NO_CONFIRM "-noconfirm"
|
||||
|
||||
/**********************************************************************
|
||||
* Resource converter definitions
|
||||
*
|
||||
* NOTE: This has been lifted from mwm.
|
||||
* Please keep syncronized with the current version of mwm/dtwm.
|
||||
* (See WmGlobal.h)
|
||||
**********************************************************************/
|
||||
|
||||
/* icon placement values (iconPlacement, ...): */
|
||||
#define ICON_PLACE_LEFT_PRIMARY (1L << 0)
|
||||
#define ICON_PLACE_RIGHT_PRIMARY (1L << 1)
|
||||
#define ICON_PLACE_TOP_PRIMARY (1L << 2)
|
||||
#define ICON_PLACE_BOTTOM_PRIMARY (1L << 3)
|
||||
#define ICON_PLACE_LEFT_SECONDARY (1L << 4)
|
||||
#define ICON_PLACE_RIGHT_SECONDARY (1L << 5)
|
||||
#define ICON_PLACE_TOP_SECONDARY (1L << 6)
|
||||
#define ICON_PLACE_BOTTOM_SECONDARY (1L << 7)
|
||||
#define ICON_PLACE_EDGE (1L << 8)
|
||||
#define ICON_PLACE_TIGHT (1L << 9)
|
||||
#define ICON_PLACE_RESERVE (1L << 10)
|
||||
|
||||
/**********************************************************************
|
||||
* Workspace property information
|
||||
**********************************************************************/
|
||||
|
||||
/*
|
||||
*
|
||||
* NOTE: The "(client -> dtwm)" indication calls out the direction
|
||||
* of information flow. In this case, the client writes the
|
||||
* property and dtwm reads the property.
|
||||
*
|
||||
* _DT_WM_REQUEST (client -> dtwm)
|
||||
*
|
||||
* This property of type string that is used to communication
|
||||
* function requests to dtwm. This property is placed on the mwm
|
||||
* window. Dtwm listens for changes to this property and dequeues
|
||||
* requests off the top of the list. Requests are NULL-terminated
|
||||
* strings in the format:
|
||||
*
|
||||
* <req_type> <req_parms>
|
||||
*
|
||||
* Each request ends with a literal '\0' character to insure
|
||||
* separation from the next request.
|
||||
*
|
||||
* Clients must always add requests to the end of the property
|
||||
* (mode=PropModeAppend). Use of convenience routines is
|
||||
* recommended since they take care of proper formatting of the
|
||||
* requests.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Property structures
|
||||
**********************************************************************/
|
||||
|
||||
/* Internal form of this property */
|
||||
typedef struct _DtWorkspaceHints
|
||||
{
|
||||
long version; /* indicates structure changes */
|
||||
long flags; /* marks valid fields */
|
||||
long wsflags; /* special workspace information */
|
||||
long numWorkspaces; /* number of workspaces */
|
||||
Atom * pWorkspaces; /* list of atoms for workspaces */
|
||||
} DtWorkspaceHints;
|
||||
|
||||
/* DtWorkspaceHints "flags" definitions */
|
||||
#define DT_WORKSPACE_HINTS_WSFLAGS (1L << 0)
|
||||
/* The following definitions enables both the numWorkspaces
|
||||
and pWorkspaces fields */
|
||||
#define DT_WORKSPACE_HINTS_WORKSPACES (1L << 1)
|
||||
|
||||
/* DtWorkspaceHints "wsflags" definitions */
|
||||
#define DT_WORKSPACE_FLAGS_OCCUPY_ALL (1L << 0)
|
||||
|
||||
/**********************************************************************
|
||||
* Marquee Selection Structures
|
||||
**********************************************************************/
|
||||
typedef struct _DtMarqueeSelectData
|
||||
{
|
||||
long state; /* current property state */
|
||||
Position x; /* NW corner of select area */
|
||||
Position y; /* NW corner of select area */
|
||||
Dimension width; /* size of select area */
|
||||
Dimension height; /* size of select area */
|
||||
} DtMarqueeSelectData;
|
||||
|
||||
typedef struct _DtMarqueeSelectProp
|
||||
{
|
||||
long state; /* current property state */
|
||||
long x; /* NW corner of select area */
|
||||
long y; /* NW corner of select area */
|
||||
long width; /* size of select area */
|
||||
long height; /* size of select area */
|
||||
} DtMarqueeSelectProperty;
|
||||
|
||||
/**********************************************************************
|
||||
* Marquee Selection Definitions
|
||||
**********************************************************************/
|
||||
#define DT_MARQUEE_SELECT_BEGIN 1
|
||||
#define DT_MARQUEE_SELECT_CONTINUE 2
|
||||
#define DT_MARQUEE_SELECT_END 3
|
||||
#define DT_MARQUEE_SELECT_CANCEL 4
|
||||
|
||||
/**********************************************************************
|
||||
* Workspace change callback context (opaque)
|
||||
**********************************************************************/
|
||||
typedef void (*DtWsmCBProc) ();
|
||||
struct _DtWsmCBContext
|
||||
{
|
||||
Tt_pattern pattern;
|
||||
Widget widget;
|
||||
DtWsmCBProc ws_cb;
|
||||
XtPointer client_data;
|
||||
XtPointer nested_context;
|
||||
};
|
||||
|
||||
/**********************************************************************
|
||||
* Convenience Routines
|
||||
**********************************************************************/
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int _DtGetMwmWindow (display, root, pMwmWindow)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Get the Motif Window manager window
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* root - root window of screen
|
||||
* pMwmWindow - pointer to a window (to be returned)
|
||||
*
|
||||
* Outputs:
|
||||
* --------
|
||||
* *pMwmWindow - mwm window id, if successful
|
||||
* Return - status from XGetWindowProperty
|
||||
*
|
||||
* Comments:
|
||||
* --------
|
||||
* This can fail if mwm is not managing the screen for the root window
|
||||
* passed in.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern int
|
||||
_DtGetMwmWindow(
|
||||
Display *display,
|
||||
Window root,
|
||||
Window *pMwmWindow) ;
|
||||
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int _DtGetEmbeddedClients (display, root, ppEmbeddedClients,
|
||||
* pNumEmbeddedClients)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Get the contents of the _DT_WORKSPACE_EMBEDDED_CLIENTS property
|
||||
* from a root window. This is a list (array) of top-level windows that
|
||||
* are embedded in the front panel of the window manager. They would
|
||||
* not be picked up ordinarily by a session manager in a normal
|
||||
* search for top-level windows because they are reparented to
|
||||
* the front panel which itself is a top-level window.
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* root - root window to get info from
|
||||
* ppEmbeddedClients - pointer to a pointer (to be returned)
|
||||
* pNumEmbeddedClients - pointer to a number (to be returned)
|
||||
*
|
||||
* Outputs:
|
||||
* -------
|
||||
* *ppEmbeddedClients - pointer to a array of window IDs (top-level
|
||||
* windows for embedded clients)
|
||||
* (NOTE: This should be freed using XFree)
|
||||
* *pNumEmbeddedClients- number of window IDs in array
|
||||
* Return - Success if property fetched ok.
|
||||
* Failure returns are from XGetWindowProperty
|
||||
*
|
||||
* Comments:
|
||||
* --------
|
||||
* Use XFree to free the returned data.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern int
|
||||
_DtGetEmbeddedClients(
|
||||
Display *display,
|
||||
Window root,
|
||||
Atom **ppEmbeddedClients,
|
||||
unsigned long *pNumEmbeddedClients );
|
||||
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int _DtWmRestart (display, root)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Requests the window manager to restart itself
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* root - root window for screen
|
||||
*
|
||||
* Returns:
|
||||
* --------
|
||||
* Success if request was sent
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern int
|
||||
_DtWmRestart(
|
||||
Display *display,
|
||||
Window root) ;
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int _DtWsmChangeBackdrop (display, root, path, pixmap)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Request the HP DT workspace manager to change the backdrop
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* root - root window of screen
|
||||
* path - file path to bitmap file
|
||||
* pixmap - pixmap id of backdrop pixmap
|
||||
*
|
||||
* Returns:
|
||||
* --------
|
||||
* Success if request sent
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern int
|
||||
_DtWsmChangeBackdrop (
|
||||
Display *display,
|
||||
Window root,
|
||||
char *path,
|
||||
Pixmap pixmap);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* _DtWmCvtStringToIPlace (args, numArgs, fromVal, toVal)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* This function converts a string to an icon placement scheme description.
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* args = NULL (don't care)
|
||||
*
|
||||
* numArgs = 0 (don't care)
|
||||
*
|
||||
* fromVal = resource value to convert
|
||||
*
|
||||
*
|
||||
* Outputs:
|
||||
* -------
|
||||
* toVal = descriptor to use to return converted value
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
|
||||
extern void
|
||||
_DtWmCvtStringToIPlace (
|
||||
XrmValue *args,
|
||||
Cardinal numArgs,
|
||||
XrmValue *fromVal,
|
||||
XrmValue *toVal);
|
||||
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* Boolean _DtWsmIsBackdropWindow (display, screen_num, window)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Returns true if the window passed in is a backdrop window.
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* screen_num - number of screen we're interested in
|
||||
* window - window we want to test
|
||||
*
|
||||
* Outputs:
|
||||
* -------
|
||||
* Return - True if window is a backdrop window
|
||||
* False otherwise.
|
||||
*
|
||||
* Comments:
|
||||
* --------
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
Boolean
|
||||
_DtWsmIsBackdropWindow(
|
||||
Display *display,
|
||||
int screen_num,
|
||||
Window window );
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int DtWsmSetWorkspaceTitle (widget, aWs, pchNewName)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Rename a workspace
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* widget - a widget
|
||||
* aWs - atom of workspace
|
||||
* pchNewName - new name for the workspace
|
||||
*
|
||||
* Outputs:
|
||||
* --------
|
||||
* Return - 1 (*not* Success) if communication to workspace manager
|
||||
* was successful.
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
* The odd-ball successful return value is a CDE 1.0 bug being
|
||||
* preserved for backward compatibility.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
int
|
||||
_DtWsmSetWorkspaceTitle (
|
||||
Widget widget,
|
||||
Atom aWs,
|
||||
char * pchNewName);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int _DtWsmDeleteWorkspace (widget, aWs)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Delete a workspace
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* widget - a widget (with a window!)
|
||||
* aWs - atom of workspace to delete
|
||||
*
|
||||
* Outputs:
|
||||
* --------
|
||||
* Return - 1 (*not* Success) if communication to workspace manager
|
||||
* was successful.
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
* The odd-ball successful return value is a CDE 1.0 bug being
|
||||
* preserved for backward compatibility.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
int
|
||||
_DtWsmDeleteWorkspace (
|
||||
Widget widget,
|
||||
Atom aWs);
|
||||
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int _DtWsmCreateWorkspace (widget, pchTitle)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Add a workspace
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* widget - a widget (with a window!)
|
||||
* pchTitle - user-visible title of the workspace
|
||||
*
|
||||
* Outputs:
|
||||
* --------
|
||||
* Return - 1 (*not* Success) if communication to workspace manager
|
||||
* was successful.
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
* The odd-ball successful return value is a CDE 1.0 bug being
|
||||
* preserved for backward compatibility.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
int
|
||||
_DtWsmCreateWorkspace (Widget widget, char * pchTitle);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* _DtWsmSetWorkspaceHints (display, window, pWsHints)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Set the contents of the _DT_WORKSPACE_HINTS property on a window
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* window - window to get hints from
|
||||
* pWsHints - pointer to workspace hints
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
* The internal form of the property is a structure. The structure
|
||||
* must be unwound and turned into a simple array of "long"s before
|
||||
* being written out.
|
||||
*
|
||||
* This function currently only deals with version 1 of the property
|
||||
* structure. The passed in pWsHints->version is ignored.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern void
|
||||
_DtWsmSetWorkspaceHints(
|
||||
Display *display,
|
||||
Window window,
|
||||
DtWorkspaceHints *pWsHints);
|
||||
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int _DtWsmGetWorkspaceHints (display, window, ppWsHints)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Get the contents of the _DT_WORKSPACE_HINTS property from a window
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* window - window to get hints from
|
||||
* ppWsHints - pointer to pointer to workspace hints
|
||||
*
|
||||
* Outputs:
|
||||
* *ppWsHints - allocated workspace hints data.
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
* The internal form of the property is a structure. The property
|
||||
* is read in and packed into data allocated for the structure.
|
||||
* Free the workspace hints by calling _DtWsmFreeWorkspaceHints.
|
||||
*
|
||||
* This function currently only deals with version 1 of the property
|
||||
* structure.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern int
|
||||
_DtWsmGetWorkspaceHints(
|
||||
Display *display,
|
||||
Window window,
|
||||
DtWorkspaceHints **ppWsHints);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* _DtWsmFreeWorkspaceHints (pWsHints)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Free a workspace hints structure returned from _DtWsmGetWorkspaceHints
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* pWsHints - pointer to workspace hints
|
||||
*
|
||||
* Outputs:
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
*************************************<->***********************************/
|
||||
extern void
|
||||
_DtWsmFreeWorkspaceHints(
|
||||
DtWorkspaceHints *pWsHints);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* DtWsmCBContext * _DtWsmAddMarqueeSelectionCallback (widget,
|
||||
* marquee_select,
|
||||
* client_data)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Register a function to be called when a marquee selection is made
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* widget - widget for this client
|
||||
* marquee_select - function to call for marquee select
|
||||
* client_data - additional data to pass back to client when called.
|
||||
*
|
||||
* Outputs:
|
||||
* --------
|
||||
* Return - ptr to callback context data (opaque)
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
* The callback context data ptr should be saved if you intend to
|
||||
* removed this callback at some point in the future.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
DtWsmCBContext
|
||||
_DtWsmAddMarqueeSelectionCallback (
|
||||
Widget widget,
|
||||
DtWsmMarqueeSelectionProc marquee_select,
|
||||
XtPointer client_data);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* _DtWsmSetDtWmHints (display, window, pHints)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Set the contents of the _DT_WM_HINTS property on a window
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* window - window to set hints on
|
||||
* pHints - pointer the hints to set
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
* No error checking
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern void
|
||||
_DtWsmSetDtWmHints( Display *display,
|
||||
Window window,
|
||||
DtWmHints *pHints);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* int _DtWsmGetDtWmHints (display, window, ppDtWmHints)
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Get the contents of the _DT_WM_HINTS property on a window
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* display - display
|
||||
* window - window to get hints from
|
||||
* ppDtWmHints - pointer to a pointer to return
|
||||
*
|
||||
* Outputs:
|
||||
* --------
|
||||
* *ppDtWmHints-points to the DtWmHints structure retrieved from
|
||||
* the window (NOTE: This should be freed using XFree)
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern int
|
||||
_DtWsmGetDtWmHints(
|
||||
Display *display,
|
||||
Window window,
|
||||
DtWmHints **ppDtWmHints);
|
||||
|
||||
/*************************************<->*************************************
|
||||
*
|
||||
* _DtWsmSelectionNameForScreen (scr)
|
||||
*
|
||||
* Description:
|
||||
* -----------
|
||||
* Returns a string containing the selection name used for
|
||||
* communication with the workspace manager on this screen
|
||||
*
|
||||
*
|
||||
* Inputs:
|
||||
* ------
|
||||
* scr - number of screen
|
||||
*
|
||||
* Outputs:
|
||||
* --------
|
||||
* Return - ptr to string with selection name (free with XtFree)
|
||||
*
|
||||
* Comments:
|
||||
* ---------
|
||||
* Assumes the screen number is < 1000.
|
||||
*
|
||||
*************************************<->***********************************/
|
||||
extern String
|
||||
_DtWsmSelectionNameForScreen (int scr);
|
||||
|
||||
extern Tt_callback_action
|
||||
_DtWsmConsumeReply (
|
||||
Tt_message msg,
|
||||
Tt_pattern pat );
|
||||
|
||||
#endif /* _Dt_WsmP_h */
|
||||
/* Do not add anything after this endif. */
|
||||
Reference in New Issue
Block a user