blob: 67598f7c3be290bcbbab1168cca4027794a29f7e (
plain)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _BROWSER_H_
#define _BROWSER_H_
/*
* NetBIOS name types describe the functionality of the registration.
* A following list of NetBIOS suffixes (16th Character of the NetBIOS
* Name) is detailed in Microsoft knowledge base article Q163409.
*
* Name Number(h) Type Usage
* --------------------------------------------------------------------------
* <computername> 00 U Workstation Service
* <computername> 01 U Messenger Service
* <\\--__MSBROWSE__> 01 G Master Browser
* <computername> 03 U Messenger Service
* <computername> 06 U RAS Server Service
* <computername> 1F U NetDDE Service
* <computername> 20 U File Server Service
* <computername> 21 U RAS Client Service
* <computername> 22 U Microsoft Exchange Interchange(MSMail
* Connector)
* <computername> 23 U Microsoft Exchange Store
* <computername> 24 U Microsoft Exchange Directory
* <computername> 30 U Modem Sharing Server Service
* <computername> 31 U Modem Sharing Client Service
* <computername> 43 U SMS Clients Remote Control
* <computername> 44 U SMS Administrators Remote Control
* Tool
* <computername> 45 U SMS Clients Remote Chat
* <computername> 46 U SMS Clients Remote Transfer
* <computername> 4C U DEC Pathworks TCPIP service on
* Windows NT
* <computername> 52 U DEC Pathworks TCPIP service on
* Windows NT
* <computername> 87 U Microsoft Exchange Message Transfer
* Agent
* <computername> 6A U Microsoft Exchange IMC
* <computername> BE U Network Monitor Agent
* <computername> BF U Network Monitor Application
* <username> 03 U Messenger Service
* <domain> 00 G Domain Name
* <domain> 1B U Domain Master Browser
* <domain> 1C G Domain Controllers
* <domain> 1D U Master Browser
* <domain> 1E G Browser Service Elections
* <INet~Services> 1C G IIS
* <IS~computer name> 00 U IIS
* <computername> [2B] U Lotus Notes Server Service
* IRISMULTICAST [2F] G Lotus Notes
* IRISNAMESERVER [33] G Lotus Notes
* Forte_$ND800ZA [20] U DCA IrmaLan Gateway Server Service
*
* Unique (U): The name may have only one IP address assigned to it. On
* a network device multiple occurrences of a single name may appear to
* be registered. The suffix may be the only unique character in the name.
*
* Group (G): A normal group; the single name may exist with many IP
* addresses. WINS responds to a name query on a group name with the
* limited broadcast address (255.255.255.255). Because routers block
* the transmission of these addresses, the Internet Group was designed
* to service communications between subnets.
*
* Multihomed (M): The name is unique, but due to multiple network
* interfaces on the same computer this configuration is necessary to
* permit the registration. The maximum number of addresses is 25.
*
* Internet Group (I): This is a special configuration of the group name
* used to manage Windows NT Domain names.
*
* Domain Name (D): New in Windows NT 4.0.
*/
#ifdef __cplusplus
extern "C" {
#endif
/*
* Message flags used when building the SMB transact headers.
*/
#define TWO_WAY_TRANSACTION 0x00
#define END_SESSION_TRANSACTION 0x01
#define ONE_WAY_TRANSACTION 0x02
/*
* Browser commands associated with the BROWSE and MSBROWSE mailslots.
*/
#define HOST_ANNOUNCEMENT 0x01
#define ANNOUNCEMENT_REQUEST 0x02
#define REQUEST_ELECTION 0x08
#define GET_BACKUP_LIST_REQ 0x09
#define GET_BACKUP_LIST_RESP 0x0A
#define BECOME_BACKUP 0x0B
#define DOMAIN_ANNOUNCEMENT 0x0C
#define MASTER_ANNOUNCEMENT 0x0D
#define LOCAL_MASTER_ANNOUNCEMENT 0x0F
/*
* Opcodes associated with NETLOGON or NTLOGON mailslots (KB 109626).
* LOGON_REQUEST LM1.0/2.0 LOGON Request from client
* LOGON_RESPONSE LM1.0 Response to LOGON_REQUEST
* LOGON_CENTRAL_QUERY LM1.0 QUERY for centralized init
* LOGON_DISTRIB_QUERY LM1.0 QUERY for non-centralized init
* LOGON_CENTRAL_RESPONSE LM1.0 response to LOGON_CENTRAL_QUERY
* LOGON_DISTRIB_RESPONSE LM1.0 resp to LOGON_DISTRIB_QUERY
* LOGON_RESPONSE2 LM2.0 Response to LOGON_REQUEST
* LOGON_PRIMARY_QUERY QUERY for Primary DC
* LOGON_START_PRIMARY announce startup of Primary DC
* LOGON_FAIL_PRIMARY announce failed Primary DC
* LOGON_UAS_CHANGE announce change to UAS or SAM
* LOGON_NO_USER announce no user on machine
* LOGON_PRIMARY_RESPONSE response to LOGON_PRIMARY_QUERY
* LOGON_RELOGON_RESPONSE LM1.0/2.0 resp to relogon request
* LOGON_WKSTINFO_RESPONSE LM1.0/2.0 resp to interrogate request
* LOGON_PAUSE_RESPONSE LM2.0 resp when NETLOGON is paused
* LOGON_USER_UNKNOWN LM2.0 response when user is unknown
* LOGON_UPDATE_ACCOUNT LM2.1 announce account updates
* LOGON_SAM_LOGON_REQUEST SAM LOGON request from client
* LOGON_SAM_LOGON_RESPONSE SAM Response to SAM logon request
* LOGON_SAM_PAUSE_RESPONSE SAM response when NETLOGON is paused
* LOGON_SAM_USER_UNKNOWN SAM response when user is unknown
* LOGON_SAM_WKSTINFO_RESPONSE SAM response to interrogate request
*/
#define LOGON_REQUEST 0
#define LOGON_RESPONSE 1
#define LOGON_CENTRAL_QUERY 2
#define LOGON_DISTRIB_QUERY 3
#define LOGON_CENTRAL_RESPONSE 4
#define LOGON_DISTRIB_RESPONSE 5
#define LOGON_RESPONSE2 6
#define LOGON_PRIMARY_QUERY 7
#define LOGON_START_PRIMARY 8
#define LOGON_FAIL_PRIMARY 9
#define LOGON_UAS_CHANGE 10
#define LOGON_NO_USER 11
#define LOGON_PRIMARY_RESPONSE 12
#define LOGON_RELOGON_RESPONSE 13
#define LOGON_WKSTINFO_RESPONSE 14
#define LOGON_PAUSE_RESPONSE 15
#define LOGON_USER_UNKNOWN 16
#define LOGON_UPDATE_ACCOUNT 17
#define LOGON_SAM_LOGON_REQUEST 18
#define LOGON_SAM_LOGON_RESPONSE 19
#define LOGON_SAM_PAUSE_RESPONSE 20
#define LOGON_SAM_USER_UNKNOWN 21
#define LOGON_SAM_WKSTINFO_RESPONSE 22
/*
* Local protocol flags used to indicate which version of the
* netlogon protocol to use when attempting to find the PDC.
*/
#define NETLOGON_PROTO_NETLOGON 0x01
#define NETLOGON_PROTO_SAMLOGON 0x02
typedef struct smb_ntdomain_t {
char n_domain[SMB_PI_MAX_DOMAIN];
char n_name[SMB_PI_MAX_DOMAIN];
uint32_t n_ipaddr;
} smb_ntdomain_t;
#ifdef __cplusplus
}
#endif
#endif /* _BROWSER_H_ */
|