123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- /*
- * 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 */
|