Annotation of ntddk/src/network/streams/inc/sys/tihdr.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.