Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/nml/nmucmi.req
There are 3 other files named nmucmi.req in the archive. Click here to see a list.
! NET:<DECNET20-V3P1.NMLLIB>NMUCMI.REQ 02-Dec-81 09:49:20, Edit by THIGPEN
!
! Add 2 fields to TASK_BLOCK for use in timing out NMU$SCHED_WAIT calls
!	fields added are TB_EVENT_WAIT and TB_SEMAPHORE
!
!++
! NMUCMI - Network Management Utilities transportable internal definitions
!
!                    COPYRIGHT (c) 1980, 1981, 1982
!                    DIGITAL EQUIPMENT CORPORATION
!                        Maynard, Massachusetts
!
!     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  which  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
	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]