{    The purpose of this routine is to provide the interface to queue
{ requests to the PP drivers.  This includes requests on a NAD basis
{ (unit requests) or request on a PP driver basis (PP requests).
{
{      Routines are provided to handle the building and queueing of
{ peripheral requests.  Entry points are provided for each request type
{ that is supported by the NAD PP drivers.  Execution of these
{ routines causes the formation of a request and the queueing of the
{ request in the proper request queue.  An entry point is also
{ provided to dequeue and release a request when processing is
{ complete.  These routines execute in ring 1.
{
{      Internal procedures to these provide the following:
{
{      1) Reserve a mainframe wired request/response buffer for the
{         request.
{
{      2) Build request header.
{
{      3) Generate the remainder of the request fields.
{
{      4) Interlock unit (or PP) request queue.
{
{      5) Link requests into the unit (or PP) request queue.
{
{      6) Release lock on unit (or PP) request queue.
{
{    NOTE
{
{      If pages need to be locked, monitor is called to lock the
{      necessary pages.  To prevent the PP from processing the request,
{      the processing flag is set in the request.  If the monitor mode code
{      successfully locks the pages then the processing flag is cleared in
{      the request and the PP will then process the request when possible.
{      If the page locking fails then this code must remove the request
{      from the queue and return the status to the caller.
