t_removeleaf - drop a leaf from a point-to-multipoint connection
#include <xti.h> int32_t t_removeleaf (fd, leafid, reason, int32_t fd, int32_t leafid, int32_t reason);
Parameters Before call After call fd x / leafid x / reason x /
This function is used to initiate an abortive removal of a leaf from an already established 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 leafid identifies the leaf that is being removed from the connection. The parameter reason specifies the reason for the leaf removal through a protocol-dependent reason code.
On failure, t_errno is set to one of the following:
The specified file descriptor does not refer to a transport endpoint. Also used when the connection is not point-to-multipoint.
The function was issued in the wrong sequence on the transport endpoint referenced by fd.
This function is not supported by the underlying transport provider.
A system error has occurred during execution of this function.
An asynchronous event, which requires attention, has occurred.
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_removeleaf()is an abortive removal of the leaf. Therefore, t_removeleaf()may cause data previously sent via t_snd()to not be received by the leaf (even if an error is returned).
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.