📄 xti.h.html
字号:
<tr valign=top><td align=left> struct netbuf<td align=left>opt;<tr valign=top><td align=left> t_scalar_t<td align=left>flags;<tr valign=top><td align=left>};</table></code></pre><p><pre><code>/* * Disconnection structure. */<P><table <tr valign=top><td align=left>struct t_discon {<tr valign=top><td align=left> struct netbuf<td align=left>udata;<td align=left>/* user data */<tr valign=top><td align=left> int<td align=left>reason;<td align=left>/* reason code */<tr valign=top><td align=left> int<td align=left>sequence;<td align=left>/* sequence number */<tr valign=top><td align=left>};</table></code></pre><p><pre><code>/* * Call structure. */<P><table <tr valign=top><th colspan=3 align=left>struct t_call {<tr valign=top><td align=left> struct netbuf<td align=left>addr;<td align=left>/* address */<tr valign=top><td align=left> struct netbuf<td align=left>opt;<td align=left>/* options */<tr valign=top><td align=left> struct netbuf<td align=left>udata;<td align=left>/* user data */<tr valign=top><td align=left> int<td align=left>sequence;<td align=left>/* sequence number */<tr valign=top><td align=left>};</table></code></pre><p><br><pre><code>/* * Datagram structure. */<P><table <tr valign=top><th colspan=3 align=left>struct t_unitdata {<tr valign=top><td align=left> struct netbuf<td align=left>addr;<td align=left>/* address */<tr valign=top><td align=left> struct netbuf<td align=left>opt;<td align=left>/* options */<tr valign=top><td align=left> struct netbuf<td align=left>udata;<td align=left>/* user data */<tr valign=top><td align=left>};</table></code></pre><p><br><pre><code>/* * Unitdata error structure. */<P><table <tr valign=top><td align=left>struct t_uderr {<tr valign=top><td align=left> struct netbuf<td align=left>addr;<td align=left>/* address */<tr valign=top><td align=left> struct netbuf<td align=left>opt;<td align=left>/* options */<tr valign=top><td align=left> t_scalar_t<td align=left>error;<td align=left>/* error code */<tr valign=top><td align=left>};</table></code></pre><p><pre><code>/* * The following are structure types used when dynamically * allocating the above structures via t_alloc(). */<P><table <tr valign=top><td align=left>#define T_BIND<td align=left>1<td align=left>/* struct t_bind */<tr valign=top><td align=left>#define T_OPTMGMT<td align=left>2<td align=left>/* struct t_optmgmt */<tr valign=top><td align=left>#define T_CALL<td align=left>3<td align=left>/* struct t_call */<tr valign=top><td align=left>#define T_DIS<td align=left>4<td align=left>/* struct t_discon */<tr valign=top><td align=left>#define T_UNITDATA<td align=left>5<td align=left>/* struct t_unitdata */<tr valign=top><td align=left>#define T_UDERROR<td align=left>6<td align=left>/* struct t_uderr */<tr valign=top><td align=left>#define T_INFO<td align=left>7<td align=left>/* struct t_info */</table></code></pre><p><pre><code>/* * The following bits specify which fields of the above * structures should be allocated by t_alloc(). */<P><table <tr valign=top><td align=left>#define T_ADDR<td align=left>0x01<td align=left>/* address */<tr valign=top><td align=left>#define T_OPT<td align=left>0x02<td align=left>/* options */<tr valign=top><td align=left>#define T_UDATA<td align=left>0x04<td align=left>/* user data */<tr valign=top><td align=left>#define T_ALL<td align=left>0xffff<td align=left>/* all the above fields supported */</table></code></pre><p><br><pre><code>/* * The following are the states for the user. */<P><table <tr valign=top><td align=left>#define T_UNBND<td align=left>1<td align=left>/* unbound */<tr valign=top><td align=left>#define T_IDLE<td align=left>2<td align=left>/* idle */<tr valign=top><td align=left>#define T_OUTCON<td align=left>3<td align=left>/* outgoing connection pending */<tr valign=top><td align=left>#define T_INCON<td align=left>4<td align=left>/* incoming connection pending */<tr valign=top><td align=left>#define T_DATAXFER<td align=left>5<td align=left>/* data transfer */<tr valign=top><td align=left>#define T_OUTREL<td align=left>6<td align=left>/* outgoing release pending */<tr valign=top><td align=left>#define T_INREL<td align=left>7<td align=left>/* incoming release pending */</table></code></pre><p><br><pre><code>/* * General purpose defines. */<P><table <tr valign=top><td align=left>#define<td align=left>T_YES<td align=right>1<tr valign=top><td align=left>#define<td align=left>T_NO<td align=right>0<tr valign=top><td align=left>#define<td align=left>T_NULL<td align=right>0<tr valign=top><td align=left>#define<td align=left>T_ABSREQ<td align=right>0x8000<tr valign=top><td align=left>#define<td align=left>T_INFINITE<td align=right>(-1)<tr valign=top><td align=left>#define<td align=left>T_INVALID<td align=right>(-2)</table></code></pre><p><pre><code>/* * Definitions for t_sysconf */#define _SC_T_IOV_MAX 1 /* value is recommended only, not mandatory */</code></pre><p><pre><code>/* * General definitions for option management */#define T_UNSPEC (~0 - 2) /* applicable to u_long, t_scalar_t, char .. */#define T_ALLOPT 0 /* value is recommended-only, not mandatory */#define T_ALIGN(p) (((t_uscalar_t)(p) + (sizeof (t_scalar_t) - 1)) \ & ~(sizeof (t_scalar_t) - 1))#define T_OPT_DATA(tohp) /* definition to be added */#define T_OPT_NEXTHDR(pbuf,buflen,popt) \ (((char *)(popt) + T_ALIGN((popt)->len) < \ (char *)(pbuf) + (buflen)) ? \ (struct t_opthdr *)((char *)(popt) + T_ALIGN((popt)->len)) : \ (struct t_opthdr *)0 )#define T_OPT_FIRSTHDR(nbp) /* definition to be added */</code></pre><p><pre><code>/* OPTIONS ON XTI LEVEL *//* * XTI Level * * The values defined for the XTI Level are recommended-only, * not mandatory. */<P><table <tr valign=top><td align=left>#define<td align=left>XTI_GENERIC<td align=left>0xffff</table></code></pre><p><br><pre><code>/* * XTI-level Options * * The values defined for these XTI-level Options are recommended-only, * not mandatory. */<P><table <tr valign=top><td align=left>#define<td align=left>XTI_DEBUG<td align=left>0x0001<td align=left>/* enable debugging */<tr valign=top><td align=left>#define<td align=left>XTI_LINGER<td align=left>0x0080<td align=left>/* linger on close if data present */<tr valign=top><td align=left>#define<td align=left>XTI_RCVBUF<td align=left>0x1002<td align=left>/* receive buffer size */<tr valign=top><td align=left>#define<td align=left>XTI_RCVLOWAT<td align=left>0x1004<td align=left>/* receive low-water mark */<tr valign=top><td align=left>#define<td align=left>XTI_SNDBUF<td align=left>0x1001<td align=left>/* send buffer size */<tr valign=top><td align=left>#define<td align=left>XTI_SNDLOWAT<td align=left>0x1003<td align=left>/* send low-water mark */</table></code></pre><p><pre><code>/* * Structure used with linger option. */struct t_linger { t_scalar_t l_onoff; /* option on/off */ t_scalar_t l_linger; /* linger time */};</code></pre><p><pre><code>/* SPECIFIC ISO OPTION AND MANAGEMENT PARAMETERS *//** Definition of the ISO transport classes*/<P><table <tr valign=top><td align=left>#define<td align=left>T_CLASS0<td align=left>0<tr valign=top><td align=left>#define<td align=left>T_CLASS1<td align=left>1<tr valign=top><td align=left>#define<td align=left>T_CLASS2<td align=left>2<tr valign=top><td align=left>#define<td align=left>T_CLASS3<td align=left>3<tr valign=top><td align=left>#define<td align=left>T_CLASS4<td align=left>4</table></code></pre><p><pre><code>/* * Definition of the priorities. */<P><table <tr valign=top><td align=left>#define<td align=left>T_PRITOP<td align=left>0<tr valign=top><td align=left>#define<td align=left>T_PRIHIGH<td align=left>1<tr valign=top><td align=left>#define<td align=left>T_PRIMID<td align=left>2<tr valign=top><td align=left>#define<td align=left>T_PRILOW<td align=left>3<tr valign=top><td align=left>#define<td align=left>T_PRIDFLT<td align=left>4</table></code></pre><p><pre><code>/* * Definitions of the protection levels */<P><table <tr valign=top><td align=left>#define<td align=left>T_NOPROTECT<td align=left>1<tr valign=top><td align=left>#define<td align=left>T_PASSIVEPROTECT<td align=left>2<tr valign=top><td align=left>#define<td align=left>T_ACTIVEPROTECT<td align=left>4</table></code></pre><p><pre><code>/* * Default value for the length of TPDUs. */<P><table <tr valign=top><td align=left>#define<td align=left>T_LTPDUDFLT<td align=left>128<td align=left>/* define obsolete in XPG4 */</table></code></pre><p><pre><code>/* * rate structure. */struct rate { t_scalar_t targetvalue; /* target value */ t_scalar_t minacceptvalue; /* value of minimum acceptable quality */};</code></pre><p><br><pre><code>/* * reqvalue structure. */struct reqvalue { struct rate called; /* called rate */ struct rate calling; /* calling rate */};</code></pre><p><br><pre><code>/* * thrpt structure. */struct thrpt { struct reqvalue maxthrpt; /* maximum throughput */ struct reqvalue avgthrpt; /* average throughput */};</code></pre><p><br><pre><code>/* * transdel structure */struct transdel { struct reqvalue maxdel; /* maximum transit delay */ struct reqvalue avgdel; /* average transit delay */};</code></pre><p><pre><code>/* * Protocol Levels * * The values defined for these Protocol Levels are recommended-only, * not mandatory. */<P><table <tr valign=top><td align=left>#define<td align=left>T_ISO_TP<td align=left>0x0100<tr valign=top><td align=left>#define<td align=left>ISO_TP<td align=left>0x0100<td align=left>(<B>LEGACY</B>)</table></code></pre><p><br><pre><code>/* * Options for Quality of Service and Expedited Data (ISO 8072:1994) * * The values defined for these QoS and Expedited Data are * recommended-only, not mandatory. */<P><table <tr valign=top><td align=left>#define<td align=left><i>T_TCO_THROUGHPUT</i><td align=left>0x0001<tr valign=top><td align=left>#define<td align=left><i>TCO_THROUGHPUT</i><td align=left>0x0001<td align=left>(<B>LEGACY</B>)<tr valign=top><td align=left>#define<td align=left><i>T_TCO_TRANSDEL</i><td align=left>0x0002<tr valign=top><td align=left>#define<td align=left><i>TCO_TRANSDEL</i>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -