Trailing-Edge
-
PDP-10 Archives
-
DEC_CMS-20_V1.0_SRC
-
cms/sources/zonusr.req
There are no other files named zonusr.req in the archive.
! ZONUSR.REQ -- Declarations for the user of the zone facility.
!
! COPYRIGHT (C) 1982 BY
! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
!
! 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: CMS Library Processor.
!
! Abstract:
!
! This file declares items needed to use the zone mechanism defined in
! module STOAGE. It also declares items internal to the zone facility.
!
! Environment: Transportable
!
! Author: Earl Van Horn Creation Date: January 8, 1980
!
!--
! This file assumes that the declarations
!
! LIBRARY 'XPORT:' ;
! REQUIRE 'BLISSX:' ;
!
! or equivalent have already appeared in the program.
! The only declaration of interest to the user of the zone facility is
! the NEW_ZONE macro, which is used to declare a new zone header block
! in global or own storage.
!
macro
new_zone =
zone_block preset([zon_recognition] = k_zon_recognition,
[zon_a_extent] = k_null)
! Remainder of block is zeroed.
% ;
! The remainder of the declarations in this file are internal to the
! zone facility.
! The ZONE_BLOCK macro declares an uninitialized zone definition block.
!
macro
zone_block =
block[k_zon_fullwords] field(zon_fields)
% ;
! Internal macro for defining ZON_FIELDS.
macro
$units_unsigned =
%if %bliss(bliss36)
%then $bytes(2)
%else $bytes(%upval)
%fi
% ;
$field
zon_fields =
set
zon_recognition = [$bytes(2)], ! Constant 'ZO' for verifying
! that a block is a zone.
%if %bliss(bliss32)
%then $align(fullword)
%fi
zon_a_extent = [$address], ! To the first extent in a list
! of them.
zon_total_units = [$units_unsigned], ! The total number of usable
! addressable units currently
! allocated in the zone.
zon_first_units = [$units_unsigned], ! Number of addressable units
! to be allocated in the first
! extent to be allocated, which
! is not necessarily the one
! pointed to by ZON_A_EXTENT.
! Zero means allocate only
! enough for the first request.
zon_other_units = [$units_unsigned], ! Number of addressable units
! to be allocated in extents
! allocated after the first.
! Zero means allocate only
! enough for the current
! request.
zon_max_units = [$units_unsigned] ! Maximum for ZON_TOTAL_UNITS.
! Zero means no maximum.
tes ;
literal
k_zon_fullwords = $field_set_size, ! Fullwords in a zone block.
k_zon_units = $field_set_units, ! Addressable units in a zone block.
k_zon_recognition = %c'Z' ; ! Value that is always in the
! ZON_RECOGNITION field.
! ZONUSR.REQ -- LAST LINE