t_rcvleafchange - receive an indication about a leaf in a point-to-multipoint connection
#include <xti.h> int32_t t_rcvleafchange (fd, change, int32_t fd, struct t_leaf_status *change);
Parameters Before call After call fd x / change.leafid / x change.status / x change.reason / ? This function is used to determine the status change of a leaf on a point-to-multipoint connection. This function can only be issued in the T_DATAXFER state. The parameter fd identifies the local connection endpoint that serves as the root of the point-to-multipoint connection, and parameter change points to a t_leaf_status structure containing the following members:
- int32_t leafid; int32_t status; int32_t reason;
The field leafid identifies the leaf whose status has changed, and field status specifies the change (either T_CONNECT or T_DISCONNECT). When status has a value of T_CONNECT, field reason is meaningless. When status has a value of T_DISCONNECT, field reason specifies the reason why the leaf was removed from the point-to-multipoint connection or why a pending addleaf failed, through a protocol-dependent reason code.
T_DATAXFER
On failure, t_errno is set to one of the following:
- [TBADF]
The specified file descriptor does not refer to a transport endpoint. Also used when the connection is not point-to-multipoint.
- [TNODATA]
No leaf change indication currently exists on the specified point-to-multipoint connection.
- [TOUTSTATE]
The function was issued in the wrong sequence on the transport endpoint referenced by fd.
- [TNOTSUPPORT]
This function is not supported by the underlying transport provider.
- [TSYSERR]
A system error has occurred during execution of this function.
- [TLOOK]
An asynchronous event, which requires attention, has occurred.
- [TPROTO]
This error indicates that a communication problem has been detected between XTI and the transport provider for which there is no other suitable XTI t_errno return code.
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and t_errno is set to indicate the error.
t_addleaf() ,t_removeleaf() .
The parameter reason is an 8-bit cause value that is sent across the ATM network in octet 6 of the Q.2931 Cause information element.
Contents | Next section | Index |