{
{      The purpose of this request is to receive a message (or a part of
{ a message) that has been sent across an established connection.  The
{ access method inputs data from that connection until a complete message
{ is received, the buffers are exhausted, or an abnormal termination event
{ occurs.
{
{      The access method is only capable of processing one receive data
{ request, per connection, at any instant.  If an additional receive data
{ request is made while there is a pending receive data request, the
{ following actions are performed.
{
{    1)   If the new request is synchronous (wait=osc$wait), the new
{         request is queued to be processed after the pending request is
{         completed.
{
{    2)   If the new request is asynchronous (wait=osc$no_wait), the new
{         request is rejected and a status of 'rfe$receive_data_active'
{         is returned.
{
{      The access method verifies that the connection identifier represents
{ a valid open connection.  The access method uses the BLOCK_SIZE
{ (record or message), DATA_TRANSFER_TIMEOUT, RECEIVE_RECORD_TERMINATOR,
{ INCOMING_RECORD_ABN file attributes to control the receiving of data.
{ The FILE_MARK_RECEIVED attribute is used to convey additional
{ information to the application for record mode transmissions.  Further
{ information on the file attributes is provided in the BAM request
{ section.
{
{      Further information on the actions performed by this request is
{ provided in the send and receive data header section.
{
{ WARNING
{
{      The application must make sure that the attributes specified for
{      the receive data request correspond to the attributes being used
{      by the peer application on the corresponding send data request.
{
{ RFP$RECEIVE_DATA(CONNECTION_IDENTIFIER, TRANSMISSION_MODE, DATA_BUFFER,
{   WAIT, ACTIVITY, DATA_RECEIVED, END_OF_MESSAGE, STATUS)
{
{ CONNECTION_IDENTIFIER: (input) This parameter specifies the identifier
{   of an open connection file to receive data from.
{
{ TRANSMISSION_MODE: (input) This parameter specifies the data
{   transmission mode for receiving the data.  The incoming data
{   mode must match the mode specified by this parameter (i.e. if the
{   data was sent in message mode, this parameter must select message
{   mode).  Further information on this parameter is provided in the
{   send and receive data header section.
{
{ DATA_BUFFER: (input) This parameter specifies an adaptable array of
{   data buffers and data lengths (in 8-bit bytes).  The data will
{   be placed in consecutive locations in the data buffers starting
{   with the first buffer in the array.
{
{ WAIT: (input) This parameter specifies whether to suspend the
{   application until the request is completed.  If osc$wait, the
{   access method will suspend the application until the transfer has
{   completed.  If osc$nowait, the access method will return control
{   to the application after the request has been validated.
{
{ ACTIVITY: (output) This parameter has two fields which
{   return the results of the receive data request.
{
{      1)  complete:  This field is set to TRUE when the request is
{          completed.  If FALSE, the status field, the DATA_RECEIVED
{          parameter, and END_OF_MESSAGE parameters are not
{          meaningful.
{
{      2)  status: This field is normal if either a complete message
{          was received or the receive buffers are exhausted.
{          CONDITIONS:  rfe$async_req_terminated
{                       rfe$block_sequence_error
{                       rfe$connection_terminated
{                       rfe$local_nad_failure
{                       rfe$network_block_exceeded
{                       rfe$transfer_timeout
{                       rfe$receive_mode_conflict
{                       rfe$system_interrupt
{                       rfe$system_task_shutdown
{          IDENTIFIER:  'RF'
{
{ DATA_RECEIVED: (output) This parameter specifies the actual amount
{   of data (in 8-bit bytes) that was delivered to the data buffers.
{
{ END_OF_MESSAGE: (output) This parameter specifies whether or not
{   a complete message was received.
{
{ STATUS: (output) This parameter returns the result of the request.
{   A status of normal means the caller is validated to receive data
{   on the specified connection.
{   CONDITIONS:  ame$improper_file_id
{                rfe$connect_in_progress
{                rfe$connected
{                rfe$connection_not_active
{                rfe$connection_rejected
{                rfe$connection_terminated
{                rfe$invalid_data_fragment
{                rfe$local_nad_failure
{                rfe$receive_data_active
{                rfe$switch_accepted
{                rfe$switch_offered
{                rfe$system_interrupt
{                rfe$system_task_shutdown
{                rfe$transfer_timeout
{                rfe$receive_data_active
{   IDENTIFIER:  'RF'
{
