{ This deck (DFD$REQUEST_PACKAGE) describes the format of the buffer that is
{ sent from
{ the client to the server, or from the server to the client.
{ There are basically 4 different formats: one for standard requests,
{ one for test requests, one for the status package coming back, and
{ and one for polls or poll replies.


  TYPE
    dft$buffer_version = string (8),

    dft$buffer_header = record
      version: dft$buffer_version,
      transaction_count: integer,
      retransmission_count: 0 .. dfc$max_retransmit_count_value,
      remote_processor: dft$procedure_address_ordinal,
      buffer_length_sent: 1 .. dfc$command_buffer_size,
      data_length_sent: ost$segment_length,
    recend;

?? SKIP := 5 ??
{ Sequence format:
{   dft$buffer_header
{   dft$rpc_buffer_header

  CONST
    dfc$rpc_request_buffer_version = 'CYBILRPC';


?? SKIP := 5 ??
  { Poll and Poll Reply cases:
  { Sequence format:
  {   dft$buffer_header
  {   dft$poll_header
  {   CASE poll_header.poll_type of
  {   = dfc$verify_served_family , dfc$verify_family_reply =
  {     dft$poll_family_list
  {   = dfc$verify_queue, dfc$verify_queue_reply =
  {     dft$poll_family_list
  {     dft$poll_queue_information
  {  = dfc$deactivate_server, dfc$deactivate_complete, dfc$normal_poll,
  {    dfc$poll_reply =
  {    ()

  CONST
    dfc$poll_task_version = 'POLL_MSG';

?? SKIP := 5 ??

  CONST
    dfc$page_io_req = 'PAGEIO  ';

  { Describe page io format
  {  dft$buffer_header
  {  dft$page_io_request

?? SKIP := 5 ??
  TYPE
    dft$checksum = integer;
?? SKIP := 5 ??

  CONST
    dfc$allocate_request_version = 'ALLOCATE';

  { Describe allocate format
  {  dft$buffer_header
  {  dft$allocate_space_request

?? SKIP := 5 ??
  { Describe status format
  { dft$status_response
  { IF task services queue entry AND NOT status normal
  {    ost$status
  { IF task services and status normal
  {    dft$rpc_response_buffer_header
  { IF monitor and normal
  {   dft$page_io_response

  TYPE
    dft$status_response = record
      buffer_header: dft$buffer_header,
      status: syt$monitor_status,
    recend;

  CONST
    dfc$status_buffer_version = 'STATUS';


?? PUSH (LISTEXT := ON) ??
*copyc dft$client_job_id
*copyc osd$virtual_address
*copyc dft$cpu_queue
*copyc dft$procedure_address_ordinal
*copyc jmt$system_supplied_name
*copyc syt$monitor_status
?? POP ??

