/* tkPvm.h */
#ifndef TKPVM_H
#define TKPVM_H

#define TKPVM_VERSION "1.0"
#ifndef _TCL
#include <tcl.h>
#endif
#ifndef	_PVM3_H_
#include <pvm3.h>
#endif

Bits to pass to Tk_CreateFileHandler to indicate what sorts of events are of interest:

#define TK_READABLE	1
#define TK_WRITABLE	2
#define TK_EXCEPTION	4

Special return value from Tk_FileProc2 procedures indicating that an event was successfully processed.

#define TK_FILE_HANDLED -1

Flag values to pass to Tk_DoOneEvent to disable searches for some kinds of events:

#define TK_DONT_WAIT		1
#define TK_X_EVENTS		2
#define TK_FILE_EVENTS		4
#define TK_TIMER_EVENTS		8
#define TK_IDLE_EVENTS		0x10
#define TK_ALL_EVENTS		0x1e

Dummy types that are used by clients:

typedef struct Tk_TimerToken_ *Tk_TimerToken;

Additional procedure types defined by Tk, that are also used in tkPvm

typedef void (Tk_FileProc) _ANSI_ARGS_((ClientData clientData, int mask));
typedef int (Tk_FileProc2) _ANSI_ARGS_((ClientData clientData, int mask,
	int flags));
typedef int (Tk_GetSelProc) _ANSI_ARGS_((ClientData clientData,
	Tcl_Interp *interp, char *portion));
typedef void (Tk_IdleProc) _ANSI_ARGS_((ClientData clientData));
typedef void (Tk_TimerProc) _ANSI_ARGS_((ClientData clientData));

Additional functions defined by Tk, that are also used in pvmsh.

EXTERN void	Tk_CreateFileHandler _ANSI_ARGS_((int fd, int mask,
			    Tk_FileProc *proc, ClientData clientData));
EXTERN void	Tk_DeleteFileHandler _ANSI_ARGS_((int fd));
EXTERN void	Tk_DoWhenIdle _ANSI_ARGS_((Tk_IdleProc *proc,
			    ClientData clientData));
EXTERN void	Tk_BackgroundError _ANSI_ARGS_((Tcl_Interp *interp));

Additional procedure types defined by TkPvm.

typedef void (Pvm_PvmProc) _ANSI_ARGS_((int tid, int msgtag, int number,
				       ClientData clientData));

Additional procedures defined by TkPvm.

EXTERN int	Pvm_Init _ANSI_ARGS_(( Tcl_Interp *interp));
EXTERN int	Pvm_InitStandAlone _ANSI_ARGS_(( Tcl_Interp *interp));

EXTERN int	Pvm_InitPvmCmd _ANSI_ARGS_(( Tcl_Interp *interp));
EXTERN int	Pvm_PvmCmd _ANSI_ARGS_(( ClientData clientData,
			    Tcl_Interp *interp, int argc, char **argv));
EXTERN void	Pvm_MainLoop _ANSI_ARGS_((void));

EXTERN void	Pvm_CreatePvmHandler _ANSI_ARGS_((int tid, int msgtag,
			    Pvm_PvmProc *proc, ClientData clientData));
EXTERN void	Pvm_DeletePvmHandler _ANSI_ARGS_((int tid, int msgtag));

#endif /* TKPVM_H */