'\" rtp .\" -*- nroff -*- vim: ft=nroff noautoindent nocindent nosmartindent .\" .\" @(#) t_rcvdis.3.man,v 0.9.2.2 2004/05/16 02:35:37 brian Exp .\" .\" ========================================================================= .\" .\" Copyright (C) 2001-2004 OpenSS7 Corporation .\" .\" All Rights Reserved. .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" ------------------------------------------------------------------------- .\" .\" U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software .\" on behalf of the U.S. Government ("Government"), the following .\" provisions apply to you. If the Software is supplied by the Department .\" of Defense ("DoD"), it is classified as "Commercial Computer Software" .\" under paragraph 252.227-7014 of the DoD Supplement to the Federal .\" Acquisition Regulations ("DFARS") (or any successor regulations) and the .\" Government is acquiring only the license rights granted herein (the .\" license rights customarily provided to non-Government users). If the .\" Software is supplied to any unit or agency of the Government other than .\" DoD, it is classified as "Restricted Computer Software" and the .\" Government's rights in the Software are defined in paragraph 52.227-19 .\" of the Federal Acquisition Regulations ("FAR") (or any success .\" regulations) or, in the cases of NASA, in paragraph 18.52.227-86 of the .\" NASA Supplement to the FAR (or any successor regulations). .\" .\" ========================================================================= .\" .\" Commercial licensing and support of this software is available from .\" OpenSS7 Corporation at a fee. See http://www.openss7.com/ .\" .\" ========================================================================= .\" .\" Last Modified 2004/05/16 02:35:37 by brian .\" .\" ========================================================================= .so strxnet.macros .R1 bracket-label "\fR[\fB" "\fR]" "\fR, \fB" no-default-database database strxnet.refs accumulate move-punctuation abbreviate A join-authors ", " ", " " and " et-al " et al" 2 3 abbreviate-label-ranges ".." sort-adjacent-labels .R2 .\" .\" .\" .\" .TH T_RCVDIS 3 "2004/05/16 02:35:37" "strxnet-0_9_2-4" "OpenSS7 XTI/TLI Library" .\" .\" .SH NAME .B t_rcvdis \- receive abortive disconnect .\" .\" .SH SYNOPSIS .PP .B #include .HP 8 .BI "int t_rcvdis(int " fd ", struct t_discon *" dis ); .\" .\" .SH ARGUMENTS .PP .TP .I fd the transport endpoint to disconnect. .TP .I dis a pointer to a .B t_discon structure to contain returned disconnect information. .\" .\" .SH DESCRIPTION .PP .BR t_rcvdis () receives a disconnect indication arriving on the specified local transport endpoint .IR fd . .PP .I fd specifies the local transport endpoint upon which a disconnect indication is to be received. .PP .I dis a pointer to a .B t_discon structure that returns any user disconnect data and the reason and possible sequence number associated with the disconnect on .IR fd . The .B t_discon strucuture is formatted as follows: .sp .nf \fC\s-1\ struct t_discon { struct netbuf udata; /* user data */ int reason; /* reason code */ int sequence; /* sequence number */ }; \fR\s+1 .fi The .B t_discon structure returns the following members and contains the following information: .TP .I udata is a .BR netbuf (3) structure that returns any disconnect user data. The .I dis->udata.maxlen is significant on call and the .I dis->udata.len is significant on return. If .I dis->udata.maxlen is zero on call, no disconnect data will be returned: any received disconnect data will be discarded. If .I dis->udata.len is zero on return, no disconnect data was available. .TP .I reason indicates the reason for the disconnection. The values for the .I reason field are transport service provider specific. .TP .I sequence indicates the sequence number, if any, of the connection indication which is now disconnected. This field is only significant if the disconnection indication is subsequent to an outstanding connection indication. Otherwise, this field is insignificant and set to zero (0) by the transport service provider. .PP Typically, .BR t_rcvdis () is called after a receive data call fails with .B TLOOK and a call to .BR t_look (3) returns .BR T_DISCONNECT . .\" .\" .SH CAVEATS .PP .BR t_rcvdis () is only valid in states .BR T_DATAXFER ", " T_OUTCON ", " T_OUTREL ", " T_INREL ", " T_INCON with outstanding connection indications. .PP In synchronous mode, .BR t_rcvdis () blocks until a disconnect indication is received. In asynchronous mode and a disconnect indication is not outstanding, .BR t_rcvdis () returns -1 and sets .IR t_errno (3) to .BR TNODIS . .\" .\" .SH "RETURN VALUE" .PP Upon success, .BR t_rcvdis () returns zero (0). Upon failure, .BR t_rcvdis () returns -1 and sets .IR t_errno (3) to an appropriate error number. .\" .\" .SH ERRORS .PP When .BR t_rcvdis () fails, it returns -1 and sets .IR t_errno (3) to an appropriate error number as follows: .TP \w'[TNOTSUPPORT]\(em'u .RB [ TBADF ] .I fd is invalid. .TP .RB [ TBUFOVFLW ] The .I dis->udata.maxlen field of the .BR netbuf (3) structure passed to the call was non-zero, but insufficient to hold the available disconnect user data. See, .BR netbuf (3) for more information. .TP .RB [ TNODIS ] An attempt was made to read a disconnect and no disconnect indication was available, and the stream is set for asynchronous mode .BR "" ( O_NONBLOCK " or " O_NDELAY " to " t_open "(3) or " fcntl (2). .TP .RB [ TNOTSUPPORT ] The call requires the use of a TLI primitive not supported by the underlying transport provider. Abortive disconnect is not supported by all transport service providers. If the transport provider service type is connectionless .RB [R T_CLTS , ] this error is returned. .TP .RB [ TOUTSTATE ] The call was issued with the interface in a state other than .BR T_DATAXFER ", " T_OUTCON ", " T_OUTREL ", " T_INREL " or " T_INCON with outstanding connection indications. .TP .RB [ TPROTO ] A protocol error occured between the XTI/TLI library and the underlying transport provider. .TP .RB [ TSYSERR ] A .B Linux system error occured and the .B Linux error number is set in .IR errno (3). .\" .\" .SH "SEE ALSO" .PP .BR errno (3), .BR fcntl (2), .BR netbuf (3), .BR t_errno (3), .BR t_look (3), .BR t_open (3). .\" .\" .SH "BUGS" .PP .BR t_rcvdis () has no known bugs. .BR t_rcvdis () has been tested for the described behavior using the .I /usr/bin/test-xnet conformance test program. .\" .\" .SH "CONFORMING TO" .PP XTI/TLI, .[ XTI .] TPI, .[ TPI Revision 2.0.0 .] XPG5, XNS 5.2, .[ xns .] SUSv2. .[ susv2 .] .\" .\" .[ $LIST$ .] .T4