*DECK DB$LKAR 
USETEXT,RQPARTX 
      PROC DB$LKAR(REALM,MODE,STAT);
      BEGIN 
 #
* *   DB$LKAR - LOCK AREA                        PAGE  1
* *   LOCK AREA OBJECT-TIME ROUTINE 
* *   W. P. CEAGLIO                              DATE  09/24/80 
* * 
* 
* DC  PURPOSE 
* 
*     PARTIALLY FORMAT THE REQUEST PACKET FOR THE 
*     *LOCK AREA* REQUEST.
* 
* DC  ENTRY CONDITIONS
* 
*     PARAMETERS
# 
      ITEM REALM   C(30);    # INPUT - 30-CHARACTER REALM NAME         #
                             # LEFT-JUSTIFIED, BLANK FILL              #
      ITEM MODE    C(10);    # INPUT - LOCK MODE                       #
                             # LEFT JUSTIFIED, FILL IS IRRELEVANT      #
                             # CONTAINS ONE OF FOLLOWING VALUES--      #
                             # "EXCLUSIVE" OR "PROTECTED"              #
      ITEM STAT        I;    # OUTPUT - ERROR STATUS                   #
# 
*     ASSUMPTIONS 
* 
*     NONE
* 
* DC  EXIT CONDITIONS 
* 
*     THE *CALLSS* SUBSYSTEM REQUEST TO CDCS IS MADE.  IF A NON-FATAL 
*     ERROR IS DIAGNOSED BY CDCS, CONTROL IS RETURNED WITH THE ERROR
*     NUMBER SET IN THE REQUEST PACKET--THIS IS SET IN THE *STAT* CELL. 
* 
* DC  CALLING ROUTINES
* 
*     HOST-LANGUAGE 
* 
* DC  CALLED ROUTINES 
* 
# 
      XREF PROC DB$RA0;      # PARAMETER LIST TERMINATOR               #
      XREF PROC DB$RQST;     # COMPLETE THE FORMATING OF THE           #
                             # REQUEST AND ISSUE THE CALLSS TO CDCS.   #
# 
* 
* DC  NON-LOCAL VARIABLES MODIFIED
* 
*     DB$RQBF - REQUEST PACKET BUFFER 
* 
* DC  DESCRIPTION 
* 
*     PARAMETERS THAT ARE SPECIFIC TO THE REQUEST ARE COMPLETED IN THE
*     REQUEST BUFFER.  THEN DB$RQST IS CALLED TO FORMAT THE COMMON
*     PARAMETERS AND TO ISSUE THE *CALLSS* FUNCTION.  UPON RETURN, THE
*     THE STATUS PARAMETER IS SET TO THE VALUE RETURNED IN THE REQUEST
*     PACKET HEADER.  CONTROL THEN IS RETURNED TO THE CALLER. 
* 
 #
  
#     COMMON DECKS CDGDFDCLS AND RQPARDCLS ARE USED.                   #
      CONTROL EJECT;
  
#     S T A R T  O F  D B $ L K A R  E X E C U T A B L E  C O D E      #
  
  
#     FORMAT SPECIFIC PARAMETERS IN REQUEST PACKET                     #
  
      RQPRELNAM[0] = REALM; 
      RQPLOKMOD[0] = MODE;
  
#     COMPLETE REQUEST PACKET AND ISSUE *CALLSS* FUNCTION              #
  
      DB$RQST(DFLKA,DFWCLKA,DB$RA0);
  
#     SET STATUS PARAMETER FROM REQUEST PACKET AND RETURN TO CALLER    #
  
      STAT = RQPKERR[0];
  
      END 
      TERM
