|
|
1.1 ! root 1: /*++ ! 2: ! 3: Copyright (c) 1991 Microsoft Corporation ! 4: ! 5: Module Name: ! 6: ! 7: tihdr.h ! 8: ! 9: Abstract: ! 10: ! 11: Reverse Engineered Header for TPI. ! 12: ! 13: Author: ! 14: ! 15: sampa ! 16: ! 17: Revision History: ! 18: ! 19: --*/ ! 20: ! 21: #ifndef SYS_TIHDR_INCLUDED ! 22: #define SYS_TIHDR_INCLUDED ! 23: ! 24: ! 25: // ! 26: // Primitive Types ! 27: // ! 28: ! 29: #define T_CONN_REQ 0 ! 30: #define T_CONN_RES 1 ! 31: #define T_DISCON_REQ 2 ! 32: #define T_DATA_REQ 3 ! 33: #define T_EXDATA_REQ 4 ! 34: #define T_INFO_REQ 5 ! 35: #define T_BIND_REQ 6 ! 36: #define T_UNBIND_REQ 7 ! 37: #define T_UNITDATA_REQ 8 ! 38: #define T_OPTMGMT_REQ 9 ! 39: #define T_ORDREL_REQ 10 ! 40: ! 41: #define T_CONN_IND 11 ! 42: #define T_CONN_CON 12 ! 43: #define T_DISCON_IND 13 ! 44: #define T_DATA_IND 14 ! 45: #define T_EXDATA_IND 15 ! 46: #define T_INFO_ACK 16 ! 47: #define T_BIND_ACK 17 ! 48: #define T_ERROR_ACK 18 ! 49: #define T_OK_ACK 19 ! 50: #define T_UNITDATA_IND 20 ! 51: #define T_UDERROR_IND 21 ! 52: #define T_OPTMGMT_ACK 22 ! 53: #define T_ORDREL_IND 23 ! 54: #define T_ASTAT_REQ 24 ! 55: #define T_ASTAT_RES 25 ! 56: #define T_SETSHDPUT_REQ 26 ! 57: #define T_CONN_RES_ACK 27 ! 58: #define T_CONN_RES_NACK 28 ! 59: ! 60: ! 61: // ! 62: // Initialization Events ! 63: // ! 64: ! 65: #define TE_BIND_REQ 0 ! 66: #define TE_UNBIND_REQ 1 ! 67: #define TE_OPTMGMT_REQ 2 ! 68: #define TE_BIND_ACK 3 ! 69: #define TE_OPTMGMT_ACK 4 ! 70: #define TE_ERROR_ACK 5 ! 71: #define TE_OK_ACK1 6 ! 72: #define TE_OK_ACK2 7 ! 73: #define TE_OK_ACK3 8 ! 74: #define TE_OK_ACK4 9 ! 75: ! 76: // ! 77: // Connection Oriented Events ! 78: // ! 79: ! 80: #define TE_CONN_REQ 10 ! 81: #define TE_CONN_RES 11 ! 82: #define TE_DISCON_REQ 12 ! 83: #define TE_DATA_REQ 13 ! 84: #define TE_EXDATA_REQ 14 ! 85: #define TE_ORDREL_REQ 15 ! 86: #define TE_CONN_IND 16 ! 87: #define TE_CONN_CON 17 ! 88: #define TE_DATA_IND 18 ! 89: #define TE_EXDATA_IND 19 ! 90: #define TE_ORDREL_IND 20 ! 91: #define TE_DISCON_IND1 21 ! 92: #define TE_DISCON_IND2 22 ! 93: #define TE_DISCON_IND3 23 ! 94: #define TE_PASS_CONN 24 ! 95: ! 96: // ! 97: // Connectionless events ! 98: // ! 99: ! 100: #define TE_UNITDATA_REQ 25 ! 101: #define TE_UNITDATA_IND 26 ! 102: #define TE_UDERROR_IND 27 ! 103: ! 104: #define TE_NOEVENTS 28 ! 105: ! 106: // ! 107: // States ! 108: // ! 109: ! 110: #define TS_UNBND 0 ! 111: #define TS_WACK_BREQ 1 ! 112: #define TS_WACK_UREQ 2 ! 113: #define TS_IDLE 3 ! 114: #define TS_WACK_OPTREQ 4 ! 115: #define TS_WACK_CREQ 5 ! 116: #define TS_WCON_CREQ 6 ! 117: #define TS_WRES_CIND 7 ! 118: #define TS_WACK_CRES 8 ! 119: #define TS_DATA_XFER 9 ! 120: #define TS_WIND_ORDREL 10 ! 121: #define TS_WREQ_ORDREL 11 ! 122: #define TS_WACK_DREQ6 12 ! 123: #define TS_WACK_DREQ7 13 ! 124: #define TS_WACK_DREQ9 14 ! 125: #define TS_WACK_DREQ10 15 ! 126: #define TS_WACK_DREQ11 16 ! 127: ! 128: #define TS_NOSTATES 17 ! 129: ! 130: ! 131: // ! 132: // Structure Definitions for M_PROTO Messages ! 133: // ! 134: ! 135: struct T_unitdata_req { ! 136: long PRIM_type; // T_UNITDATA_REQ ! 137: long DEST_length; ! 138: long DEST_offset; ! 139: long OPT_length; ! 140: long OPT_offset; ! 141: }; ! 142: ! 143: struct T_uderror_ind { ! 144: long PRIM_type; // T_UDERROR_IND ! 145: long DEST_length; ! 146: long DEST_offset; ! 147: long OPT_length; ! 148: long OPT_offset; ! 149: long ERROR_type; ! 150: }; ! 151: ! 152: struct T_unitdata_ind { ! 153: long PRIM_type; // T_UNITDATA_IND ! 154: long SRC_length; ! 155: long SRC_offset; ! 156: long OPT_length; ! 157: long OPT_offset; ! 158: }; ! 159: ! 160: struct T_optmgmt_ack { ! 161: long PRIM_type; // T_OPTMGMT_ACK ! 162: long MGMT_flags; ! 163: long OPT_length; ! 164: long OPT_offset; ! 165: }; ! 166: ! 167: struct T_discon_ind { ! 168: long PRIM_type; // T_DISCON_IND ! 169: long DISCON_reason; // this is an NTSTATUS ! 170: long SEQ_number; ! 171: }; ! 172: ! 173: struct T_ordrel_ind { ! 174: long PRIM_type; // T_ORDREL_IND ! 175: }; ! 176: ! 177: struct T_conn_con { ! 178: long PRIM_type; // T_CONN_CON ! 179: long RES_length; ! 180: long RES_offset; ! 181: long OPT_length; ! 182: long OPT_offset; ! 183: }; ! 184: ! 185: struct T_conn_ind { ! 186: long PRIM_type; // T_CONN_IND ! 187: long SRC_length; ! 188: long SRC_offset; ! 189: long OPT_length; ! 190: long OPT_offset; ! 191: long SEQ_number; ! 192: }; ! 193: ! 194: struct T_data_ind { ! 195: long PRIM_type; // T_DATA_IND ! 196: long MORE_flag; ! 197: long reserved; ! 198: }; ! 199: ! 200: struct T_exdata_ind { ! 201: long PRIM_type; // T_EXDATA_IND ! 202: long MORE_flag; ! 203: long reserved; ! 204: }; ! 205: ! 206: struct T_info_req { ! 207: long PRIM_type; // T_INFO_REQ ! 208: }; ! 209: ! 210: struct T_bind_req { ! 211: long PRIM_type; // T_BIND_REQ ! 212: long ADDR_length; ! 213: long ADDR_offset; ! 214: long CONIND_number; ! 215: }; ! 216: ! 217: struct T_conn_req { ! 218: long PRIM_type; // T_CONN_REQ ! 219: long DEST_length; ! 220: long DEST_offset; ! 221: long OPT_length; ! 222: long OPT_offset; ! 223: }; ! 224: ! 225: struct T_conn_res { ! 226: long PRIM_type; // T_CONN_RES ! 227: queue_t *QUEUE_ptr; ! 228: long SEQ_number; ! 229: long OPT_length; ! 230: long OPT_offset; ! 231: }; ! 232: ! 233: struct T_conn_res_ack { ! 234: long PRIM_type; // T_CONN_RES_ACK ! 235: long SEQ_number; ! 236: }; ! 237: ! 238: struct T_conn_res_nack { ! 239: long PRIM_type; // T_CONN_RES_NACK ! 240: long SEQ_number; ! 241: long TLI_error; // TNTERROR signifies that ! 242: long UNIX_error; // this is an NTSTATUS ! 243: }; ! 244: ! 245: struct T_data_req { ! 246: long PRIM_type; // T_DATA_REQ ! 247: long MORE_flag; ! 248: long SEND_flags; ! 249: }; ! 250: ! 251: struct T_exdata_req { ! 252: long PRIM_type; // T_EXDATA_REQ ! 253: long MORE_flag; ! 254: long SEND_flags; ! 255: }; ! 256: ! 257: struct T_discon_req { ! 258: long PRIM_type; // T_DISCON_REQ ! 259: long SEQ_number; ! 260: }; ! 261: ! 262: struct T_ordrel_req { ! 263: long PRIM_type; // T_ORDREL_REQ ! 264: }; ! 265: ! 266: struct T_optmgmt_req { ! 267: long PRIM_type; // T_OPTMGMT_REQ ! 268: long MGMT_flags; ! 269: long OPT_length; ! 270: long OPT_offset; ! 271: }; ! 272: ! 273: struct T_setshdput_req { ! 274: long PRIM_type; // T_SETSHDPUT_REQ ! 275: int *SHDPUT_func; ! 276: }; ! 277: ! 278: struct T_info_ack { ! 279: long PRIM_type; // T_INFO_ACK ! 280: long TSDU_size; ! 281: long ETSDU_size; ! 282: long CDATA_size; ! 283: long DDATA_size; ! 284: long ADDR_size; ! 285: long OPT_size; ! 286: long TIDU_size; ! 287: long SERV_type; ! 288: long CURRENT_state; ! 289: // Microsoft Extensions: ! 290: long ADDR_length; // current transport address ! 291: long ADDR_offset; // of this stream ! 292: long ThroughPut; // ThroughPut in Kbytes/second ! 293: // 0 if not available ! 294: long Delay; // Delay on sending a packet ! 295: // 0 if not available ! 296: long Reliable; // 1 if the connection is ! 297: // reliable. ! 298: // 0 if not. ! 299: unsigned char UNIQUE_addr[6]; // unique address for this host ! 300: }; ! 301: ! 302: struct T_bind_ack { ! 303: long PRIM_type; // T_BIND_ACK ! 304: long ADDR_length; ! 305: long ADDR_offset; ! 306: long CONIND_number; ! 307: }; ! 308: ! 309: struct T_error_ack { ! 310: long PRIM_type; // T_ERROR_ACK ! 311: long ERROR_prim; ! 312: long TLI_error; // TNTERROR signifies that ! 313: long UNIX_error; // this is an NTSTATUS ! 314: }; ! 315: ! 316: struct T_ok_ack { ! 317: long PRIM_type; // T_OK_ACK ! 318: long CORRECT_prim; ! 319: }; ! 320: ! 321: struct T_unbind_req { ! 322: long PRIM_type; // T_UNBIND_REQ ! 323: }; ! 324: ! 325: struct T_astat_req { ! 326: long PRIM_type; // T_ASTAT_REQ ! 327: long ADDR_length; ! 328: long ADDR_offset; ! 329: }; ! 330: ! 331: struct T_astat_res { ! 332: long PRIM_type; // T_ASTAT_RES ! 333: }; ! 334: ! 335: union T_primitives { ! 336: long type; ! 337: struct T_unitdata_req t_unitdata_req; ! 338: struct T_uderror_ind t_uderror_ind; ! 339: struct T_unitdata_ind t_unitdata_ind; ! 340: struct T_optmgmt_ack t_optmgmt_ack; ! 341: struct T_discon_ind t_discon_ind; ! 342: struct T_ordrel_ind t_ordrel_ind; ! 343: struct T_conn_con t_conn_con; ! 344: struct T_conn_ind t_conn_ind; ! 345: struct T_data_ind t_data_ind; ! 346: struct T_exdata_ind t_exdata_ind; ! 347: struct T_info_req t_info_req; ! 348: struct T_bind_req t_bind_req; ! 349: struct T_conn_req t_conn_req; ! 350: struct T_conn_res t_conn_res; ! 351: struct T_conn_res_ack t_conn_res_ack; ! 352: struct T_conn_res_nack t_conn_res_nack; ! 353: struct T_data_req t_data_req; ! 354: struct T_exdata_req t_exdata_req; ! 355: struct T_discon_req t_discon_req; ! 356: struct T_ordrel_req t_ordrel_req; ! 357: struct T_optmgmt_req t_optmgmt_req; ! 358: struct T_info_ack t_info_ack; ! 359: struct T_bind_ack t_bind_ack; ! 360: struct T_error_ack t_error_ack; ! 361: struct T_ok_ack t_ok_ack; ! 362: struct T_unbind_req t_unbind_req; ! 363: }; ! 364: ! 365: ! 366: #define unitdata_req t_unitdata_req ! 367: #define uderror_ind t_uderror_ind ! 368: #define unitdata_ind t_unitdata_ind ! 369: #define optmgm_ack t_optmgmt_ack ! 370: #define discon_ind t_discon_ind ! 371: #define ordrel_ind t_ordrel_ind ! 372: #define conn_con t_conn_con ! 373: #define conn_ind t_conn_ind ! 374: #define data_ind t_data_ind ! 375: #define exdata_ind t_exdata_ind ! 376: #define info_req t_info_req ! 377: #define bind_req t_bind_req ! 378: #define conn_req t_conn_req ! 379: #define conn_res t_conn_res ! 380: #define data_req t_data_req ! 381: #define exdata_req t_exdata_req ! 382: #define discon_req t_discon_req ! 383: #define ordrel_req t_ordrel_req ! 384: #define optmgm_req t_optmgmt_req ! 385: #define info_ack t_info_ack ! 386: #define bind_ack t_bind_ack ! 387: #define error_ack t_error_ack ! 388: #define ok_ack t_ok_ack ! 389: #define unbind_req t_unbind_req ! 390: ! 391: ! 392: ! 393: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.