|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 5112 (0x13f8) Types: TextFile Names: »tsap.h«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« └─⟦d3ac74d73⟧ └─⟦this⟧ »isode-5.0/h/tsap.h«
/* tsap.h - include file for transport users (TS-USER) */ /* * $Header: /f/osi/h/RCS/tsap.h,v 6.0 89/03/18 23:32:30 mrose Rel $ * * * $Log: tsap.h,v $ * Revision 6.0 89/03/18 23:32:30 mrose * Release 5.0 * */ /* * NOTICE * * Acquisition, use, and distribution of this module and related * materials are subject to the restrictions of a license agreement. * Consult the Preface in the User's Manual for the full terms of * this agreement. * */ #ifndef _TSAP_ #define _TSAP_ #ifndef _MANIFEST_ #include "manifest.h" #endif #ifndef _GENERAL_ #include "general.h" #endif #ifndef _ISOADDRS_ #include "isoaddrs.h" #endif /* \f */ struct TSAPstart { /* T-CONNECT.INDICATON */ int ts_sd; /* TRANSPORT descriptor */ struct TSAPaddr ts_calling; /* address of peer calling */ struct TSAPaddr ts_called; /* address of peer called */ int ts_expedited; /* EXPEDITED DATA ok */ int ts_tsdusize; /* largest atomic TSDU */ struct QOStype ts_qos; /* quality of service */ /* initial DATA from peer */ #define TS_SIZE 32 int ts_cc; /* length */ char ts_data[TS_SIZE]; /* data */ }; struct TSAPconnect { /* T-CONNECT.CONFIRMATION */ int tc_sd; /* TRANSPORT descriptor */ struct TSAPaddr tc_responding;/* address of peer responding */ int tc_expedited; /* EXPEDITED DATA ok */ int tc_tsdusize; /* largest atomic TSDU */ struct QOStype tc_qos; /* quality of service */ /* initial DATA from peer */ #define TC_SIZE 32 int tc_cc; /* length */ char tc_data[TC_SIZE]; /* data */ }; struct TSAPdata { /* T-READ.INDICATION */ int tx_expedited; /* DATA from peer */ #define TX_SIZE 16 /* EXPEDITED DATA only */ int tx_cc; /* total length */ struct qbuf tx_qbuf; /* chained data */ }; #define TXFREE(tx) QBFREE (&((tx) -> tx_qbuf)) struct TSAPdisconnect { /* T-DISCONNECT.INDICATION */ int td_reason; /* reason for DISCONNECT, from ISO8072: */ #define DR_BASE 0x80 #define DR_NORMAL (DR_BASE + 0) /* NORMAL disconnect by SESSION entity */ #define DR_REMOTE (DR_BASE + 1) /* Remote TRANSPORT entity congested at connect request time */ #define DR_CONNECT (DR_BASE + 2) /* Connection negotiation failed */ #define DR_DUPLICATE (DR_BASE + 3) /* Duplicate source reference detected for the same pair of NSAPs */ #define DR_MISMATCH (DR_BASE + 4) /* Mismatched references */ #define DR_PROTOCOL (DR_BASE + 5) /* Protocol error */ #define DR_OVERFLOW (DR_BASE + 7) /* Reference overflow */ #define DR_REFUSED (DR_BASE + 8) /* Connect request refused on this network connection */ #define DR_LENGTH (DR_BASE + 10) /* Header or parameter length invalid */ /* begin UNOFFICIAL */ #define DR_NETWORK (DR_BASE + 11) /* Network disconnect */ #define DR_PARAMETER (DR_BASE + 12) /* Invalid parameter */ #define DR_OPERATION (DR_BASE + 13) /* Invalid operation */ #define DR_TIMER (DR_BASE + 14) /* Timer expired */ #define DR_WAITING (DR_BASE + 15) /* Indications waiting */ /* end UNOFFICIAL */ #define DR_UNKNOWN 0 /* Reason not specifed */ #define DR_CONGEST 1 /* Congestion at TSAP */ #define DR_SESSION 2 /* Session entity not attached to TSAP */ #define DR_ADDRESS 3 /* Address unknown */ #ifdef notdef #define DR_FATAL(r) ((r) < DR_BASE || (r) < DR_PARAMETER) #define DR_OFFICIAL(r) ((r) < DR_BASE || (r) < DR_NETWORK) #else #define DR_FATAL(r) ((r) < DR_PARAMETER) #define DR_OFFICIAL(r) ((r) < DR_NETWORK) #endif /* disconnect DATA from peer */ #define TD_SIZE 64 int td_cc; /* length */ char td_data[TD_SIZE]; /* data */ }; /* \f */ extern char *tsapversion; #ifdef TCP int T_TCP_Exec (); /* SERVER only */ #endif #ifdef X25 int T_X25_Exec (); /* .. */ #endif #ifdef BRIDGE_X25 int T_Bridge_Exec (); /* .. */ #endif #ifdef TP4 int T_TP4_Exec (); /* .. */ #endif int TInit (); /* T-CONNECT.INDICATION */ int TConnResponse (); /* T-CONNECT.RESPONSE */ /* T-CONNECT.REQUEST (backwards-compatible) */ #define TConnRequest(a1,a2,a3,a4,a5,a6,a7,a8) \ TAsynConnRequest(a1,a2,a3,a4,a5,a6,a7,a8,0) int TAsynConnRequest (); /* T-(ASYN-)CONNECT.REQUEST */ int TAsynRetryRequest (); /* T-ASYN-RETRY.REQUEST (pseudo) */ int TDataRequest (); /* T-DATA.REQUEST */ int TWriteRequest (); /* T-WRITE.REQUEST (pseudo) */ int TExpdRequest (); /* T-EXPEDITED-DATA.REQUEST */ int TReadRequest (); /* T-READ.REQUEST (pseudo) */ int TDiscRequest (); /* T-DISCONNECT.REQUEST */ int TSetIndications (); /* define vectors for INDICATION events */ int TSelectMask (); /* map transport descriptors for select() */ char *TErrString (); /* return TSAP error code in string form */ int TNetListen (); /* start listenting on an TSAP */ int TNetUnique (); /* start listenting on a set of unique TSAPs */ int TNetAccept (); /* accept a call on an TSAP */ int TNetClose (); /* stop listening on an TSAP */ #define TLocalHostName getlocalhost char *TLocalHostName (); /* return name of local host (sigh) */ #endif