TASKS(3PVM)							  TASKS(3PVM)

NAME
  pvm_tasks - Returns information about	the tasks running on the virtual
  machine.

SYNOPSIS
  C	  int info = pvm_tasks(	int where, int *ntask, struct pvmtaskinfo
  **taskp )

	  struct pvmtaskinfo {	       int ti_tid;	   int ti_ptid;
	  int ti_host;	       int ti_flag;	    char *ti_a_out;	    }
  taskp;

  Fortran call pvmftasks( where, ntask,	tid, ptid, dtid, flag, aout, info )

PARAMETERS

  where	  Integer specifying what tasks	to return information about.  The
	  options are:

		  0	 for all the tasks on the virtual machine
	       pvmd tid	 for all tasks on a given host
		 tid	 for a specific	task

  ntask	  Integer returning the	number of tasks	being reported on.

  taskp	  Returns pointer to an	array of structures which contain information
	  about	each task including its	task ID, parent	tid, pvmd task ID,
	  status flag, and the name of this task's executable file.  The
	  status flag values are: waiting for a	message, waiting for the
	  pvmd,	and running.

  tid	  Integer returning task ID of one task

  ptid	  Integer returning parent task	ID

  dtid	  Integer returning pvmd task ID of host task is on.

  flag	  Integer returning status of task

  aout	  Character string returning the name of spawned task.	Manually
	  started tasks	return blank.

  info	  Integer status code returned by the routine.	Values less than zero
	  indicate an error.

DISCUSSION
  The routine pvm_tasks	returns	information about tasks	presently running on
  the virtual machine.	The information	returned is the	same as	that avail-
  able from the	console	command	ps. The	C function returns information about
  the entire virtual machine in	one call. The Fortran function returns infor-
  mation about one task	per call and cycles through all	the tasks.  Thus, if
  where	= 0, and pvmftasks is called ntask times, all tasks will be
  represented.

  Note that in Fortran the reported value of ntask and the set of tasks	do
  not change until the function	resets at the end of a complete	cycle.	The
  user can reset pvmftasks() at	any time by calling it with ntask = -1.

  If pvm_tasks is successful, info will	be 0.  If some error occurs then info
  will be < 0.

EXAMPLES
  C:
       struct pvmtaskinfo *taskp;
       int i, ntask;

       info = pvm_tasks( 0, &ntask, &taskp );
       for (i =	0; i < ntask; i++)
		 printf("t%x\n", taskp[i].ti_tid);
  Fortran:
       Do i=1, NTASK
	   CALL	PVMFTASKS( DTID, NTASK,	TID(i),	PTID(i), DTID(i),
       &		  FLAG(i), AOUT(i), INFO )
       EndDo

ERRORS
  The following	error condition	can be returned	by pvm_tasks
       PvmBadParam    invalid value for	where argument.
       PvmSysErr      pvmd not responding.
       PvmNoHost      specified	host not in virtual machine.

SEE ALSO
  pvm_config(3PVM), pvm_tidtohost(3PVM)


Back to the alphabetical listing
Back to the listing of routines for controling the virtual machine