Previous section.

Technical Standard: Networking Services (XNS), Issue 5.2 Draft 2.0
Copyright © 1999 The Open Group


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.




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.


No leaf change indication currently exists on the specified point-to-multipoint connection.


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_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