summaryrefslogtreecommitdiffstats
path: root/private/ntos/tdi/st/sthdrs.h
blob: 737832fc1e495b0783ced90c35db929fbd7650dc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*++

Copyright (c) 1989-1993  Microsoft Corporation

Module Name:

    sthdrs.h

Abstract:

    This module defines private structure definitions describing the layout
    of the NT Sample Transport frames.

Revision History:

--*/

#ifndef _STHDRS_
#define _STHDRS_

//
// Pack these headers, as they are sent fully packed on the network.
//

#ifdef PACKING

#ifdef __STDC__
#pragma Off(Align_members)
#else
#pragma pack(1)
#endif // def __STDC__

#endif // def PACKING

#define ST_SIGNATURE                   0x37

#define ST_CMD_CONNECT                  'C'
#define ST_CMD_DISCONNECT               'D'
#define ST_CMD_INFORMATION              'I'
#define ST_CMD_DATAGRAM                 'G'

#define ST_FLAGS_LAST                  0x0001    // for information frames
#define ST_FLAGS_BROADCAST             0x0002    // for datagrams

typedef struct _ST_HEADER {
    UCHAR Signature;            // set to ST_SIGNATURE
    UCHAR Command;              // command byte
    UCHAR Flags;                // packet flags
    UCHAR Reserved;             // unused
    UCHAR Destination[16];      // destination Netbios address
    UCHAR Source[16];           // source Netbios address
} ST_HEADER, *PST_HEADER;


//
// Resume previous structure packing method.
//

#ifdef PACKING

#ifdef __STDC__
#pragma Pop(Align_members)
#else
#pragma pack()
#endif // def __STDC__

#endif // def PACKING

#endif // def _STHDRS_