5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
23 * Copyright 2017 Nexenta Systems, Inc. All rights reserved.
24 * Copyright 2017 Joyent, Inc.
25 */
26
27 #ifndef _SMB_IOCTL_H_
28 #define _SMB_IOCTL_H_
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 #include <sys/types.h>
35 #include <sys/param.h>
36 #include <smbsrv/smbinfo.h>
37
38 #define SMB_IOC_VERSION 0x534D4201 /* SMB1 */
39
40 #define SMB_IOC_BASE (('S' << 16) | ('B' << 8))
41
42 #define SMB_IOC_CONFIG _IOW(SMB_IOC_BASE, 1, int)
43 #define SMB_IOC_START _IOW(SMB_IOC_BASE, 2, int)
44 #define SMB_IOC_GMTOFF _IOW(SMB_IOC_BASE, 3, int)
160 smb_ioc_header_t hdr;
161 uint32_t maxworkers;
162 uint32_t maxconnections;
163 uint32_t keepalive;
164 int32_t restrict_anon;
165 int32_t signing_enable;
166 int32_t signing_required;
167 int32_t oplock_enable;
168 int32_t sync_enable;
169 int32_t secmode;
170 int32_t netbios_enable;
171 int32_t ipv6_enable;
172 int32_t print_enable;
173 int32_t traverse_mounts;
174 uint32_t max_protocol;
175 uint32_t min_protocol;
176 uint32_t encrypt;
177 uint32_t exec_flags;
178 uint32_t negtok_len;
179 smb_version_t version;
180 uint16_t initial_credits;
181 uint16_t maximum_credits;
182 /* SMB negotiate protocol response. */
183 uuid_t machine_uuid;
184 uchar_t negtok[SMB_PI_MAX_NEGTOK];
185 char native_os[SMB_PI_MAX_NATIVE_OS];
186 char native_lm[SMB_PI_MAX_LANMAN];
187 char nbdomain[NETBIOS_NAME_SZ];
188 char fqdn[SMB_PI_MAX_DOMAIN];
189 char hostname[SMB_PI_MAX_HOST];
190 char system_comment[SMB_PI_MAX_COMMENT];
191 } smb_ioc_cfg_t;
192
193 typedef union smb_ioc {
194 smb_ioc_header_t ioc_hdr;
195 smb_ioc_gmt_t ioc_gmt;
196 smb_ioc_cfg_t ioc_cfg;
197 smb_ioc_start_t ioc_start;
198 smb_ioc_event_t ioc_event;
199 smb_ioc_opennum_t ioc_opennum;
|
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
23 * Copyright 2017 Nexenta Systems, Inc. All rights reserved.
24 * Copyright 2017 Joyent, Inc.
25 * Copyright 2020 RackTop Systems, Inc.
26 */
27
28 #ifndef _SMB_IOCTL_H_
29 #define _SMB_IOCTL_H_
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 #include <sys/types.h>
36 #include <sys/param.h>
37 #include <smbsrv/smbinfo.h>
38
39 #define SMB_IOC_VERSION 0x534D4201 /* SMB1 */
40
41 #define SMB_IOC_BASE (('S' << 16) | ('B' << 8))
42
43 #define SMB_IOC_CONFIG _IOW(SMB_IOC_BASE, 1, int)
44 #define SMB_IOC_START _IOW(SMB_IOC_BASE, 2, int)
45 #define SMB_IOC_GMTOFF _IOW(SMB_IOC_BASE, 3, int)
161 smb_ioc_header_t hdr;
162 uint32_t maxworkers;
163 uint32_t maxconnections;
164 uint32_t keepalive;
165 int32_t restrict_anon;
166 int32_t signing_enable;
167 int32_t signing_required;
168 int32_t oplock_enable;
169 int32_t sync_enable;
170 int32_t secmode;
171 int32_t netbios_enable;
172 int32_t ipv6_enable;
173 int32_t print_enable;
174 int32_t traverse_mounts;
175 uint32_t max_protocol;
176 uint32_t min_protocol;
177 uint32_t encrypt;
178 uint32_t exec_flags;
179 uint32_t negtok_len;
180 smb_version_t version;
181 uint16_t encrypt_cipher;
182 uint16_t initial_credits;
183 uint16_t maximum_credits;
184 /* SMB negotiate protocol response. */
185 uuid_t machine_uuid;
186 uchar_t negtok[SMB_PI_MAX_NEGTOK];
187 char native_os[SMB_PI_MAX_NATIVE_OS];
188 char native_lm[SMB_PI_MAX_LANMAN];
189 char nbdomain[NETBIOS_NAME_SZ];
190 char fqdn[SMB_PI_MAX_DOMAIN];
191 char hostname[SMB_PI_MAX_HOST];
192 char system_comment[SMB_PI_MAX_COMMENT];
193 } smb_ioc_cfg_t;
194
195 typedef union smb_ioc {
196 smb_ioc_header_t ioc_hdr;
197 smb_ioc_gmt_t ioc_gmt;
198 smb_ioc_cfg_t ioc_cfg;
199 smb_ioc_start_t ioc_start;
200 smb_ioc_event_t ioc_event;
201 smb_ioc_opennum_t ioc_opennum;
|