bstr_port_reply_packet(3) — Subroutines
Name
bstr_port_reply_packet − Sends a reply to a received Packet (VODB only).
Syntax
bstr_t_status bstr_port_reply_packet (
bstr_t_reference ∗port,
bstr_t_packet_notification ∗packet_notification,
bstr_t_descriptor ∗reply_parameters,
bstr_t_packet_modifiers modifiers,
bstr_t_rcb ∗control);
Description
The bstr_port_reply_packet procedure must be used to reply to a Packet that has been received with a Packet notification whose reply field is set to BSTR_C_REPLY_REQUESTED. The port argument must specify the Port from which the associated Packet notification has been received.
The values (if any) for the replied Packet output parameters can be passed using the reply_parameters argument (the values passed are returned to the partner who sent the Packet in response to the send_packet service request.)
Arguments
port
access: read
The Port from which you recieved the notification of the Packet to which you are replying.
packet_notification
access: read
The address of a bstr_t_packet_notification type data structure associated with the Packet to be replied.
reply_parameters
access: read
The address of a bstr_t_descriptor data structure that specifies the number of elements and the address of an array containing the value of the Packet output parameters. Each array element contains a pointer to a bstr_t_named_value data structure.
The reply_parameters argument is set to NULL if no output parameter values are supplied. The same applies if the length or data argument in the descriptor is set to zero or NULL, respectively. If an array element contains NULL, it means that the value of the corresponding Packet output parameter has not been supplied.
Each bstr_t_named_value data structure contains the value, size and name (optional) of the corresponding Packet output parameter. The correspondence of a passed value to the Packet output parameter is based on the position of the value in the parameters list.
modifiers
access: read
Reserved for future use.
control
access: read
The address of an optional request control block.
Return Values
| BSTR_S_ABORTED | Operation aborted |
| BSTR_S_BAD_PARAMETER | Bad parameter value |
| BSTR_S_BAD_REFERENCE | Bad reference |
| BSTR_S_COMMUNICATION_ERROR | Communication error |
| BSTR_S_COM_PC_SIZE_MISMATCH | Number of bytes requested does not match the number of bytes returned |
| BSTR_S_FINISH | Request aborted by bstr_finish |
| BSTR_S_INTERNAL_ERROR | Internal error |
| BSTR_S_INTR | Operation interrupted |
| BSTR_S_INVALID_RCB | Invalid Request Control Block |
| BSTR_S_INVALID_USAGE | Invalid reference usage |
| BSTR_S_INVALID_VALUE | Invalid value |
| BSTR_S_NORMAL | Normal successful completion |
| BSTR_S_NOT_IMPLEMENTED | Not yet implemented |
| BSTR_S_NOT_INITIALIZED | BASEstar Open not initialized |
| BSTR_S_NO_MEMORY | Insufficient virtual memory |
| BSTR_S_SERVER_NOT_REACHABLE | Server not reachable |
| BSTR_S_TIMEOUT | Timeout expired |
| BSTR_S_TOO_MANY_REQUESTS | Too many pending requests |
| BSTR_S_PORT_NOT_CONNECTED | Not connected to Port |
| BSTR_S_PORT_NOT_EXISTING | Destination Port does not exist |
See Also
| bstr_port_receive_packet | # |
| bstr_port_send_packet | # |