Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99r-bb - mxncmi.r36
There are 13 other files named mxncmi.r36 in the archive. Click here to see a list.
!	COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1985, 1989.
!	ALL RIGHTS RESERVED.
!
!	THIS SOFTWARE IS FURNISHED UNDER A  LICENSE AND MAY BE USED AND  COPIED
!	ONLY IN  ACCORDANCE  WITH  THE  TERMS OF  SUCH  LICENSE  AND  WITH  THE
!	INCLUSION OF THE ABOVE  COPYRIGHT NOTICE.  THIS  SOFTWARE OR ANY  OTHER
!	COPIES THEREOF MAY NOT BE PROVIDED  OR OTHERWISE MADE AVAILABLE TO  ANY
!	OTHER PERSON.  NO  TITLE TO  AND OWNERSHIP  OF THE  SOFTWARE IS  HEREBY
!	TRANSFERRED.
!
!	THE INFORMATION IN THIS  SOFTWARE IS SUBJECT  TO CHANGE WITHOUT  NOTICE
!	AND SHOULD  NOT  BE CONSTRUED  AS  A COMMITMENT  BY  DIGITAL  EQUIPMENT
!	CORPORATION.
!
!	DIGITAL ASSUMES NO  RESPONSIBILITY FOR  THE USE OR  RELIABILITY OF  ITS
!	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.

!++
! Facility: LSG DECnet Network Management
!
! Abstract: This file contains transportable definitions that
!           are used by more than one NMU module.  These definitions
!           are used only by NMU modules and require NMUCOM and
!           NMUT20 require files to precede it in the complation
!           input stream.
!
! Environment: Bliss-36, Bliss-32 and Bliss-16.
!
! Author: Steven M. Jenness, Creation date: 18-Jun-81
!
!--
!
! Task block definitions
!
! **** Warning ... if the task block fields are changed, they
! **** must also be changed in the files NMUT20.MAC, NMUT10.MAC,
! **** NMUMCB.MAC.
!
! Note that the TB_SCHED_QUEUE field is used to enter the task
! block onto the RUN_QUEUE, any EVENT_QUEUE and the TIME_QUEUE.
! Since each queue is mutually exclusive, there is no conflict.
!
! Task state block

    $field
    TASK_BLOCK_FIELDS =
	set
	TB_SCHED_QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Scheduler queue linkage
	TB_TASK_QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Master task queue
	TB_START = [$address],			! Task starting address
	TB_ABORT = [$address],			! Task abort routine address
	TB_RESOURCE = [$address],		! Task resource variable
	TB_ERROR_PC = [$address],		! PC where task failure occured
	TB_NAME = [$string (16)],		! Task name string
%if $TOPS10 or $TOPS20
%then
        TB_ERROR_BUFFER = [$string (100)],      ! Error string buffer
%fi
	TB_EVENT_WAIT = [$address],		!max time to wait on event
%if $TOPS20
%then
        TB_FORK = [$address],                   !Address of a FIB
%fi
	TB_SEMAPHORE = [$sub_block(SEMAPHORE_BLOCK_SIZE)],  !gen purpose flag
	TB_TIME = [$sub_block (TIME_BLOCK_SIZE)], ! Time at which to wake up
	TB_CONTEXT = [$sub_block (CONTEXT_SIZE)], ! Context variables
	TB_STACK = [$sub_block (0)]		! Start of task's stack
	tes;

literal
    TASK_BLOCK_SIZE = $field_set_size,
    TASK_BLOCK_ALLOCATION = $field_set_units;

macro
    TASK_BLOCK = block [TASK_BLOCK_SIZE] field (TASK_BLOCK_FIELDS) %;


! [End of NMUCMI.REQ]