INtime SDK Help
ReceiveRtFragment
INtime SDK v6 > About INtime > INtime Kernel > Ports > ReceiveRtFragment

From INtime 6.0 the INtime Service and Port objects have been deprecated.

New projects should not be started using these features, and existing projects will not work with XM mode. You will receive a compiler warning by default if you use these calls.

Receive a fragment of an RSVP data message request. This call is typically used by a server application when insufficient buffer space is available to receive a message in one piece.

BOOLEAN ReceiveRtFragment(
  RTHANDLE hPort,          // port handle
  LPGENADDR lpAddress,     // pointer to remote address
  WORD wTransID,           // ID for the transaction to fragment
  LPVOID lpFragment,       // pointer to the fragment buffer
  DWORD dwFragmentSize,    // size of the fragment buffer
  WORD wFlags              // transmission flags
);

Parameters

hPort
A handle for the port that is to receive the fragment.
lpAddress
A pointer to an address structure indicating the remote port from where the fragment is to be received.
wTransID
A transaction ID generated from an RSVP transmission.
lpFragment
A pointer to the contiguous or non-contiguous buffer to receive the fragment.
dwFragmentSize
The number of bytes in the fragment.
wFlags
The transmission flags. The parameter default is a contiguous buffer.
Some of the following values may be combined to form the flags parameter:

Data type field:
CONTIGUOUS_BUFFER Specifies that lpFragment reference a contiguous buffer.
DATA_CHAIN_BUFFER Specifies that lpFragment reference a data chain block.
DATA_LIST_BUFFER Specifies that lpFragment reference the first element in a data list.

Return Values

TRUE
Success.
FALSE
Failure. To determine the status, call GetLastRtError.

Status

E_OK 0x0000
No exceptional conditions occurred.
E_CONTEXT 0x0005
One of these conditions exist:
  • The port is an anonymous sink port.
  • The service does not support RSVP transactions.
E_EXIST 0x0006
The port is already being deleted.
E_NOT_CONFIGURED 0x0008
The service does not have a GetFragment handler.
E_TRANSMISSION 0x000B
One of these conditions exist:
  • The destination port does not exist or is invalid (short circuit).
  • A hardware error occurred during transmission.
E_INVALID_ADDR 0x00E2
The address parameter is not valid.
E_RESOURCE_LIMIT 0x00E6
Insufficient control buffers are available.
E_TRANS_ID 0x00E8
The wTransId parameter is not valid.
E_DISCONNECTED 0x00E9
The destination port is connected to another port.
E_TRANS_LIMIT 0x00EA
The transaction limit for either the port or the service has been exceeded.
E_UNBOUND 0x00EB
The port has not been bound.
E_TYPE 0x8002
The handle supplied is not for a port object.
E_PARAM 0x8004
One of these conditions exist:
  • An address parameter was supplied for a non-addressed service.
  • The control message length supplied is too great.
E_NUC_BAD_BUF 0x80E2
One of these conditions exist:
  • The control message pointer was invalid.
  • The data pointer was invalid.
Note:   Other status values may be generated by the service-specific GetFragment handler.

Requirements

Versions Defined in Include Link to
INtime 3.0 intime/rt/include/rtbase.h rt.h rt.lib

See Also

Port system calls, GetFragment, SendMessage