- Put output from MSVC into the relevant output-i386 / obj-i386 files
[reactos.git] / reactos / w32api / include / nb30.h
1 #ifndef _NB30_H
2 #define _NB30_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #define NCBNAMSZ 16
11 #define MAX_LANA 254
12 #define NAME_FLAGS_MASK 0x87
13 #define GROUP_NAME 0x80
14 #define UNIQUE_NAME 0x00
15 #define REGISTERING 0x00
16 #define REGISTERED 0x04
17 #define DEREGISTERED 0x05
18 #define DUPLICATE 0x06
19 #define DUPLICATE_DEREG 0x07
20 #define LISTEN_OUTSTANDING 0x01
21 #define CALL_PENDING 0x02
22 #define SESSION_ESTABLISHED 0x03
23 #define HANGUP_PENDING 0x04
24 #define HANGUP_COMPLETE 0x05
25 #define SESSION_ABORTED 0x06
26 #define ALL_TRANSPORTS "M\0\0\0"
27 #define MS_NBF "MNBF"
28 #define NCBCALL 0x10
29 #define NCBLISTEN 0x11
30 #define NCBHANGUP 0x12
31 #define NCBSEND 0x14
32 #define NCBRECV 0x15
33 #define NCBRECVANY 0x16
34 #define NCBCHAINSEND 0x17
35 #define NCBDGSEND 0x20
36 #define NCBDGRECV 0x21
37 #define NCBDGSENDBC 0x22
38 #define NCBDGRECVBC 0x23
39 #define NCBADDNAME 0x30
40 #define NCBDELNAME 0x31
41 #define NCBRESET 0x32
42 #define NCBASTAT 0x33
43 #define NCBSSTAT 0x34
44 #define NCBCANCEL 0x35
45 #define NCBADDGRNAME 0x36
46 #define NCBENUM 0x37
47 #define NCBUNLINK 0x70
48 #define NCBSENDNA 0x71
49 #define NCBCHAINSENDNA 0x72
50 #define NCBLANSTALERT 0x73
51 #define NCBACTION 0x77
52 #define NCBFINDNAME 0x78
53 #define NCBTRACE 0x79
54 #define ASYNCH 0x80
55 #define NRC_GOODRET 0x00
56 #define NRC_BUFLEN 0x01
57 #define NRC_ILLCMD 0x03
58 #define NRC_CMDTMO 0x05
59 #define NRC_INCOMP 0x06
60 #define NRC_BADDR 0x07
61 #define NRC_SNUMOUT 0x08
62 #define NRC_NORES 0x09
63 #define NRC_SCLOSED 0x0a
64 #define NRC_CMDCAN 0x0b
65 #define NRC_DUPNAME 0x0d
66 #define NRC_NAMTFUL 0x0e
67 #define NRC_ACTSES 0x0f
68 #define NRC_LOCTFUL 0x11
69 #define NRC_REMTFUL 0x12
70 #define NRC_ILLNN 0x13
71 #define NRC_NOCALL 0x14
72 #define NRC_NOWILD 0x15
73 #define NRC_INUSE 0x16
74 #define NRC_NAMERR 0x17
75 #define NRC_SABORT 0x18
76 #define NRC_NAMCONF 0x19
77 #define NRC_IFBUSY 0x21
78 #define NRC_TOOMANY 0x22
79 #define NRC_BRIDGE 0x23
80 #define NRC_CANOCCR 0x24
81 #define NRC_CANCEL 0x26
82 #define NRC_DUPENV 0x30
83 #define NRC_ENVNOTDEF 0x34
84 #define NRC_OSRESNOTAV 0x35
85 #define NRC_MAXAPPS 0x36
86 #define NRC_NOSAPS 0x37
87 #define NRC_NORESOURCES 0x38
88 #define NRC_INVADDRESS 0x39
89 #define NRC_INVDDID 0x3B
90 #define NRC_LOCKFAIL 0x3C
91 #define NRC_OPENERR 0x3f
92 #define NRC_SYSTEM 0x40
93 #define NRC_PENDING 0xff
94 #define NCB_POST void CALLBACK
95 typedef struct _ACTION_HEADER {
96 ULONG transport_id;
97 USHORT action_code;
98 USHORT reserved;
99 } ACTION_HEADER,*PACTION_HEADER;
100 typedef struct _ADAPTER_STATUS {
101 UCHAR adapter_address[6];
102 UCHAR rev_major;
103 UCHAR reserved0;
104 UCHAR adapter_type;
105 UCHAR rev_minor;
106 WORD duration;
107 WORD frmr_recv;
108 WORD frmr_xmit;
109 WORD iframe_recv_err;
110 WORD xmit_aborts;
111 DWORD xmit_success;
112 DWORD recv_success;
113 WORD iframe_xmit_err;
114 WORD recv_buff_unavail;
115 WORD t1_timeouts;
116 WORD ti_timeouts;
117 DWORD reserved1;
118 WORD free_ncbs;
119 WORD max_cfg_ncbs;
120 WORD max_ncbs;
121 WORD xmit_buf_unavail;
122 WORD max_dgram_size;
123 WORD pending_sess;
124 WORD max_cfg_sess;
125 WORD max_sess;
126 WORD max_sess_pkt_size;
127 WORD name_count;
128 } ADAPTER_STATUS,*PADAPTER_STATUS;
129 typedef struct _FIND_NAME_BUFFER {
130 UCHAR length;
131 UCHAR access_control;
132 UCHAR frame_control;
133 UCHAR destination_addr[6];
134 UCHAR source_addr[6];
135 UCHAR routing_info[18];
136 } FIND_NAME_BUFFER,*PFIND_NAME_BUFFER;
137 typedef struct _FIND_NAME_HEADER {
138 WORD node_count;
139 UCHAR reserved;
140 UCHAR unique_group;
141 } FIND_NAME_HEADER,*PFIND_NAME_HEADER;
142 typedef struct _LANA_ENUM {
143 UCHAR length;
144 UCHAR lana[MAX_LANA+1];
145 } LANA_ENUM,*PLANA_ENUM;
146 typedef struct _NAME_BUFFER {
147 UCHAR name[NCBNAMSZ];
148 UCHAR name_num;
149 UCHAR name_flags;
150 } NAME_BUFFER,*PNAME_BUFFER;
151 typedef struct _NCB {
152 UCHAR ncb_command;
153 UCHAR ncb_retcode;
154 UCHAR ncb_lsn;
155 UCHAR ncb_num;
156 PUCHAR ncb_buffer;
157 WORD ncb_length;
158 UCHAR ncb_callname[NCBNAMSZ];
159 UCHAR ncb_name[NCBNAMSZ];
160 UCHAR ncb_rto;
161 UCHAR ncb_sto;
162 void (CALLBACK *ncb_post)(struct _NCB*);
163 UCHAR ncb_lana_num;
164 UCHAR ncb_cmd_cplt;
165 UCHAR ncb_reserve[10];
166 HANDLE ncb_event;
167 } NCB,*PNCB;
168 typedef struct _SESSION_BUFFER {
169 UCHAR lsn;
170 UCHAR state;
171 UCHAR local_name[NCBNAMSZ];
172 UCHAR remote_name[NCBNAMSZ];
173 UCHAR rcvs_outstanding;
174 UCHAR sends_outstanding;
175 } SESSION_BUFFER,*PSESSION_BUFFER;
176 typedef struct _SESSION_HEADER {
177 UCHAR sess_name;
178 UCHAR num_sess;
179 UCHAR rcv_dg_outstanding;
180 UCHAR rcv_any_outstanding;
181 } SESSION_HEADER,*PSESSION_HEADER;
182 UCHAR WINAPI Netbios(PNCB);
183 #ifdef __cplusplus
184 }
185 #endif
186 #endif