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

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.

Sends the request phase of a transaction and allocates a storage for the response part of the transaction.

WORD SendRtMessageRSVP(
    RTHANDLE  hPort,              // a port handle
    LPGENADDR lpAddress,          // pointer to destination address structure
    LPBYTE    lpControl,          // pointer to control message
    WORD      wControlLength,     // number of bytes in control message
    LPVOID    lpData,             // pointer to data message
    DWORD     dwDataSize,         // length of data message
    LPVOID    lpReply,            // pointer to reply buffer
    DWORD     dwReplySize,        // length of reply buffer
    WORD      wTransmissionFlags  // transmission flags
);

Parameters

hPort
A handle for the port to where the message is to be sent.
lpAddress
A pointer to a GENADDR structure indicating the destination of the message.
lpControl
A pointer to the control message to be sent.
wControlLength
The number of bytes in the control message.
lpData
A pointer to a data buffer or a data chain containing the data message or NULL.
dwDataSize
The number of bytes in the data message.
lpReply
A pointer to the data buffer or chain where the data part of the reply message is to be stored.
dwReplySize
The number of bytes in the buffer or chain indicated by lpReply.
wTransmissionFlags
The transmission flags for the message. The parameter default is a contiguous buffer, synchronous transmission and use ReceiveRtReply to receive the response message. Some of the following values may be combined to form the flags parameter:

Select one of these values to select the data message type:
CONTIGUOUS_BUFFER Specifies that lpData reference a contiguous buffer.
DATA_CHAIN_BUFFER Specifies that lpData reference a data chain block.
DATA_LIST_BUFFER Specifies that lpData reference the first element in a data list.

Choose one of these values to select the transmission mode:
SYNC_MODE Specifies that the message should be transmitted synchronously.
ASYNC_MODE Specifies that the message should be transmitted asynchronously.

Choose one of these values to select the reply receipt method:
USE_RECEIVE_REPLY Use ReceiveRtReply to receive the response message.
USE_RECEIVE Use ReceiveRtMessage to receive the response message.

Choose this value to enable auto-cancelation:
CANCEL_ON_TIMEOUT Specifies that the transaction automatically cancels if a subsequent ReceiveRtReply call times out.

Return Values

An ID for this request-response message transaction.
Success.
BAD_TRANSACTION_ID
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 SendMessage 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_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.
  • The RSVP pointer was invalid.
Note:   Other status values may be generated by the service-specific SendMessage 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, GENADDR, ReceiveRtReply, ReceiveRtMessage, SendRtMessage, SendMessage