summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/smbsrv
diff options
context:
space:
mode:
authorJordan Brown <Jordan.Brown@Sun.COM>2009-11-05 14:34:36 -0800
committerJordan Brown <Jordan.Brown@Sun.COM>2009-11-05 14:34:36 -0800
commitbbf6f00c25b6a2bed23c35eac6d62998ecdb338c (patch)
tree8cf72fd47362b5b0da2ffe9be7fe7726a3d24426 /usr/src/uts/common/smbsrv
parentd95ac3ffcdcc13296bb4c53f621f72c0535f32c3 (diff)
downloadillumos-joyent-bbf6f00c25b6a2bed23c35eac6d62998ecdb338c.tar.gz
6747532 ns_lookup_bypid spams syslog with too many messages
6888836 Not listing all files in a directory of a CIFS share in Windows XP 6812570 Trans2 is missing pass-through levels: FILE_RENAME_INFORMATION (and others) 6888827 Add Unicode codepage support 6865488 libadutils: leak in ldap_lookup_domains_in_forest() 6888708 idmapd crashing periodically. Need cores analyzed. 6891342 invalid, redundant SQL in rule WHERE expressions 6891767 minor cleanups in idmap 6892544 Panic occurred at smb_node_ref+0x7f(ffffffd612297310) --HG-- rename : usr/src/uts/common/smbsrv/cifs.h => usr/src/uts/common/smbsrv/smb.h
Diffstat (limited to 'usr/src/uts/common/smbsrv')
-rw-r--r--usr/src/uts/common/smbsrv/Makefile15
-rw-r--r--usr/src/uts/common/smbsrv/alloc.h23
-rw-r--r--usr/src/uts/common/smbsrv/cifs.h1217
-rw-r--r--usr/src/uts/common/smbsrv/codepage.h85
-rw-r--r--usr/src/uts/common/smbsrv/cp_cyrillic.h312
-rw-r--r--usr/src/uts/common/smbsrv/cp_latin1.h317
-rw-r--r--usr/src/uts/common/smbsrv/cp_latin2.h314
-rw-r--r--usr/src/uts/common/smbsrv/cp_latin3.h311
-rw-r--r--usr/src/uts/common/smbsrv/cp_latin4.h312
-rw-r--r--usr/src/uts/common/smbsrv/cp_latin5.h311
-rw-r--r--usr/src/uts/common/smbsrv/cp_latin6.h309
-rw-r--r--usr/src/uts/common/smbsrv/cp_unicode.h14
-rw-r--r--usr/src/uts/common/smbsrv/cp_usascii.h18
-rw-r--r--usr/src/uts/common/smbsrv/ctype.h76
-rw-r--r--usr/src/uts/common/smbsrv/lm.h47
-rw-r--r--usr/src/uts/common/smbsrv/mac_cifs.h6
-rw-r--r--usr/src/uts/common/smbsrv/mbuf.h2
-rw-r--r--usr/src/uts/common/smbsrv/msgbuf.h6
-rw-r--r--usr/src/uts/common/smbsrv/ndl/srvsvc.ndl2
-rw-r--r--usr/src/uts/common/smbsrv/ndr.h6
-rw-r--r--usr/src/uts/common/smbsrv/nmpipes.h6
-rw-r--r--usr/src/uts/common/smbsrv/oem.h106
-rw-r--r--usr/src/uts/common/smbsrv/smb.h1372
-rw-r--r--usr/src/uts/common/smbsrv/smb_fsops.h6
-rw-r--r--usr/src/uts/common/smbsrv/smb_i18n.h41
-rw-r--r--usr/src/uts/common/smbsrv/smb_incl.h120
-rw-r--r--usr/src/uts/common/smbsrv/smb_kproto.h29
-rw-r--r--usr/src/uts/common/smbsrv/smb_ktypes.h32
-rw-r--r--usr/src/uts/common/smbsrv/smb_vops.h2
-rw-r--r--usr/src/uts/common/smbsrv/smbfmt.h55
-rw-r--r--usr/src/uts/common/smbsrv/string.h128
31 files changed, 1390 insertions, 4210 deletions
diff --git a/usr/src/uts/common/smbsrv/Makefile b/usr/src/uts/common/smbsrv/Makefile
index 07e63dfa7e..d9ed78c1b7 100644
--- a/usr/src/uts/common/smbsrv/Makefile
+++ b/usr/src/uts/common/smbsrv/Makefile
@@ -25,21 +25,10 @@
include ../../../Makefile.master
HDRS= alloc.h \
- cifs.h \
- codepage.h \
- cp_cyrillic.h \
- cp_latin1.h \
- cp_latin2.h \
- cp_latin3.h \
- cp_latin4.h \
- cp_latin5.h \
- cp_latin6.h \
cp_unicode.h \
cp_usascii.h \
- ctype.h \
doserror.h \
hash_table.h \
- lm.h \
lmdfs.h \
lmerr.h \
mac_cifs.h \
@@ -56,14 +45,11 @@ HDRS= alloc.h \
ntlocale.h \
smb_sid.h \
ntstatus.h \
- oem.h \
smb.h \
smb_common_door.h \
smb_door_svc.h \
smb_fsops.h \
- smb_i18n.h \
smb_idmap.h \
- smb_incl.h \
smb_inet.h \
smb_ioctl.h \
smb_kproto.h \
@@ -74,7 +60,6 @@ HDRS= alloc.h \
smb_token.h \
smb_vops.h \
smb_xdr.h \
- smbfmt.h \
smbinfo.h \
string.h \
svrapi.h \
diff --git a/usr/src/uts/common/smbsrv/alloc.h b/usr/src/uts/common/smbsrv/alloc.h
index 8d49256863..28d80342c4 100644
--- a/usr/src/uts/common/smbsrv/alloc.h
+++ b/usr/src/uts/common/smbsrv/alloc.h
@@ -19,15 +19,13 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SMBSRV_ALLOC_H
#define _SMBSRV_ALLOC_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -68,17 +66,16 @@ extern "C" {
#else /* _KERNEL */
-void *mem_malloc(uint32_t size);
-void *mem_zalloc(uint32_t size);
-char *mem_strdup(const char *ptr);
-void *mem_realloc(void *ptr, uint32_t size);
-void smb_mem_free(void *ptr);
+void *smb_malloc(uint32_t);
+char *smb_strdup(const char *);
+void *smb_realloc(void *, uint32_t);
+void smb_mfree(void *);
-#define MEM_MALLOC(AREA, SIZE) mem_malloc(SIZE)
-#define MEM_ZALLOC(AREA, SIZE) mem_zalloc(SIZE)
-#define MEM_STRDUP(AREA, PTR) mem_strdup(PTR)
-#define MEM_REALLOC(AREA, PTR, SIZE) mem_realloc((PTR), (SIZE))
-#define MEM_FREE(AREA, PTR) smb_mem_free(PTR)
+#define MEM_MALLOC(AREA, SIZE) smb_malloc(SIZE)
+#define MEM_ZALLOC(AREA, SIZE) smb_malloc(SIZE)
+#define MEM_STRDUP(AREA, PTR) smb_strdup(PTR)
+#define MEM_REALLOC(AREA, PTR, SIZE) smb_realloc((PTR), (SIZE))
+#define MEM_FREE(AREA, PTR) smb_mfree(PTR)
#endif /* _KERNEL */
diff --git a/usr/src/uts/common/smbsrv/cifs.h b/usr/src/uts/common/smbsrv/cifs.h
deleted file mode 100644
index 2f6339c04d..0000000000
--- a/usr/src/uts/common/smbsrv/cifs.h
+++ /dev/null
@@ -1,1217 +0,0 @@
-/*
- * 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 2009 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CIFS_H
-#define _SMBSRV_CIFS_H
-
-
-/*
- * This file provides definitions for the CIFS interface. The Macintosh
- * Extensions for CIFS are defined in mac_cifs.h.
- */
-
-/*
- * Macintosh Extensions for CIFS
- */
-#include <smbsrv/mac_cifs.h>
-
-/*
- * NT Installable File System (IFS) interface.
- */
-#include <smbsrv/ntifs.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Share types */
-#ifndef _SHARE_TYPES_DEFINED_
-#define _SHARE_TYPES_DEFINED_
-#define STYPE_DISKTREE 0x00000000
-#define STYPE_PRINTQ 0x00000001
-#define STYPE_DEVICE 0x00000002
-#define STYPE_IPC 0x00000003
-#define STYPE_MASK 0x0000000F
-#define STYPE_DFS 0x00000064
-#define STYPE_HIDDEN 0x80000000
-#define STYPE_SPECIAL 0x80000000
-#endif /* _SHARE_TYPES_DEFINED_ */
-
-#define STYPE_ISDSK(S) (((S) & STYPE_MASK) == STYPE_DISKTREE)
-#define STYPE_ISPRN(S) (((S) & STYPE_MASK) == STYPE_PRINTQ)
-#define STYPE_ISDEV(S) (((S) & STYPE_MASK) == STYPE_DEVICE)
-#define STYPE_ISIPC(S) (((S) & STYPE_MASK) == STYPE_IPC)
-
-/*
- * NtCreateAndX and NtTransactCreate creation flags: defined in CIFS
- * section 4.2.2
- *
- * Creation Flag Name Value Description
- * ========================== ====== ==================================
- * NT_CREATE_REQUEST_OPLOCK 0x02 Level I oplock requested
- * NT_CREATE_REQUEST_OPBATCH 0x04 Batch oplock requested
- * NT_CREATE_OPEN_TARGET_DIR 0x08 Target for open is a directory
- */
-#define NT_CREATE_FLAG_REQUEST_OPLOCK 0x02
-#define NT_CREATE_FLAG_REQUEST_OPBATCH 0x04
-#define NT_CREATE_FLAG_OPEN_TARGET_DIR 0x08
-
-
-/*
- * Define the filter flags for NtNotifyChangeDirectoryFile
- */
-#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
-#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
-#define FILE_NOTIFY_CHANGE_NAME 0x00000003
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
-#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
-#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
-#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
-#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
-#define FILE_NOTIFY_CHANGE_EA 0x00000080
-#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
-#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
-#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
-#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
-#define FILE_NOTIFY_VALID_MASK 0x00000fff
-
-
-/*
- * Define the file action type codes for NtNotifyChangeDirectoryFile
- */
-#define FILE_ACTION_ADDED 0x00000001
-#define FILE_ACTION_REMOVED 0x00000002
-#define FILE_ACTION_MODIFIED 0x00000003
-#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
-#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
-#define FILE_ACTION_ADDED_STREAM 0x00000006
-#define FILE_ACTION_REMOVED_STREAM 0x00000007
-#define FILE_ACTION_MODIFIED_STREAM 0x00000008
-
-
-/* Lock type flags */
-#define LOCKING_ANDX_NORMAL_LOCK 0x00
-#define LOCKING_ANDX_SHARED_LOCK 0x01
-#define LOCKING_ANDX_OPLOCK_RELEASE 0x02
-#define LOCKING_ANDX_CHANGE_LOCK_TYPE 0x04
-#define LOCKING_ANDX_CANCEL_LOCK 0x08
-#define LOCKING_ANDX_LARGE_FILES 0x10
-
-#define SMB_COM_CREATE_DIRECTORY 0x00
-#define SMB_COM_DELETE_DIRECTORY 0x01
-#define SMB_COM_OPEN 0x02
-#define SMB_COM_CREATE 0x03
-#define SMB_COM_CLOSE 0x04
-#define SMB_COM_FLUSH 0x05
-#define SMB_COM_DELETE 0x06
-#define SMB_COM_RENAME 0x07
-#define SMB_COM_QUERY_INFORMATION 0x08
-#define SMB_COM_SET_INFORMATION 0x09
-#define SMB_COM_READ 0x0A
-#define SMB_COM_WRITE 0x0B
-#define SMB_COM_LOCK_BYTE_RANGE 0x0C
-#define SMB_COM_UNLOCK_BYTE_RANGE 0x0D
-#define SMB_COM_CREATE_TEMPORARY 0x0E
-#define SMB_COM_CREATE_NEW 0x0F
-#define SMB_COM_CHECK_DIRECTORY 0x10
-#define SMB_COM_PROCESS_EXIT 0x11
-#define SMB_COM_SEEK 0x12
-#define SMB_COM_LOCK_AND_READ 0x13
-#define SMB_COM_WRITE_AND_UNLOCK 0x14
-
-#define SMB_COM_READ_RAW 0x1A
-#define SMB_COM_READ_MPX 0x1B
-#define SMB_COM_READ_MPX_SECONDARY 0x1C
-#define SMB_COM_WRITE_RAW 0x1D
-#define SMB_COM_WRITE_MPX 0x1E
-#define SMB_COM_WRITE_MPX_SECONDARY 0x1F
-#define SMB_COM_WRITE_COMPLETE 0x20
-
-#define SMB_COM_SET_INFORMATION2 0x22
-#define SMB_COM_QUERY_INFORMATION2 0x23
-#define SMB_COM_LOCKING_ANDX 0x24
-#define SMB_COM_TRANSACTION 0x25
-#define SMB_COM_TRANSACTION_SECONDARY 0x26
-#define SMB_COM_IOCTL 0x27
-#define SMB_COM_IOCTL_SECONDARY 0x28
-#define SMB_COM_COPY 0x29
-#define SMB_COM_MOVE 0x2A
-#define SMB_COM_ECHO 0x2B
-#define SMB_COM_WRITE_AND_CLOSE 0x2C
-#define SMB_COM_OPEN_ANDX 0x2D
-#define SMB_COM_READ_ANDX 0x2E
-#define SMB_COM_WRITE_ANDX 0x2F
-
-#define SMB_COM_CLOSE_AND_TREE_DISC 0x31
-#define SMB_COM_TRANSACTION2 0x32
-#define SMB_COM_TRANSACTION2_SECONDARY 0x33
-#define SMB_COM_FIND_CLOSE2 0x34
-#define SMB_COM_FIND_NOTIFY_CLOSE 0x35
-
-#define SMB_COM_TREE_CONNECT 0x70
-#define SMB_COM_TREE_DISCONNECT 0x71
-#define SMB_COM_NEGOTIATE 0x72
-#define SMB_COM_SESSION_SETUP_ANDX 0x73
-#define SMB_COM_LOGOFF_ANDX 0x74
-#define SMB_COM_TREE_CONNECT_ANDX 0x75
-
-#define SMB_COM_QUERY_INFORMATION_DISK 0x80
-#define SMB_COM_SEARCH 0x81
-#define SMB_COM_FIND 0x82
-#define SMB_COM_FIND_UNIQUE 0x83
-#define SMB_COM_FIND_CLOSE 0x84
-
-#define SMB_COM_NT_TRANSACT 0xA0
-#define SMB_COM_NT_TRANSACT_SECONDARY 0xA1
-#define SMB_COM_NT_CREATE_ANDX 0xA2
-#define SMB_COM_NT_CANCEL 0xA4
-
-#define SMB_COM_OPEN_PRINT_FILE 0xC0
-#define SMB_COM_WRITE_PRINT_FILE 0xC1
-#define SMB_COM_CLOSE_PRINT_FILE 0xC2
-#define SMB_COM_GET_PRINT_QUEUE 0xC3
-
-
-/*
- * Flags field of the SMB header. The names in parenthesis represent
- * alternative names for the flags.
- *
- * SMB_FLAGS_LOCK_AND_READ_OK If the server supports LockAndRead and
- * (SMB_FLAGS_LOCKS_SUBDIALECT) WriteAndUnlock, it sets this bit in the
- * Negotiate response.
- *
- * SMB_FLAGS_SEND_NO_ACK When on, the client guarantees that there
- * (SMB_FLAGS_RCV_BUF_POSTED) is a receive buffer posted such that a
- * "Send-No-Ack" can be used by the server
- * to respond to the client's request.
- *
- * SMB_FLAGS_CASE_INSENSITIVE This is part of the Flags field of every
- * SMB header. If this bit is set, then all
- * pathnames in the SMB should be treated as
- * case-insensitive. Otherwise pathnames are
- * case-sensitive.
- *
- * SMB_FLAGS_CANONICALIZED_PATHS When on in SessionSetupX, this indicates
- * that all paths sent to the server are
- * already in OS/2 canonicalized format.
- *
- * OS/2 canonical format means that file/directory names are in upper case,
- * are valid characters, . and .. have been removed and single backslashes
- * are used as separators.
- *
- * SMB_FLAGS_OPLOCK When set in an open file request SMBs
- * (Open, Create, OpenX, etc.) this bit
- * indicates a request for an oplock on the
- * file. When set in the response, this bit
- * indicates that the oplock was granted.
- *
- * SMB_FLAGS_OPLOCK_NOTIFY_ANY When on, this bit indicates that the server
- * should notify the client on any request
- * that could cause the file to be changed.
- * If not set, the server only notifies the
- * client on other open requests on the file.
- * This bit is only relevant when
- * SMB_FLAGS_OPLOCK is set.
- *
- * SMB_FLAGS_SERVER_TO_REDIR This bit indicates that the SMB is being
- * (SMB_FLAGS_REPLY) sent from server to (client) redirector.
- */
-#define SMB_FLAGS_LOCK_AND_READ_OK 0x01
-#define SMB_FLAGS_SEND_NO_ACK 0x02
-#define SMB_FLAGS_RESERVED 0x04
-#define SMB_FLAGS_CASE_INSENSITIVE 0x08
-#define SMB_FLAGS_CANONICALIZED_PATHS 0x10
-#define SMB_FLAGS_OPLOCK 0x20
-#define SMB_FLAGS_OPLOCK_NOTIFY_ANY 0x40
-#define SMB_FLAGS_REPLY 0x80
-
-
-/*
- * Flags2 field of the SMB header.
- */
-#define SMB_FLAGS2_KNOWS_LONG_NAMES 0x0001
-#define SMB_FLAGS2_KNOWS_EAS 0x0002
-#define SMB_FLAGS2_SMB_SECURITY_SIGNATURE 0x0004
-#define SMB_FLAGS2_IS_LONG_NAME 0x0040
-#define SMB_FLAGS2_REPARSE_PATH 0x0400
-#define SMB_FLAGS2_EXT_SEC 0x0800
-#define SMB_FLAGS2_DFS 0x1000
-#define SMB_FLAGS2_PAGING_IO 0x2000
-#define SMB_FLAGS2_NT_STATUS 0x4000
-#define SMB_FLAGS2_UNICODE 0x8000
-
-#define DIALECT_UNKNOWN 0
-#define PC_NETWORK_PROGRAM_1_0 1 /* The original MSNET SMB protocol */
-#define PCLAN1_0 2 /* Some versions of the original MSNET */
-#define MICROSOFT_NETWORKS_1_03 3 /* This is used for the MS-NET 1.03 */
-#define MICROSOFT_NETWORKS_3_0 4 /* This is the DOS LANMAN 1.0 specific */
-#define LANMAN1_0 5 /* This is the first version of the full */
-#define LM1_2X002 6 /* This is the first version of the full */
-#define DOS_LM1_2X002 7 /* This is the dos equivalent of the */
-#define DOS_LANMAN2_1 8 /* DOS LANMAN2.1 */
-#define LANMAN2_1 9 /* OS/2 LANMAN2.1 */
-#define Windows_for_Workgroups_3_1a 10 /* Windows for Workgroups Version 1.0 */
-#define NT_LM_0_12 11 /* The SMB protocol designed for NT */
-
-/*
- * SMB_TREE_CONNECT_ANDX OptionalSupport flags
- *
- * SMB_SUPPORT_SEARCH_BITS The server supports SearchAttributes.
- * SMB_SHARE_IS_IN_DFS The share is managed by DFS.
- * SMB_CSC_MASK Offline-caching mask - see CSC values.
- * SMB_UNIQUE_FILE_NAME The server uses long names and does not support
- * short names. This indicates to clients that
- * they may perform directory name-space caching.
- * SMB_EXTENDED_SIGNATURES The server will use signing key protection.
- *
- * SMB_CSC_CACHE_MANUAL_REINT Clients are allowed to cache files for offline
- * use as requested by users but automatic
- * file-by-file reintegration is not allowed.
- * SMB_CSC_CACHE_AUTO_REINT Clients are allowed to automatically cache
- * files for offline use and file-by-file
- * reintegration is allowed.
- * SMB_CSC_CACHE_VDO Clients are allowed to automatically cache files
- * for offline use, file-by-file reintegration is
- * allowed and clients are permitted to work from
- * their local cache even while offline.
- * SMB_CSC_CACHE_NONE Client-side caching is disabled for this share.
- *
- * SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM
- * The server will filter directory entries based
- * on the access permissions of the client.
- */
-#define SMB_SUPPORT_SEARCH_BITS 0x0001
-#define SMB_SHARE_IS_IN_DFS 0x0002
-#define SMB_CSC_MASK 0x000C
-#define SMB_UNIQUE_FILE_NAME 0x0010
-#define SMB_EXTENDED_SIGNATURES 0x0020
-
-#define SMB_CSC_CACHE_MANUAL_REINT 0x0000
-#define SMB_CSC_CACHE_AUTO_REINT 0x0004
-#define SMB_CSC_CACHE_VDO 0x0008
-#define SMB_CSC_CACHE_NONE 0x000C
-
-#define SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM 0x0800
-
-/*
- * The subcommand codes, placed in SETUP[0], for named pipe operations are:
- * SubCommand Code Value Description
- * =================== ===== =========================================
- */
-
-#define CallNamedPipe 0x54 /* open/write/read/close pipe */
-#define WaitNamedPipe 0x53 /* wait for pipe to be nonbusy */
-#define PeekNmPipe 0x23 /* read but don't remove data */
-#define QNmPHandState 0x21 /* query pipe handle modes */
-#define SetNmPHandState 0x01 /* set pipe handle modes */
-#define QNmPipeInfo 0x22 /* query pipe attributes */
-#define TransactNmPipe 0x26 /* write/read operation on pipe */
-#define RawReadNmPipe 0x11 /* read pipe in "raw" (non message mode) */
-#define RawWriteNmPipe 0x31 /* write pipe "raw" (non message mode) */
-
-
-
-/*
- * Setup[0] Transaction2 Value Description
- * Subcommand Code
- * ========================== ===== =============================
- */
-
-#define TRANS2_OPEN2 0x00 /* Create file, extended attributes */
-#define TRANS2_FIND_FIRST2 0x01 /* Begin search for files */
-#define TRANS2_FIND_NEXT2 0x02 /* Resume search for files */
-#define TRANS2_QUERY_FS_INFORMATION 0x03 /* Get file system information */
-#define _TRANS2_RESV_0x04 0x04 /* Reserved */
-#define TRANS2_QUERY_PATH_INFORMATION 0x05 /* Get info, named file or dir */
-#define TRANS2_SET_PATH_INFORMATION 0x06 /* Set info, named file or dir */
-#define TRANS2_QUERY_FILE_INFORMATION 0x07 /* Get info, handle */
-#define TRANS2_SET_FILE_INFORMATION 0x08 /* Set info, handle */
-#define TRANS2_FSCTL 0x09 /* Not implemented by NT server */
-#define TRANS2_IOCTL2 0x0A /* Not implemented by NT server */
-#define TRANS2_FIND_NOTIFY_FIRST 0x0B /* Not implemented by NT server */
-#define TRANS2_FIND_NOTIFY_NEXT 0x0C /* Not implemented by NT server */
-#define TRANS2_CREATE_DIRECTORY 0x0D /* Create dir, extended attributes */
-#define TRANS2_SESSION_SETUP 0x0E /* Session setup, extended security */
-#define TRANS2_GET_DFS_REFERRAL 0x10 /* Get a Dfs referral */
-#define TRANS2_REPORT_DFS_INCONSISTENCY 0x11 /* Report a Dfs inconsistency */
-
-/*
- * Access Mode Encoding (CIFS/1.0 1996 Section 3.8).
- *
- * The desired access mode passed in SmbOpen and SmbOpenAndX has the following
- * mapping:
- *
- * 1111 11
- * 5432 1098 7654 3210
- * rWrC rLLL rSSS rAAA
- *
- * where:
- *
- * W - Write through mode. No read ahead or write behind allowed on
- * this file or device. When protocol is returned, data is expected
- * to be on the disk or device.
- *
- * S - Sharing mode:
- * 0 - Compatibility mode (as in core open)
- * 1 - Deny read/write/execute (exclusive)
- * 2 - Deny write
- * 3 - Deny read/execute
- * 4 - Deny none
- *
- * A - Access mode
- * 0 - Open for reading
- * 1 - Open for writing
- * 2 - Open for reading and writing
- * 3 - Open for execute
- *
- * rSSSrAAA = 11111111 (hex FF) indicates FCB open (as in core protocol)
- *
- * C - Cache mode
- * 0 - Normal file
- * 1 - Do not cache this file
- *
- * L - Locality of reference
- * 0 - Locality of reference is unknown
- * 1 - Mainly sequential access
- * 2 - Mainly random access
- * 3 - Random access with some locality
- * 4 to 7 - Currently undefined
- */
-
-
-#define SMB_DA_SHARE_MASK 0x70
-#define SMB_DA_ACCESS_MASK 0x07
-#define SMB_DA_FCB_MASK (UCHAR)0xFF
-
-#define SMB_DA_ACCESS_READ 0x00
-#define SMB_DA_ACCESS_WRITE 0x01
-#define SMB_DA_ACCESS_READ_WRITE 0x02
-#define SMB_DA_ACCESS_EXECUTE 0x03
-
-#define SMB_DA_SHARE_COMPATIBILITY 0x00
-#define SMB_DA_SHARE_EXCLUSIVE 0x10
-#define SMB_DA_SHARE_DENY_WRITE 0x20
-#define SMB_DA_SHARE_DENY_READ 0x30
-#define SMB_DA_SHARE_DENY_NONE 0x40
-
-#define SMB_DA_FCB (UCHAR)0xFF
-
-#define SMB_CACHE_NORMAL 0x0000
-#define SMB_DO_NOT_CACHE 0x1000
-
-#define SMB_LR_UNKNOWN 0x0000
-#define SMB_LR_SEQUENTIAL 0x0100
-#define SMB_LR_RANDOM 0x0200
-#define SMB_LR_RANDOM_WITH_LOCALITY 0x0300
-#define SMB_LR_MASK 0x0F00
-
-#define SMB_DA_WRITE_THROUGH 0x4000
-
-/*
- * Macros used for share reservation rule checking
- */
-
-#define SMB_DENY_READ(share_access) ((share_access & FILE_SHARE_READ) == 0)
-
-#define SMB_DENY_WRITE(share_access) ((share_access & FILE_SHARE_WRITE) == 0)
-
-#define SMB_DENY_DELETE(share_access) ((share_access & FILE_SHARE_DELETE) == 0)
-
-#define SMB_DENY_RW(share_access) \
- ((share_access & (FILE_SHARE_READ | FILE_SHARE_WRITE)) == 0)
-
-#define SMB_DENY_ALL(share_access) (share_access == 0)
-
-#define SMB_DENY_NONE(share_access) (share_access == FILE_SHARE_ALL)
-
-/*
- * The SMB open function determines what action should be taken depending
- * on the existence or lack thereof of files used in the operation. It
- * has the following mapping:
- *
- * 1111 1
- * 5432 1098 7654 3210
- * rrrr rrrr rrrC rrOO
- *
- * where:
- *
- * O - Open (action to be taken if the target file exists)
- * 0 - Fail
- * 1 - Open or Append file
- * 2 - Truncate file
- *
- * C - Create (action to be taken if the target file does not exist)
- * 0 - Fail
- * 1 - Create file
- */
-
-#define SMB_OFUN_OPEN_MASK 0x3
-#define SMB_OFUN_CREATE_MASK 0x10
-
-#define SMB_OFUN_OPEN_FAIL 0
-#define SMB_OFUN_OPEN_APPEND 1
-#define SMB_OFUN_OPEN_OPEN 1
-#define SMB_OFUN_OPEN_TRUNCATE 2
-
-#define SMB_OFUN_CREATE_FAIL 0x00
-#define SMB_OFUN_CREATE_CREATE 0x10
-
-/*
- * The Action field of OpenAndX has the following format:
- *
- * 1111 11
- * 5432 1098 7654 3210
- * Lrrr rrrr rrrr rrOO
- *
- * where:
- *
- * L - Opportunistic lock. 1 if lock granted, else 0.
- *
- * O - Open action:
- * 1 - The file existed and was opened
- * 2 - The file did not exist but was created
- * 3 - The file existed and was truncated
- */
-
-#define SMB_OACT_LOCK 0x8000
-#define SMB_OACT_OPENED 0x01
-#define SMB_OACT_CREATED 0x02
-#define SMB_OACT_TRUNCATED 0x03
-
-#define SMB_OACT_OPLOCK 0x8000
-
-#define SMB_FTYPE_DISK 0
-#define SMB_FTYPE_BYTE_PIPE 1
-#define SMB_FTYPE_MESG_PIPE 2
-#define SMB_FTYPE_PRINTER 3
-#define SMB_FTYPE_UNKNOWN 0xFFFF
-
-#define SMB_DEVST_BLOCKING 0x8000
-#define SMB_DEVST_ENDPOINT 0x4000
-#define SMB_DEVST_TYPE_MASK 0x0C00
-#define SMB_DEVST_TYPE_BYTE_PIPE 0x0000
-#define SMB_DEVST_TYPE_MESG_PIPE 0x0400
-#define SMB_DEVST_RMODE_MASK 0x0300
-#define SMB_DEVST_RMODE_BYTES 0x0000
-#define SMB_DEVST_RMODE_MESGS 0x0100
-#define SMB_DEVST_ICOUNT_MASK 0x00FF /* not used */
-
-#define SMB_FTYPE_IS_DISK(F) ((F) == SMB_FTYPE_DISK)
-#define SMB_FTYPE_IS_PIPE(F) \
- (((F) == SMB_FTYPE_BYTE_PIPE) || ((F) == SMB_FTYPE_MESG_PIPE))
-#define SMB_FTYPE_IS_PRINTER(F) ((F) == SMB_FTYPE_PRINTER)
-
-/*
- * TRANS2_FIND
- */
-#define SMB_FIND_FILE_DIRECTORY_INFO 0x101
-#define SMB_FIND_FILE_FULL_DIRECTORY_INFO 0x102
-#define SMB_FIND_FILE_NAMES_INFO 0x103
-#define SMB_FIND_FILE_BOTH_DIRECTORY_INFO 0x104
-#define SMB_FIND_FILE_ID_FULL_DIRECTORY_INFO 0x105
-#define SMB_FIND_FILE_ID_BOTH_DIRECTORY_INFO 0x106
-#define SMB_MAC_FIND_BOTH_HFS_INFO MAC_FIND_BOTH_HFS_INFO
-
-
-/*
- * Flags for TRANS2_FIND_FIRST2 and TRANS2_FIND_NEXT2
- * (NTDDK cifs.h).
- *
- * If SMB_FIND_RETURN_RESUME_KEYS was set in the request parameters,
- * each entry is preceded by a four-byte resume key.
- */
-#define SMB_FIND_CLOSE_AFTER_REQUEST 0x01
-#define SMB_FIND_CLOSE_AT_EOS 0x02
-#define SMB_FIND_RETURN_RESUME_KEYS 0x04
-#define SMB_FIND_CONTINUE_FROM_LAST 0x08
-#define SMB_FIND_WITH_BACKUP_INTENT 0x10
-
-
-/*
- * TRANS2_QUERY_FS_INFORMATION
- */
-#define SMB_INFO_ALLOCATION 1
-#define SMB_INFO_VOLUME 2
-#define SMB_QUERY_FS_LABEL_INFO 0x101
-#define SMB_QUERY_FS_VOLUME_INFO 0x102
-#define SMB_QUERY_FS_SIZE_INFO 0x103
-#define SMB_QUERY_FS_DEVICE_INFO 0x104
-#define SMB_QUERY_FS_ATTRIBUTE_INFO 0x105
-#define SMB_QUERY_FS_QUOTA_INFO 0x106 /* unused? */
-#define SMB_QUERY_FS_CONTROL_INFO 0x107
-#define SMB_MAC_QUERY_FS_INFO MAC_QUERY_FS_INFO
-
-
-/*
- * Internal use only.
- * Define information levels to represent the following requests:
- * smb_query_information
- * smb_query_information2
- * smb_set_information
- * smb_set_information2
- */
-#define SMB_QUERY_INFORMATION 0x3001
-#define SMB_QUERY_INFORMATION2 0x3002
-#define SMB_SET_INFORMATION 0x3001
-#define SMB_SET_INFORMATION2 0x3002
-
-/* TRANS2_QUERY_{PATH,FILE}_INFORMATION */
-#define SMB_INFO_STANDARD 1 /* query, set */
-#define SMB_INFO_QUERY_EA_SIZE 2 /* query */
-#define SMB_INFO_SET_EAS 2 /* set */
-#define SMB_INFO_QUERY_EAS_FROM_LIST 3 /* query */
-#define SMB_INFO_QUERY_ALL_EAS 4 /* query */
-#define SMB_INFO_QUERY_FULL_NAME 5 /* unused */
-#define SMB_INFO_IS_NAME_VALID 6 /* query */
-
-#define SMB_QUERY_FILE_BASIC_INFO 0x101
-#define SMB_QUERY_FILE_STANDARD_INFO 0x102
-#define SMB_QUERY_FILE_EA_INFO 0x103
-#define SMB_QUERY_FILE_NAME_INFO 0x104
-#define SMB_QUERY_FILE_ALLOCATION_INFO 0x105 /* unused */
-#define SMB_QUERY_FILE_END_OF_FILE_INFO 0x106 /* unused */
-#define SMB_QUERY_FILE_ALL_INFO 0x107
-#define SMB_QUERY_FILE_ALT_NAME_INFO 0x108
-#define SMB_QUERY_FILE_STREAM_INFO 0x109
-#define SMB_QUERY_FILE_COMPRESSION_INFO 0x10B
-
-#define SMB_MAC_SET_FINDER_INFO MAC_SET_FINDER_INFO
-#define SMB_MAC_DT_ADD_APPL MAC_DT_ADD_APPL
-#define SMB_MAC_DT_REMOVE_APPL MAC_DT_REMOVE_APPL
-#define SMB_MAC_DT_GET_APPL MAC_DT_GET_APPL
-#define SMB_MAC_DT_GET_ICON MAC_DT_GET_ICON
-#define SMB_MAC_DT_GET_ICON_INFO MAC_DT_GET_ICON_INFO
-#define SMB_MAC_DT_ADD_ICON MAC_DT_ADD_ICON
-
-#define SMB_SET_FILE_BASIC_INFO 0x101
-#define SMB_SET_FILE_DISPOSITION_INFO 0x102
-#define SMB_SET_FILE_ALLOCATION_INFO 0x103
-#define SMB_SET_FILE_END_OF_FILE_INFO 0x104
-
-
-/* NT passthrough levels - see ntifs.h FILE_INFORMATION_CLASS */
-#define SMB_FILE_BASIC_INFORMATION 1004
-#define SMB_FILE_STANDARD_INFORMATION 1005
-#define SMB_FILE_INTERNAL_INFORMATION 1006
-#define SMB_FILE_EA_INFORMATION 1007
-#define SMB_FILE_ACCESS_INFORMATION 1008
-#define SMB_FILE_NAME_INFORMATION 1009
-#define SMB_FILE_DISPOSITION_INFORMATION 1013
-#define SMB_FILE_ALL_INFORMATION 1018
-#define SMB_FILE_ALLOCATION_INFORMATION 1019
-#define SMB_FILE_END_OF_FILE_INFORMATION 1020
-#define SMB_FILE_ALT_NAME_INFORMATION 1021
-#define SMB_FILE_STREAM_INFORMATION 1022
-#define SMB_FILE_COMPRESSION_INFORMATION 1028
-#define SMB_FILE_ATTR_TAG_INFORMATION 1035
-
-/*
- * The following bits may be set in the SecurityMode field of the
- * SMB_COM_NEGOTIATE response.
- *
- * Notes:
- * NEGOTIATE_SECURITY_SHARE_LEVEL is a montana2 invention.
- *
- * The NTDDK cifs.h definitions are:
- * #define NEGOTIATE_USER_SECURITY 0x01
- * #define NEGOTIATE_ENCRYPT_PASSWORDS 0x02
- * #define NEGOTIATE_SECURITY_SIGNATURES_ENABLED 0x04
- * #define NEGOTIATE_SECURITY_SIGNATURES_REQUIRED 0x08
- */
-#define NEGOTIATE_SECURITY_SHARE_LEVEL 0x00
-#define NEGOTIATE_SECURITY_USER_LEVEL 0x01
-#define NEGOTIATE_SECURITY_CHALLENGE_RESPONSE 0x02
-#define NEGOTIATE_SECURITY_SIGNATURES_ENABLED 0x04
-#define NEGOTIATE_SECURITY_SIGNATURES_REQUIRED 0x08
-
-
-/*
- * Negotiated Capabilities (CIFS/1.0 section 4.1.1)
- *
- * Capabilities allow the server to tell the client what it supports.
- * Undefined bits MUST be set to zero by servers, and MUST be ignored
- * by clients. The bit definitions are:
- *
- * Capability Name Encoding Meaning
- * ==================== ======== ==================================
- * CAP_RAW_MODE 0x0001 The server supports SMB_COM_READ_RAW and
- * SMB_COM_WRITE_RAW (obsolescent)
- * CAP_MPX_MODE 0x0002 The server supports SMB_COM_READ_MPX and
- * SMB_COM_WRITE_MPX (obsolescent)
- * CAP_UNICODE 0x0004 The server supports Unicode strings
- * CAP_LARGE_FILES 0x0008 The server supports large files with 64
- * bit offsets
- * CAP_NT_SMBS 0x0010 The server supports the SMBs particular
- * to the NT LM 0.12 dialect.
- * Implies CAP_NT_FIND.
- * CAP_RPC_REMOTE_APIS 0x0020 The server supports remote admin API
- * requests via DCE RPC
- * CAP_STATUS32 0x0040 The server can respond with 32 bit
- * status codes in Status.Status
- * CAP_LEVEL_II_OPLOCKS 0x0080 The server supports level 2 oplocks
- * CAP_LOCK_AND_READ 0x0100 The server supports the
- * SMB_COM_LOCK_AND_READ SMB
- * CAP_NT_FIND 0x0200
- * CAP_BULK_TRANSFER 0x0400
- * CAP_COMPRESSED_BULK 0x0800
- * CAP_DFS 0x1000 The server is DFS aware
- * CAP_LARGE_READX 0x4000 The server supports large
- * SMB_COM_READ_ANDX
- * CAP_LARGE_WRITEX 0x8000 The server supports large
- * SMB_COM_WRITE_ANDX
- * CAP_RESERVED 0x02000000 Reserved for future use.
- * CAP_EXTENDED_SECURITY 0x80000000 The server supports extended security
- * exchanges.
- *
- * Extended security exchanges provides a means of supporting arbitrary
- * authentication protocols within CIFS. Security blobs are opaque to the
- * CIFS protocol; they are messages in some authentication protocol that
- * has been agreed upon by client and server by some out of band mechanism,
- * for which CIFS merely functions as a transport. When
- * CAP_EXTENDED_SECURITY is negotiated, the server includes a first
- * security blob in its response; subsequent security blobs are exchanged
- * in SMB_COM_SESSION_SETUP_ANDX requests and responses until the
- * authentication protocol terminates.
- */
-#define CAP_RAW_MODE 0x0001
-#define CAP_MPX_MODE 0x0002
-#define CAP_UNICODE 0x0004
-#define CAP_LARGE_FILES 0x0008
-#define CAP_NT_SMBS 0x0010
-#define CAP_RPC_REMOTE_APIS 0x0020
-#define CAP_STATUS32 0x0040
-#define CAP_LEVEL_II_OPLOCKS 0x0080
-#define CAP_LOCK_AND_READ 0x0100
-#define CAP_NT_FIND 0x0200
-#define CAP_BULK_TRANSFER 0x0400
-#define CAP_COMPRESSED_BULK 0x0800
-#define CAP_DFS 0x1000
-#define CAP_LARGE_READX 0x4000
-#define CAP_LARGE_WRITEX 0x8000
-#define CAP_RESERVED 0x02000000
-#define CAP_EXTENDED_SECURITY 0x80000000
-
-
-/*
- * Different device types according to NT
- */
-#define FILE_DEVICE_BEEP 0x00000001
-#define FILE_DEVICE_CD_ROM 0x00000002
-#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
-#define FILE_DEVICE_CONTROLLER 0x00000004
-#define FILE_DEVICE_DATALINK 0x00000005
-#define FILE_DEVICE_DFS 0x00000006
-#define FILE_DEVICE_DISK 0x00000007
-#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008
-#define FILE_DEVICE_FILE_SYSTEM 0x00000009
-#define FILE_DEVICE_INPORT_PORT 0x0000000a
-#define FILE_DEVICE_KEYBOARD 0x0000000b
-#define FILE_DEVICE_MAILSLOT 0x0000000c
-#define FILE_DEVICE_MIDI_IN 0x0000000d
-#define FILE_DEVICE_MIDI_OUT 0x0000000e
-#define FILE_DEVICE_MOUSE 0x0000000f
-#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010
-#define FILE_DEVICE_NAMED_PIPE 0x00000011
-#define FILE_DEVICE_NETWORK 0x00000012
-#define FILE_DEVICE_NETWORK_BROWSER 0x00000013
-#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
-#define FILE_DEVICE_NULL 0x00000015
-#define FILE_DEVICE_PARALLEL_PORT 0x00000016
-#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017
-#define FILE_DEVICE_PRINTER 0x00000018
-#define FILE_DEVICE_SCANNER 0x00000019
-#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a
-#define FILE_DEVICE_SERIAL_PORT 0x0000001b
-#define FILE_DEVICE_SCREEN 0x0000001c
-#define FILE_DEVICE_SOUND 0x0000001d
-#define FILE_DEVICE_STREAMS 0x0000001e
-#define FILE_DEVICE_TAPE 0x0000001f
-#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020
-#define FILE_DEVICE_TRANSPORT 0x00000021
-#define FILE_DEVICE_UNKNOWN 0x00000022
-#define FILE_DEVICE_VIDEO 0x00000023
-#define FILE_DEVICE_VIRTUAL_DISK 0x00000024
-#define FILE_DEVICE_WAVE_IN 0x00000025
-#define FILE_DEVICE_WAVE_OUT 0x00000026
-#define FILE_DEVICE_8042_PORT 0x00000027
-#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028
-#define FILE_DEVICE_BATTERY 0x00000029
-#define FILE_DEVICE_BUS_EXTENDER 0x0000002a
-#define FILE_DEVICE_MODEM 0x0000002b
-#define FILE_DEVICE_VDM 0x0000002c
-
-/*
- * Some of these device types are not currently accessible over the network
- * and may never be accessible over the network. Some may change to be
- *
- * accessible over the network. The values for device types that may never
- * be accessible over the network may be redefined to be just reserved at
- * some date in the future.
- *
- * Characteristics is the sum of any of the following:
- */
-
-#define FILE_REMOVABLE_MEDIA 0x00000001
-#define FILE_READ_ONLY_DEVICE 0x00000002
-#define FILE_FLOPPY_DISKETTE 0x00000004
-#define FILE_WRITE_ONE_MEDIA 0x00000008
-#define FILE_REMOTE_DEVICE 0x00000010
-#define FILE_DEVICE_IS_MOUNTED 0x00000020
-#define FILE_VIRTUAL_VOLUME 0x00000040
-
-/*
- * CREATE_ANDX ShareAccess Flags
- */
-
-#define FILE_SHARE_NONE 0x00000000
-#define FILE_SHARE_READ 0x00000001
-#define FILE_SHARE_WRITE 0x00000002
-#define FILE_SHARE_DELETE 0x00000004
-#define FILE_SHARE_ALL 0x00000007
-#define FILE_SHARE_VALID_FLAGS 0x00000007
-
-
-/*
- * CREATE_ANDX CreateDisposition flags
- *
- * FILE_SUPERSEDE If the file already exists it should be superseded
- * by the specified file. If the file does not already
- * exist then it should be created.
- *
- * FILE_CREATE If the file already exists the operation should fail.
- * If the file does not already exist then it should be
- * created. (aka CREATE_NEW)
- *
- * FILE_OPEN If the file already exists then it should be opened.
- * If the file does not already exist then the operation
- * should fail. (aka OPEN_EXISTING)
- *
- * FILE_OPEN_IF If the file already exists then it should be opened.
- * If the file does not already exist then it should be
- * created. (aka OPEN_ALWAYS)
- *
- * FILE_OVERWRITE If the file already exists, it should be opened and
- * overwritten. If the file does not already exist then
- * the operation should fail. (aka TRUNCATE_EXISTING)
- *
- * FILE_OVERWRITE_IF If the file already exists, it should be opened and
- * overwritten. If the file does not already exist then
- * it should be created. (aka CREATE_ALWAYS)
- */
-#define FILE_SUPERSEDE 0x00000000
-#define FILE_OPEN 0x00000001
-#define FILE_CREATE 0x00000002
-#define FILE_OPEN_IF 0x00000003
-#define FILE_OVERWRITE 0x00000004
-#define FILE_OVERWRITE_IF 0x00000005
-#define FILE_MAXIMUM_DISPOSITION 0x00000005
-
-/*
- * CREATE_ANDX Impersonation levels
- */
-
-#define SECURITY_ANONYMOUS 0x00000001
-#define SECURITY_IDENTIFICATION 0x00000002
-#define SECURITY_IMPERSONATION 0x00000003
-#define SECURITY_DELEGATION 0x00000004
-
-/*
- * CREATE_ANDX SecurityFlags
- */
-
-#define SECURITY_CONTEXT_TRACKING 0x00000001
-#define SECURITY_EFFECTIVE_ONLY 0x00000002
-
-/*
- * Server types
- */
-#define SV_WORKSTATION 0x00000001 /* All workstations */
-#define SV_SERVER 0x00000002 /* All servers */
-#define SV_SQLSERVER 0x00000004 /* running with SQL server */
-#define SV_DOMAIN_CTRL 0x00000008 /* Primary domain controller */
-#define SV_DOMAIN_BAKCTRL 0x00000010 /* Backup domain controller */
-#define SV_TIME_SOURCE 0x00000020 /* running timesource service */
-#define SV_AFP 0x00000040 /* Apple File Protocol */
-#define SV_NOVELL 0x00000080 /* Novell servers */
-#define SV_DOMAIN_MEMBER 0x00000100 /* Domain Member */
-#define SV_PRINTQ_SERVER 0x00000200 /* Server sharing print queue */
-#define SV_DIALIN_SERVER 0x00000400 /* Server running dialin */
-#define SV_XENIX_SERVER 0x00000800 /* Xenix server */
-#define SV_NT 0x00001000 /* NT server */
-#define SV_WFW 0x00002000 /* Server running Windows for */
-#define SV_SERVER_NT 0x00008000 /* Windows NT non DC server */
-#define SV_POTENTIAL_BROWSER 0x00010000 /* can run browser service */
-#define SV_BACKUP_BROWSER 0x00020000 /* Backup browser server */
-#define SV_MASTER_BROWSER 0x00040000 /* Master browser server */
-#define SV_DOMAIN_MASTER 0x00080000 /* Domain Master Browser */
-#define SV_OSF 0x00100000 /* OSF operating system */
-#define SV_VMS 0x00200000 /* VMS operating system */
-#define SV_WINDOWS_95_PLUS 0x00400000 /* Windows 95 or better */
-
-#define SV_LOCAL_LIST_ONLY 0x40000000 /* Enumerate only "local" */
-#define SV_TYPE_DOMAIN_ENUM 0x80000000 /* Enumerate Domains */
-
-#define MY_SERVER_TYPE (SV_SERVER | SV_NT | SV_SERVER_NT)
-
-
-#define PRQ_ACTIVE 0 /* Active */
-#define PRQ_PAUSE 1 /* Paused */
-#define PRQ_ERROR 2 /* Error Occurred */
-#define PRQ_PENDING 3 /* Deletion pending */
-
-#define PRJ_QS_QUEUED 0 /* Active */
-#define PRJ_QS_PAUSED 1 /* Paused */
-#define PRJ_QS_SPOOLING 2 /* Paused */
-#define PRJ_QS_PRINTING 3 /* Paused */
-
-
-#define SHARE_ACCESS_READ 0x01 /* read & execute from resource */
-#define SHARE_ACCESS_WRITE 0x02 /* write data to resource */
-#define SHARE_ACCESS_CREATE 0x04 /* create an instance of */
-#define SHARE_ACCESS_EXEC 0x08 /* execute from resource */
-#define SHARE_ACCESS_DELETE 0x10 /* Permission to delete the resource */
-#define SHARE_ACCESS_ATTRIB 0x20 /* Permission to modify the resource */
-#define SHARE_ACCESS_PERM 0x40 /* Permission to change permissions */
-#define SHARE_ACCESS_ALL 0x7F /* All of the above permissions */
-
-
-/*
- * SMB_COM_NT_TRANSACTION sub-command codes (CIFS/1.0 section 5.3)
- *
- * SubCommand Code Value Description
- * =============================== ===== =================================
- * NT_TRANSACT_CREATE 1 File open/create
- * NT_TRANSACT_IOCTL 2 Device IOCTL
- * NT_TRANSACT_SET_SECURITY_DESC 3 Set security descriptor
- * NT_TRANSACT_NOTIFY_CHANGE 4 Start directory watch
- * NT_TRANSACT_RENAME 5 Reserved (handle-based rename)
- * NT_TRANSACT_QUERY_SECURITY_DESC 6 Retrieve security descriptor
- * NT_TRANSACT_QUERY_QUOTA 7 Retrieve quota information
- * NT_TRANSACT_SET_QUOTA 8 Set quota information
- */
-#define NT_TRANSACT_MIN_FUNCTION 1
-
-#define NT_TRANSACT_CREATE 1
-#define NT_TRANSACT_IOCTL 2
-#define NT_TRANSACT_SET_SECURITY_DESC 3
-#define NT_TRANSACT_NOTIFY_CHANGE 4
-#define NT_TRANSACT_RENAME 5
-#define NT_TRANSACT_QUERY_SECURITY_DESC 6
-#define NT_TRANSACT_QUERY_QUOTA 7
-#define NT_TRANSACT_SET_QUOTA 8
-
-#define NT_TRANSACT_MAX_FUNCTION 8
-
-
-/*
- * Pipe states
- */
-#define SMB_PIPE_READMODE_BYTE 0x0000
-#define SMB_PIPE_READMODE_MESSAGE 0x0100
-#define SMB_PIPE_TYPE_BYTE 0x0000
-#define SMB_PIPE_TYPE_MESSAGE 0x0400
-#define SMB_PIPE_END_CLIENT 0x0000
-#define SMB_PIPE_END_SERVER 0x4000
-#define SMB_PIPE_WAIT 0x0000
-#define SMB_PIPE_NOWAIT 0x8000
-#define SMB_PIPE_UNLIMITED_INSTANCES 0x00FF
-
-/*
- * smb_com_seek request
- */
-#define SMB_SEEK_SET 0 /* set file offset to specified offset */
-#define SMB_SEEK_CUR 1 /* set file offset to current plus specified offset */
-#define SMB_SEEK_END 2 /* set file offset to EOF plus specified offset */
-
-/*
- * API Numbers for Transact based RAP (Remote Administration Protocol) calls
- */
-#define API_WshareEnum 0
-#define API_WshareGetInfo 1
-#define API_WshareSetInfo 2
-#define API_WshareAdd 3
-#define API_WshareDel 4
-#define API_NetShareCheck 5
-#define API_WsessionEnum 6
-#define API_WsessionGetInfo 7
-#define API_WsessionDel 8
-#define API_WconnectionEnum 9
-#define API_WfileEnum 10
-#define API_WfileGetInfo 11
-#define API_WfileClose 12
-#define API_WserverGetInfo 13
-#define API_WserverSetInfo 14
-#define API_WserverDiskEnum 15
-#define API_WserverAdminCommand 16
-#define API_NetAuditOpen 17
-#define API_WauditClear 18
-#define API_NetErrorLogOpen 19
-#define API_WerrorLogClear 20
-#define API_NetCharDevEnum 21
-#define API_NetCharDevGetInfo 22
-#define API_WCharDevControl 23
-#define API_NetCharDevQEnum 24
-#define API_NetCharDevQGetInfo 25
-#define API_WCharDevQSetInfo 26
-#define API_WCharDevQPurge 27
-#define API_WCharDevQPurgeSelf 28
-#define API_WMessageNameEnum 29
-#define API_WMessageNameGetInfo 30
-#define API_WMessageNameAdd 31
-#define API_WMessageNameDel 32
-#define API_WMessageNameFwd 33
-#define API_WMessageNameUnFwd 34
-#define API_WMessageBufferSend 35
-#define API_WMessageFileSend 36
-#define API_WMessageLogFileSet 37
-#define API_WMessageLogFileGet 38
-#define API_WServiceEnum 39
-#define API_WServiceInstall 40
-#define API_WServiceControl 41
-#define API_WAccessEnum 42
-#define API_WAccessGetInfo 43
-#define API_WAccessSetInfo 44
-#define API_WAccessAdd 45
-#define API_WAccessDel 46
-#define API_WGroupEnum 47
-#define API_WGroupAdd 48
-#define API_WGroupDel 49
-#define API_WGroupAddUser 50
-#define API_WGroupDelUser 51
-#define API_WGroupGetUsers 52
-#define API_WUserEnum 53
-#define API_WUserAdd 54
-#define API_WUserDel 55
-#define API_WUserGetInfo 56
-#define API_WUserSetInfo 57
-#define API_WUserPasswordSet 58
-#define API_WUserGetGroups 59
-#define API_DeadTableEntry 60
-#define API_WWkstaSetUID 62
-#define API_WWkstaGetInfo 63
-#define API_WWkstaSetInfo 64
-#define API_WUseEnum 65
-#define API_WUseAdd 66
-#define API_WUseDel 67
-#define API_WUseGetInfo 68
-#define API_WPrintQEnum 69
-#define API_WPrintQGetInfo 70
-#define API_WPrintQSetInfo 71
-#define API_WPrintQAdd 72
-#define API_WPrintQDel 73
-#define API_WPrintQPause 74
-#define API_WPrintQContinue 75
-#define API_WPrintJobEnum 76
-#define API_WPrintJobGetInfo 77
-#define API_WPrintJobSetInfo_OLD 78
-#define API_WPrintJobDel 81
-#define API_WPrintJobPause 82
-#define API_WPrintJobContinue 83
-#define API_WPrintDestEnum 84
-#define API_WPrintDestGetInfo 85
-#define API_WPrintDestControl 86
-#define API_WProfileSave 87
-#define API_WProfileLoad 88
-#define API_WStatisticsGet 89
-#define API_WStatisticsClear 90
-#define API_NetRemoteTOD 91
-#define API_WNetBiosEnum 92
-#define API_WNetBiosGetInfo 93
-#define API_NetServerEnum 94
-#define API_I_NetServerEnum 95
-#define API_WServiceGetInfo 96
-#define API_WPrintQPurge 103
-#define API_NetServerEnum2 104
-#define API_WAccessGetUserPerms 105
-#define API_WGroupGetInfo 106
-#define API_WGroupSetInfo 107
-#define API_WGroupSetUsers 108
-#define API_WUserSetGroups 109
-#define API_WUserModalsGet 110
-#define API_WUserModalsSet 111
-#define API_WFileEnum2 112
-#define API_WUserAdd2 113
-#define API_WUserSetInfo2 114
-#define API_WUserPasswordSet2 115
-#define API_I_NetServerEnum2 116
-#define API_WConfigGet2 117
-#define API_WConfigGetAll2 118
-#define API_WGetDCName 119
-#define API_NetHandleGetInfo 120
-#define API_NetHandleSetInfo 121
-#define API_WStatisticsGet2 122
-#define API_WBuildGetInfo 123
-#define API_WFileGetInfo2 124
-#define API_WFileClose2 125
-#define API_WNetServerReqChallenge 126
-#define API_WNetServerAuthenticate 127
-#define API_WNetServerPasswordSet 128
-#define API_WNetAccountDeltas 129
-#define API_WNetAccountSync 130
-#define API_WUserEnum2 131
-#define API_WWkstaUserLogon 132
-#define API_WWkstaUserLogoff 133
-#define API_WLogonEnum 134
-#define API_WErrorLogRead 135
-#define API_WI_NetPathType 136
-#define API_WI_NetPathCanonicalize 137
-#define API_WI_NetPathCompare 138
-#define API_WI_NetNameValidate 139
-#define API_WI_NetNameCanonicalize 140
-#define API_WI_NetNameCompare 141
-#define API_WAuditRead 142
-#define API_WPrintDestAdd 143
-#define API_WPrintDestSetInfo 144
-#define API_WPrintDestDel 145
-#define API_WUserValidate2 146
-#define API_WPrintJobSetInfo 147
-#define API_TI_NetServerDiskEnum 148
-#define API_TI_NetServerDiskGetInfo 149
-#define API_TI_FTVerifyMirror 150
-#define API_TI_FTAbortVerify 151
-#define API_TI_FTGetInfo 152
-#define API_TI_FTSetInfo 153
-#define API_TI_FTLockDisk 154
-#define API_TI_FTFixError 155
-#define API_TI_FTAbortFix 156
-#define API_TI_FTDiagnoseError 157
-#define API_TI_FTGetDriveStats 158
-#define API_TI_FTErrorGetInfo 160
-#define API_NetAccessCheck 163
-#define API_NetAlertRaise 164
-#define API_NetAlertStart 165
-#define API_NetAlertStop 166
-#define API_NetAuditWrite 167
-#define API_NetIRemoteAPI 168
-#define API_NetServiceStatus 169
-#define API_I_NetServerRegister 170
-#define API_I_NetServerDeregister 171
-#define API_I_NetSessionEntryMake 172
-#define API_I_NetSessionEntryClear 173
-#define API_I_NetSessionEntryGetInfo 174
-#define API_I_NetSessionEntrySetInfo 175
-#define API_I_NetConnectionEntryMake 176
-#define API_I_NetConnectionEntryClear 177
-#define API_I_NetConnectionEntrySetInfo 178
-#define API_I_NetConnectionEntryGetInfo 179
-#define API_I_NetFileEntryMake 180
-#define API_I_NetFileEntryClear 181
-#define API_I_NetFileEntrySetInfo 182
-#define API_I_NetFileEntryGetInfo 183
-#define API_AltSrvMessageBufferSend 184
-#define API_AltSrvMessageFileSend 185
-#define API_wI_NetRplWkstaEnum 186
-#define API_wI_NetRplWkstaGetInfo 187
-#define API_wI_NetRplWkstaSetInfo 188
-#define API_wI_NetRplWkstaAdd 189
-#define API_wI_NetRplWkstaDel 190
-#define API_wI_NetRplProfileEnum 191
-#define API_wI_NetRplProfileGetInfo 192
-#define API_wI_NetRplProfileSetInfo 193
-#define API_wI_NetRplProfileAdd 194
-#define API_wI_NetRplProfileDel 195
-#define API_wI_NetRplProfileClone 196
-#define API_wI_NetRplBaseProfileEnum 197
-#define API_WIServerSetInfo 201
-#define API_WPrintDriverEnum 205
-#define API_WPrintQProcessorEnum 206
-#define API_WPrintPortEnum 207
-#define API_WNetWriteUpdateLog 208
-#define API_WNetAccountUpdate 209
-#define API_WNetAccountConfirmUpdate 210
-#define API_WConfigSet 211
-#define API_WAccountsReplicate 212
-#define API_SamOEMChgPasswordUser2_P 214
-#define API_NetServerEnum3 215
-#define API_WprintDriverGetInfo 250
-#define API_WprintDriverSetInfo 251
-#define API_WaliasAdd 252
-#define API_WaliasDel 253
-#define API_WaliasGetInfo 254
-#define API_WaliasSetInfo 255
-#define API_WaliasEnum 256
-#define API_WuserGetLogonAsn 257
-#define API_WuserSetLogonAsn 258
-#define API_WuserGetAppSel 259
-#define API_WuserSetAppSel 260
-#define API_WappAdd 261
-#define API_WappDel 262
-#define API_WappGetInfo 263
-#define API_WappSetInfo 264
-#define API_WappEnum 265
-#define API_WUserDCDBInit 266
-#define API_WDASDAdd 267
-#define API_WDASDDel 268
-#define API_WDASDGetInfo 269
-#define API_WDASDSetInfo 270
-#define API_WDASDEnum 271
-#define API_WDASDCheck 272
-#define API_WDASDCtl 273
-#define API_WuserRemoteLogonCheck 274
-#define API_WUserPasswordSet3 275
-#define API_WCreateRIPLMachine 276
-#define API_WDeleteRIPLMachine 277
-#define API_WGetRIPLMachineInfo 278
-#define API_WSetRIPLMachineInfo 279
-#define API_WEnumRIPLMachine 280
-#define API_WI_ShareAdd 281
-#define API_WI_AliasEnum 282
-#define API_WaccessApply 283
-#define API_WPrt16Query 284
-#define API_WPrt16Set 285
-#define API_WUserDel100 286
-#define API_WUserRemoteLogonCheck2 287
-#define API_WRemoteTODSet 294
-#define API_WprintJobMoveAll 295
-#define API_W16AppParmAdd 296
-#define API_W16AppParmDel 297
-#define API_W16AppParmGet 298
-#define API_W16AppParmSet 299
-#define API_W16RIPLMachineCreate 300
-#define API_W16RIPLMachineGetInfo 301
-#define API_W16RIPLMachineSetInfo 302
-#define API_W16RIPLMachineEnum 303
-#define API_W16RIPLMachineListParmEnum 304
-#define API_W16RIPLMachClassGetInfo 305
-#define API_W16RIPLMachClassEnum 306
-#define API_W16RIPLMachClassCreate 307
-#define API_W16RIPLMachClassSetInfo 308
-#define API_W16RIPLMachClassDelete 309
-#define API_W16RIPLMachClassLPEnum 310
-#define API_W16RIPLMachineDelete 311
-#define API_W16WSLevelGetInfo 312
-#define API_WserverNameAdd 313
-#define API_WserverNameDel 314
-#define API_WserverNameEnum 315
-#define API_I_WDASDEnum 316
-#define API_I_WDASDEnumTerminate 317
-#define API_I_WDASDSetInfo2 318
-#define MAX_RAP_API 318
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CIFS_H */
diff --git a/usr/src/uts/common/smbsrv/codepage.h b/usr/src/uts/common/smbsrv/codepage.h
deleted file mode 100644
index baefb9de22..0000000000
--- a/usr/src/uts/common/smbsrv/codepage.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CODEPAGE_H
-#define _SMBSRV_CODEPAGE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <smbsrv/string.h>
-#include <smbsrv/smb_i18n.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Labels to define whether a code page table entry is an uppercase
- * character, a lowercase character or neither. One of these values
- * should appear in the ctype field of the code page tables.
- */
-#define CODEPAGE_ISNONE 0x00
-#define CODEPAGE_ISUPPER 0x01
-#define CODEPAGE_ISLOWER 0x02
-
-/*
- * The structure of a code page entry. Each code page table will
- * consist of an array of 256 codepage entries.
- *
- * ctype indicates case of the value.
- * upper indicates the uppercase equivalent value.
- * lower indicates the lowercase equivalent value.
- */
-typedef struct codepage {
- unsigned char ctype;
- mts_wchar_t upper;
- mts_wchar_t lower;
-} codepage_t;
-
-/*
- * Global pointer to the current code page. This is
- * defaulted to a standard ASCII table.
- */
-extern codepage_t usascii_codepage[];
-
-/*
- * This buffer is used to store the language string for display.
- */
-#define CODEPAGE_BUFSIZ 48
-
-extern int oem_language_set(char *language);
-extern unsigned int oem_get_smb_cpid(void);
-extern unsigned int oem_get_telnet_cpid(void);
-
-extern int codepage_isupper(int c);
-extern int codepage_islower(int c);
-extern int codepage_toupper(int c);
-extern int codepage_tolower(int c);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CODEPAGE_H */
diff --git a/usr/src/uts/common/smbsrv/cp_cyrillic.h b/usr/src/uts/common/smbsrv/cp_cyrillic.h
deleted file mode 100644
index d3b2a27596..0000000000
--- a/usr/src/uts/common/smbsrv/cp_cyrillic.h
+++ /dev/null
@@ -1,312 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CP_CYRILLIC_H
-#define _SMBSRV_CP_CYRILLIC_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * This file specifies a codepage mapping for a given character set as
- * specified below:
- *
- * This is the codepage for Cyrillic Character Set
- * This codepage defines values for the special
- * characters needed for the written alphabets of the
- * following languages: Bulgarian, Byelorussian,
- * Macedonian, Russian, Serbian, and pre-1990 Ukrainian
- * The cyrillic character set is also known as iso-8859-5
- */
-
-#include <smbsrv/codepage.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-codepage_t cyrillic_codepage[256] = {
- { CODEPAGE_ISNONE, 0x0000, 0x0000 }, /* 0x0000 */
- { CODEPAGE_ISNONE, 0x0001, 0x0001 }, /* 0x0001 */
- { CODEPAGE_ISNONE, 0x0002, 0x0002 }, /* 0x0002 */
- { CODEPAGE_ISNONE, 0x0003, 0x0003 }, /* 0x0003 */
- { CODEPAGE_ISNONE, 0x0004, 0x0004 }, /* 0x0004 */
- { CODEPAGE_ISNONE, 0x0005, 0x0005 }, /* 0x0005 */
- { CODEPAGE_ISNONE, 0x0006, 0x0006 }, /* 0x0006 */
- { CODEPAGE_ISNONE, 0x0007, 0x0007 }, /* 0x0007 */
- { CODEPAGE_ISNONE, 0x0008, 0x0008 }, /* 0x0008 */
- { CODEPAGE_ISNONE, 0x0009, 0x0009 }, /* 0x0009 */
- { CODEPAGE_ISNONE, 0x000a, 0x000a }, /* 0x000a */
- { CODEPAGE_ISNONE, 0x000b, 0x000b }, /* 0x000b */
- { CODEPAGE_ISNONE, 0x000c, 0x000c }, /* 0x000c */
- { CODEPAGE_ISNONE, 0x000d, 0x000d }, /* 0x000d */
- { CODEPAGE_ISNONE, 0x000e, 0x000e }, /* 0x000e */
- { CODEPAGE_ISNONE, 0x000f, 0x000f }, /* 0x000f */
- { CODEPAGE_ISNONE, 0x0010, 0x0010 }, /* 0x0010 */
- { CODEPAGE_ISNONE, 0x0011, 0x0011 }, /* 0x0011 */
- { CODEPAGE_ISNONE, 0x0012, 0x0012 }, /* 0x0012 */
- { CODEPAGE_ISNONE, 0x0013, 0x0013 }, /* 0x0013 */
- { CODEPAGE_ISNONE, 0x0014, 0x0014 }, /* 0x0014 */
- { CODEPAGE_ISNONE, 0x0015, 0x0015 }, /* 0x0015 */
- { CODEPAGE_ISNONE, 0x0016, 0x0016 }, /* 0x0016 */
- { CODEPAGE_ISNONE, 0x0017, 0x0017 }, /* 0x0017 */
- { CODEPAGE_ISNONE, 0x0018, 0x0018 }, /* 0x0018 */
- { CODEPAGE_ISNONE, 0x0019, 0x0019 }, /* 0x0019 */
- { CODEPAGE_ISNONE, 0x001a, 0x001a }, /* 0x001a */
- { CODEPAGE_ISNONE, 0x001b, 0x001b }, /* 0x001b */
- { CODEPAGE_ISNONE, 0x001c, 0x001c }, /* 0x001c */
- { CODEPAGE_ISNONE, 0x001d, 0x001d }, /* 0x001d */
- { CODEPAGE_ISNONE, 0x001e, 0x001e }, /* 0x001e */
- { CODEPAGE_ISNONE, 0x001f, 0x001f }, /* 0x001f */
- { CODEPAGE_ISNONE, 0x0020, 0x0020 }, /* 0x0020 */
- { CODEPAGE_ISNONE, 0x0021, 0x0021 }, /* 0x0021 */
- { CODEPAGE_ISNONE, 0x0022, 0x0022 }, /* 0x0022 */
- { CODEPAGE_ISNONE, 0x0023, 0x0023 }, /* 0x0023 */
- { CODEPAGE_ISNONE, 0x0024, 0x0024 }, /* 0x0024 */
- { CODEPAGE_ISNONE, 0x0025, 0x0025 }, /* 0x0025 */
- { CODEPAGE_ISNONE, 0x0026, 0x0026 }, /* 0x0026 */
- { CODEPAGE_ISNONE, 0x0027, 0x0027 }, /* 0x0027 */
- { CODEPAGE_ISNONE, 0x0028, 0x0028 }, /* 0x0028 */
- { CODEPAGE_ISNONE, 0x0029, 0x0029 }, /* 0x0029 */
- { CODEPAGE_ISNONE, 0x002a, 0x002a }, /* 0x002a */
- { CODEPAGE_ISNONE, 0x002b, 0x002b }, /* 0x002b */
- { CODEPAGE_ISNONE, 0x002c, 0x002c }, /* 0x002c */
- { CODEPAGE_ISNONE, 0x002d, 0x002d }, /* 0x002d */
- { CODEPAGE_ISNONE, 0x002e, 0x002e }, /* 0x002e */
- { CODEPAGE_ISNONE, 0x002f, 0x002f }, /* 0x002f */
- { CODEPAGE_ISNONE, 0x0030, 0x0030 }, /* 0x0030 */
- { CODEPAGE_ISNONE, 0x0031, 0x0031 }, /* 0x0031 */
- { CODEPAGE_ISNONE, 0x0032, 0x0032 }, /* 0x0032 */
- { CODEPAGE_ISNONE, 0x0033, 0x0033 }, /* 0x0033 */
- { CODEPAGE_ISNONE, 0x0034, 0x0034 }, /* 0x0034 */
- { CODEPAGE_ISNONE, 0x0035, 0x0035 }, /* 0x0035 */
- { CODEPAGE_ISNONE, 0x0036, 0x0036 }, /* 0x0036 */
- { CODEPAGE_ISNONE, 0x0037, 0x0037 }, /* 0x0037 */
- { CODEPAGE_ISNONE, 0x0038, 0x0038 }, /* 0x0038 */
- { CODEPAGE_ISNONE, 0x0039, 0x0039 }, /* 0x0039 */
- { CODEPAGE_ISNONE, 0x003a, 0x003a }, /* 0x003a */
- { CODEPAGE_ISNONE, 0x003b, 0x003b }, /* 0x003b */
- { CODEPAGE_ISNONE, 0x003c, 0x003c }, /* 0x003c */
- { CODEPAGE_ISNONE, 0x003d, 0x003d }, /* 0x003d */
- { CODEPAGE_ISNONE, 0x003e, 0x003e }, /* 0x003e */
- { CODEPAGE_ISNONE, 0x003f, 0x003f }, /* 0x003f */
- { CODEPAGE_ISNONE, 0x0040, 0x0040 }, /* 0x0040 */
- { CODEPAGE_ISUPPER, 0x0041, 0x0061 }, /* 0x0041 */
- { CODEPAGE_ISUPPER, 0x0042, 0x0062 }, /* 0x0042 */
- { CODEPAGE_ISUPPER, 0x0043, 0x0063 }, /* 0x0043 */
- { CODEPAGE_ISUPPER, 0x0044, 0x0064 }, /* 0x0044 */
- { CODEPAGE_ISUPPER, 0x0045, 0x0065 }, /* 0x0045 */
- { CODEPAGE_ISUPPER, 0x0046, 0x0066 }, /* 0x0046 */
- { CODEPAGE_ISUPPER, 0x0047, 0x0067 }, /* 0x0047 */
- { CODEPAGE_ISUPPER, 0x0048, 0x0068 }, /* 0x0048 */
- { CODEPAGE_ISUPPER, 0x0049, 0x0069 }, /* 0x0049 */
- { CODEPAGE_ISUPPER, 0x004a, 0x006a }, /* 0x004a */
- { CODEPAGE_ISUPPER, 0x004b, 0x006b }, /* 0x004b */
- { CODEPAGE_ISUPPER, 0x004c, 0x006c }, /* 0x004c */
- { CODEPAGE_ISUPPER, 0x004d, 0x006d }, /* 0x004d */
- { CODEPAGE_ISUPPER, 0x004e, 0x006e }, /* 0x004e */
- { CODEPAGE_ISUPPER, 0x004f, 0x006f }, /* 0x004f */
- { CODEPAGE_ISUPPER, 0x0050, 0x0070 }, /* 0x0050 */
- { CODEPAGE_ISUPPER, 0x0051, 0x0071 }, /* 0x0051 */
- { CODEPAGE_ISUPPER, 0x0052, 0x0072 }, /* 0x0052 */
- { CODEPAGE_ISUPPER, 0x0053, 0x0073 }, /* 0x0053 */
- { CODEPAGE_ISUPPER, 0x0054, 0x0074 }, /* 0x0054 */
- { CODEPAGE_ISUPPER, 0x0055, 0x0075 }, /* 0x0055 */
- { CODEPAGE_ISUPPER, 0x0056, 0x0076 }, /* 0x0056 */
- { CODEPAGE_ISUPPER, 0x0057, 0x0077 }, /* 0x0057 */
- { CODEPAGE_ISUPPER, 0x0058, 0x0078 }, /* 0x0058 */
- { CODEPAGE_ISUPPER, 0x0059, 0x0079 }, /* 0x0059 */
- { CODEPAGE_ISUPPER, 0x005a, 0x007a }, /* 0x005a */
- { CODEPAGE_ISNONE, 0x005b, 0x005b }, /* 0x005b */
- { CODEPAGE_ISNONE, 0x005c, 0x005c }, /* 0x005c */
- { CODEPAGE_ISNONE, 0x005d, 0x005d }, /* 0x005d */
- { CODEPAGE_ISNONE, 0x005e, 0x005e }, /* 0x005e */
- { CODEPAGE_ISNONE, 0x005f, 0x005f }, /* 0x005f */
- { CODEPAGE_ISNONE, 0x0060, 0x0060 }, /* 0x0060 */
- { CODEPAGE_ISLOWER, 0x0041, 0x0061 }, /* 0x0061 */
- { CODEPAGE_ISLOWER, 0x0042, 0x0062 }, /* 0x0062 */
- { CODEPAGE_ISLOWER, 0x0043, 0x0063 }, /* 0x0063 */
- { CODEPAGE_ISLOWER, 0x0044, 0x0064 }, /* 0x0064 */
- { CODEPAGE_ISLOWER, 0x0045, 0x0065 }, /* 0x0065 */
- { CODEPAGE_ISLOWER, 0x0046, 0x0066 }, /* 0x0066 */
- { CODEPAGE_ISLOWER, 0x0047, 0x0067 }, /* 0x0067 */
- { CODEPAGE_ISLOWER, 0x0048, 0x0068 }, /* 0x0068 */
- { CODEPAGE_ISLOWER, 0x0049, 0x0069 }, /* 0x0069 */
- { CODEPAGE_ISLOWER, 0x004a, 0x006a }, /* 0x006a */
- { CODEPAGE_ISLOWER, 0x004b, 0x006b }, /* 0x006b */
- { CODEPAGE_ISLOWER, 0x004c, 0x006c }, /* 0x006c */
- { CODEPAGE_ISLOWER, 0x004d, 0x006d }, /* 0x006d */
- { CODEPAGE_ISLOWER, 0x004e, 0x006e }, /* 0x006e */
- { CODEPAGE_ISLOWER, 0x004f, 0x006f }, /* 0x006f */
- { CODEPAGE_ISLOWER, 0x0050, 0x0070 }, /* 0x0070 */
- { CODEPAGE_ISLOWER, 0x0051, 0x0071 }, /* 0x0071 */
- { CODEPAGE_ISLOWER, 0x0052, 0x0072 }, /* 0x0072 */
- { CODEPAGE_ISLOWER, 0x0053, 0x0073 }, /* 0x0073 */
- { CODEPAGE_ISLOWER, 0x0054, 0x0074 }, /* 0x0074 */
- { CODEPAGE_ISLOWER, 0x0055, 0x0075 }, /* 0x0075 */
- { CODEPAGE_ISLOWER, 0x0056, 0x0076 }, /* 0x0076 */
- { CODEPAGE_ISLOWER, 0x0057, 0x0077 }, /* 0x0077 */
- { CODEPAGE_ISLOWER, 0x0058, 0x0078 }, /* 0x0078 */
- { CODEPAGE_ISLOWER, 0x0059, 0x0079 }, /* 0x0079 */
- { CODEPAGE_ISLOWER, 0x005a, 0x007a }, /* 0x007a */
- { CODEPAGE_ISNONE, 0x007b, 0x007b }, /* 0x007b */
- { CODEPAGE_ISNONE, 0x007c, 0x007c }, /* 0x007c */
- { CODEPAGE_ISNONE, 0x007d, 0x007d }, /* 0x007d */
- { CODEPAGE_ISNONE, 0x007e, 0x007e }, /* 0x007e */
- { CODEPAGE_ISNONE, 0x007f, 0x007f }, /* 0x007f */
- { CODEPAGE_ISNONE, 0x0080, 0x0080 }, /* 0x0080 */
- { CODEPAGE_ISNONE, 0x0081, 0x0081 }, /* 0x0081 */
- { CODEPAGE_ISNONE, 0x0082, 0x0082 }, /* 0x0082 */
- { CODEPAGE_ISNONE, 0x0083, 0x0083 }, /* 0x0083 */
- { CODEPAGE_ISNONE, 0x0084, 0x0084 }, /* 0x0084 */
- { CODEPAGE_ISNONE, 0x0085, 0x0085 }, /* 0x0085 */
- { CODEPAGE_ISNONE, 0x0086, 0x0086 }, /* 0x0086 */
- { CODEPAGE_ISNONE, 0x0087, 0x0087 }, /* 0x0087 */
- { CODEPAGE_ISNONE, 0x0088, 0x0088 }, /* 0x0088 */
- { CODEPAGE_ISNONE, 0x0089, 0x0089 }, /* 0x0089 */
- { CODEPAGE_ISNONE, 0x008a, 0x008a }, /* 0x008a */
- { CODEPAGE_ISNONE, 0x008b, 0x008b }, /* 0x008b */
- { CODEPAGE_ISNONE, 0x008c, 0x008c }, /* 0x008c */
- { CODEPAGE_ISNONE, 0x008d, 0x008d }, /* 0x008d */
- { CODEPAGE_ISNONE, 0x008e, 0x008e }, /* 0x008e */
- { CODEPAGE_ISNONE, 0x008f, 0x008f }, /* 0x008f */
- { CODEPAGE_ISNONE, 0x0090, 0x0090 }, /* 0x0090 */
- { CODEPAGE_ISNONE, 0x0091, 0x0091 }, /* 0x0091 */
- { CODEPAGE_ISNONE, 0x0092, 0x0092 }, /* 0x0092 */
- { CODEPAGE_ISNONE, 0x0093, 0x0093 }, /* 0x0093 */
- { CODEPAGE_ISNONE, 0x0094, 0x0094 }, /* 0x0094 */
- { CODEPAGE_ISNONE, 0x0095, 0x0095 }, /* 0x0095 */
- { CODEPAGE_ISNONE, 0x0096, 0x0096 }, /* 0x0096 */
- { CODEPAGE_ISNONE, 0x0097, 0x0097 }, /* 0x0097 */
- { CODEPAGE_ISNONE, 0x0098, 0x0098 }, /* 0x0098 */
- { CODEPAGE_ISNONE, 0x0099, 0x0099 }, /* 0x0099 */
- { CODEPAGE_ISNONE, 0x009a, 0x009a }, /* 0x009a */
- { CODEPAGE_ISNONE, 0x009b, 0x009b }, /* 0x009b */
- { CODEPAGE_ISNONE, 0x009c, 0x009c }, /* 0x009c */
- { CODEPAGE_ISNONE, 0x009d, 0x009d }, /* 0x009d */
- { CODEPAGE_ISNONE, 0x009e, 0x009e }, /* 0x009e */
- { CODEPAGE_ISNONE, 0x009f, 0x009f }, /* 0x009f */
- { CODEPAGE_ISNONE, 0x00a0, 0x00a0 }, /* 0x00a0 */
- { CODEPAGE_ISUPPER, 0x00a1, 0x00f1 }, /* 0x00a1 */
- { CODEPAGE_ISUPPER, 0x00a2, 0x00f2 }, /* 0x00a2 */
- { CODEPAGE_ISUPPER, 0x00a3, 0x00f3 }, /* 0x00a3 */
- { CODEPAGE_ISUPPER, 0x00a4, 0x00f4 }, /* 0x00a4 */
- { CODEPAGE_ISUPPER, 0x00a5, 0x00f5 }, /* 0x00a5 */
- { CODEPAGE_ISUPPER, 0x00a6, 0x00f6 }, /* 0x00a6 */
- { CODEPAGE_ISUPPER, 0x00a7, 0x00f7 }, /* 0x00a7 */
- { CODEPAGE_ISUPPER, 0x00a8, 0x00f8 }, /* 0x00a8 */
- { CODEPAGE_ISUPPER, 0x00a9, 0x00f9 }, /* 0x00a9 */
- { CODEPAGE_ISUPPER, 0x00aa, 0x00fa }, /* 0x00aa */
- { CODEPAGE_ISUPPER, 0x00ab, 0x00fb }, /* 0x00ab */
- { CODEPAGE_ISUPPER, 0x00ac, 0x00fc }, /* 0x00ac */
- { CODEPAGE_ISUPPER, 0x00ad, 0x00fd }, /* 0x00ad */
- { CODEPAGE_ISUPPER, 0x00ae, 0x00fe }, /* 0x00ae */
- { CODEPAGE_ISUPPER, 0x00af, 0x00ff }, /* 0x00af */
- { CODEPAGE_ISNONE, 0x00b0, 0x00b0 }, /* 0x00b0 */
- { CODEPAGE_ISNONE, 0x00b1, 0x00b1 }, /* 0x00b1 */
- { CODEPAGE_ISNONE, 0x00b2, 0x00b2 }, /* 0x00b2 */
- { CODEPAGE_ISNONE, 0x00b3, 0x00b3 }, /* 0x00b3 */
- { CODEPAGE_ISNONE, 0x00b4, 0x00b4 }, /* 0x00b4 */
- { CODEPAGE_ISNONE, 0x00b5, 0x00b5 }, /* 0x00b5 */
- { CODEPAGE_ISNONE, 0x00b6, 0x00b6 }, /* 0x00b6 */
- { CODEPAGE_ISNONE, 0x00b7, 0x00b7 }, /* 0x00b7 */
- { CODEPAGE_ISNONE, 0x00b8, 0x00b8 }, /* 0x00b8 */
- { CODEPAGE_ISNONE, 0x00b9, 0x00b9 }, /* 0x00b9 */
- { CODEPAGE_ISNONE, 0x00ba, 0x00ba }, /* 0x00ba */
- { CODEPAGE_ISNONE, 0x00bb, 0x00bb }, /* 0x00bb */
- { CODEPAGE_ISNONE, 0x00bc, 0x00bc }, /* 0x00bc */
- { CODEPAGE_ISNONE, 0x00bd, 0x00bd }, /* 0x00bd */
- { CODEPAGE_ISNONE, 0x00be, 0x00be }, /* 0x00be */
- { CODEPAGE_ISNONE, 0x00bf, 0x00bf }, /* 0x00bf */
- { CODEPAGE_ISUPPER, 0x00c0, 0x00e0 }, /* 0x00c0 */
- { CODEPAGE_ISUPPER, 0x00c1, 0x00e1 }, /* 0x00c1 */
- { CODEPAGE_ISUPPER, 0x00c2, 0x00e2 }, /* 0x00c2 */
- { CODEPAGE_ISUPPER, 0x00c3, 0x00e3 }, /* 0x00c3 */
- { CODEPAGE_ISUPPER, 0x00c4, 0x00e4 }, /* 0x00c4 */
- { CODEPAGE_ISUPPER, 0x00c5, 0x00e5 }, /* 0x00c5 */
- { CODEPAGE_ISUPPER, 0x00c6, 0x00e6 }, /* 0x00c6 */
- { CODEPAGE_ISUPPER, 0x00c7, 0x00e7 }, /* 0x00c7 */
- { CODEPAGE_ISUPPER, 0x00c8, 0x00e8 }, /* 0x00c8 */
- { CODEPAGE_ISUPPER, 0x00c9, 0x00e9 }, /* 0x00c9 */
- { CODEPAGE_ISUPPER, 0x00ca, 0x00ea }, /* 0x00ca */
- { CODEPAGE_ISUPPER, 0x00cb, 0x00eb }, /* 0x00cb */
- { CODEPAGE_ISUPPER, 0x00cc, 0x00ec }, /* 0x00cc */
- { CODEPAGE_ISUPPER, 0x00cd, 0x00ed }, /* 0x00cd */
- { CODEPAGE_ISUPPER, 0x00ce, 0x00ee }, /* 0x00ce */
- { CODEPAGE_ISUPPER, 0x00cf, 0x00ef }, /* 0x00cf */
- { CODEPAGE_ISNONE, 0x00d0, 0x00d0 }, /* 0x00d0 */
- { CODEPAGE_ISNONE, 0x00d1, 0x00d1 }, /* 0x00d1 */
- { CODEPAGE_ISNONE, 0x00d2, 0x00d2 }, /* 0x00d2 */
- { CODEPAGE_ISNONE, 0x00d3, 0x00d3 }, /* 0x00d3 */
- { CODEPAGE_ISNONE, 0x00d4, 0x00d4 }, /* 0x00d4 */
- { CODEPAGE_ISNONE, 0x00d5, 0x00d5 }, /* 0x00d5 */
- { CODEPAGE_ISNONE, 0x00d6, 0x00d6 }, /* 0x00d6 */
- { CODEPAGE_ISNONE, 0x00d7, 0x00d7 }, /* 0x00d7 */
- { CODEPAGE_ISNONE, 0x00d8, 0x00d8 }, /* 0x00d8 */
- { CODEPAGE_ISNONE, 0x00d9, 0x00d9 }, /* 0x00d9 */
- { CODEPAGE_ISNONE, 0x00da, 0x00da }, /* 0x00da */
- { CODEPAGE_ISNONE, 0x00db, 0x00db }, /* 0x00db */
- { CODEPAGE_ISNONE, 0x00dc, 0x00dc }, /* 0x00dc */
- { CODEPAGE_ISNONE, 0x00dd, 0x00dd }, /* 0x00dd */
- { CODEPAGE_ISNONE, 0x00de, 0x00de }, /* 0x00de */
- { CODEPAGE_ISNONE, 0x00df, 0x00df }, /* 0x00df */
- { CODEPAGE_ISLOWER, 0x00c0, 0x00e0 }, /* 0x00e0 */
- { CODEPAGE_ISLOWER, 0x00c1, 0x00e1 }, /* 0x00e1 */
- { CODEPAGE_ISLOWER, 0x00c2, 0x00e2 }, /* 0x00e2 */
- { CODEPAGE_ISLOWER, 0x00c3, 0x00e3 }, /* 0x00e3 */
- { CODEPAGE_ISLOWER, 0x00c4, 0x00e4 }, /* 0x00e4 */
- { CODEPAGE_ISLOWER, 0x00c5, 0x00e5 }, /* 0x00e5 */
- { CODEPAGE_ISLOWER, 0x00c6, 0x00e6 }, /* 0x00e6 */
- { CODEPAGE_ISLOWER, 0x00c7, 0x00e7 }, /* 0x00e7 */
- { CODEPAGE_ISLOWER, 0x00c8, 0x00e8 }, /* 0x00e8 */
- { CODEPAGE_ISLOWER, 0x00c9, 0x00e9 }, /* 0x00e9 */
- { CODEPAGE_ISLOWER, 0x00ca, 0x00ea }, /* 0x00ea */
- { CODEPAGE_ISLOWER, 0x00cb, 0x00eb }, /* 0x00eb */
- { CODEPAGE_ISLOWER, 0x00cc, 0x00ec }, /* 0x00ec */
- { CODEPAGE_ISLOWER, 0x00cd, 0x00ed }, /* 0x00ed */
- { CODEPAGE_ISLOWER, 0x00ce, 0x00ee }, /* 0x00ee */
- { CODEPAGE_ISLOWER, 0x00cf, 0x00ef }, /* 0x00ef */
- { CODEPAGE_ISNONE, 0x00f0, 0x00f0 }, /* 0x00f0 */
- { CODEPAGE_ISLOWER, 0x00a1, 0x00f1 }, /* 0x00f1 */
- { CODEPAGE_ISLOWER, 0x00a2, 0x00f2 }, /* 0x00f2 */
- { CODEPAGE_ISLOWER, 0x00a3, 0x00f3 }, /* 0x00f3 */
- { CODEPAGE_ISLOWER, 0x00a4, 0x00f4 }, /* 0x00f4 */
- { CODEPAGE_ISLOWER, 0x00a5, 0x00f5 }, /* 0x00f5 */
- { CODEPAGE_ISLOWER, 0x00a6, 0x00f6 }, /* 0x00f6 */
- { CODEPAGE_ISLOWER, 0x00a7, 0x00f7 }, /* 0x00f7 */
- { CODEPAGE_ISLOWER, 0x00a8, 0x00f8 }, /* 0x00f8 */
- { CODEPAGE_ISLOWER, 0x00a9, 0x00f9 }, /* 0x00f9 */
- { CODEPAGE_ISLOWER, 0x00aa, 0x00fa }, /* 0x00fa */
- { CODEPAGE_ISLOWER, 0x00ab, 0x00fb }, /* 0x00fb */
- { CODEPAGE_ISLOWER, 0x00ac, 0x00fc }, /* 0x00fc */
- { CODEPAGE_ISLOWER, 0x00ad, 0x00fd }, /* 0x00fd */
- { CODEPAGE_ISLOWER, 0x00ae, 0x00fe }, /* 0x00fe */
- { CODEPAGE_ISLOWER, 0x00af, 0x00ff } /* 0x00ff */
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CP_CYRILLIC_H */
diff --git a/usr/src/uts/common/smbsrv/cp_latin1.h b/usr/src/uts/common/smbsrv/cp_latin1.h
deleted file mode 100644
index 728b28e05b..0000000000
--- a/usr/src/uts/common/smbsrv/cp_latin1.h
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CP_LATIN1_H
-#define _SMBSRV_CP_LATIN1_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * This file specifies a codepage mapping for a given character set as
- * specified below:
- *
- * This is the codepage for the Latin-1 Character Set
- * (Western Europe). This codepage defines values for
- * the special characters needed for the written alphabets
- * of the following Languages: French, Spanish, Catalan,
- * Basque, Portuguese, Italian, Albanian, Rhaeto-Romanic,
- * Dutch, German, Danish, Swedish, Norwegian, Finnish,
- * Faroese, Icelandic, Irish, Scottish, English, Afrikaans
- * and Swahili.
- * This codepage is also used in North & South America,
- * Canada, Australia, and much of Africa
- * The Latin-1 character set is also Known as iso-8859-1.
- */
-
-#include <smbsrv/codepage.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-codepage_t Latin1_codepage[256] = {
- { CODEPAGE_ISNONE, 0x0000, 0x0000 }, /* 0x0000 */
- { CODEPAGE_ISNONE, 0x0001, 0x0001 }, /* 0x0001 */
- { CODEPAGE_ISNONE, 0x0002, 0x0002 }, /* 0x0002 */
- { CODEPAGE_ISNONE, 0x0003, 0x0003 }, /* 0x0003 */
- { CODEPAGE_ISNONE, 0x0004, 0x0004 }, /* 0x0004 */
- { CODEPAGE_ISNONE, 0x0005, 0x0005 }, /* 0x0005 */
- { CODEPAGE_ISNONE, 0x0006, 0x0006 }, /* 0x0006 */
- { CODEPAGE_ISNONE, 0x0007, 0x0007 }, /* 0x0007 */
- { CODEPAGE_ISNONE, 0x0008, 0x0008 }, /* 0x0008 */
- { CODEPAGE_ISNONE, 0x0009, 0x0009 }, /* 0x0009 */
- { CODEPAGE_ISNONE, 0x000a, 0x000a }, /* 0x000a */
- { CODEPAGE_ISNONE, 0x000b, 0x000b }, /* 0x000b */
- { CODEPAGE_ISNONE, 0x000c, 0x000c }, /* 0x000c */
- { CODEPAGE_ISNONE, 0x000d, 0x000d }, /* 0x000d */
- { CODEPAGE_ISNONE, 0x000e, 0x000e }, /* 0x000e */
- { CODEPAGE_ISNONE, 0x000f, 0x000f }, /* 0x000f */
- { CODEPAGE_ISNONE, 0x0010, 0x0010 }, /* 0x0010 */
- { CODEPAGE_ISNONE, 0x0011, 0x0011 }, /* 0x0011 */
- { CODEPAGE_ISNONE, 0x0012, 0x0012 }, /* 0x0012 */
- { CODEPAGE_ISNONE, 0x0013, 0x0013 }, /* 0x0013 */
- { CODEPAGE_ISNONE, 0x0014, 0x0014 }, /* 0x0014 */
- { CODEPAGE_ISNONE, 0x0015, 0x0015 }, /* 0x0015 */
- { CODEPAGE_ISNONE, 0x0016, 0x0016 }, /* 0x0016 */
- { CODEPAGE_ISNONE, 0x0017, 0x0017 }, /* 0x0017 */
- { CODEPAGE_ISNONE, 0x0018, 0x0018 }, /* 0x0018 */
- { CODEPAGE_ISNONE, 0x0019, 0x0019 }, /* 0x0019 */
- { CODEPAGE_ISNONE, 0x001a, 0x001a }, /* 0x001a */
- { CODEPAGE_ISNONE, 0x001b, 0x001b }, /* 0x001b */
- { CODEPAGE_ISNONE, 0x001c, 0x001c }, /* 0x001c */
- { CODEPAGE_ISNONE, 0x001d, 0x001d }, /* 0x001d */
- { CODEPAGE_ISNONE, 0x001e, 0x001e }, /* 0x001e */
- { CODEPAGE_ISNONE, 0x001f, 0x001f }, /* 0x001f */
- { CODEPAGE_ISNONE, 0x0020, 0x0020 }, /* 0x0020 */
- { CODEPAGE_ISNONE, 0x0021, 0x0021 }, /* 0x0021 */
- { CODEPAGE_ISNONE, 0x0022, 0x0022 }, /* 0x0022 */
- { CODEPAGE_ISNONE, 0x0023, 0x0023 }, /* 0x0023 */
- { CODEPAGE_ISNONE, 0x0024, 0x0024 }, /* 0x0024 */
- { CODEPAGE_ISNONE, 0x0025, 0x0025 }, /* 0x0025 */
- { CODEPAGE_ISNONE, 0x0026, 0x0026 }, /* 0x0026 */
- { CODEPAGE_ISNONE, 0x0027, 0x0027 }, /* 0x0027 */
- { CODEPAGE_ISNONE, 0x0028, 0x0028 }, /* 0x0028 */
- { CODEPAGE_ISNONE, 0x0029, 0x0029 }, /* 0x0029 */
- { CODEPAGE_ISNONE, 0x002a, 0x002a }, /* 0x002a */
- { CODEPAGE_ISNONE, 0x002b, 0x002b }, /* 0x002b */
- { CODEPAGE_ISNONE, 0x002c, 0x002c }, /* 0x002c */
- { CODEPAGE_ISNONE, 0x002d, 0x002d }, /* 0x002d */
- { CODEPAGE_ISNONE, 0x002e, 0x002e }, /* 0x002e */
- { CODEPAGE_ISNONE, 0x002f, 0x002f }, /* 0x002f */
- { CODEPAGE_ISNONE, 0x0030, 0x0030 }, /* 0x0030 */
- { CODEPAGE_ISNONE, 0x0031, 0x0031 }, /* 0x0031 */
- { CODEPAGE_ISNONE, 0x0032, 0x0032 }, /* 0x0032 */
- { CODEPAGE_ISNONE, 0x0033, 0x0033 }, /* 0x0033 */
- { CODEPAGE_ISNONE, 0x0034, 0x0034 }, /* 0x0034 */
- { CODEPAGE_ISNONE, 0x0035, 0x0035 }, /* 0x0035 */
- { CODEPAGE_ISNONE, 0x0036, 0x0036 }, /* 0x0036 */
- { CODEPAGE_ISNONE, 0x0037, 0x0037 }, /* 0x0037 */
- { CODEPAGE_ISNONE, 0x0038, 0x0038 }, /* 0x0038 */
- { CODEPAGE_ISNONE, 0x0039, 0x0039 }, /* 0x0039 */
- { CODEPAGE_ISNONE, 0x003a, 0x003a }, /* 0x003a */
- { CODEPAGE_ISNONE, 0x003b, 0x003b }, /* 0x003b */
- { CODEPAGE_ISNONE, 0x003c, 0x003c }, /* 0x003c */
- { CODEPAGE_ISNONE, 0x003d, 0x003d }, /* 0x003d */
- { CODEPAGE_ISNONE, 0x003e, 0x003e }, /* 0x003e */
- { CODEPAGE_ISNONE, 0x003f, 0x003f }, /* 0x003f */
- { CODEPAGE_ISNONE, 0x0040, 0x0040 }, /* 0x0040 */
- { CODEPAGE_ISUPPER, 0x0041, 0x0061 }, /* 0x0041 */
- { CODEPAGE_ISUPPER, 0x0042, 0x0062 }, /* 0x0042 */
- { CODEPAGE_ISUPPER, 0x0043, 0x0063 }, /* 0x0043 */
- { CODEPAGE_ISUPPER, 0x0044, 0x0064 }, /* 0x0044 */
- { CODEPAGE_ISUPPER, 0x0045, 0x0065 }, /* 0x0045 */
- { CODEPAGE_ISUPPER, 0x0046, 0x0066 }, /* 0x0046 */
- { CODEPAGE_ISUPPER, 0x0047, 0x0067 }, /* 0x0047 */
- { CODEPAGE_ISUPPER, 0x0048, 0x0068 }, /* 0x0048 */
- { CODEPAGE_ISUPPER, 0x0049, 0x0069 }, /* 0x0049 */
- { CODEPAGE_ISUPPER, 0x004a, 0x006a }, /* 0x004a */
- { CODEPAGE_ISUPPER, 0x004b, 0x006b }, /* 0x004b */
- { CODEPAGE_ISUPPER, 0x004c, 0x006c }, /* 0x004c */
- { CODEPAGE_ISUPPER, 0x004d, 0x006d }, /* 0x004d */
- { CODEPAGE_ISUPPER, 0x004e, 0x006e }, /* 0x004e */
- { CODEPAGE_ISUPPER, 0x004f, 0x006f }, /* 0x004f */
- { CODEPAGE_ISUPPER, 0x0050, 0x0070 }, /* 0x0050 */
- { CODEPAGE_ISUPPER, 0x0051, 0x0071 }, /* 0x0051 */
- { CODEPAGE_ISUPPER, 0x0052, 0x0072 }, /* 0x0052 */
- { CODEPAGE_ISUPPER, 0x0053, 0x0073 }, /* 0x0053 */
- { CODEPAGE_ISUPPER, 0x0054, 0x0074 }, /* 0x0054 */
- { CODEPAGE_ISUPPER, 0x0055, 0x0075 }, /* 0x0055 */
- { CODEPAGE_ISUPPER, 0x0056, 0x0076 }, /* 0x0056 */
- { CODEPAGE_ISUPPER, 0x0057, 0x0077 }, /* 0x0057 */
- { CODEPAGE_ISUPPER, 0x0058, 0x0078 }, /* 0x0058 */
- { CODEPAGE_ISUPPER, 0x0059, 0x0079 }, /* 0x0059 */
- { CODEPAGE_ISUPPER, 0x005a, 0x007a }, /* 0x005a */
- { CODEPAGE_ISNONE, 0x005b, 0x005b }, /* 0x005b */
- { CODEPAGE_ISNONE, 0x005c, 0x005c }, /* 0x005c */
- { CODEPAGE_ISNONE, 0x005d, 0x005d }, /* 0x005d */
- { CODEPAGE_ISNONE, 0x005e, 0x005e }, /* 0x005e */
- { CODEPAGE_ISNONE, 0x005f, 0x005f }, /* 0x005f */
- { CODEPAGE_ISNONE, 0x0060, 0x0060 }, /* 0x0060 */
- { CODEPAGE_ISLOWER, 0x0041, 0x0061 }, /* 0x0061 */
- { CODEPAGE_ISLOWER, 0x0042, 0x0062 }, /* 0x0062 */
- { CODEPAGE_ISLOWER, 0x0043, 0x0063 }, /* 0x0063 */
- { CODEPAGE_ISLOWER, 0x0044, 0x0064 }, /* 0x0064 */
- { CODEPAGE_ISLOWER, 0x0045, 0x0065 }, /* 0x0065 */
- { CODEPAGE_ISLOWER, 0x0046, 0x0066 }, /* 0x0066 */
- { CODEPAGE_ISLOWER, 0x0047, 0x0067 }, /* 0x0067 */
- { CODEPAGE_ISLOWER, 0x0048, 0x0068 }, /* 0x0068 */
- { CODEPAGE_ISLOWER, 0x0049, 0x0069 }, /* 0x0069 */
- { CODEPAGE_ISLOWER, 0x004a, 0x006a }, /* 0x006a */
- { CODEPAGE_ISLOWER, 0x004b, 0x006b }, /* 0x006b */
- { CODEPAGE_ISLOWER, 0x004c, 0x006c }, /* 0x006c */
- { CODEPAGE_ISLOWER, 0x004d, 0x006d }, /* 0x006d */
- { CODEPAGE_ISLOWER, 0x004e, 0x006e }, /* 0x006e */
- { CODEPAGE_ISLOWER, 0x004f, 0x006f }, /* 0x006f */
- { CODEPAGE_ISLOWER, 0x0050, 0x0070 }, /* 0x0070 */
- { CODEPAGE_ISLOWER, 0x0051, 0x0071 }, /* 0x0071 */
- { CODEPAGE_ISLOWER, 0x0052, 0x0072 }, /* 0x0072 */
- { CODEPAGE_ISLOWER, 0x0053, 0x0073 }, /* 0x0073 */
- { CODEPAGE_ISLOWER, 0x0054, 0x0074 }, /* 0x0074 */
- { CODEPAGE_ISLOWER, 0x0055, 0x0075 }, /* 0x0075 */
- { CODEPAGE_ISLOWER, 0x0056, 0x0076 }, /* 0x0076 */
- { CODEPAGE_ISLOWER, 0x0057, 0x0077 }, /* 0x0077 */
- { CODEPAGE_ISLOWER, 0x0058, 0x0078 }, /* 0x0078 */
- { CODEPAGE_ISLOWER, 0x0059, 0x0079 }, /* 0x0079 */
- { CODEPAGE_ISLOWER, 0x005a, 0x007a }, /* 0x007a */
- { CODEPAGE_ISNONE, 0x007b, 0x007b }, /* 0x007b */
- { CODEPAGE_ISNONE, 0x007c, 0x007c }, /* 0x007c */
- { CODEPAGE_ISNONE, 0x007d, 0x007d }, /* 0x007d */
- { CODEPAGE_ISNONE, 0x007e, 0x007e }, /* 0x007e */
- { CODEPAGE_ISNONE, 0x007f, 0x007f }, /* 0x007f */
- { CODEPAGE_ISNONE, 0x0080, 0x0080 }, /* 0x0080 */
- { CODEPAGE_ISNONE, 0x0081, 0x0081 }, /* 0x0081 */
- { CODEPAGE_ISNONE, 0x0082, 0x0082 }, /* 0x0082 */
- { CODEPAGE_ISNONE, 0x0083, 0x0083 }, /* 0x0083 */
- { CODEPAGE_ISNONE, 0x0084, 0x0084 }, /* 0x0084 */
- { CODEPAGE_ISNONE, 0x0085, 0x0085 }, /* 0x0085 */
- { CODEPAGE_ISNONE, 0x0086, 0x0086 }, /* 0x0086 */
- { CODEPAGE_ISNONE, 0x0087, 0x0087 }, /* 0x0087 */
- { CODEPAGE_ISNONE, 0x0088, 0x0088 }, /* 0x0088 */
- { CODEPAGE_ISNONE, 0x0089, 0x0089 }, /* 0x0089 */
- { CODEPAGE_ISNONE, 0x008a, 0x008a }, /* 0x008a */
- { CODEPAGE_ISNONE, 0x008b, 0x008b }, /* 0x008b */
- { CODEPAGE_ISNONE, 0x008c, 0x008c }, /* 0x008c */
- { CODEPAGE_ISNONE, 0x008d, 0x008d }, /* 0x008d */
- { CODEPAGE_ISNONE, 0x008e, 0x008e }, /* 0x008e */
- { CODEPAGE_ISNONE, 0x008f, 0x008f }, /* 0x008f */
- { CODEPAGE_ISNONE, 0x0090, 0x0090 }, /* 0x0090 */
- { CODEPAGE_ISNONE, 0x0091, 0x0091 }, /* 0x0091 */
- { CODEPAGE_ISNONE, 0x0092, 0x0092 }, /* 0x0092 */
- { CODEPAGE_ISNONE, 0x0093, 0x0093 }, /* 0x0093 */
- { CODEPAGE_ISNONE, 0x0094, 0x0094 }, /* 0x0094 */
- { CODEPAGE_ISNONE, 0x0095, 0x0095 }, /* 0x0095 */
- { CODEPAGE_ISNONE, 0x0096, 0x0096 }, /* 0x0096 */
- { CODEPAGE_ISNONE, 0x0097, 0x0097 }, /* 0x0097 */
- { CODEPAGE_ISNONE, 0x0098, 0x0098 }, /* 0x0098 */
- { CODEPAGE_ISNONE, 0x0099, 0x0099 }, /* 0x0099 */
- { CODEPAGE_ISNONE, 0x009a, 0x009a }, /* 0x009a */
- { CODEPAGE_ISNONE, 0x009b, 0x009b }, /* 0x009b */
- { CODEPAGE_ISNONE, 0x009c, 0x009c }, /* 0x009c */
- { CODEPAGE_ISNONE, 0x009d, 0x009d }, /* 0x009d */
- { CODEPAGE_ISNONE, 0x009e, 0x009e }, /* 0x009e */
- { CODEPAGE_ISNONE, 0x009f, 0x009f }, /* 0x009f */
- { CODEPAGE_ISNONE, 0x00a0, 0x00a0 }, /* 0x00a0 */
- { CODEPAGE_ISNONE, 0x00a1, 0x00a1 }, /* 0x00a1 */
- { CODEPAGE_ISNONE, 0x00a2, 0x00a2 }, /* 0x00a2 */
- { CODEPAGE_ISNONE, 0x00a3, 0x00a3 }, /* 0x00a3 */
- { CODEPAGE_ISNONE, 0x00a4, 0x00a4 }, /* 0x00a4 */
- { CODEPAGE_ISNONE, 0x00a5, 0x00a5 }, /* 0x00a5 */
- { CODEPAGE_ISNONE, 0x00a6, 0x00a6 }, /* 0x00a6 */
- { CODEPAGE_ISNONE, 0x00a7, 0x00a7 }, /* 0x00a7 */
- { CODEPAGE_ISNONE, 0x00a8, 0x00a8 }, /* 0x00a8 */
- { CODEPAGE_ISNONE, 0x00a9, 0x00a9 }, /* 0x00a9 */
- { CODEPAGE_ISNONE, 0x00aa, 0x00aa }, /* 0x00aa */
- { CODEPAGE_ISNONE, 0x00ab, 0x00ab }, /* 0x00ab */
- { CODEPAGE_ISNONE, 0x00ac, 0x00ac }, /* 0x00ac */
- { CODEPAGE_ISNONE, 0x00ad, 0x00ad }, /* 0x00ad */
- { CODEPAGE_ISNONE, 0x00ae, 0x00ae }, /* 0x00ae */
- { CODEPAGE_ISNONE, 0x00af, 0x00af }, /* 0x00af */
- { CODEPAGE_ISNONE, 0x00b0, 0x00b0 }, /* 0x00b0 */
- { CODEPAGE_ISNONE, 0x00b1, 0x00b1 }, /* 0x00b1 */
- { CODEPAGE_ISNONE, 0x00b2, 0x00b2 }, /* 0x00b2 */
- { CODEPAGE_ISNONE, 0x00b3, 0x00b3 }, /* 0x00b3 */
- { CODEPAGE_ISNONE, 0x00b4, 0x00b4 }, /* 0x00b4 */
- { CODEPAGE_ISNONE, 0x00b5, 0x00b5 }, /* 0x00b5 */
- { CODEPAGE_ISNONE, 0x00b6, 0x00b6 }, /* 0x00b6 */
- { CODEPAGE_ISNONE, 0x00b7, 0x00b7 }, /* 0x00b7 */
- { CODEPAGE_ISNONE, 0x00b8, 0x00b8 }, /* 0x00b8 */
- { CODEPAGE_ISNONE, 0x00b9, 0x00b9 }, /* 0x00b9 */
- { CODEPAGE_ISNONE, 0x00ba, 0x00ba }, /* 0x00ba */
- { CODEPAGE_ISNONE, 0x00bb, 0x00bb }, /* 0x00bb */
- { CODEPAGE_ISNONE, 0x00bc, 0x00bc }, /* 0x00bc */
- { CODEPAGE_ISNONE, 0x00bd, 0x00bd }, /* 0x00bd */
- { CODEPAGE_ISNONE, 0x00be, 0x00be }, /* 0x00be */
- { CODEPAGE_ISNONE, 0x00bf, 0x00bf }, /* 0x00bf */
- { CODEPAGE_ISUPPER, 0x00c0, 0x00e0 }, /* 0x00c0 */
- { CODEPAGE_ISUPPER, 0x00c1, 0x00e1 }, /* 0x00c1 */
- { CODEPAGE_ISUPPER, 0x00c2, 0x00e2 }, /* 0x00c2 */
- { CODEPAGE_ISUPPER, 0x00c3, 0x00e3 }, /* 0x00c3 */
- { CODEPAGE_ISUPPER, 0x00c4, 0x00e4 }, /* 0x00c4 */
- { CODEPAGE_ISUPPER, 0x00c5, 0x00e5 }, /* 0x00c5 */
- { CODEPAGE_ISUPPER, 0x00c6, 0x00e6 }, /* 0x00c6 */
- { CODEPAGE_ISUPPER, 0x00c7, 0x00e7 }, /* 0x00c7 */
- { CODEPAGE_ISUPPER, 0x00c8, 0x00e8 }, /* 0x00c8 */
- { CODEPAGE_ISUPPER, 0x00c9, 0x00e9 }, /* 0x00c9 */
- { CODEPAGE_ISUPPER, 0x00ca, 0x00ea }, /* 0x00ca */
- { CODEPAGE_ISUPPER, 0x00cb, 0x00eb }, /* 0x00cb */
- { CODEPAGE_ISUPPER, 0x00cc, 0x00ec }, /* 0x00cc */
- { CODEPAGE_ISUPPER, 0x00cd, 0x00ed }, /* 0x00cd */
- { CODEPAGE_ISUPPER, 0x00ce, 0x00ee }, /* 0x00ce */
- { CODEPAGE_ISUPPER, 0x00cf, 0x00ef }, /* 0x00cf */
- { CODEPAGE_ISUPPER, 0x00d0, 0x00f0 }, /* 0x00d0 */
- { CODEPAGE_ISUPPER, 0x00d1, 0x00f1 }, /* 0x00d1 */
- { CODEPAGE_ISUPPER, 0x00d2, 0x00f2 }, /* 0x00d2 */
- { CODEPAGE_ISUPPER, 0x00d3, 0x00f3 }, /* 0x00d3 */
- { CODEPAGE_ISUPPER, 0x00d4, 0x00f4 }, /* 0x00d4 */
- { CODEPAGE_ISUPPER, 0x00d5, 0x00f5 }, /* 0x00d5 */
- { CODEPAGE_ISUPPER, 0x00d6, 0x00f6 }, /* 0x00d6 */
- { CODEPAGE_ISNONE, 0x00d7, 0x00d7 }, /* 0x00d7 */
- { CODEPAGE_ISUPPER, 0x00d8, 0x00f8 }, /* 0x00d8 */
- { CODEPAGE_ISUPPER, 0x00d9, 0x00f9 }, /* 0x00d9 */
- { CODEPAGE_ISUPPER, 0x00da, 0x00fa }, /* 0x00da */
- { CODEPAGE_ISUPPER, 0x00db, 0x00fb }, /* 0x00db */
- { CODEPAGE_ISUPPER, 0x00dc, 0x00fc }, /* 0x00dc */
- { CODEPAGE_ISUPPER, 0x00dd, 0x00fd }, /* 0x00dd */
- { CODEPAGE_ISUPPER, 0x00de, 0x00fe }, /* 0x00de */
- { CODEPAGE_ISNONE, 0x00df, 0x00df }, /* 0x00df */
- { CODEPAGE_ISLOWER, 0x00c0, 0x00e0 }, /* 0x00e0 */
- { CODEPAGE_ISLOWER, 0x00c1, 0x00e1 }, /* 0x00e1 */
- { CODEPAGE_ISLOWER, 0x00c2, 0x00e2 }, /* 0x00e2 */
- { CODEPAGE_ISLOWER, 0x00c3, 0x00e3 }, /* 0x00e3 */
- { CODEPAGE_ISLOWER, 0x00c4, 0x00e4 }, /* 0x00e4 */
- { CODEPAGE_ISLOWER, 0x00c5, 0x00e5 }, /* 0x00e5 */
- { CODEPAGE_ISLOWER, 0x00c6, 0x00e6 }, /* 0x00e6 */
- { CODEPAGE_ISLOWER, 0x00c7, 0x00e7 }, /* 0x00e7 */
- { CODEPAGE_ISLOWER, 0x00c8, 0x00e8 }, /* 0x00e8 */
- { CODEPAGE_ISLOWER, 0x00c9, 0x00e9 }, /* 0x00e9 */
- { CODEPAGE_ISLOWER, 0x00ca, 0x00ea }, /* 0x00ea */
- { CODEPAGE_ISLOWER, 0x00cb, 0x00eb }, /* 0x00eb */
- { CODEPAGE_ISLOWER, 0x00cc, 0x00ec }, /* 0x00ec */
- { CODEPAGE_ISLOWER, 0x00cd, 0x00ed }, /* 0x00ed */
- { CODEPAGE_ISLOWER, 0x00ce, 0x00ee }, /* 0x00ee */
- { CODEPAGE_ISLOWER, 0x00cf, 0x00ef }, /* 0x00ef */
- { CODEPAGE_ISLOWER, 0x00d0, 0x00f0 }, /* 0x00f0 */
- { CODEPAGE_ISLOWER, 0x00d1, 0x00f1 }, /* 0x00f1 */
- { CODEPAGE_ISLOWER, 0x00d2, 0x00f2 }, /* 0x00f2 */
- { CODEPAGE_ISLOWER, 0x00d3, 0x00f3 }, /* 0x00f3 */
- { CODEPAGE_ISLOWER, 0x00d4, 0x00f4 }, /* 0x00f4 */
- { CODEPAGE_ISLOWER, 0x00d5, 0x00f5 }, /* 0x00f5 */
- { CODEPAGE_ISLOWER, 0x00d6, 0x00f6 }, /* 0x00f6 */
- { CODEPAGE_ISNONE, 0x00f7, 0x00f7 }, /* 0x00f7 */
- { CODEPAGE_ISLOWER, 0x00d8, 0x00f8 }, /* 0x00f8 */
- { CODEPAGE_ISLOWER, 0x00d9, 0x00f9 }, /* 0x00f9 */
- { CODEPAGE_ISLOWER, 0x00da, 0x00fa }, /* 0x00fa */
- { CODEPAGE_ISLOWER, 0x00db, 0x00fb }, /* 0x00fb */
- { CODEPAGE_ISLOWER, 0x00dc, 0x00fc }, /* 0x00fc */
- { CODEPAGE_ISLOWER, 0x00dd, 0x00fd }, /* 0x00fd */
- { CODEPAGE_ISLOWER, 0x00de, 0x00fe }, /* 0x00fe */
- { CODEPAGE_ISNONE, 0x00ff, 0x00ff } /* 0x00ff */
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CP_LATIN1_H */
diff --git a/usr/src/uts/common/smbsrv/cp_latin2.h b/usr/src/uts/common/smbsrv/cp_latin2.h
deleted file mode 100644
index 77f2e5a2a4..0000000000
--- a/usr/src/uts/common/smbsrv/cp_latin2.h
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CP_LATIN2_H
-#define _SMBSRV_CP_LATIN2_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * This file specifies a codepage mapping for a given character set as
- * specified below:
- *
- * This is the codepage for the Latin-2 Character Set
- * (Central & Eastern Europe). This codepage defines
- * values for the special characters needed
- * for the written alphabets of the following languages: Czech,
- * Hungarian, Polish, Romanian, Croatian, Slovak,
- * Slovenian, and Sorbian
- * The Latin-2 character set is also known as iso-8859-2
- *
- */
-
-#include <smbsrv/codepage.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-codepage_t Latin2_codepage[256] = {
- { CODEPAGE_ISNONE, 0x0000, 0x0000 }, /* 0x0000 */
- { CODEPAGE_ISNONE, 0x0001, 0x0001 }, /* 0x0001 */
- { CODEPAGE_ISNONE, 0x0002, 0x0002 }, /* 0x0002 */
- { CODEPAGE_ISNONE, 0x0003, 0x0003 }, /* 0x0003 */
- { CODEPAGE_ISNONE, 0x0004, 0x0004 }, /* 0x0004 */
- { CODEPAGE_ISNONE, 0x0005, 0x0005 }, /* 0x0005 */
- { CODEPAGE_ISNONE, 0x0006, 0x0006 }, /* 0x0006 */
- { CODEPAGE_ISNONE, 0x0007, 0x0007 }, /* 0x0007 */
- { CODEPAGE_ISNONE, 0x0008, 0x0008 }, /* 0x0008 */
- { CODEPAGE_ISNONE, 0x0009, 0x0009 }, /* 0x0009 */
- { CODEPAGE_ISNONE, 0x000a, 0x000a }, /* 0x000a */
- { CODEPAGE_ISNONE, 0x000b, 0x000b }, /* 0x000b */
- { CODEPAGE_ISNONE, 0x000c, 0x000c }, /* 0x000c */
- { CODEPAGE_ISNONE, 0x000d, 0x000d }, /* 0x000d */
- { CODEPAGE_ISNONE, 0x000e, 0x000e }, /* 0x000e */
- { CODEPAGE_ISNONE, 0x000f, 0x000f }, /* 0x000f */
- { CODEPAGE_ISNONE, 0x0010, 0x0010 }, /* 0x0010 */
- { CODEPAGE_ISNONE, 0x0011, 0x0011 }, /* 0x0011 */
- { CODEPAGE_ISNONE, 0x0012, 0x0012 }, /* 0x0012 */
- { CODEPAGE_ISNONE, 0x0013, 0x0013 }, /* 0x0013 */
- { CODEPAGE_ISNONE, 0x0014, 0x0014 }, /* 0x0014 */
- { CODEPAGE_ISNONE, 0x0015, 0x0015 }, /* 0x0015 */
- { CODEPAGE_ISNONE, 0x0016, 0x0016 }, /* 0x0016 */
- { CODEPAGE_ISNONE, 0x0017, 0x0017 }, /* 0x0017 */
- { CODEPAGE_ISNONE, 0x0018, 0x0018 }, /* 0x0018 */
- { CODEPAGE_ISNONE, 0x0019, 0x0019 }, /* 0x0019 */
- { CODEPAGE_ISNONE, 0x001a, 0x001a }, /* 0x001a */
- { CODEPAGE_ISNONE, 0x001b, 0x001b }, /* 0x001b */
- { CODEPAGE_ISNONE, 0x001c, 0x001c }, /* 0x001c */
- { CODEPAGE_ISNONE, 0x001d, 0x001d }, /* 0x001d */
- { CODEPAGE_ISNONE, 0x001e, 0x001e }, /* 0x001e */
- { CODEPAGE_ISNONE, 0x001f, 0x001f }, /* 0x001f */
- { CODEPAGE_ISNONE, 0x0020, 0x0020 }, /* 0x0020 */
- { CODEPAGE_ISNONE, 0x0021, 0x0021 }, /* 0x0021 */
- { CODEPAGE_ISNONE, 0x0022, 0x0022 }, /* 0x0022 */
- { CODEPAGE_ISNONE, 0x0023, 0x0023 }, /* 0x0023 */
- { CODEPAGE_ISNONE, 0x0024, 0x0024 }, /* 0x0024 */
- { CODEPAGE_ISNONE, 0x0025, 0x0025 }, /* 0x0025 */
- { CODEPAGE_ISNONE, 0x0026, 0x0026 }, /* 0x0026 */
- { CODEPAGE_ISNONE, 0x0027, 0x0027 }, /* 0x0027 */
- { CODEPAGE_ISNONE, 0x0028, 0x0028 }, /* 0x0028 */
- { CODEPAGE_ISNONE, 0x0029, 0x0029 }, /* 0x0029 */
- { CODEPAGE_ISNONE, 0x002a, 0x002a }, /* 0x002a */
- { CODEPAGE_ISNONE, 0x002b, 0x002b }, /* 0x002b */
- { CODEPAGE_ISNONE, 0x002c, 0x002c }, /* 0x002c */
- { CODEPAGE_ISNONE, 0x002d, 0x002d }, /* 0x002d */
- { CODEPAGE_ISNONE, 0x002e, 0x002e }, /* 0x002e */
- { CODEPAGE_ISNONE, 0x002f, 0x002f }, /* 0x002f */
- { CODEPAGE_ISNONE, 0x0030, 0x0030 }, /* 0x0030 */
- { CODEPAGE_ISNONE, 0x0031, 0x0031 }, /* 0x0031 */
- { CODEPAGE_ISNONE, 0x0032, 0x0032 }, /* 0x0032 */
- { CODEPAGE_ISNONE, 0x0033, 0x0033 }, /* 0x0033 */
- { CODEPAGE_ISNONE, 0x0034, 0x0034 }, /* 0x0034 */
- { CODEPAGE_ISNONE, 0x0035, 0x0035 }, /* 0x0035 */
- { CODEPAGE_ISNONE, 0x0036, 0x0036 }, /* 0x0036 */
- { CODEPAGE_ISNONE, 0x0037, 0x0037 }, /* 0x0037 */
- { CODEPAGE_ISNONE, 0x0038, 0x0038 }, /* 0x0038 */
- { CODEPAGE_ISNONE, 0x0039, 0x0039 }, /* 0x0039 */
- { CODEPAGE_ISNONE, 0x003a, 0x003a }, /* 0x003a */
- { CODEPAGE_ISNONE, 0x003b, 0x003b }, /* 0x003b */
- { CODEPAGE_ISNONE, 0x003c, 0x003c }, /* 0x003c */
- { CODEPAGE_ISNONE, 0x003d, 0x003d }, /* 0x003d */
- { CODEPAGE_ISNONE, 0x003e, 0x003e }, /* 0x003e */
- { CODEPAGE_ISNONE, 0x003f, 0x003f }, /* 0x003f */
- { CODEPAGE_ISNONE, 0x0040, 0x0040 }, /* 0x0040 */
- { CODEPAGE_ISUPPER, 0x0041, 0x0061 }, /* 0x0041 */
- { CODEPAGE_ISUPPER, 0x0042, 0x0062 }, /* 0x0042 */
- { CODEPAGE_ISUPPER, 0x0043, 0x0063 }, /* 0x0043 */
- { CODEPAGE_ISUPPER, 0x0044, 0x0064 }, /* 0x0044 */
- { CODEPAGE_ISUPPER, 0x0045, 0x0065 }, /* 0x0045 */
- { CODEPAGE_ISUPPER, 0x0046, 0x0066 }, /* 0x0046 */
- { CODEPAGE_ISUPPER, 0x0047, 0x0067 }, /* 0x0047 */
- { CODEPAGE_ISUPPER, 0x0048, 0x0068 }, /* 0x0048 */
- { CODEPAGE_ISUPPER, 0x0049, 0x0069 }, /* 0x0049 */
- { CODEPAGE_ISUPPER, 0x004a, 0x006a }, /* 0x004a */
- { CODEPAGE_ISUPPER, 0x004b, 0x006b }, /* 0x004b */
- { CODEPAGE_ISUPPER, 0x004c, 0x006c }, /* 0x004c */
- { CODEPAGE_ISUPPER, 0x004d, 0x006d }, /* 0x004d */
- { CODEPAGE_ISUPPER, 0x004e, 0x006e }, /* 0x004e */
- { CODEPAGE_ISUPPER, 0x004f, 0x006f }, /* 0x004f */
- { CODEPAGE_ISUPPER, 0x0050, 0x0070 }, /* 0x0050 */
- { CODEPAGE_ISUPPER, 0x0051, 0x0071 }, /* 0x0051 */
- { CODEPAGE_ISUPPER, 0x0052, 0x0072 }, /* 0x0052 */
- { CODEPAGE_ISUPPER, 0x0053, 0x0073 }, /* 0x0053 */
- { CODEPAGE_ISUPPER, 0x0054, 0x0074 }, /* 0x0054 */
- { CODEPAGE_ISUPPER, 0x0055, 0x0075 }, /* 0x0055 */
- { CODEPAGE_ISUPPER, 0x0056, 0x0076 }, /* 0x0056 */
- { CODEPAGE_ISUPPER, 0x0057, 0x0077 }, /* 0x0057 */
- { CODEPAGE_ISUPPER, 0x0058, 0x0078 }, /* 0x0058 */
- { CODEPAGE_ISUPPER, 0x0059, 0x0079 }, /* 0x0059 */
- { CODEPAGE_ISUPPER, 0x005a, 0x007a }, /* 0x005a */
- { CODEPAGE_ISNONE, 0x005b, 0x005b }, /* 0x005b */
- { CODEPAGE_ISNONE, 0x005c, 0x005c }, /* 0x005c */
- { CODEPAGE_ISNONE, 0x005d, 0x005d }, /* 0x005d */
- { CODEPAGE_ISNONE, 0x005e, 0x005e }, /* 0x005e */
- { CODEPAGE_ISNONE, 0x005f, 0x005f }, /* 0x005f */
- { CODEPAGE_ISNONE, 0x0060, 0x0060 }, /* 0x0060 */
- { CODEPAGE_ISLOWER, 0x0041, 0x0061 }, /* 0x0061 */
- { CODEPAGE_ISLOWER, 0x0042, 0x0062 }, /* 0x0062 */
- { CODEPAGE_ISLOWER, 0x0043, 0x0063 }, /* 0x0063 */
- { CODEPAGE_ISLOWER, 0x0044, 0x0064 }, /* 0x0064 */
- { CODEPAGE_ISLOWER, 0x0045, 0x0065 }, /* 0x0065 */
- { CODEPAGE_ISLOWER, 0x0046, 0x0066 }, /* 0x0066 */
- { CODEPAGE_ISLOWER, 0x0047, 0x0067 }, /* 0x0067 */
- { CODEPAGE_ISLOWER, 0x0048, 0x0068 }, /* 0x0068 */
- { CODEPAGE_ISLOWER, 0x0049, 0x0069 }, /* 0x0069 */
- { CODEPAGE_ISLOWER, 0x004a, 0x006a }, /* 0x006a */
- { CODEPAGE_ISLOWER, 0x004b, 0x006b }, /* 0x006b */
- { CODEPAGE_ISLOWER, 0x004c, 0x006c }, /* 0x006c */
- { CODEPAGE_ISLOWER, 0x004d, 0x006d }, /* 0x006d */
- { CODEPAGE_ISLOWER, 0x004e, 0x006e }, /* 0x006e */
- { CODEPAGE_ISLOWER, 0x004f, 0x006f }, /* 0x006f */
- { CODEPAGE_ISLOWER, 0x0050, 0x0070 }, /* 0x0070 */
- { CODEPAGE_ISLOWER, 0x0051, 0x0071 }, /* 0x0071 */
- { CODEPAGE_ISLOWER, 0x0052, 0x0072 }, /* 0x0072 */
- { CODEPAGE_ISLOWER, 0x0053, 0x0073 }, /* 0x0073 */
- { CODEPAGE_ISLOWER, 0x0054, 0x0074 }, /* 0x0074 */
- { CODEPAGE_ISLOWER, 0x0055, 0x0075 }, /* 0x0075 */
- { CODEPAGE_ISLOWER, 0x0056, 0x0076 }, /* 0x0076 */
- { CODEPAGE_ISLOWER, 0x0057, 0x0077 }, /* 0x0077 */
- { CODEPAGE_ISLOWER, 0x0058, 0x0078 }, /* 0x0078 */
- { CODEPAGE_ISLOWER, 0x0059, 0x0079 }, /* 0x0079 */
- { CODEPAGE_ISLOWER, 0x005a, 0x007a }, /* 0x007a */
- { CODEPAGE_ISNONE, 0x007b, 0x007b }, /* 0x007b */
- { CODEPAGE_ISNONE, 0x007c, 0x007c }, /* 0x007c */
- { CODEPAGE_ISNONE, 0x007d, 0x007d }, /* 0x007d */
- { CODEPAGE_ISNONE, 0x007e, 0x007e }, /* 0x007e */
- { CODEPAGE_ISNONE, 0x007f, 0x007f }, /* 0x007f */
- { CODEPAGE_ISNONE, 0x0080, 0x0080 }, /* 0x0080 */
- { CODEPAGE_ISNONE, 0x0081, 0x0081 }, /* 0x0081 */
- { CODEPAGE_ISNONE, 0x0082, 0x0082 }, /* 0x0082 */
- { CODEPAGE_ISNONE, 0x0083, 0x0083 }, /* 0x0083 */
- { CODEPAGE_ISNONE, 0x0084, 0x0084 }, /* 0x0084 */
- { CODEPAGE_ISNONE, 0x0085, 0x0085 }, /* 0x0085 */
- { CODEPAGE_ISNONE, 0x0086, 0x0086 }, /* 0x0086 */
- { CODEPAGE_ISNONE, 0x0087, 0x0087 }, /* 0x0087 */
- { CODEPAGE_ISNONE, 0x0088, 0x0088 }, /* 0x0088 */
- { CODEPAGE_ISNONE, 0x0089, 0x0089 }, /* 0x0089 */
- { CODEPAGE_ISNONE, 0x008a, 0x008a }, /* 0x008a */
- { CODEPAGE_ISNONE, 0x008b, 0x008b }, /* 0x008b */
- { CODEPAGE_ISNONE, 0x008c, 0x008c }, /* 0x008c */
- { CODEPAGE_ISNONE, 0x008d, 0x008d }, /* 0x008d */
- { CODEPAGE_ISNONE, 0x008e, 0x008e }, /* 0x008e */
- { CODEPAGE_ISNONE, 0x008f, 0x008f }, /* 0x008f */
- { CODEPAGE_ISNONE, 0x0090, 0x0090 }, /* 0x0090 */
- { CODEPAGE_ISNONE, 0x0091, 0x0091 }, /* 0x0091 */
- { CODEPAGE_ISNONE, 0x0092, 0x0092 }, /* 0x0092 */
- { CODEPAGE_ISNONE, 0x0093, 0x0093 }, /* 0x0093 */
- { CODEPAGE_ISNONE, 0x0094, 0x0094 }, /* 0x0094 */
- { CODEPAGE_ISNONE, 0x0095, 0x0095 }, /* 0x0095 */
- { CODEPAGE_ISNONE, 0x0096, 0x0096 }, /* 0x0096 */
- { CODEPAGE_ISNONE, 0x0097, 0x0097 }, /* 0x0097 */
- { CODEPAGE_ISNONE, 0x0098, 0x0098 }, /* 0x0098 */
- { CODEPAGE_ISNONE, 0x0099, 0x0099 }, /* 0x0099 */
- { CODEPAGE_ISNONE, 0x009a, 0x009a }, /* 0x009a */
- { CODEPAGE_ISNONE, 0x009b, 0x009b }, /* 0x009b */
- { CODEPAGE_ISNONE, 0x009c, 0x009c }, /* 0x009c */
- { CODEPAGE_ISNONE, 0x009d, 0x009d }, /* 0x009d */
- { CODEPAGE_ISNONE, 0x009e, 0x009e }, /* 0x009e */
- { CODEPAGE_ISNONE, 0x009f, 0x009f }, /* 0x009f */
- { CODEPAGE_ISNONE, 0x00a0, 0x00a0 }, /* 0x00a0 */
- { CODEPAGE_ISUPPER, 0x00a1, 0x00b1 }, /* 0x00a1 */
- { CODEPAGE_ISNONE, 0x00a2, 0x00a2 }, /* 0x00a2 */
- { CODEPAGE_ISUPPER, 0x00a3, 0x00b3 }, /* 0x00a3 */
- { CODEPAGE_ISNONE, 0x00a4, 0x00a4 }, /* 0x00a4 */
- { CODEPAGE_ISUPPER, 0x00a5, 0x00b5 }, /* 0x00a5 */
- { CODEPAGE_ISUPPER, 0x00a6, 0x00b6 }, /* 0x00a6 */
- { CODEPAGE_ISNONE, 0x00a7, 0x00a7 }, /* 0x00a7 */
- { CODEPAGE_ISNONE, 0x00a8, 0x00a8 }, /* 0x00a8 */
- { CODEPAGE_ISUPPER, 0x00a9, 0x00b9 }, /* 0x00a9 */
- { CODEPAGE_ISUPPER, 0x00aa, 0x00ba }, /* 0x00aa */
- { CODEPAGE_ISUPPER, 0x00ab, 0x00bb }, /* 0x00ab */
- { CODEPAGE_ISUPPER, 0x00ac, 0x00bc }, /* 0x00ac */
- { CODEPAGE_ISNONE, 0x00ad, 0x00ad }, /* 0x00ad */
- { CODEPAGE_ISUPPER, 0x00ae, 0x00be }, /* 0x00ae */
- { CODEPAGE_ISUPPER, 0x00af, 0x00bf }, /* 0x00af */
- { CODEPAGE_ISNONE, 0x00b0, 0x00b0 }, /* 0x00b0 */
- { CODEPAGE_ISLOWER, 0x00a1, 0x00b1 }, /* 0x00b1 */
- { CODEPAGE_ISNONE, 0x00b2, 0x00b2 }, /* 0x00b2 */
- { CODEPAGE_ISLOWER, 0x00a3, 0x00b3 }, /* 0x00b3 */
- { CODEPAGE_ISNONE, 0x00b4, 0x00b4 }, /* 0x00b4 */
- { CODEPAGE_ISLOWER, 0x00a5, 0x00b5 }, /* 0x00b5 */
- { CODEPAGE_ISLOWER, 0x00a6, 0x00b6 }, /* 0x00b6 */
- { CODEPAGE_ISNONE, 0x00b7, 0x00b7 }, /* 0x00b7 */
- { CODEPAGE_ISNONE, 0x00b8, 0x00b8 }, /* 0x00b8 */
- { CODEPAGE_ISLOWER, 0x00a9, 0x00b9 }, /* 0x00b9 */
- { CODEPAGE_ISLOWER, 0x00aa, 0x00ba }, /* 0x00ba */
- { CODEPAGE_ISLOWER, 0x00ab, 0x00bb }, /* 0x00bb */
- { CODEPAGE_ISLOWER, 0x00ac, 0x00bc }, /* 0x00bc */
- { CODEPAGE_ISNONE, 0x00bd, 0x00bd }, /* 0x00bd */
- { CODEPAGE_ISLOWER, 0x00ae, 0x00be }, /* 0x00be */
- { CODEPAGE_ISLOWER, 0x00af, 0x00bf }, /* 0x00bf */
- { CODEPAGE_ISUPPER, 0x00c0, 0x00e0 }, /* 0x00c0 */
- { CODEPAGE_ISUPPER, 0x00c1, 0x00e1 }, /* 0x00c1 */
- { CODEPAGE_ISUPPER, 0x00c2, 0x00e2 }, /* 0x00c2 */
- { CODEPAGE_ISUPPER, 0x00c3, 0x00e3 }, /* 0x00c3 */
- { CODEPAGE_ISUPPER, 0x00c4, 0x00e4 }, /* 0x00c4 */
- { CODEPAGE_ISUPPER, 0x00c5, 0x00e5 }, /* 0x00c5 */
- { CODEPAGE_ISUPPER, 0x00c6, 0x00e6 }, /* 0x00c6 */
- { CODEPAGE_ISUPPER, 0x00c7, 0x00e7 }, /* 0x00c7 */
- { CODEPAGE_ISUPPER, 0x00c8, 0x00e8 }, /* 0x00c8 */
- { CODEPAGE_ISUPPER, 0x00c9, 0x00e9 }, /* 0x00c9 */
- { CODEPAGE_ISUPPER, 0x00ca, 0x00ea }, /* 0x00ca */
- { CODEPAGE_ISUPPER, 0x00cb, 0x00eb }, /* 0x00cb */
- { CODEPAGE_ISUPPER, 0x00cc, 0x00ec }, /* 0x00cc */
- { CODEPAGE_ISUPPER, 0x00cd, 0x00ed }, /* 0x00cd */
- { CODEPAGE_ISUPPER, 0x00ce, 0x00ee }, /* 0x00ce */
- { CODEPAGE_ISUPPER, 0x00cf, 0x00ef }, /* 0x00cf */
- { CODEPAGE_ISUPPER, 0x00d0, 0x00f0 }, /* 0x00d0 */
- { CODEPAGE_ISUPPER, 0x00d1, 0x00f1 }, /* 0x00d1 */
- { CODEPAGE_ISUPPER, 0x00d2, 0x00f2 }, /* 0x00d2 */
- { CODEPAGE_ISUPPER, 0x00d3, 0x00f3 }, /* 0x00d3 */
- { CODEPAGE_ISUPPER, 0x00d4, 0x00f4 }, /* 0x00d4 */
- { CODEPAGE_ISUPPER, 0x00d5, 0x00f5 }, /* 0x00d5 */
- { CODEPAGE_ISUPPER, 0x00d6, 0x00f6 }, /* 0x00d6 */
- { CODEPAGE_ISNONE, 0x00d7, 0x00d7 }, /* 0x00d7 */
- { CODEPAGE_ISUPPER, 0x00d8, 0x00f8 }, /* 0x00d8 */
- { CODEPAGE_ISUPPER, 0x00d9, 0x00f9 }, /* 0x00d9 */
- { CODEPAGE_ISUPPER, 0x00da, 0x00fa }, /* 0x00da */
- { CODEPAGE_ISUPPER, 0x00db, 0x00fb }, /* 0x00db */
- { CODEPAGE_ISUPPER, 0x00dc, 0x00fc }, /* 0x00dc */
- { CODEPAGE_ISUPPER, 0x00dd, 0x00fd }, /* 0x00dd */
- { CODEPAGE_ISUPPER, 0x00de, 0x00fe }, /* 0x00de */
- { CODEPAGE_ISNONE, 0x00df, 0x00df }, /* 0x00df */
- { CODEPAGE_ISLOWER, 0x00c0, 0x00e0 }, /* 0x00e0 */
- { CODEPAGE_ISLOWER, 0x00c1, 0x00e1 }, /* 0x00e1 */
- { CODEPAGE_ISLOWER, 0x00c2, 0x00e2 }, /* 0x00e2 */
- { CODEPAGE_ISLOWER, 0x00c3, 0x00e3 }, /* 0x00e3 */
- { CODEPAGE_ISLOWER, 0x00c4, 0x00e4 }, /* 0x00e4 */
- { CODEPAGE_ISLOWER, 0x00c5, 0x00e5 }, /* 0x00e5 */
- { CODEPAGE_ISLOWER, 0x00c6, 0x00e6 }, /* 0x00e6 */
- { CODEPAGE_ISLOWER, 0x00c7, 0x00e7 }, /* 0x00e7 */
- { CODEPAGE_ISLOWER, 0x00c8, 0x00e8 }, /* 0x00e8 */
- { CODEPAGE_ISLOWER, 0x00c9, 0x00e9 }, /* 0x00e9 */
- { CODEPAGE_ISLOWER, 0x00ca, 0x00ea }, /* 0x00ea */
- { CODEPAGE_ISLOWER, 0x00cb, 0x00eb }, /* 0x00eb */
- { CODEPAGE_ISLOWER, 0x00cc, 0x00ec }, /* 0x00ec */
- { CODEPAGE_ISLOWER, 0x00cd, 0x00ed }, /* 0x00ed */
- { CODEPAGE_ISLOWER, 0x00ce, 0x00ee }, /* 0x00ee */
- { CODEPAGE_ISLOWER, 0x00cf, 0x00ef }, /* 0x00ef */
- { CODEPAGE_ISLOWER, 0x00d0, 0x00f0 }, /* 0x00f0 */
- { CODEPAGE_ISLOWER, 0x00d1, 0x00f1 }, /* 0x00f1 */
- { CODEPAGE_ISLOWER, 0x00d2, 0x00f2 }, /* 0x00f2 */
- { CODEPAGE_ISLOWER, 0x00d3, 0x00f3 }, /* 0x00f3 */
- { CODEPAGE_ISLOWER, 0x00d4, 0x00f4 }, /* 0x00f4 */
- { CODEPAGE_ISLOWER, 0x00d5, 0x00f5 }, /* 0x00f5 */
- { CODEPAGE_ISLOWER, 0x00d6, 0x00f6 }, /* 0x00f6 */
- { CODEPAGE_ISNONE, 0x00f7, 0x00f7 }, /* 0x00f7 */
- { CODEPAGE_ISLOWER, 0x00d8, 0x00f8 }, /* 0x00f8 */
- { CODEPAGE_ISLOWER, 0x00d9, 0x00f9 }, /* 0x00f9 */
- { CODEPAGE_ISLOWER, 0x00da, 0x00fa }, /* 0x00fa */
- { CODEPAGE_ISLOWER, 0x00db, 0x00fb }, /* 0x00fb */
- { CODEPAGE_ISLOWER, 0x00dc, 0x00fc }, /* 0x00fc */
- { CODEPAGE_ISLOWER, 0x00dd, 0x00fd }, /* 0x00fd */
- { CODEPAGE_ISLOWER, 0x00de, 0x00fe }, /* 0x00fe */
- { CODEPAGE_ISNONE, 0x00ff, 0x00ff } /* 0x00ff */
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CP_LATIN2_H */
diff --git a/usr/src/uts/common/smbsrv/cp_latin3.h b/usr/src/uts/common/smbsrv/cp_latin3.h
deleted file mode 100644
index afc7ae4355..0000000000
--- a/usr/src/uts/common/smbsrv/cp_latin3.h
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CP_LATIN3_H
-#define _SMBSRV_CP_LATIN3_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * This file specifies a codepage mapping for a given character set as
- * specified below:
- *
- * This is the codepage for Latin-3 Character Set
- * This codepage defines values for the special characters
- * needed for the written alphabets of the following
- * languages: Esperanto and Maltese.
- * The Latin-3 character set is also known as iso-8859-3
- */
-
-#include <smbsrv/codepage.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-codepage_t Latin3_codepage[256] = {
- { CODEPAGE_ISNONE, 0x0000, 0x0000 }, /* 0x0000 */
- { CODEPAGE_ISNONE, 0x0001, 0x0001 }, /* 0x0001 */
- { CODEPAGE_ISNONE, 0x0002, 0x0002 }, /* 0x0002 */
- { CODEPAGE_ISNONE, 0x0003, 0x0003 }, /* 0x0003 */
- { CODEPAGE_ISNONE, 0x0004, 0x0004 }, /* 0x0004 */
- { CODEPAGE_ISNONE, 0x0005, 0x0005 }, /* 0x0005 */
- { CODEPAGE_ISNONE, 0x0006, 0x0006 }, /* 0x0006 */
- { CODEPAGE_ISNONE, 0x0007, 0x0007 }, /* 0x0007 */
- { CODEPAGE_ISNONE, 0x0008, 0x0008 }, /* 0x0008 */
- { CODEPAGE_ISNONE, 0x0009, 0x0009 }, /* 0x0009 */
- { CODEPAGE_ISNONE, 0x000a, 0x000a }, /* 0x000a */
- { CODEPAGE_ISNONE, 0x000b, 0x000b }, /* 0x000b */
- { CODEPAGE_ISNONE, 0x000c, 0x000c }, /* 0x000c */
- { CODEPAGE_ISNONE, 0x000d, 0x000d }, /* 0x000d */
- { CODEPAGE_ISNONE, 0x000e, 0x000e }, /* 0x000e */
- { CODEPAGE_ISNONE, 0x000f, 0x000f }, /* 0x000f */
- { CODEPAGE_ISNONE, 0x0010, 0x0010 }, /* 0x0010 */
- { CODEPAGE_ISNONE, 0x0011, 0x0011 }, /* 0x0011 */
- { CODEPAGE_ISNONE, 0x0012, 0x0012 }, /* 0x0012 */
- { CODEPAGE_ISNONE, 0x0013, 0x0013 }, /* 0x0013 */
- { CODEPAGE_ISNONE, 0x0014, 0x0014 }, /* 0x0014 */
- { CODEPAGE_ISNONE, 0x0015, 0x0015 }, /* 0x0015 */
- { CODEPAGE_ISNONE, 0x0016, 0x0016 }, /* 0x0016 */
- { CODEPAGE_ISNONE, 0x0017, 0x0017 }, /* 0x0017 */
- { CODEPAGE_ISNONE, 0x0018, 0x0018 }, /* 0x0018 */
- { CODEPAGE_ISNONE, 0x0019, 0x0019 }, /* 0x0019 */
- { CODEPAGE_ISNONE, 0x001a, 0x001a }, /* 0x001a */
- { CODEPAGE_ISNONE, 0x001b, 0x001b }, /* 0x001b */
- { CODEPAGE_ISNONE, 0x001c, 0x001c }, /* 0x001c */
- { CODEPAGE_ISNONE, 0x001d, 0x001d }, /* 0x001d */
- { CODEPAGE_ISNONE, 0x001e, 0x001e }, /* 0x001e */
- { CODEPAGE_ISNONE, 0x001f, 0x001f }, /* 0x001f */
- { CODEPAGE_ISNONE, 0x0020, 0x0020 }, /* 0x0020 */
- { CODEPAGE_ISNONE, 0x0021, 0x0021 }, /* 0x0021 */
- { CODEPAGE_ISNONE, 0x0022, 0x0022 }, /* 0x0022 */
- { CODEPAGE_ISNONE, 0x0023, 0x0023 }, /* 0x0023 */
- { CODEPAGE_ISNONE, 0x0024, 0x0024 }, /* 0x0024 */
- { CODEPAGE_ISNONE, 0x0025, 0x0025 }, /* 0x0025 */
- { CODEPAGE_ISNONE, 0x0026, 0x0026 }, /* 0x0026 */
- { CODEPAGE_ISNONE, 0x0027, 0x0027 }, /* 0x0027 */
- { CODEPAGE_ISNONE, 0x0028, 0x0028 }, /* 0x0028 */
- { CODEPAGE_ISNONE, 0x0029, 0x0029 }, /* 0x0029 */
- { CODEPAGE_ISNONE, 0x002a, 0x002a }, /* 0x002a */
- { CODEPAGE_ISNONE, 0x002b, 0x002b }, /* 0x002b */
- { CODEPAGE_ISNONE, 0x002c, 0x002c }, /* 0x002c */
- { CODEPAGE_ISNONE, 0x002d, 0x002d }, /* 0x002d */
- { CODEPAGE_ISNONE, 0x002e, 0x002e }, /* 0x002e */
- { CODEPAGE_ISNONE, 0x002f, 0x002f }, /* 0x002f */
- { CODEPAGE_ISNONE, 0x0030, 0x0030 }, /* 0x0030 */
- { CODEPAGE_ISNONE, 0x0031, 0x0031 }, /* 0x0031 */
- { CODEPAGE_ISNONE, 0x0032, 0x0032 }, /* 0x0032 */
- { CODEPAGE_ISNONE, 0x0033, 0x0033 }, /* 0x0033 */
- { CODEPAGE_ISNONE, 0x0034, 0x0034 }, /* 0x0034 */
- { CODEPAGE_ISNONE, 0x0035, 0x0035 }, /* 0x0035 */
- { CODEPAGE_ISNONE, 0x0036, 0x0036 }, /* 0x0036 */
- { CODEPAGE_ISNONE, 0x0037, 0x0037 }, /* 0x0037 */
- { CODEPAGE_ISNONE, 0x0038, 0x0038 }, /* 0x0038 */
- { CODEPAGE_ISNONE, 0x0039, 0x0039 }, /* 0x0039 */
- { CODEPAGE_ISNONE, 0x003a, 0x003a }, /* 0x003a */
- { CODEPAGE_ISNONE, 0x003b, 0x003b }, /* 0x003b */
- { CODEPAGE_ISNONE, 0x003c, 0x003c }, /* 0x003c */
- { CODEPAGE_ISNONE, 0x003d, 0x003d }, /* 0x003d */
- { CODEPAGE_ISNONE, 0x003e, 0x003e }, /* 0x003e */
- { CODEPAGE_ISNONE, 0x003f, 0x003f }, /* 0x003f */
- { CODEPAGE_ISNONE, 0x0040, 0x0040 }, /* 0x0040 */
- { CODEPAGE_ISUPPER, 0x0041, 0x0061 }, /* 0x0041 */
- { CODEPAGE_ISUPPER, 0x0042, 0x0062 }, /* 0x0042 */
- { CODEPAGE_ISUPPER, 0x0043, 0x0063 }, /* 0x0043 */
- { CODEPAGE_ISUPPER, 0x0044, 0x0064 }, /* 0x0044 */
- { CODEPAGE_ISUPPER, 0x0045, 0x0065 }, /* 0x0045 */
- { CODEPAGE_ISUPPER, 0x0046, 0x0066 }, /* 0x0046 */
- { CODEPAGE_ISUPPER, 0x0047, 0x0067 }, /* 0x0047 */
- { CODEPAGE_ISUPPER, 0x0048, 0x0068 }, /* 0x0048 */
- { CODEPAGE_ISUPPER, 0x0049, 0x0069 }, /* 0x0049 */
- { CODEPAGE_ISUPPER, 0x004a, 0x006a }, /* 0x004a */
- { CODEPAGE_ISUPPER, 0x004b, 0x006b }, /* 0x004b */
- { CODEPAGE_ISUPPER, 0x004c, 0x006c }, /* 0x004c */
- { CODEPAGE_ISUPPER, 0x004d, 0x006d }, /* 0x004d */
- { CODEPAGE_ISUPPER, 0x004e, 0x006e }, /* 0x004e */
- { CODEPAGE_ISUPPER, 0x004f, 0x006f }, /* 0x004f */
- { CODEPAGE_ISUPPER, 0x0050, 0x0070 }, /* 0x0050 */
- { CODEPAGE_ISUPPER, 0x0051, 0x0071 }, /* 0x0051 */
- { CODEPAGE_ISUPPER, 0x0052, 0x0072 }, /* 0x0052 */
- { CODEPAGE_ISUPPER, 0x0053, 0x0073 }, /* 0x0053 */
- { CODEPAGE_ISUPPER, 0x0054, 0x0074 }, /* 0x0054 */
- { CODEPAGE_ISUPPER, 0x0055, 0x0075 }, /* 0x0055 */
- { CODEPAGE_ISUPPER, 0x0056, 0x0076 }, /* 0x0056 */
- { CODEPAGE_ISUPPER, 0x0057, 0x0077 }, /* 0x0057 */
- { CODEPAGE_ISUPPER, 0x0058, 0x0078 }, /* 0x0058 */
- { CODEPAGE_ISUPPER, 0x0059, 0x0079 }, /* 0x0059 */
- { CODEPAGE_ISUPPER, 0x005a, 0x007a }, /* 0x005a */
- { CODEPAGE_ISNONE, 0x005b, 0x005b }, /* 0x005b */
- { CODEPAGE_ISNONE, 0x005c, 0x005c }, /* 0x005c */
- { CODEPAGE_ISNONE, 0x005d, 0x005d }, /* 0x005d */
- { CODEPAGE_ISNONE, 0x005e, 0x005e }, /* 0x005e */
- { CODEPAGE_ISNONE, 0x005f, 0x005f }, /* 0x005f */
- { CODEPAGE_ISNONE, 0x0060, 0x0060 }, /* 0x0060 */
- { CODEPAGE_ISLOWER, 0x0041, 0x0061 }, /* 0x0061 */
- { CODEPAGE_ISLOWER, 0x0042, 0x0062 }, /* 0x0062 */
- { CODEPAGE_ISLOWER, 0x0043, 0x0063 }, /* 0x0063 */
- { CODEPAGE_ISLOWER, 0x0044, 0x0064 }, /* 0x0064 */
- { CODEPAGE_ISLOWER, 0x0045, 0x0065 }, /* 0x0065 */
- { CODEPAGE_ISLOWER, 0x0046, 0x0066 }, /* 0x0066 */
- { CODEPAGE_ISLOWER, 0x0047, 0x0067 }, /* 0x0067 */
- { CODEPAGE_ISLOWER, 0x0048, 0x0068 }, /* 0x0068 */
- { CODEPAGE_ISLOWER, 0x0049, 0x0069 }, /* 0x0069 */
- { CODEPAGE_ISLOWER, 0x004a, 0x006a }, /* 0x006a */
- { CODEPAGE_ISLOWER, 0x004b, 0x006b }, /* 0x006b */
- { CODEPAGE_ISLOWER, 0x004c, 0x006c }, /* 0x006c */
- { CODEPAGE_ISLOWER, 0x004d, 0x006d }, /* 0x006d */
- { CODEPAGE_ISLOWER, 0x004e, 0x006e }, /* 0x006e */
- { CODEPAGE_ISLOWER, 0x004f, 0x006f }, /* 0x006f */
- { CODEPAGE_ISLOWER, 0x0050, 0x0070 }, /* 0x0070 */
- { CODEPAGE_ISLOWER, 0x0051, 0x0071 }, /* 0x0071 */
- { CODEPAGE_ISLOWER, 0x0052, 0x0072 }, /* 0x0072 */
- { CODEPAGE_ISLOWER, 0x0053, 0x0073 }, /* 0x0073 */
- { CODEPAGE_ISLOWER, 0x0054, 0x0074 }, /* 0x0074 */
- { CODEPAGE_ISLOWER, 0x0055, 0x0075 }, /* 0x0075 */
- { CODEPAGE_ISLOWER, 0x0056, 0x0076 }, /* 0x0076 */
- { CODEPAGE_ISLOWER, 0x0057, 0x0077 }, /* 0x0077 */
- { CODEPAGE_ISLOWER, 0x0058, 0x0078 }, /* 0x0078 */
- { CODEPAGE_ISLOWER, 0x0059, 0x0079 }, /* 0x0079 */
- { CODEPAGE_ISLOWER, 0x005a, 0x007a }, /* 0x007a */
- { CODEPAGE_ISNONE, 0x007b, 0x007b }, /* 0x007b */
- { CODEPAGE_ISNONE, 0x007c, 0x007c }, /* 0x007c */
- { CODEPAGE_ISNONE, 0x007d, 0x007d }, /* 0x007d */
- { CODEPAGE_ISNONE, 0x007e, 0x007e }, /* 0x007e */
- { CODEPAGE_ISNONE, 0x007f, 0x007f }, /* 0x007f */
- { CODEPAGE_ISNONE, 0x0080, 0x0080 }, /* 0x0080 */
- { CODEPAGE_ISNONE, 0x0081, 0x0081 }, /* 0x0081 */
- { CODEPAGE_ISNONE, 0x0082, 0x0082 }, /* 0x0082 */
- { CODEPAGE_ISNONE, 0x0083, 0x0083 }, /* 0x0083 */
- { CODEPAGE_ISNONE, 0x0084, 0x0084 }, /* 0x0084 */
- { CODEPAGE_ISNONE, 0x0085, 0x0085 }, /* 0x0085 */
- { CODEPAGE_ISNONE, 0x0086, 0x0086 }, /* 0x0086 */
- { CODEPAGE_ISNONE, 0x0087, 0x0087 }, /* 0x0087 */
- { CODEPAGE_ISNONE, 0x0088, 0x0088 }, /* 0x0088 */
- { CODEPAGE_ISNONE, 0x0089, 0x0089 }, /* 0x0089 */
- { CODEPAGE_ISNONE, 0x008a, 0x008a }, /* 0x008a */
- { CODEPAGE_ISNONE, 0x008b, 0x008b }, /* 0x008b */
- { CODEPAGE_ISNONE, 0x008c, 0x008c }, /* 0x008c */
- { CODEPAGE_ISNONE, 0x008d, 0x008d }, /* 0x008d */
- { CODEPAGE_ISNONE, 0x008e, 0x008e }, /* 0x008e */
- { CODEPAGE_ISNONE, 0x008f, 0x008f }, /* 0x008f */
- { CODEPAGE_ISNONE, 0x0090, 0x0090 }, /* 0x0090 */
- { CODEPAGE_ISNONE, 0x0091, 0x0091 }, /* 0x0091 */
- { CODEPAGE_ISNONE, 0x0092, 0x0092 }, /* 0x0092 */
- { CODEPAGE_ISNONE, 0x0093, 0x0093 }, /* 0x0093 */
- { CODEPAGE_ISNONE, 0x0094, 0x0094 }, /* 0x0094 */
- { CODEPAGE_ISNONE, 0x0095, 0x0095 }, /* 0x0095 */
- { CODEPAGE_ISNONE, 0x0096, 0x0096 }, /* 0x0096 */
- { CODEPAGE_ISNONE, 0x0097, 0x0097 }, /* 0x0097 */
- { CODEPAGE_ISNONE, 0x0098, 0x0098 }, /* 0x0098 */
- { CODEPAGE_ISNONE, 0x0099, 0x0099 }, /* 0x0099 */
- { CODEPAGE_ISNONE, 0x009a, 0x009a }, /* 0x009a */
- { CODEPAGE_ISNONE, 0x009b, 0x009b }, /* 0x009b */
- { CODEPAGE_ISNONE, 0x009c, 0x009c }, /* 0x009c */
- { CODEPAGE_ISNONE, 0x009d, 0x009d }, /* 0x009d */
- { CODEPAGE_ISNONE, 0x009e, 0x009e }, /* 0x009e */
- { CODEPAGE_ISNONE, 0x009f, 0x009f }, /* 0x009f */
- { CODEPAGE_ISNONE, 0x00a0, 0x00a0 }, /* 0x00a0 */
- { CODEPAGE_ISUPPER, 0x00a1, 0x00b1 }, /* 0x00a1 */
- { CODEPAGE_ISNONE, 0x00a2, 0x00a2 }, /* 0x00a2 */
- { CODEPAGE_ISNONE, 0x00a3, 0x00a3 }, /* 0x00a3 */
- { CODEPAGE_ISNONE, 0x00a4, 0x00a4 }, /* 0x00a4 */
- { CODEPAGE_ISNONE, 0x00a5, 0x00a5 }, /* 0x00a5 */
- { CODEPAGE_ISUPPER, 0x00a6, 0x00b6 }, /* 0x00a6 */
- { CODEPAGE_ISNONE, 0x00a7, 0x00a7 }, /* 0x00a7 */
- { CODEPAGE_ISNONE, 0x00a8, 0x00a8 }, /* 0x00a8 */
- { CODEPAGE_ISUPPER, 0x00a9, 0x00b9 }, /* 0x00a9 */
- { CODEPAGE_ISUPPER, 0x00aa, 0x00ba }, /* 0x00aa */
- { CODEPAGE_ISUPPER, 0x00ab, 0x00bb }, /* 0x00ab */
- { CODEPAGE_ISUPPER, 0x00ac, 0x00bc }, /* 0x00ac */
- { CODEPAGE_ISNONE, 0x00ad, 0x00ad }, /* 0x00ad */
- { CODEPAGE_ISNONE, 0x00ae, 0x00ae }, /* 0x00ae */
- { CODEPAGE_ISUPPER, 0x00af, 0x00bf }, /* 0x00af */
- { CODEPAGE_ISNONE, 0x00b0, 0x00b0 }, /* 0x00b0 */
- { CODEPAGE_ISLOWER, 0x00a1, 0x00b1 }, /* 0x00b1 */
- { CODEPAGE_ISNONE, 0x00b2, 0x00b2 }, /* 0x00b2 */
- { CODEPAGE_ISNONE, 0x00b3, 0x00b3 }, /* 0x00b3 */
- { CODEPAGE_ISNONE, 0x00b4, 0x00b4 }, /* 0x00b4 */
- { CODEPAGE_ISNONE, 0x00b5, 0x00b5 }, /* 0x00b5 */
- { CODEPAGE_ISLOWER, 0x00a6, 0x00b6 }, /* 0x00b6 */
- { CODEPAGE_ISNONE, 0x00b7, 0x00b7 }, /* 0x00b7 */
- { CODEPAGE_ISNONE, 0x00b8, 0x00b8 }, /* 0x00b8 */
- { CODEPAGE_ISLOWER, 0x00a9, 0x00b9 }, /* 0x00b9 */
- { CODEPAGE_ISLOWER, 0x00aa, 0x00ba }, /* 0x00ba */
- { CODEPAGE_ISLOWER, 0x00ab, 0x00bb }, /* 0x00bb */
- { CODEPAGE_ISLOWER, 0x00ac, 0x00bc }, /* 0x00bc */
- { CODEPAGE_ISNONE, 0x00bd, 0x00bd }, /* 0x00bd */
- { CODEPAGE_ISNONE, 0x00be, 0x00be }, /* 0x00be */
- { CODEPAGE_ISLOWER, 0x00af, 0x00bf }, /* 0x00bf */
- { CODEPAGE_ISUPPER, 0x00c0, 0x00e0 }, /* 0x00c0 */
- { CODEPAGE_ISUPPER, 0x00c1, 0x00e1 }, /* 0x00c1 */
- { CODEPAGE_ISUPPER, 0x00c2, 0x00e2 }, /* 0x00c2 */
- { CODEPAGE_ISNONE, 0x00c3, 0x00c3 }, /* 0x00c3 */
- { CODEPAGE_ISUPPER, 0x00c4, 0x00e4 }, /* 0x00c4 */
- { CODEPAGE_ISUPPER, 0x00c5, 0x00e5 }, /* 0x00c5 */
- { CODEPAGE_ISUPPER, 0x00c6, 0x00e6 }, /* 0x00c6 */
- { CODEPAGE_ISUPPER, 0x00c7, 0x00e7 }, /* 0x00c7 */
- { CODEPAGE_ISUPPER, 0x00c8, 0x00e8 }, /* 0x00c8 */
- { CODEPAGE_ISUPPER, 0x00c9, 0x00e9 }, /* 0x00c9 */
- { CODEPAGE_ISUPPER, 0x00ca, 0x00ea }, /* 0x00ca */
- { CODEPAGE_ISUPPER, 0x00cb, 0x00eb }, /* 0x00cb */
- { CODEPAGE_ISUPPER, 0x00cc, 0x00ec }, /* 0x00cc */
- { CODEPAGE_ISUPPER, 0x00cd, 0x00ed }, /* 0x00cd */
- { CODEPAGE_ISUPPER, 0x00ce, 0x00ee }, /* 0x00ce */
- { CODEPAGE_ISUPPER, 0x00cf, 0x00ef }, /* 0x00cf */
- { CODEPAGE_ISNONE, 0x00d0, 0x00d0 }, /* 0x00d0 */
- { CODEPAGE_ISUPPER, 0x00d1, 0x00f1 }, /* 0x00d1 */
- { CODEPAGE_ISUPPER, 0x00d2, 0x00f2 }, /* 0x00d2 */
- { CODEPAGE_ISUPPER, 0x00d3, 0x00f3 }, /* 0x00d3 */
- { CODEPAGE_ISUPPER, 0x00d4, 0x00f4 }, /* 0x00d4 */
- { CODEPAGE_ISUPPER, 0x00d5, 0x00f5 }, /* 0x00d5 */
- { CODEPAGE_ISUPPER, 0x00d6, 0x00f6 }, /* 0x00d6 */
- { CODEPAGE_ISNONE, 0x00d7, 0x00d7 }, /* 0x00d7 */
- { CODEPAGE_ISUPPER, 0x00d8, 0x00f8 }, /* 0x00d8 */
- { CODEPAGE_ISUPPER, 0x00d9, 0x00f9 }, /* 0x00d9 */
- { CODEPAGE_ISUPPER, 0x00da, 0x00fa }, /* 0x00da */
- { CODEPAGE_ISUPPER, 0x00db, 0x00fb }, /* 0x00db */
- { CODEPAGE_ISUPPER, 0x00dc, 0x00fc }, /* 0x00dc */
- { CODEPAGE_ISUPPER, 0x00dd, 0x00fd }, /* 0x00dd */
- { CODEPAGE_ISUPPER, 0x00de, 0x00fe }, /* 0x00de */
- { CODEPAGE_ISNONE, 0x00df, 0x00df }, /* 0x00df */
- { CODEPAGE_ISLOWER, 0x00c0, 0x00e0 }, /* 0x00e0 */
- { CODEPAGE_ISLOWER, 0x00c1, 0x00e1 }, /* 0x00e1 */
- { CODEPAGE_ISLOWER, 0x00c2, 0x00e2 }, /* 0x00e2 */
- { CODEPAGE_ISNONE, 0x00e3, 0x00e3 }, /* 0x00e3 */
- { CODEPAGE_ISLOWER, 0x00c4, 0x00e4 }, /* 0x00e4 */
- { CODEPAGE_ISLOWER, 0x00c5, 0x00e5 }, /* 0x00e5 */
- { CODEPAGE_ISLOWER, 0x00c6, 0x00e6 }, /* 0x00e6 */
- { CODEPAGE_ISLOWER, 0x00c7, 0x00e7 }, /* 0x00e7 */
- { CODEPAGE_ISLOWER, 0x00c8, 0x00e8 }, /* 0x00e8 */
- { CODEPAGE_ISLOWER, 0x00c9, 0x00e9 }, /* 0x00e9 */
- { CODEPAGE_ISLOWER, 0x00ca, 0x00ea }, /* 0x00ea */
- { CODEPAGE_ISLOWER, 0x00cb, 0x00eb }, /* 0x00eb */
- { CODEPAGE_ISLOWER, 0x00cc, 0x00ec }, /* 0x00ec */
- { CODEPAGE_ISLOWER, 0x00cd, 0x00ed }, /* 0x00ed */
- { CODEPAGE_ISLOWER, 0x00ce, 0x00ee }, /* 0x00ee */
- { CODEPAGE_ISLOWER, 0x00cf, 0x00ef }, /* 0x00ef */
- { CODEPAGE_ISNONE, 0x00f0, 0x00f0 }, /* 0x00f0 */
- { CODEPAGE_ISLOWER, 0x00d1, 0x00f1 }, /* 0x00f1 */
- { CODEPAGE_ISLOWER, 0x00d2, 0x00f2 }, /* 0x00f2 */
- { CODEPAGE_ISLOWER, 0x00d3, 0x00f3 }, /* 0x00f3 */
- { CODEPAGE_ISLOWER, 0x00d4, 0x00f4 }, /* 0x00f4 */
- { CODEPAGE_ISLOWER, 0x00d5, 0x00f5 }, /* 0x00f5 */
- { CODEPAGE_ISLOWER, 0x00d6, 0x00f6 }, /* 0x00f6 */
- { CODEPAGE_ISNONE, 0x00f7, 0x00f7 }, /* 0x00f7 */
- { CODEPAGE_ISLOWER, 0x00d8, 0x00f8 }, /* 0x00f8 */
- { CODEPAGE_ISLOWER, 0x00d9, 0x00f9 }, /* 0x00f9 */
- { CODEPAGE_ISLOWER, 0x00da, 0x00fa }, /* 0x00fa */
- { CODEPAGE_ISLOWER, 0x00db, 0x00fb }, /* 0x00fb */
- { CODEPAGE_ISLOWER, 0x00dc, 0x00fc }, /* 0x00fc */
- { CODEPAGE_ISLOWER, 0x00dd, 0x00fd }, /* 0x00fd */
- { CODEPAGE_ISLOWER, 0x00de, 0x00fe }, /* 0x00fe */
- { CODEPAGE_ISNONE, 0x00ff, 0x00ff } /* 0x00ff */
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CP_LATIN3_H */
diff --git a/usr/src/uts/common/smbsrv/cp_latin4.h b/usr/src/uts/common/smbsrv/cp_latin4.h
deleted file mode 100644
index 87e8282510..0000000000
--- a/usr/src/uts/common/smbsrv/cp_latin4.h
+++ /dev/null
@@ -1,312 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CP_LATIN4_H
-#define _SMBSRV_CP_LATIN4_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * This file specifies a codepage mapping for a given character set as
- * specified below:
- *
- * This is the codepage for Latin-4 Character Set.
- * This codepage defines values for the special
- * characters needed for the written alphabets of the
- * following languages: Estonian, Baltic [Latvian &
- * Lithuanian], Greenlandic, and Lappish
- * The Latin-4 character set is also known as iso-8859-4
- */
-
-#include <smbsrv/codepage.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-codepage_t Latin4_codepage[256] = {
- { CODEPAGE_ISNONE, 0x0000, 0x0000 }, /* 0x0000 */
- { CODEPAGE_ISNONE, 0x0001, 0x0001 }, /* 0x0001 */
- { CODEPAGE_ISNONE, 0x0002, 0x0002 }, /* 0x0002 */
- { CODEPAGE_ISNONE, 0x0003, 0x0003 }, /* 0x0003 */
- { CODEPAGE_ISNONE, 0x0004, 0x0004 }, /* 0x0004 */
- { CODEPAGE_ISNONE, 0x0005, 0x0005 }, /* 0x0005 */
- { CODEPAGE_ISNONE, 0x0006, 0x0006 }, /* 0x0006 */
- { CODEPAGE_ISNONE, 0x0007, 0x0007 }, /* 0x0007 */
- { CODEPAGE_ISNONE, 0x0008, 0x0008 }, /* 0x0008 */
- { CODEPAGE_ISNONE, 0x0009, 0x0009 }, /* 0x0009 */
- { CODEPAGE_ISNONE, 0x000a, 0x000a }, /* 0x000a */
- { CODEPAGE_ISNONE, 0x000b, 0x000b }, /* 0x000b */
- { CODEPAGE_ISNONE, 0x000c, 0x000c }, /* 0x000c */
- { CODEPAGE_ISNONE, 0x000d, 0x000d }, /* 0x000d */
- { CODEPAGE_ISNONE, 0x000e, 0x000e }, /* 0x000e */
- { CODEPAGE_ISNONE, 0x000f, 0x000f }, /* 0x000f */
- { CODEPAGE_ISNONE, 0x0010, 0x0010 }, /* 0x0010 */
- { CODEPAGE_ISNONE, 0x0011, 0x0011 }, /* 0x0011 */
- { CODEPAGE_ISNONE, 0x0012, 0x0012 }, /* 0x0012 */
- { CODEPAGE_ISNONE, 0x0013, 0x0013 }, /* 0x0013 */
- { CODEPAGE_ISNONE, 0x0014, 0x0014 }, /* 0x0014 */
- { CODEPAGE_ISNONE, 0x0015, 0x0015 }, /* 0x0015 */
- { CODEPAGE_ISNONE, 0x0016, 0x0016 }, /* 0x0016 */
- { CODEPAGE_ISNONE, 0x0017, 0x0017 }, /* 0x0017 */
- { CODEPAGE_ISNONE, 0x0018, 0x0018 }, /* 0x0018 */
- { CODEPAGE_ISNONE, 0x0019, 0x0019 }, /* 0x0019 */
- { CODEPAGE_ISNONE, 0x001a, 0x001a }, /* 0x001a */
- { CODEPAGE_ISNONE, 0x001b, 0x001b }, /* 0x001b */
- { CODEPAGE_ISNONE, 0x001c, 0x001c }, /* 0x001c */
- { CODEPAGE_ISNONE, 0x001d, 0x001d }, /* 0x001d */
- { CODEPAGE_ISNONE, 0x001e, 0x001e }, /* 0x001e */
- { CODEPAGE_ISNONE, 0x001f, 0x001f }, /* 0x001f */
- { CODEPAGE_ISNONE, 0x0020, 0x0020 }, /* 0x0020 */
- { CODEPAGE_ISNONE, 0x0021, 0x0021 }, /* 0x0021 */
- { CODEPAGE_ISNONE, 0x0022, 0x0022 }, /* 0x0022 */
- { CODEPAGE_ISNONE, 0x0023, 0x0023 }, /* 0x0023 */
- { CODEPAGE_ISNONE, 0x0024, 0x0024 }, /* 0x0024 */
- { CODEPAGE_ISNONE, 0x0025, 0x0025 }, /* 0x0025 */
- { CODEPAGE_ISNONE, 0x0026, 0x0026 }, /* 0x0026 */
- { CODEPAGE_ISNONE, 0x0027, 0x0027 }, /* 0x0027 */
- { CODEPAGE_ISNONE, 0x0028, 0x0028 }, /* 0x0028 */
- { CODEPAGE_ISNONE, 0x0029, 0x0029 }, /* 0x0029 */
- { CODEPAGE_ISNONE, 0x002a, 0x002a }, /* 0x002a */
- { CODEPAGE_ISNONE, 0x002b, 0x002b }, /* 0x002b */
- { CODEPAGE_ISNONE, 0x002c, 0x002c }, /* 0x002c */
- { CODEPAGE_ISNONE, 0x002d, 0x002d }, /* 0x002d */
- { CODEPAGE_ISNONE, 0x002e, 0x002e }, /* 0x002e */
- { CODEPAGE_ISNONE, 0x002f, 0x002f }, /* 0x002f */
- { CODEPAGE_ISNONE, 0x0030, 0x0030 }, /* 0x0030 */
- { CODEPAGE_ISNONE, 0x0031, 0x0031 }, /* 0x0031 */
- { CODEPAGE_ISNONE, 0x0032, 0x0032 }, /* 0x0032 */
- { CODEPAGE_ISNONE, 0x0033, 0x0033 }, /* 0x0033 */
- { CODEPAGE_ISNONE, 0x0034, 0x0034 }, /* 0x0034 */
- { CODEPAGE_ISNONE, 0x0035, 0x0035 }, /* 0x0035 */
- { CODEPAGE_ISNONE, 0x0036, 0x0036 }, /* 0x0036 */
- { CODEPAGE_ISNONE, 0x0037, 0x0037 }, /* 0x0037 */
- { CODEPAGE_ISNONE, 0x0038, 0x0038 }, /* 0x0038 */
- { CODEPAGE_ISNONE, 0x0039, 0x0039 }, /* 0x0039 */
- { CODEPAGE_ISNONE, 0x003a, 0x003a }, /* 0x003a */
- { CODEPAGE_ISNONE, 0x003b, 0x003b }, /* 0x003b */
- { CODEPAGE_ISNONE, 0x003c, 0x003c }, /* 0x003c */
- { CODEPAGE_ISNONE, 0x003d, 0x003d }, /* 0x003d */
- { CODEPAGE_ISNONE, 0x003e, 0x003e }, /* 0x003e */
- { CODEPAGE_ISNONE, 0x003f, 0x003f }, /* 0x003f */
- { CODEPAGE_ISNONE, 0x0040, 0x0040 }, /* 0x0040 */
- { CODEPAGE_ISUPPER, 0x0041, 0x0061 }, /* 0x0041 */
- { CODEPAGE_ISUPPER, 0x0042, 0x0062 }, /* 0x0042 */
- { CODEPAGE_ISUPPER, 0x0043, 0x0063 }, /* 0x0043 */
- { CODEPAGE_ISUPPER, 0x0044, 0x0064 }, /* 0x0044 */
- { CODEPAGE_ISUPPER, 0x0045, 0x0065 }, /* 0x0045 */
- { CODEPAGE_ISUPPER, 0x0046, 0x0066 }, /* 0x0046 */
- { CODEPAGE_ISUPPER, 0x0047, 0x0067 }, /* 0x0047 */
- { CODEPAGE_ISUPPER, 0x0048, 0x0068 }, /* 0x0048 */
- { CODEPAGE_ISUPPER, 0x0049, 0x0069 }, /* 0x0049 */
- { CODEPAGE_ISUPPER, 0x004a, 0x006a }, /* 0x004a */
- { CODEPAGE_ISUPPER, 0x004b, 0x006b }, /* 0x004b */
- { CODEPAGE_ISUPPER, 0x004c, 0x006c }, /* 0x004c */
- { CODEPAGE_ISUPPER, 0x004d, 0x006d }, /* 0x004d */
- { CODEPAGE_ISUPPER, 0x004e, 0x006e }, /* 0x004e */
- { CODEPAGE_ISUPPER, 0x004f, 0x006f }, /* 0x004f */
- { CODEPAGE_ISUPPER, 0x0050, 0x0070 }, /* 0x0050 */
- { CODEPAGE_ISUPPER, 0x0051, 0x0071 }, /* 0x0051 */
- { CODEPAGE_ISUPPER, 0x0052, 0x0072 }, /* 0x0052 */
- { CODEPAGE_ISUPPER, 0x0053, 0x0073 }, /* 0x0053 */
- { CODEPAGE_ISUPPER, 0x0054, 0x0074 }, /* 0x0054 */
- { CODEPAGE_ISUPPER, 0x0055, 0x0075 }, /* 0x0055 */
- { CODEPAGE_ISUPPER, 0x0056, 0x0076 }, /* 0x0056 */
- { CODEPAGE_ISUPPER, 0x0057, 0x0077 }, /* 0x0057 */
- { CODEPAGE_ISUPPER, 0x0058, 0x0078 }, /* 0x0058 */
- { CODEPAGE_ISUPPER, 0x0059, 0x0079 }, /* 0x0059 */
- { CODEPAGE_ISUPPER, 0x005a, 0x007a }, /* 0x005a */
- { CODEPAGE_ISNONE, 0x005b, 0x005b }, /* 0x005b */
- { CODEPAGE_ISNONE, 0x005c, 0x005c }, /* 0x005c */
- { CODEPAGE_ISNONE, 0x005d, 0x005d }, /* 0x005d */
- { CODEPAGE_ISNONE, 0x005e, 0x005e }, /* 0x005e */
- { CODEPAGE_ISNONE, 0x005f, 0x005f }, /* 0x005f */
- { CODEPAGE_ISNONE, 0x0060, 0x0060 }, /* 0x0060 */
- { CODEPAGE_ISLOWER, 0x0041, 0x0061 }, /* 0x0061 */
- { CODEPAGE_ISLOWER, 0x0042, 0x0062 }, /* 0x0062 */
- { CODEPAGE_ISLOWER, 0x0043, 0x0063 }, /* 0x0063 */
- { CODEPAGE_ISLOWER, 0x0044, 0x0064 }, /* 0x0064 */
- { CODEPAGE_ISLOWER, 0x0045, 0x0065 }, /* 0x0065 */
- { CODEPAGE_ISLOWER, 0x0046, 0x0066 }, /* 0x0066 */
- { CODEPAGE_ISLOWER, 0x0047, 0x0067 }, /* 0x0067 */
- { CODEPAGE_ISLOWER, 0x0048, 0x0068 }, /* 0x0068 */
- { CODEPAGE_ISLOWER, 0x0049, 0x0069 }, /* 0x0069 */
- { CODEPAGE_ISLOWER, 0x004a, 0x006a }, /* 0x006a */
- { CODEPAGE_ISLOWER, 0x004b, 0x006b }, /* 0x006b */
- { CODEPAGE_ISLOWER, 0x004c, 0x006c }, /* 0x006c */
- { CODEPAGE_ISLOWER, 0x004d, 0x006d }, /* 0x006d */
- { CODEPAGE_ISLOWER, 0x004e, 0x006e }, /* 0x006e */
- { CODEPAGE_ISLOWER, 0x004f, 0x006f }, /* 0x006f */
- { CODEPAGE_ISLOWER, 0x0050, 0x0070 }, /* 0x0070 */
- { CODEPAGE_ISLOWER, 0x0051, 0x0071 }, /* 0x0071 */
- { CODEPAGE_ISLOWER, 0x0052, 0x0072 }, /* 0x0072 */
- { CODEPAGE_ISLOWER, 0x0053, 0x0073 }, /* 0x0073 */
- { CODEPAGE_ISLOWER, 0x0054, 0x0074 }, /* 0x0074 */
- { CODEPAGE_ISLOWER, 0x0055, 0x0075 }, /* 0x0075 */
- { CODEPAGE_ISLOWER, 0x0056, 0x0076 }, /* 0x0076 */
- { CODEPAGE_ISLOWER, 0x0057, 0x0077 }, /* 0x0077 */
- { CODEPAGE_ISLOWER, 0x0058, 0x0078 }, /* 0x0078 */
- { CODEPAGE_ISLOWER, 0x0059, 0x0079 }, /* 0x0079 */
- { CODEPAGE_ISLOWER, 0x005a, 0x007a }, /* 0x007a */
- { CODEPAGE_ISNONE, 0x007b, 0x007b }, /* 0x007b */
- { CODEPAGE_ISNONE, 0x007c, 0x007c }, /* 0x007c */
- { CODEPAGE_ISNONE, 0x007d, 0x007d }, /* 0x007d */
- { CODEPAGE_ISNONE, 0x007e, 0x007e }, /* 0x007e */
- { CODEPAGE_ISNONE, 0x007f, 0x007f }, /* 0x007f */
- { CODEPAGE_ISNONE, 0x0080, 0x0080 }, /* 0x0080 */
- { CODEPAGE_ISNONE, 0x0081, 0x0081 }, /* 0x0081 */
- { CODEPAGE_ISNONE, 0x0082, 0x0082 }, /* 0x0082 */
- { CODEPAGE_ISNONE, 0x0083, 0x0083 }, /* 0x0083 */
- { CODEPAGE_ISNONE, 0x0084, 0x0084 }, /* 0x0084 */
- { CODEPAGE_ISNONE, 0x0085, 0x0085 }, /* 0x0085 */
- { CODEPAGE_ISNONE, 0x0086, 0x0086 }, /* 0x0086 */
- { CODEPAGE_ISNONE, 0x0087, 0x0087 }, /* 0x0087 */
- { CODEPAGE_ISNONE, 0x0088, 0x0088 }, /* 0x0088 */
- { CODEPAGE_ISNONE, 0x0089, 0x0089 }, /* 0x0089 */
- { CODEPAGE_ISNONE, 0x008a, 0x008a }, /* 0x008a */
- { CODEPAGE_ISNONE, 0x008b, 0x008b }, /* 0x008b */
- { CODEPAGE_ISNONE, 0x008c, 0x008c }, /* 0x008c */
- { CODEPAGE_ISNONE, 0x008d, 0x008d }, /* 0x008d */
- { CODEPAGE_ISNONE, 0x008e, 0x008e }, /* 0x008e */
- { CODEPAGE_ISNONE, 0x008f, 0x008f }, /* 0x008f */
- { CODEPAGE_ISNONE, 0x0090, 0x0090 }, /* 0x0090 */
- { CODEPAGE_ISNONE, 0x0091, 0x0091 }, /* 0x0091 */
- { CODEPAGE_ISNONE, 0x0092, 0x0092 }, /* 0x0092 */
- { CODEPAGE_ISNONE, 0x0093, 0x0093 }, /* 0x0093 */
- { CODEPAGE_ISNONE, 0x0094, 0x0094 }, /* 0x0094 */
- { CODEPAGE_ISNONE, 0x0095, 0x0095 }, /* 0x0095 */
- { CODEPAGE_ISNONE, 0x0096, 0x0096 }, /* 0x0096 */
- { CODEPAGE_ISNONE, 0x0097, 0x0097 }, /* 0x0097 */
- { CODEPAGE_ISNONE, 0x0098, 0x0098 }, /* 0x0098 */
- { CODEPAGE_ISNONE, 0x0099, 0x0099 }, /* 0x0099 */
- { CODEPAGE_ISNONE, 0x009a, 0x009a }, /* 0x009a */
- { CODEPAGE_ISNONE, 0x009b, 0x009b }, /* 0x009b */
- { CODEPAGE_ISNONE, 0x009c, 0x009c }, /* 0x009c */
- { CODEPAGE_ISNONE, 0x009d, 0x009d }, /* 0x009d */
- { CODEPAGE_ISNONE, 0x009e, 0x009e }, /* 0x009e */
- { CODEPAGE_ISNONE, 0x009f, 0x009f }, /* 0x009f */
- { CODEPAGE_ISNONE, 0x00a0, 0x00a0 }, /* 0x00a0 */
- { CODEPAGE_ISUPPER, 0x00a1, 0x00b1 }, /* 0x00a1 */
- { CODEPAGE_ISNONE, 0x00a2, 0x00a2 }, /* 0x00a2 */
- { CODEPAGE_ISUPPER, 0x00a3, 0x00b3 }, /* 0x00a3 */
- { CODEPAGE_ISNONE, 0x00a4, 0x00a4 }, /* 0x00a4 */
- { CODEPAGE_ISUPPER, 0x00a5, 0x00b5 }, /* 0x00a5 */
- { CODEPAGE_ISUPPER, 0x00a6, 0x00b6 }, /* 0x00a6 */
- { CODEPAGE_ISNONE, 0x00a7, 0x00a7 }, /* 0x00a7 */
- { CODEPAGE_ISNONE, 0x00a8, 0x00a8 }, /* 0x00a8 */
- { CODEPAGE_ISUPPER, 0x00a9, 0x00b9 }, /* 0x00a9 */
- { CODEPAGE_ISUPPER, 0x00aa, 0x00ba }, /* 0x00aa */
- { CODEPAGE_ISUPPER, 0x00ab, 0x00bb }, /* 0x00ab */
- { CODEPAGE_ISUPPER, 0x00ac, 0x00bc }, /* 0x00ac */
- { CODEPAGE_ISNONE, 0x00ad, 0x00ad }, /* 0x00ad */
- { CODEPAGE_ISUPPER, 0x00ae, 0x00be }, /* 0x00ae */
- { CODEPAGE_ISNONE, 0x00af, 0x00af }, /* 0x00af */
- { CODEPAGE_ISNONE, 0x00b0, 0x00b0 }, /* 0x00b0 */
- { CODEPAGE_ISLOWER, 0x00a1, 0x00b1 }, /* 0x00b1 */
- { CODEPAGE_ISNONE, 0x00b2, 0x00b2 }, /* 0x00b2 */
- { CODEPAGE_ISLOWER, 0x00a3, 0x00b3 }, /* 0x00b3 */
- { CODEPAGE_ISNONE, 0x00b4, 0x00b4 }, /* 0x00b4 */
- { CODEPAGE_ISLOWER, 0x00a5, 0x00b5 }, /* 0x00b5 */
- { CODEPAGE_ISLOWER, 0x00a6, 0x00b6 }, /* 0x00b6 */
- { CODEPAGE_ISNONE, 0x00b7, 0x00b7 }, /* 0x00b7 */
- { CODEPAGE_ISNONE, 0x00b8, 0x00b8 }, /* 0x00b8 */
- { CODEPAGE_ISLOWER, 0x00a9, 0x00b9 }, /* 0x00b9 */
- { CODEPAGE_ISLOWER, 0x00aa, 0x00ba }, /* 0x00ba */
- { CODEPAGE_ISLOWER, 0x00ab, 0x00bb }, /* 0x00bb */
- { CODEPAGE_ISLOWER, 0x00ac, 0x00bc }, /* 0x00bc */
- { CODEPAGE_ISNONE, 0x00bd, 0x00bd }, /* 0x00bd */
- { CODEPAGE_ISLOWER, 0x00ae, 0x00be }, /* 0x00be */
- { CODEPAGE_ISNONE, 0x00bf, 0x00bf }, /* 0x00bf */
- { CODEPAGE_ISUPPER, 0x00c0, 0x00e0 }, /* 0x00c0 */
- { CODEPAGE_ISUPPER, 0x00c1, 0x00e1 }, /* 0x00c1 */
- { CODEPAGE_ISUPPER, 0x00c2, 0x00e2 }, /* 0x00c2 */
- { CODEPAGE_ISUPPER, 0x00c3, 0x00e3 }, /* 0x00c3 */
- { CODEPAGE_ISUPPER, 0x00c4, 0x00e4 }, /* 0x00c4 */
- { CODEPAGE_ISUPPER, 0x00c5, 0x00e5 }, /* 0x00c5 */
- { CODEPAGE_ISUPPER, 0x00c6, 0x00e6 }, /* 0x00c6 */
- { CODEPAGE_ISUPPER, 0x00c7, 0x00e7 }, /* 0x00c7 */
- { CODEPAGE_ISUPPER, 0x00c8, 0x00e8 }, /* 0x00c8 */
- { CODEPAGE_ISUPPER, 0x00c9, 0x00e9 }, /* 0x00c9 */
- { CODEPAGE_ISUPPER, 0x00ca, 0x00ea }, /* 0x00ca */
- { CODEPAGE_ISUPPER, 0x00cb, 0x00eb }, /* 0x00cb */
- { CODEPAGE_ISUPPER, 0x00cc, 0x00ec }, /* 0x00cc */
- { CODEPAGE_ISUPPER, 0x00cd, 0x00ed }, /* 0x00cd */
- { CODEPAGE_ISUPPER, 0x00ce, 0x00ee }, /* 0x00ce */
- { CODEPAGE_ISUPPER, 0x00cf, 0x00ef }, /* 0x00cf */
- { CODEPAGE_ISUPPER, 0x00d0, 0x00f0 }, /* 0x00d0 */
- { CODEPAGE_ISUPPER, 0x00d1, 0x00f1 }, /* 0x00d1 */
- { CODEPAGE_ISUPPER, 0x00d2, 0x00f2 }, /* 0x00d2 */
- { CODEPAGE_ISUPPER, 0x00d3, 0x00f3 }, /* 0x00d3 */
- { CODEPAGE_ISUPPER, 0x00d4, 0x00f4 }, /* 0x00d4 */
- { CODEPAGE_ISUPPER, 0x00d5, 0x00f5 }, /* 0x00d5 */
- { CODEPAGE_ISUPPER, 0x00d6, 0x00f6 }, /* 0x00d6 */
- { CODEPAGE_ISNONE, 0x00d7, 0x00d7 }, /* 0x00d7 */
- { CODEPAGE_ISUPPER, 0x00d8, 0x00f8 }, /* 0x00d8 */
- { CODEPAGE_ISUPPER, 0x00d9, 0x00f9 }, /* 0x00d9 */
- { CODEPAGE_ISUPPER, 0x00da, 0x00fa }, /* 0x00da */
- { CODEPAGE_ISUPPER, 0x00db, 0x00fb }, /* 0x00db */
- { CODEPAGE_ISUPPER, 0x00dc, 0x00fc }, /* 0x00dc */
- { CODEPAGE_ISUPPER, 0x00dd, 0x00fd }, /* 0x00dd */
- { CODEPAGE_ISUPPER, 0x00de, 0x00fe }, /* 0x00de */
- { CODEPAGE_ISNONE, 0x00df, 0x00df }, /* 0x00df */
- { CODEPAGE_ISLOWER, 0x00c0, 0x00e0 }, /* 0x00e0 */
- { CODEPAGE_ISLOWER, 0x00c1, 0x00e1 }, /* 0x00e1 */
- { CODEPAGE_ISLOWER, 0x00c2, 0x00e2 }, /* 0x00e2 */
- { CODEPAGE_ISLOWER, 0x00c3, 0x00e3 }, /* 0x00e3 */
- { CODEPAGE_ISLOWER, 0x00c4, 0x00e4 }, /* 0x00e4 */
- { CODEPAGE_ISLOWER, 0x00c5, 0x00e5 }, /* 0x00e5 */
- { CODEPAGE_ISLOWER, 0x00c6, 0x00e6 }, /* 0x00e6 */
- { CODEPAGE_ISLOWER, 0x00c7, 0x00e7 }, /* 0x00e7 */
- { CODEPAGE_ISLOWER, 0x00c8, 0x00e8 }, /* 0x00e8 */
- { CODEPAGE_ISLOWER, 0x00c9, 0x00e9 }, /* 0x00e9 */
- { CODEPAGE_ISLOWER, 0x00ca, 0x00ea }, /* 0x00ea */
- { CODEPAGE_ISLOWER, 0x00cb, 0x00eb }, /* 0x00eb */
- { CODEPAGE_ISLOWER, 0x00cc, 0x00ec }, /* 0x00ec */
- { CODEPAGE_ISLOWER, 0x00cd, 0x00ed }, /* 0x00ed */
- { CODEPAGE_ISLOWER, 0x00ce, 0x00ee }, /* 0x00ee */
- { CODEPAGE_ISLOWER, 0x00cf, 0x00ef }, /* 0x00ef */
- { CODEPAGE_ISLOWER, 0x00d0, 0x00f0 }, /* 0x00f0 */
- { CODEPAGE_ISLOWER, 0x00d1, 0x00f1 }, /* 0x00f1 */
- { CODEPAGE_ISLOWER, 0x00d2, 0x00f2 }, /* 0x00f2 */
- { CODEPAGE_ISLOWER, 0x00d3, 0x00f3 }, /* 0x00f3 */
- { CODEPAGE_ISLOWER, 0x00d4, 0x00f4 }, /* 0x00f4 */
- { CODEPAGE_ISLOWER, 0x00d5, 0x00f5 }, /* 0x00f5 */
- { CODEPAGE_ISLOWER, 0x00d6, 0x00f6 }, /* 0x00f6 */
- { CODEPAGE_ISNONE, 0x00f7, 0x00f7 }, /* 0x00f7 */
- { CODEPAGE_ISLOWER, 0x00d8, 0x00f8 }, /* 0x00f8 */
- { CODEPAGE_ISLOWER, 0x00d9, 0x00f9 }, /* 0x00f9 */
- { CODEPAGE_ISLOWER, 0x00da, 0x00fa }, /* 0x00fa */
- { CODEPAGE_ISLOWER, 0x00db, 0x00fb }, /* 0x00fb */
- { CODEPAGE_ISLOWER, 0x00dc, 0x00fc }, /* 0x00fc */
- { CODEPAGE_ISLOWER, 0x00dd, 0x00fd }, /* 0x00fd */
- { CODEPAGE_ISLOWER, 0x00de, 0x00fe }, /* 0x00fe */
- { CODEPAGE_ISNONE, 0x00ff, 0x00ff } /* 0x00ff */
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CP_LATIN4_H */
diff --git a/usr/src/uts/common/smbsrv/cp_latin5.h b/usr/src/uts/common/smbsrv/cp_latin5.h
deleted file mode 100644
index 87ad426348..0000000000
--- a/usr/src/uts/common/smbsrv/cp_latin5.h
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CP_LATIN5_H
-#define _SMBSRV_CP_LATIN5_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * This file specifies a codepage mapping for a given character set as
- * specified below:
- *
- * This is the codepage for the Latin-5 Character Set
- * This codepage defines values for the special characters
- * needed for the written alphabet of the following
- * language: Turkish * The Latin-5 character set is also known as iso-8859-9.
- *
- */
-
-#include <smbsrv/codepage.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-codepage_t Latin5_codepage[256] = {
- { CODEPAGE_ISNONE, 0x0000, 0x0000 }, /* 0x0000 */
- { CODEPAGE_ISNONE, 0x0001, 0x0001 }, /* 0x0001 */
- { CODEPAGE_ISNONE, 0x0002, 0x0002 }, /* 0x0002 */
- { CODEPAGE_ISNONE, 0x0003, 0x0003 }, /* 0x0003 */
- { CODEPAGE_ISNONE, 0x0004, 0x0004 }, /* 0x0004 */
- { CODEPAGE_ISNONE, 0x0005, 0x0005 }, /* 0x0005 */
- { CODEPAGE_ISNONE, 0x0006, 0x0006 }, /* 0x0006 */
- { CODEPAGE_ISNONE, 0x0007, 0x0007 }, /* 0x0007 */
- { CODEPAGE_ISNONE, 0x0008, 0x0008 }, /* 0x0008 */
- { CODEPAGE_ISNONE, 0x0009, 0x0009 }, /* 0x0009 */
- { CODEPAGE_ISNONE, 0x000a, 0x000a }, /* 0x000a */
- { CODEPAGE_ISNONE, 0x000b, 0x000b }, /* 0x000b */
- { CODEPAGE_ISNONE, 0x000c, 0x000c }, /* 0x000c */
- { CODEPAGE_ISNONE, 0x000d, 0x000d }, /* 0x000d */
- { CODEPAGE_ISNONE, 0x000e, 0x000e }, /* 0x000e */
- { CODEPAGE_ISNONE, 0x000f, 0x000f }, /* 0x000f */
- { CODEPAGE_ISNONE, 0x0010, 0x0010 }, /* 0x0010 */
- { CODEPAGE_ISNONE, 0x0011, 0x0011 }, /* 0x0011 */
- { CODEPAGE_ISNONE, 0x0012, 0x0012 }, /* 0x0012 */
- { CODEPAGE_ISNONE, 0x0013, 0x0013 }, /* 0x0013 */
- { CODEPAGE_ISNONE, 0x0014, 0x0014 }, /* 0x0014 */
- { CODEPAGE_ISNONE, 0x0015, 0x0015 }, /* 0x0015 */
- { CODEPAGE_ISNONE, 0x0016, 0x0016 }, /* 0x0016 */
- { CODEPAGE_ISNONE, 0x0017, 0x0017 }, /* 0x0017 */
- { CODEPAGE_ISNONE, 0x0018, 0x0018 }, /* 0x0018 */
- { CODEPAGE_ISNONE, 0x0019, 0x0019 }, /* 0x0019 */
- { CODEPAGE_ISNONE, 0x001a, 0x001a }, /* 0x001a */
- { CODEPAGE_ISNONE, 0x001b, 0x001b }, /* 0x001b */
- { CODEPAGE_ISNONE, 0x001c, 0x001c }, /* 0x001c */
- { CODEPAGE_ISNONE, 0x001d, 0x001d }, /* 0x001d */
- { CODEPAGE_ISNONE, 0x001e, 0x001e }, /* 0x001e */
- { CODEPAGE_ISNONE, 0x001f, 0x001f }, /* 0x001f */
- { CODEPAGE_ISNONE, 0x0020, 0x0020 }, /* 0x0020 */
- { CODEPAGE_ISNONE, 0x0021, 0x0021 }, /* 0x0021 */
- { CODEPAGE_ISNONE, 0x0022, 0x0022 }, /* 0x0022 */
- { CODEPAGE_ISNONE, 0x0023, 0x0023 }, /* 0x0023 */
- { CODEPAGE_ISNONE, 0x0024, 0x0024 }, /* 0x0024 */
- { CODEPAGE_ISNONE, 0x0025, 0x0025 }, /* 0x0025 */
- { CODEPAGE_ISNONE, 0x0026, 0x0026 }, /* 0x0026 */
- { CODEPAGE_ISNONE, 0x0027, 0x0027 }, /* 0x0027 */
- { CODEPAGE_ISNONE, 0x0028, 0x0028 }, /* 0x0028 */
- { CODEPAGE_ISNONE, 0x0029, 0x0029 }, /* 0x0029 */
- { CODEPAGE_ISNONE, 0x002a, 0x002a }, /* 0x002a */
- { CODEPAGE_ISNONE, 0x002b, 0x002b }, /* 0x002b */
- { CODEPAGE_ISNONE, 0x002c, 0x002c }, /* 0x002c */
- { CODEPAGE_ISNONE, 0x002d, 0x002d }, /* 0x002d */
- { CODEPAGE_ISNONE, 0x002e, 0x002e }, /* 0x002e */
- { CODEPAGE_ISNONE, 0x002f, 0x002f }, /* 0x002f */
- { CODEPAGE_ISNONE, 0x0030, 0x0030 }, /* 0x0030 */
- { CODEPAGE_ISNONE, 0x0031, 0x0031 }, /* 0x0031 */
- { CODEPAGE_ISNONE, 0x0032, 0x0032 }, /* 0x0032 */
- { CODEPAGE_ISNONE, 0x0033, 0x0033 }, /* 0x0033 */
- { CODEPAGE_ISNONE, 0x0034, 0x0034 }, /* 0x0034 */
- { CODEPAGE_ISNONE, 0x0035, 0x0035 }, /* 0x0035 */
- { CODEPAGE_ISNONE, 0x0036, 0x0036 }, /* 0x0036 */
- { CODEPAGE_ISNONE, 0x0037, 0x0037 }, /* 0x0037 */
- { CODEPAGE_ISNONE, 0x0038, 0x0038 }, /* 0x0038 */
- { CODEPAGE_ISNONE, 0x0039, 0x0039 }, /* 0x0039 */
- { CODEPAGE_ISNONE, 0x003a, 0x003a }, /* 0x003a */
- { CODEPAGE_ISNONE, 0x003b, 0x003b }, /* 0x003b */
- { CODEPAGE_ISNONE, 0x003c, 0x003c }, /* 0x003c */
- { CODEPAGE_ISNONE, 0x003d, 0x003d }, /* 0x003d */
- { CODEPAGE_ISNONE, 0x003e, 0x003e }, /* 0x003e */
- { CODEPAGE_ISNONE, 0x003f, 0x003f }, /* 0x003f */
- { CODEPAGE_ISNONE, 0x0040, 0x0040 }, /* 0x0040 */
- { CODEPAGE_ISUPPER, 0x0041, 0x0061 }, /* 0x0041 */
- { CODEPAGE_ISUPPER, 0x0042, 0x0062 }, /* 0x0042 */
- { CODEPAGE_ISUPPER, 0x0043, 0x0063 }, /* 0x0043 */
- { CODEPAGE_ISUPPER, 0x0044, 0x0064 }, /* 0x0044 */
- { CODEPAGE_ISUPPER, 0x0045, 0x0065 }, /* 0x0045 */
- { CODEPAGE_ISUPPER, 0x0046, 0x0066 }, /* 0x0046 */
- { CODEPAGE_ISUPPER, 0x0047, 0x0067 }, /* 0x0047 */
- { CODEPAGE_ISUPPER, 0x0048, 0x0068 }, /* 0x0048 */
- { CODEPAGE_ISUPPER, 0x0049, 0x0069 }, /* 0x0049 */
- { CODEPAGE_ISUPPER, 0x004a, 0x006a }, /* 0x004a */
- { CODEPAGE_ISUPPER, 0x004b, 0x006b }, /* 0x004b */
- { CODEPAGE_ISUPPER, 0x004c, 0x006c }, /* 0x004c */
- { CODEPAGE_ISUPPER, 0x004d, 0x006d }, /* 0x004d */
- { CODEPAGE_ISUPPER, 0x004e, 0x006e }, /* 0x004e */
- { CODEPAGE_ISUPPER, 0x004f, 0x006f }, /* 0x004f */
- { CODEPAGE_ISUPPER, 0x0050, 0x0070 }, /* 0x0050 */
- { CODEPAGE_ISUPPER, 0x0051, 0x0071 }, /* 0x0051 */
- { CODEPAGE_ISUPPER, 0x0052, 0x0072 }, /* 0x0052 */
- { CODEPAGE_ISUPPER, 0x0053, 0x0073 }, /* 0x0053 */
- { CODEPAGE_ISUPPER, 0x0054, 0x0074 }, /* 0x0054 */
- { CODEPAGE_ISUPPER, 0x0055, 0x0075 }, /* 0x0055 */
- { CODEPAGE_ISUPPER, 0x0056, 0x0076 }, /* 0x0056 */
- { CODEPAGE_ISUPPER, 0x0057, 0x0077 }, /* 0x0057 */
- { CODEPAGE_ISUPPER, 0x0058, 0x0078 }, /* 0x0058 */
- { CODEPAGE_ISUPPER, 0x0059, 0x0079 }, /* 0x0059 */
- { CODEPAGE_ISUPPER, 0x005a, 0x007a }, /* 0x005a */
- { CODEPAGE_ISNONE, 0x005b, 0x005b }, /* 0x005b */
- { CODEPAGE_ISNONE, 0x005c, 0x005c }, /* 0x005c */
- { CODEPAGE_ISNONE, 0x005d, 0x005d }, /* 0x005d */
- { CODEPAGE_ISNONE, 0x005e, 0x005e }, /* 0x005e */
- { CODEPAGE_ISNONE, 0x005f, 0x005f }, /* 0x005f */
- { CODEPAGE_ISNONE, 0x0060, 0x0060 }, /* 0x0060 */
- { CODEPAGE_ISLOWER, 0x0041, 0x0061 }, /* 0x0061 */
- { CODEPAGE_ISLOWER, 0x0042, 0x0062 }, /* 0x0062 */
- { CODEPAGE_ISLOWER, 0x0043, 0x0063 }, /* 0x0063 */
- { CODEPAGE_ISLOWER, 0x0044, 0x0064 }, /* 0x0064 */
- { CODEPAGE_ISLOWER, 0x0045, 0x0065 }, /* 0x0065 */
- { CODEPAGE_ISLOWER, 0x0046, 0x0066 }, /* 0x0066 */
- { CODEPAGE_ISLOWER, 0x0047, 0x0067 }, /* 0x0067 */
- { CODEPAGE_ISLOWER, 0x0048, 0x0068 }, /* 0x0068 */
- { CODEPAGE_ISLOWER, 0x0049, 0x0069 }, /* 0x0069 */
- { CODEPAGE_ISLOWER, 0x004a, 0x006a }, /* 0x006a */
- { CODEPAGE_ISLOWER, 0x004b, 0x006b }, /* 0x006b */
- { CODEPAGE_ISLOWER, 0x004c, 0x006c }, /* 0x006c */
- { CODEPAGE_ISLOWER, 0x004d, 0x006d }, /* 0x006d */
- { CODEPAGE_ISLOWER, 0x004e, 0x006e }, /* 0x006e */
- { CODEPAGE_ISLOWER, 0x004f, 0x006f }, /* 0x006f */
- { CODEPAGE_ISLOWER, 0x0050, 0x0070 }, /* 0x0070 */
- { CODEPAGE_ISLOWER, 0x0051, 0x0071 }, /* 0x0071 */
- { CODEPAGE_ISLOWER, 0x0052, 0x0072 }, /* 0x0072 */
- { CODEPAGE_ISLOWER, 0x0053, 0x0073 }, /* 0x0073 */
- { CODEPAGE_ISLOWER, 0x0054, 0x0074 }, /* 0x0074 */
- { CODEPAGE_ISLOWER, 0x0055, 0x0075 }, /* 0x0075 */
- { CODEPAGE_ISLOWER, 0x0056, 0x0076 }, /* 0x0076 */
- { CODEPAGE_ISLOWER, 0x0057, 0x0077 }, /* 0x0077 */
- { CODEPAGE_ISLOWER, 0x0058, 0x0078 }, /* 0x0078 */
- { CODEPAGE_ISLOWER, 0x0059, 0x0079 }, /* 0x0079 */
- { CODEPAGE_ISLOWER, 0x005a, 0x007a }, /* 0x007a */
- { CODEPAGE_ISNONE, 0x007b, 0x007b }, /* 0x007b */
- { CODEPAGE_ISNONE, 0x007c, 0x007c }, /* 0x007c */
- { CODEPAGE_ISNONE, 0x007d, 0x007d }, /* 0x007d */
- { CODEPAGE_ISNONE, 0x007e, 0x007e }, /* 0x007e */
- { CODEPAGE_ISNONE, 0x007f, 0x007f }, /* 0x007f */
- { CODEPAGE_ISNONE, 0x0080, 0x0080 }, /* 0x0080 */
- { CODEPAGE_ISNONE, 0x0081, 0x0081 }, /* 0x0081 */
- { CODEPAGE_ISNONE, 0x0082, 0x0082 }, /* 0x0082 */
- { CODEPAGE_ISNONE, 0x0083, 0x0083 }, /* 0x0083 */
- { CODEPAGE_ISNONE, 0x0084, 0x0084 }, /* 0x0084 */
- { CODEPAGE_ISNONE, 0x0085, 0x0085 }, /* 0x0085 */
- { CODEPAGE_ISNONE, 0x0086, 0x0086 }, /* 0x0086 */
- { CODEPAGE_ISNONE, 0x0087, 0x0087 }, /* 0x0087 */
- { CODEPAGE_ISNONE, 0x0088, 0x0088 }, /* 0x0088 */
- { CODEPAGE_ISNONE, 0x0089, 0x0089 }, /* 0x0089 */
- { CODEPAGE_ISNONE, 0x008a, 0x008a }, /* 0x008a */
- { CODEPAGE_ISNONE, 0x008b, 0x008b }, /* 0x008b */
- { CODEPAGE_ISNONE, 0x008c, 0x008c }, /* 0x008c */
- { CODEPAGE_ISNONE, 0x008d, 0x008d }, /* 0x008d */
- { CODEPAGE_ISNONE, 0x008e, 0x008e }, /* 0x008e */
- { CODEPAGE_ISNONE, 0x008f, 0x008f }, /* 0x008f */
- { CODEPAGE_ISNONE, 0x0090, 0x0090 }, /* 0x0090 */
- { CODEPAGE_ISNONE, 0x0091, 0x0091 }, /* 0x0091 */
- { CODEPAGE_ISNONE, 0x0092, 0x0092 }, /* 0x0092 */
- { CODEPAGE_ISNONE, 0x0093, 0x0093 }, /* 0x0093 */
- { CODEPAGE_ISNONE, 0x0094, 0x0094 }, /* 0x0094 */
- { CODEPAGE_ISNONE, 0x0095, 0x0095 }, /* 0x0095 */
- { CODEPAGE_ISNONE, 0x0096, 0x0096 }, /* 0x0096 */
- { CODEPAGE_ISNONE, 0x0097, 0x0097 }, /* 0x0097 */
- { CODEPAGE_ISNONE, 0x0098, 0x0098 }, /* 0x0098 */
- { CODEPAGE_ISNONE, 0x0099, 0x0099 }, /* 0x0099 */
- { CODEPAGE_ISNONE, 0x009a, 0x009a }, /* 0x009a */
- { CODEPAGE_ISNONE, 0x009b, 0x009b }, /* 0x009b */
- { CODEPAGE_ISNONE, 0x009c, 0x009c }, /* 0x009c */
- { CODEPAGE_ISNONE, 0x009d, 0x009d }, /* 0x009d */
- { CODEPAGE_ISNONE, 0x009e, 0x009e }, /* 0x009e */
- { CODEPAGE_ISNONE, 0x009f, 0x009f }, /* 0x009f */
- { CODEPAGE_ISNONE, 0x00a0, 0x00a0 }, /* 0x00a0 */
- { CODEPAGE_ISNONE, 0x00a1, 0x00a1 }, /* 0x00a1 */
- { CODEPAGE_ISNONE, 0x00a2, 0x00a2 }, /* 0x00a2 */
- { CODEPAGE_ISNONE, 0x00a3, 0x00a3 }, /* 0x00a3 */
- { CODEPAGE_ISNONE, 0x00a4, 0x00a4 }, /* 0x00a4 */
- { CODEPAGE_ISNONE, 0x00a5, 0x00a5 }, /* 0x00a5 */
- { CODEPAGE_ISNONE, 0x00a6, 0x00a6 }, /* 0x00a6 */
- { CODEPAGE_ISNONE, 0x00a7, 0x00a7 }, /* 0x00a7 */
- { CODEPAGE_ISNONE, 0x00a8, 0x00a8 }, /* 0x00a8 */
- { CODEPAGE_ISNONE, 0x00a9, 0x00a9 }, /* 0x00a9 */
- { CODEPAGE_ISNONE, 0x00aa, 0x00aa }, /* 0x00aa */
- { CODEPAGE_ISNONE, 0x00ab, 0x00ab }, /* 0x00ab */
- { CODEPAGE_ISNONE, 0x00ac, 0x00ac }, /* 0x00ac */
- { CODEPAGE_ISNONE, 0x00ad, 0x00ad }, /* 0x00ad */
- { CODEPAGE_ISNONE, 0x00ae, 0x00ae }, /* 0x00ae */
- { CODEPAGE_ISNONE, 0x00af, 0x00af }, /* 0x00af */
- { CODEPAGE_ISNONE, 0x00b0, 0x00b0 }, /* 0x00b0 */
- { CODEPAGE_ISNONE, 0x00b1, 0x00b1 }, /* 0x00b1 */
- { CODEPAGE_ISNONE, 0x00b2, 0x00b2 }, /* 0x00b2 */
- { CODEPAGE_ISNONE, 0x00b3, 0x00b3 }, /* 0x00b3 */
- { CODEPAGE_ISNONE, 0x00b4, 0x00b4 }, /* 0x00b4 */
- { CODEPAGE_ISNONE, 0x00b5, 0x00b5 }, /* 0x00b5 */
- { CODEPAGE_ISNONE, 0x00b6, 0x00b6 }, /* 0x00b6 */
- { CODEPAGE_ISNONE, 0x00b7, 0x00b7 }, /* 0x00b7 */
- { CODEPAGE_ISNONE, 0x00b8, 0x00b8 }, /* 0x00b8 */
- { CODEPAGE_ISNONE, 0x00b9, 0x00b9 }, /* 0x00b9 */
- { CODEPAGE_ISNONE, 0x00ba, 0x00ba }, /* 0x00ba */
- { CODEPAGE_ISNONE, 0x00bb, 0x00bb }, /* 0x00bb */
- { CODEPAGE_ISNONE, 0x00bc, 0x00bc }, /* 0x00bc */
- { CODEPAGE_ISNONE, 0x00bd, 0x00bd }, /* 0x00bd */
- { CODEPAGE_ISNONE, 0x00be, 0x00be }, /* 0x00be */
- { CODEPAGE_ISNONE, 0x00bf, 0x00bf }, /* 0x00bf */
- { CODEPAGE_ISUPPER, 0x00c0, 0x00e0 }, /* 0x00c0 */
- { CODEPAGE_ISUPPER, 0x00c1, 0x00e1 }, /* 0x00c1 */
- { CODEPAGE_ISUPPER, 0x00c2, 0x00e2 }, /* 0x00c2 */
- { CODEPAGE_ISUPPER, 0x00c3, 0x00e3 }, /* 0x00c3 */
- { CODEPAGE_ISUPPER, 0x00c4, 0x00e4 }, /* 0x00c4 */
- { CODEPAGE_ISUPPER, 0x00c5, 0x00e5 }, /* 0x00c5 */
- { CODEPAGE_ISUPPER, 0x00c6, 0x00e6 }, /* 0x00c6 */
- { CODEPAGE_ISUPPER, 0x00c7, 0x00e7 }, /* 0x00c7 */
- { CODEPAGE_ISUPPER, 0x00c8, 0x00e8 }, /* 0x00c8 */
- { CODEPAGE_ISUPPER, 0x00c9, 0x00e9 }, /* 0x00c9 */
- { CODEPAGE_ISUPPER, 0x00ca, 0x00ea }, /* 0x00ca */
- { CODEPAGE_ISUPPER, 0x00cb, 0x00eb }, /* 0x00cb */
- { CODEPAGE_ISUPPER, 0x00cc, 0x00ec }, /* 0x00cc */
- { CODEPAGE_ISUPPER, 0x00cd, 0x00ed }, /* 0x00cd */
- { CODEPAGE_ISUPPER, 0x00ce, 0x00ee }, /* 0x00ce */
- { CODEPAGE_ISUPPER, 0x00cf, 0x00ef }, /* 0x00cf */
- { CODEPAGE_ISUPPER, 0x00d0, 0x00f0 }, /* 0x00d0 */
- { CODEPAGE_ISUPPER, 0x00d1, 0x00f1 }, /* 0x00d1 */
- { CODEPAGE_ISUPPER, 0x00d2, 0x00f2 }, /* 0x00d2 */
- { CODEPAGE_ISUPPER, 0x00d3, 0x00f3 }, /* 0x00d3 */
- { CODEPAGE_ISUPPER, 0x00d4, 0x00f4 }, /* 0x00d4 */
- { CODEPAGE_ISUPPER, 0x00d5, 0x00f5 }, /* 0x00d5 */
- { CODEPAGE_ISUPPER, 0x00d6, 0x00f6 }, /* 0x00d6 */
- { CODEPAGE_ISNONE, 0x00d7, 0x00d7 }, /* 0x00d7 */
- { CODEPAGE_ISUPPER, 0x00d8, 0x00f8 }, /* 0x00d8 */
- { CODEPAGE_ISUPPER, 0x00d9, 0x00f9 }, /* 0x00d9 */
- { CODEPAGE_ISUPPER, 0x00da, 0x00fa }, /* 0x00da */
- { CODEPAGE_ISUPPER, 0x00db, 0x00fb }, /* 0x00db */
- { CODEPAGE_ISUPPER, 0x00dc, 0x00fc }, /* 0x00dc */
- { CODEPAGE_ISUPPER, 0x00dd, 0x00fd }, /* 0x00dd */
- { CODEPAGE_ISUPPER, 0x00de, 0x00fe }, /* 0x00de */
- { CODEPAGE_ISNONE, 0x00df, 0x00df }, /* 0x00df */
- { CODEPAGE_ISLOWER, 0x00c0, 0x00e0 }, /* 0x00e0 */
- { CODEPAGE_ISLOWER, 0x00c1, 0x00e1 }, /* 0x00e1 */
- { CODEPAGE_ISLOWER, 0x00c2, 0x00e2 }, /* 0x00e2 */
- { CODEPAGE_ISLOWER, 0x00c3, 0x00e3 }, /* 0x00e3 */
- { CODEPAGE_ISLOWER, 0x00c4, 0x00e4 }, /* 0x00e4 */
- { CODEPAGE_ISLOWER, 0x00c5, 0x00e5 }, /* 0x00e5 */
- { CODEPAGE_ISLOWER, 0x00c6, 0x00e6 }, /* 0x00e6 */
- { CODEPAGE_ISLOWER, 0x00c7, 0x00e7 }, /* 0x00e7 */
- { CODEPAGE_ISLOWER, 0x00c8, 0x00e8 }, /* 0x00e8 */
- { CODEPAGE_ISLOWER, 0x00c9, 0x00e9 }, /* 0x00e9 */
- { CODEPAGE_ISLOWER, 0x00ca, 0x00ea }, /* 0x00ea */
- { CODEPAGE_ISLOWER, 0x00cb, 0x00eb }, /* 0x00eb */
- { CODEPAGE_ISLOWER, 0x00cc, 0x00ec }, /* 0x00ec */
- { CODEPAGE_ISLOWER, 0x00cd, 0x00ed }, /* 0x00ed */
- { CODEPAGE_ISLOWER, 0x00ce, 0x00ee }, /* 0x00ee */
- { CODEPAGE_ISLOWER, 0x00cf, 0x00ef }, /* 0x00ef */
- { CODEPAGE_ISLOWER, 0x00d0, 0x00f0 }, /* 0x00f0 */
- { CODEPAGE_ISLOWER, 0x00d1, 0x00f1 }, /* 0x00f1 */
- { CODEPAGE_ISLOWER, 0x00d2, 0x00f2 }, /* 0x00f2 */
- { CODEPAGE_ISLOWER, 0x00d3, 0x00f3 }, /* 0x00f3 */
- { CODEPAGE_ISLOWER, 0x00d4, 0x00f4 }, /* 0x00f4 */
- { CODEPAGE_ISLOWER, 0x00d5, 0x00f5 }, /* 0x00f5 */
- { CODEPAGE_ISLOWER, 0x00d6, 0x00f6 }, /* 0x00f6 */
- { CODEPAGE_ISNONE, 0x00f7, 0x00f7 }, /* 0x00f7 */
- { CODEPAGE_ISLOWER, 0x00d8, 0x00f8 }, /* 0x00f8 */
- { CODEPAGE_ISLOWER, 0x00d9, 0x00f9 }, /* 0x00f9 */
- { CODEPAGE_ISLOWER, 0x00da, 0x00fa }, /* 0x00fa */
- { CODEPAGE_ISLOWER, 0x00db, 0x00fb }, /* 0x00fb */
- { CODEPAGE_ISLOWER, 0x00dc, 0x00fc }, /* 0x00fc */
- { CODEPAGE_ISLOWER, 0x00dd, 0x00fd }, /* 0x00fd */
- { CODEPAGE_ISLOWER, 0x00de, 0x00fe }, /* 0x00fe */
- { CODEPAGE_ISNONE, 0x00ff, 0x00ff } /* 0x00ff */
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CP_LATIN5_H */
diff --git a/usr/src/uts/common/smbsrv/cp_latin6.h b/usr/src/uts/common/smbsrv/cp_latin6.h
deleted file mode 100644
index fd86d276c4..0000000000
--- a/usr/src/uts/common/smbsrv/cp_latin6.h
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CP_LATIN6_H
-#define _SMBSRV_CP_LATIN6_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * This is the codepage for the Latin-6 Character Set.
- * This codepage defines values for the special characters
- * needed for the written alphabets of the following
- * Nordic Languages: Greenlandic, Eskimo, Lappish,
- * and Icelandic
- * The Latin-6 character set is also known as iso-8859-10
- */
-
-#include <smbsrv/codepage.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-codepage_t Latin6_codepage[256] = {
- { CODEPAGE_ISNONE, 0x0000, 0x0000 }, /* 0x0000 */
- { CODEPAGE_ISNONE, 0x0001, 0x0001 }, /* 0x0001 */
- { CODEPAGE_ISNONE, 0x0002, 0x0002 }, /* 0x0002 */
- { CODEPAGE_ISNONE, 0x0003, 0x0003 }, /* 0x0003 */
- { CODEPAGE_ISNONE, 0x0004, 0x0004 }, /* 0x0004 */
- { CODEPAGE_ISNONE, 0x0005, 0x0005 }, /* 0x0005 */
- { CODEPAGE_ISNONE, 0x0006, 0x0006 }, /* 0x0006 */
- { CODEPAGE_ISNONE, 0x0007, 0x0007 }, /* 0x0007 */
- { CODEPAGE_ISNONE, 0x0008, 0x0008 }, /* 0x0008 */
- { CODEPAGE_ISNONE, 0x0009, 0x0009 }, /* 0x0009 */
- { CODEPAGE_ISNONE, 0x000a, 0x000a }, /* 0x000a */
- { CODEPAGE_ISNONE, 0x000b, 0x000b }, /* 0x000b */
- { CODEPAGE_ISNONE, 0x000c, 0x000c }, /* 0x000c */
- { CODEPAGE_ISNONE, 0x000d, 0x000d }, /* 0x000d */
- { CODEPAGE_ISNONE, 0x000e, 0x000e }, /* 0x000e */
- { CODEPAGE_ISNONE, 0x000f, 0x000f }, /* 0x000f */
- { CODEPAGE_ISNONE, 0x0010, 0x0010 }, /* 0x0010 */
- { CODEPAGE_ISNONE, 0x0011, 0x0011 }, /* 0x0011 */
- { CODEPAGE_ISNONE, 0x0012, 0x0012 }, /* 0x0012 */
- { CODEPAGE_ISNONE, 0x0013, 0x0013 }, /* 0x0013 */
- { CODEPAGE_ISNONE, 0x0014, 0x0014 }, /* 0x0014 */
- { CODEPAGE_ISNONE, 0x0015, 0x0015 }, /* 0x0015 */
- { CODEPAGE_ISNONE, 0x0016, 0x0016 }, /* 0x0016 */
- { CODEPAGE_ISNONE, 0x0017, 0x0017 }, /* 0x0017 */
- { CODEPAGE_ISNONE, 0x0018, 0x0018 }, /* 0x0018 */
- { CODEPAGE_ISNONE, 0x0019, 0x0019 }, /* 0x0019 */
- { CODEPAGE_ISNONE, 0x001a, 0x001a }, /* 0x001a */
- { CODEPAGE_ISNONE, 0x001b, 0x001b }, /* 0x001b */
- { CODEPAGE_ISNONE, 0x001c, 0x001c }, /* 0x001c */
- { CODEPAGE_ISNONE, 0x001d, 0x001d }, /* 0x001d */
- { CODEPAGE_ISNONE, 0x001e, 0x001e }, /* 0x001e */
- { CODEPAGE_ISNONE, 0x001f, 0x001f }, /* 0x001f */
- { CODEPAGE_ISNONE, 0x0020, 0x0020 }, /* 0x0020 */
- { CODEPAGE_ISNONE, 0x0021, 0x0021 }, /* 0x0021 */
- { CODEPAGE_ISNONE, 0x0022, 0x0022 }, /* 0x0022 */
- { CODEPAGE_ISNONE, 0x0023, 0x0023 }, /* 0x0023 */
- { CODEPAGE_ISNONE, 0x0024, 0x0024 }, /* 0x0024 */
- { CODEPAGE_ISNONE, 0x0025, 0x0025 }, /* 0x0025 */
- { CODEPAGE_ISNONE, 0x0026, 0x0026 }, /* 0x0026 */
- { CODEPAGE_ISNONE, 0x0027, 0x0027 }, /* 0x0027 */
- { CODEPAGE_ISNONE, 0x0028, 0x0028 }, /* 0x0028 */
- { CODEPAGE_ISNONE, 0x0029, 0x0029 }, /* 0x0029 */
- { CODEPAGE_ISNONE, 0x002a, 0x002a }, /* 0x002a */
- { CODEPAGE_ISNONE, 0x002b, 0x002b }, /* 0x002b */
- { CODEPAGE_ISNONE, 0x002c, 0x002c }, /* 0x002c */
- { CODEPAGE_ISNONE, 0x002d, 0x002d }, /* 0x002d */
- { CODEPAGE_ISNONE, 0x002e, 0x002e }, /* 0x002e */
- { CODEPAGE_ISNONE, 0x002f, 0x002f }, /* 0x002f */
- { CODEPAGE_ISNONE, 0x0030, 0x0030 }, /* 0x0030 */
- { CODEPAGE_ISNONE, 0x0031, 0x0031 }, /* 0x0031 */
- { CODEPAGE_ISNONE, 0x0032, 0x0032 }, /* 0x0032 */
- { CODEPAGE_ISNONE, 0x0033, 0x0033 }, /* 0x0033 */
- { CODEPAGE_ISNONE, 0x0034, 0x0034 }, /* 0x0034 */
- { CODEPAGE_ISNONE, 0x0035, 0x0035 }, /* 0x0035 */
- { CODEPAGE_ISNONE, 0x0036, 0x0036 }, /* 0x0036 */
- { CODEPAGE_ISNONE, 0x0037, 0x0037 }, /* 0x0037 */
- { CODEPAGE_ISNONE, 0x0038, 0x0038 }, /* 0x0038 */
- { CODEPAGE_ISNONE, 0x0039, 0x0039 }, /* 0x0039 */
- { CODEPAGE_ISNONE, 0x003a, 0x003a }, /* 0x003a */
- { CODEPAGE_ISNONE, 0x003b, 0x003b }, /* 0x003b */
- { CODEPAGE_ISNONE, 0x003c, 0x003c }, /* 0x003c */
- { CODEPAGE_ISNONE, 0x003d, 0x003d }, /* 0x003d */
- { CODEPAGE_ISNONE, 0x003e, 0x003e }, /* 0x003e */
- { CODEPAGE_ISNONE, 0x003f, 0x003f }, /* 0x003f */
- { CODEPAGE_ISNONE, 0x0040, 0x0040 }, /* 0x0040 */
- { CODEPAGE_ISUPPER, 0x0041, 0x0061 }, /* 0x0041 */
- { CODEPAGE_ISUPPER, 0x0042, 0x0062 }, /* 0x0042 */
- { CODEPAGE_ISUPPER, 0x0043, 0x0063 }, /* 0x0043 */
- { CODEPAGE_ISUPPER, 0x0044, 0x0064 }, /* 0x0044 */
- { CODEPAGE_ISUPPER, 0x0045, 0x0065 }, /* 0x0045 */
- { CODEPAGE_ISUPPER, 0x0046, 0x0066 }, /* 0x0046 */
- { CODEPAGE_ISUPPER, 0x0047, 0x0067 }, /* 0x0047 */
- { CODEPAGE_ISUPPER, 0x0048, 0x0068 }, /* 0x0048 */
- { CODEPAGE_ISUPPER, 0x0049, 0x0069 }, /* 0x0049 */
- { CODEPAGE_ISUPPER, 0x004a, 0x006a }, /* 0x004a */
- { CODEPAGE_ISUPPER, 0x004b, 0x006b }, /* 0x004b */
- { CODEPAGE_ISUPPER, 0x004c, 0x006c }, /* 0x004c */
- { CODEPAGE_ISUPPER, 0x004d, 0x006d }, /* 0x004d */
- { CODEPAGE_ISUPPER, 0x004e, 0x006e }, /* 0x004e */
- { CODEPAGE_ISUPPER, 0x004f, 0x006f }, /* 0x004f */
- { CODEPAGE_ISUPPER, 0x0050, 0x0070 }, /* 0x0050 */
- { CODEPAGE_ISUPPER, 0x0051, 0x0071 }, /* 0x0051 */
- { CODEPAGE_ISUPPER, 0x0052, 0x0072 }, /* 0x0052 */
- { CODEPAGE_ISUPPER, 0x0053, 0x0073 }, /* 0x0053 */
- { CODEPAGE_ISUPPER, 0x0054, 0x0074 }, /* 0x0054 */
- { CODEPAGE_ISUPPER, 0x0055, 0x0075 }, /* 0x0055 */
- { CODEPAGE_ISUPPER, 0x0056, 0x0076 }, /* 0x0056 */
- { CODEPAGE_ISUPPER, 0x0057, 0x0077 }, /* 0x0057 */
- { CODEPAGE_ISUPPER, 0x0058, 0x0078 }, /* 0x0058 */
- { CODEPAGE_ISUPPER, 0x0059, 0x0079 }, /* 0x0059 */
- { CODEPAGE_ISUPPER, 0x005a, 0x007a }, /* 0x005a */
- { CODEPAGE_ISNONE, 0x005b, 0x005b }, /* 0x005b */
- { CODEPAGE_ISNONE, 0x005c, 0x005c }, /* 0x005c */
- { CODEPAGE_ISNONE, 0x005d, 0x005d }, /* 0x005d */
- { CODEPAGE_ISNONE, 0x005e, 0x005e }, /* 0x005e */
- { CODEPAGE_ISNONE, 0x005f, 0x005f }, /* 0x005f */
- { CODEPAGE_ISNONE, 0x0060, 0x0060 }, /* 0x0060 */
- { CODEPAGE_ISLOWER, 0x0041, 0x0061 }, /* 0x0061 */
- { CODEPAGE_ISLOWER, 0x0042, 0x0062 }, /* 0x0062 */
- { CODEPAGE_ISLOWER, 0x0043, 0x0063 }, /* 0x0063 */
- { CODEPAGE_ISLOWER, 0x0044, 0x0064 }, /* 0x0064 */
- { CODEPAGE_ISLOWER, 0x0045, 0x0065 }, /* 0x0065 */
- { CODEPAGE_ISLOWER, 0x0046, 0x0066 }, /* 0x0066 */
- { CODEPAGE_ISLOWER, 0x0047, 0x0067 }, /* 0x0067 */
- { CODEPAGE_ISLOWER, 0x0048, 0x0068 }, /* 0x0068 */
- { CODEPAGE_ISLOWER, 0x0049, 0x0069 }, /* 0x0069 */
- { CODEPAGE_ISLOWER, 0x004a, 0x006a }, /* 0x006a */
- { CODEPAGE_ISLOWER, 0x004b, 0x006b }, /* 0x006b */
- { CODEPAGE_ISLOWER, 0x004c, 0x006c }, /* 0x006c */
- { CODEPAGE_ISLOWER, 0x004d, 0x006d }, /* 0x006d */
- { CODEPAGE_ISLOWER, 0x004e, 0x006e }, /* 0x006e */
- { CODEPAGE_ISLOWER, 0x004f, 0x006f }, /* 0x006f */
- { CODEPAGE_ISLOWER, 0x0050, 0x0070 }, /* 0x0070 */
- { CODEPAGE_ISLOWER, 0x0051, 0x0071 }, /* 0x0071 */
- { CODEPAGE_ISLOWER, 0x0052, 0x0072 }, /* 0x0072 */
- { CODEPAGE_ISLOWER, 0x0053, 0x0073 }, /* 0x0073 */
- { CODEPAGE_ISLOWER, 0x0054, 0x0074 }, /* 0x0074 */
- { CODEPAGE_ISLOWER, 0x0055, 0x0075 }, /* 0x0075 */
- { CODEPAGE_ISLOWER, 0x0056, 0x0076 }, /* 0x0076 */
- { CODEPAGE_ISLOWER, 0x0057, 0x0077 }, /* 0x0077 */
- { CODEPAGE_ISLOWER, 0x0058, 0x0078 }, /* 0x0078 */
- { CODEPAGE_ISLOWER, 0x0059, 0x0079 }, /* 0x0079 */
- { CODEPAGE_ISLOWER, 0x005a, 0x007a }, /* 0x007a */
- { CODEPAGE_ISNONE, 0x007b, 0x007b }, /* 0x007b */
- { CODEPAGE_ISNONE, 0x007c, 0x007c }, /* 0x007c */
- { CODEPAGE_ISNONE, 0x007d, 0x007d }, /* 0x007d */
- { CODEPAGE_ISNONE, 0x007e, 0x007e }, /* 0x007e */
- { CODEPAGE_ISNONE, 0x007f, 0x007f }, /* 0x007f */
- { CODEPAGE_ISNONE, 0x0080, 0x0080 }, /* 0x0080 */
- { CODEPAGE_ISNONE, 0x0081, 0x0081 }, /* 0x0081 */
- { CODEPAGE_ISNONE, 0x0082, 0x0082 }, /* 0x0082 */
- { CODEPAGE_ISNONE, 0x0083, 0x0083 }, /* 0x0083 */
- { CODEPAGE_ISNONE, 0x0084, 0x0084 }, /* 0x0084 */
- { CODEPAGE_ISNONE, 0x0085, 0x0085 }, /* 0x0085 */
- { CODEPAGE_ISNONE, 0x0086, 0x0086 }, /* 0x0086 */
- { CODEPAGE_ISNONE, 0x0087, 0x0087 }, /* 0x0087 */
- { CODEPAGE_ISNONE, 0x0088, 0x0088 }, /* 0x0088 */
- { CODEPAGE_ISNONE, 0x0089, 0x0089 }, /* 0x0089 */
- { CODEPAGE_ISNONE, 0x008a, 0x008a }, /* 0x008a */
- { CODEPAGE_ISNONE, 0x008b, 0x008b }, /* 0x008b */
- { CODEPAGE_ISNONE, 0x008c, 0x008c }, /* 0x008c */
- { CODEPAGE_ISNONE, 0x008d, 0x008d }, /* 0x008d */
- { CODEPAGE_ISNONE, 0x008e, 0x008e }, /* 0x008e */
- { CODEPAGE_ISNONE, 0x008f, 0x008f }, /* 0x008f */
- { CODEPAGE_ISNONE, 0x0090, 0x0090 }, /* 0x0090 */
- { CODEPAGE_ISNONE, 0x0091, 0x0091 }, /* 0x0091 */
- { CODEPAGE_ISNONE, 0x0092, 0x0092 }, /* 0x0092 */
- { CODEPAGE_ISNONE, 0x0093, 0x0093 }, /* 0x0093 */
- { CODEPAGE_ISNONE, 0x0094, 0x0094 }, /* 0x0094 */
- { CODEPAGE_ISNONE, 0x0095, 0x0095 }, /* 0x0095 */
- { CODEPAGE_ISNONE, 0x0096, 0x0096 }, /* 0x0096 */
- { CODEPAGE_ISNONE, 0x0097, 0x0097 }, /* 0x0097 */
- { CODEPAGE_ISNONE, 0x0098, 0x0098 }, /* 0x0098 */
- { CODEPAGE_ISNONE, 0x0099, 0x0099 }, /* 0x0099 */
- { CODEPAGE_ISNONE, 0x009a, 0x009a }, /* 0x009a */
- { CODEPAGE_ISNONE, 0x009b, 0x009b }, /* 0x009b */
- { CODEPAGE_ISNONE, 0x009c, 0x009c }, /* 0x009c */
- { CODEPAGE_ISNONE, 0x009d, 0x009d }, /* 0x009d */
- { CODEPAGE_ISNONE, 0x009e, 0x009e }, /* 0x009e */
- { CODEPAGE_ISNONE, 0x009f, 0x009f }, /* 0x009f */
- { CODEPAGE_ISNONE, 0x00a0, 0x00a0 }, /* 0x00a0 */
- { CODEPAGE_ISUPPER, 0x00a1, 0x00b1 }, /* 0x00a1 */
- { CODEPAGE_ISUPPER, 0x00a2, 0x00b2 }, /* 0x00a2 */
- { CODEPAGE_ISUPPER, 0x00a3, 0x00b3 }, /* 0x00a3 */
- { CODEPAGE_ISUPPER, 0x00a4, 0x00b4 }, /* 0x00a4 */
- { CODEPAGE_ISUPPER, 0x00a5, 0x00b5 }, /* 0x00a5 */
- { CODEPAGE_ISUPPER, 0x00a6, 0x00b6 }, /* 0x00a6 */
- { CODEPAGE_ISNONE, 0x00a7, 0x00a7 }, /* 0x00a7 */
- { CODEPAGE_ISUPPER, 0x00a8, 0x00b8 }, /* 0x00a8 */
- { CODEPAGE_ISUPPER, 0x00a9, 0x00b9 }, /* 0x00a9 */
- { CODEPAGE_ISUPPER, 0x00aa, 0x00ba }, /* 0x00aa */
- { CODEPAGE_ISUPPER, 0x00ab, 0x00bb }, /* 0x00ab */
- { CODEPAGE_ISUPPER, 0x00ac, 0x00bc }, /* 0x00ac */
- { CODEPAGE_ISNONE, 0x00ad, 0x00ad }, /* 0x00ad */
- { CODEPAGE_ISUPPER, 0x00ae, 0x00be }, /* 0x00ae */
- { CODEPAGE_ISUPPER, 0x00af, 0x00bf }, /* 0x00af */
- { CODEPAGE_ISNONE, 0x00b0, 0x00b0 }, /* 0x00b0 */
- { CODEPAGE_ISLOWER, 0x00a1, 0x00b1 }, /* 0x00b1 */
- { CODEPAGE_ISLOWER, 0x00a2, 0x00b2 }, /* 0x00b2 */
- { CODEPAGE_ISLOWER, 0x00a3, 0x00b3 }, /* 0x00b3 */
- { CODEPAGE_ISLOWER, 0x00a4, 0x00b4 }, /* 0x00b4 */
- { CODEPAGE_ISLOWER, 0x00a5, 0x00b5 }, /* 0x00b5 */
- { CODEPAGE_ISLOWER, 0x00a6, 0x00b6 }, /* 0x00b6 */
- { CODEPAGE_ISNONE, 0x00b7, 0x00b7 }, /* 0x00b7 */
- { CODEPAGE_ISLOWER, 0x00a8, 0x00b8 }, /* 0x00b8 */
- { CODEPAGE_ISLOWER, 0x00a9, 0x00b9 }, /* 0x00b9 */
- { CODEPAGE_ISLOWER, 0x00aa, 0x00ba }, /* 0x00ba */
- { CODEPAGE_ISLOWER, 0x00ab, 0x00bb }, /* 0x00bb */
- { CODEPAGE_ISLOWER, 0x00ac, 0x00bc }, /* 0x00bc */
- { CODEPAGE_ISNONE, 0x00bd, 0x00bd }, /* 0x00bd */
- { CODEPAGE_ISLOWER, 0x00ae, 0x00be }, /* 0x00be */
- { CODEPAGE_ISLOWER, 0x00af, 0x00bf }, /* 0x00bf */
- { CODEPAGE_ISUPPER, 0x00c0, 0x00e0 }, /* 0x00c0 */
- { CODEPAGE_ISUPPER, 0x00c1, 0x00e1 }, /* 0x00c1 */
- { CODEPAGE_ISUPPER, 0x00c2, 0x00e2 }, /* 0x00c2 */
- { CODEPAGE_ISUPPER, 0x00c3, 0x00e3 }, /* 0x00c3 */
- { CODEPAGE_ISUPPER, 0x00c4, 0x00e4 }, /* 0x00c4 */
- { CODEPAGE_ISUPPER, 0x00c5, 0x00e5 }, /* 0x00c5 */
- { CODEPAGE_ISUPPER, 0x00c6, 0x00e6 }, /* 0x00c6 */
- { CODEPAGE_ISUPPER, 0x00c7, 0x00e7 }, /* 0x00c7 */
- { CODEPAGE_ISUPPER, 0x00c8, 0x00e8 }, /* 0x00c8 */
- { CODEPAGE_ISUPPER, 0x00c9, 0x00e9 }, /* 0x00c9 */
- { CODEPAGE_ISUPPER, 0x00ca, 0x00ea }, /* 0x00ca */
- { CODEPAGE_ISUPPER, 0x00cb, 0x00eb }, /* 0x00cb */
- { CODEPAGE_ISUPPER, 0x00cc, 0x00ec }, /* 0x00cc */
- { CODEPAGE_ISUPPER, 0x00cd, 0x00ed }, /* 0x00cd */
- { CODEPAGE_ISUPPER, 0x00ce, 0x00ee }, /* 0x00ce */
- { CODEPAGE_ISUPPER, 0x00cf, 0x00ef }, /* 0x00cf */
- { CODEPAGE_ISNONE, 0x00d0, 0x00d0 }, /* 0x00d0 */
- { CODEPAGE_ISUPPER, 0x00d1, 0x00f1 }, /* 0x00d1 */
- { CODEPAGE_ISUPPER, 0x00d2, 0x00f2 }, /* 0x00d2 */
- { CODEPAGE_ISUPPER, 0x00d3, 0x00f3 }, /* 0x00d3 */
- { CODEPAGE_ISUPPER, 0x00d4, 0x00f4 }, /* 0x00d4 */
- { CODEPAGE_ISUPPER, 0x00d5, 0x00f5 }, /* 0x00d5 */
- { CODEPAGE_ISUPPER, 0x00d6, 0x00f6 }, /* 0x00d6 */
- { CODEPAGE_ISUPPER, 0x00d7, 0x00f7 }, /* 0x00d7 */
- { CODEPAGE_ISUPPER, 0x00d8, 0x00f8 }, /* 0x00d8 */
- { CODEPAGE_ISUPPER, 0x00d9, 0x00f9 }, /* 0x00d9 */
- { CODEPAGE_ISUPPER, 0x00da, 0x00fa }, /* 0x00da */
- { CODEPAGE_ISUPPER, 0x00db, 0x00fb }, /* 0x00db */
- { CODEPAGE_ISUPPER, 0x00dc, 0x00fc }, /* 0x00dc */
- { CODEPAGE_ISUPPER, 0x00dd, 0x00fd }, /* 0x00dd */
- { CODEPAGE_ISUPPER, 0x00de, 0x00fe }, /* 0x00de */
- { CODEPAGE_ISNONE, 0x00df, 0x00df }, /* 0x00df */
- { CODEPAGE_ISLOWER, 0x00c0, 0x00e0 }, /* 0x00e0 */
- { CODEPAGE_ISLOWER, 0x00c1, 0x00e1 }, /* 0x00e1 */
- { CODEPAGE_ISLOWER, 0x00c2, 0x00e2 }, /* 0x00e2 */
- { CODEPAGE_ISLOWER, 0x00c3, 0x00e3 }, /* 0x00e3 */
- { CODEPAGE_ISLOWER, 0x00c4, 0x00e4 }, /* 0x00e4 */
- { CODEPAGE_ISLOWER, 0x00c5, 0x00e5 }, /* 0x00e5 */
- { CODEPAGE_ISLOWER, 0x00c6, 0x00e6 }, /* 0x00e6 */
- { CODEPAGE_ISLOWER, 0x00c7, 0x00e7 }, /* 0x00e7 */
- { CODEPAGE_ISLOWER, 0x00c8, 0x00e8 }, /* 0x00e8 */
- { CODEPAGE_ISLOWER, 0x00c9, 0x00e9 }, /* 0x00e9 */
- { CODEPAGE_ISLOWER, 0x00ca, 0x00ea }, /* 0x00ea */
- { CODEPAGE_ISLOWER, 0x00cb, 0x00eb }, /* 0x00eb */
- { CODEPAGE_ISLOWER, 0x00cc, 0x00ec }, /* 0x00ec */
- { CODEPAGE_ISLOWER, 0x00cd, 0x00ed }, /* 0x00ed */
- { CODEPAGE_ISLOWER, 0x00ce, 0x00ee }, /* 0x00ee */
- { CODEPAGE_ISLOWER, 0x00cf, 0x00ef }, /* 0x00ef */
- { CODEPAGE_ISNONE, 0x00f0, 0x00f0 }, /* 0x00f0 */
- { CODEPAGE_ISLOWER, 0x00d1, 0x00f1 }, /* 0x00f1 */
- { CODEPAGE_ISLOWER, 0x00d2, 0x00f2 }, /* 0x00f2 */
- { CODEPAGE_ISLOWER, 0x00d3, 0x00f3 }, /* 0x00f3 */
- { CODEPAGE_ISLOWER, 0x00d4, 0x00f4 }, /* 0x00f4 */
- { CODEPAGE_ISLOWER, 0x00d5, 0x00f5 }, /* 0x00f5 */
- { CODEPAGE_ISLOWER, 0x00d6, 0x00f6 }, /* 0x00f6 */
- { CODEPAGE_ISLOWER, 0x00d7, 0x00f7 }, /* 0x00f7 */
- { CODEPAGE_ISLOWER, 0x00d8, 0x00f8 }, /* 0x00f8 */
- { CODEPAGE_ISLOWER, 0x00d9, 0x00f9 }, /* 0x00f9 */
- { CODEPAGE_ISLOWER, 0x00da, 0x00fa }, /* 0x00fa */
- { CODEPAGE_ISLOWER, 0x00db, 0x00fb }, /* 0x00fb */
- { CODEPAGE_ISLOWER, 0x00dc, 0x00fc }, /* 0x00fc */
- { CODEPAGE_ISLOWER, 0x00dd, 0x00fd }, /* 0x00fd */
- { CODEPAGE_ISLOWER, 0x00de, 0x00fe }, /* 0x00fe */
- { CODEPAGE_ISNONE, 0x00ff, 0x00ff } /* 0x00ff */
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CP_LATIN6_H */
diff --git a/usr/src/uts/common/smbsrv/cp_unicode.h b/usr/src/uts/common/smbsrv/cp_unicode.h
index e2f1eb83f9..187aadd34e 100644
--- a/usr/src/uts/common/smbsrv/cp_unicode.h
+++ b/usr/src/uts/common/smbsrv/cp_unicode.h
@@ -19,26 +19,24 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SMBSRV_CP_UNICODE_H
#define _SMBSRV_CP_UNICODE_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <smbsrv/smb_i18n.h>
+#include <smbsrv/string.h>
#ifdef __cplusplus
extern "C" {
#endif
struct unicode_cp {
- mts_wchar_t val;
- mts_wchar_t ctype;
- mts_wchar_t lower;
- mts_wchar_t upper;
+ smb_wchar_t val;
+ smb_wchar_t ctype;
+ smb_wchar_t lower;
+ smb_wchar_t upper;
};
struct unicode_cp a_unicode[] = {
diff --git a/usr/src/uts/common/smbsrv/cp_usascii.h b/usr/src/uts/common/smbsrv/cp_usascii.h
index d72c28bb88..63e830ca03 100644
--- a/usr/src/uts/common/smbsrv/cp_usascii.h
+++ b/usr/src/uts/common/smbsrv/cp_usascii.h
@@ -19,33 +19,25 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SMBSRV_CP_USASCII_H
#define _SMBSRV_CP_USASCII_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
- * This file specifies a codepage mapping for a given character set as
- * specified below:
- *
- * This is the codepage for the US-ASCII Character Set
- * This codepage defines values for the characters of the
- * written alphabet of the English language. The US-ASCII
- * character set is used in the USA. It is a proper
- * subset of the Latin-1 character set.
+ * This file specifies the codepage mapping the US-ASCII Character Set,
+ * which is a subset of the Latin-1 character set.
*/
-#include <smbsrv/codepage.h>
+#include <smbsrv/string.h>
#ifdef __cplusplus
extern "C" {
#endif
-codepage_t usascii_codepage[256] = {
+smb_codepage_t usascii_codepage[256] = {
{ CODEPAGE_ISNONE, 0x0000, 0x0000 }, /* 0x0000 */
{ CODEPAGE_ISNONE, 0x0001, 0x0001 }, /* 0x0001 */
{ CODEPAGE_ISNONE, 0x0002, 0x0002 }, /* 0x0002 */
diff --git a/usr/src/uts/common/smbsrv/ctype.h b/usr/src/uts/common/smbsrv/ctype.h
deleted file mode 100644
index 284db64419..0000000000
--- a/usr/src/uts/common/smbsrv/ctype.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMBSRV_CTYPE_H
-#define _SMBSRV_CTYPE_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <smbsrv/codepage.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define _mts_between(l, c, u) ((l) <= (c) && (c) <= (u))
-
-/*
- * These macros take non-ascii characters into account.
- * Their behavior depends on the codepage that is used.
- */
-#define mts_islower(c) codepage_islower((c))
-#define mts_isupper(c) codepage_isupper((c))
-#define mts_tolower(c) codepage_tolower((c))
-#define mts_toupper(c) codepage_toupper((c))
-
-#define mts_isalpha(c) (mts_islower(c) || mts_isupper(c))
-#define mts_isdigit(c) _mts_between('0', (c), '9')
-#define mts_isalnum(c) (mts_isalpha(c) || mts_isdigit(c))
-#define mts_isxdigit(c) (mts_isdigit(c) || \
- _mts_between('a', (c), 'f') || \
- _mts_between('A', (c), 'F'))
-#define mts_isblank(c) ((c) == ' ' || (c) == '\t')
-#define mts_isspace(c) ((c) == ' ' || \
- (c) == '\t' || \
- (c) == '\n' || \
- (c) == '\r' || \
- (c) == '\f')
-#define mts_isascii(c) (!((c) &~ 0x7F))
-
-/* These macros only apply to ASCII */
-#define mts_isalpha_ascii(c) \
- (_mts_between('a', (c), 'z') || _mts_between('A', (c), 'Z'))
-#define mts_isalnum_ascii(c) (mts_isalpha_ascii(c) || mts_isdigit(c))
-
-/* should it include non-ascii characters ? */
-#define mts_isprint(c) _mts_between('!', (c), '~')
-#define mts_iscntrl(c) (((c) >= 0) && ((c) <= 0x1f)) || ((c) == 0x7f))
-#define mts_ispunct(c) (mts_isprint(c) && !mts_isxdigit(c) && !mts_isspace(c))
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_CTYPE_H */
diff --git a/usr/src/uts/common/smbsrv/lm.h b/usr/src/uts/common/smbsrv/lm.h
deleted file mode 100644
index e1cc28c220..0000000000
--- a/usr/src/uts/common/smbsrv/lm.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-
-#ifndef _SMBSRV_LM_H
-#define _SMBSRV_LM_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * This file provides global Lan Manager definitions.
- */
-
-#include <smbsrv/wintypes.h>
-#include <syslog.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_LM_H */
diff --git a/usr/src/uts/common/smbsrv/mac_cifs.h b/usr/src/uts/common/smbsrv/mac_cifs.h
index 26f0451958..767cf50cd8 100644
--- a/usr/src/uts/common/smbsrv/mac_cifs.h
+++ b/usr/src/uts/common/smbsrv/mac_cifs.h
@@ -19,15 +19,13 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SMBSRV_MAC_CIFS_H
#define _SMBSRV_MAC_CIFS_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* This file provides definitions for the Macintosh Extensions for CIFS
* interface (see http://www.thursby.com/cifs).
@@ -42,7 +40,7 @@ extern "C" {
* Macintosh information level extensions. The entire list is presented
* here for convenience but for consistency with the existing CIFS
* information levels don't use these values directly. Use the SMB_MAC_
- * definitions in cifs.h.
+ * definitions in smb.h.
*
* SmbTrans2QueryFsInformation: MAC_QUERY_FS_INFO
* SmbTrans2Find{First|Next}2: MAC_FIND_BOTH_HFS_INFO
diff --git a/usr/src/uts/common/smbsrv/mbuf.h b/usr/src/uts/common/smbsrv/mbuf.h
index 562ef5168f..8f16d6f4ef 100644
--- a/usr/src/uts/common/smbsrv/mbuf.h
+++ b/usr/src/uts/common/smbsrv/mbuf.h
@@ -67,7 +67,7 @@
#include <sys/types.h>
#include <sys/param.h>
#include <sys/list.h>
-#include <smbsrv/smb_i18n.h>
+#include <smbsrv/string.h>
#include <smbsrv/alloc.h>
#ifdef __cplusplus
diff --git a/usr/src/uts/common/smbsrv/msgbuf.h b/usr/src/uts/common/smbsrv/msgbuf.h
index 465ba476de..66d03680f1 100644
--- a/usr/src/uts/common/smbsrv/msgbuf.h
+++ b/usr/src/uts/common/smbsrv/msgbuf.h
@@ -19,15 +19,13 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SMBSRV_MSGBUF_H
#define _SMBSRV_MSGBUF_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* Definition and interface for smb_msgbuf buffer management. The
* smb_msgbuf interface is typically used to encode or decode SMB
@@ -36,7 +34,7 @@
*/
#include <sys/types.h>
-#include <smbsrv/smb_i18n.h>
+#include <smbsrv/string.h>
#ifdef __cplusplus
extern "C" {
diff --git a/usr/src/uts/common/smbsrv/ndl/srvsvc.ndl b/usr/src/uts/common/smbsrv/ndl/srvsvc.ndl
index 5ce47c7609..f0fa0740c5 100644
--- a/usr/src/uts/common/smbsrv/ndl/srvsvc.ndl
+++ b/usr/src/uts/common/smbsrv/ndl/srvsvc.ndl
@@ -1299,7 +1299,7 @@ struct mslm_NetNameValidate {
*/
/*
- * Share types for shiX_type fields - duplicated from cifs.h
+ * Share types for shiX_type fields - duplicated from smb.h
*/
#ifndef _SHARE_TYPES_DEFINED_
#define _SHARE_TYPES_DEFINED_
diff --git a/usr/src/uts/common/smbsrv/ndr.h b/usr/src/uts/common/smbsrv/ndr.h
index 22d33f763f..034d877b19 100644
--- a/usr/src/uts/common/smbsrv/ndr.h
+++ b/usr/src/uts/common/smbsrv/ndr.h
@@ -46,7 +46,7 @@
#include <string.h>
#include <smbsrv/wintypes.h>
#include <smbsrv/ndl/rpcpdu.ndl>
-#include <smbsrv/smb_i18n.h>
+#include <smbsrv/string.h>
#endif
#ifdef __cplusplus
@@ -465,8 +465,8 @@ int ndr_inner_pointer(ndr_ref_t *);
int ndr_inner_reference(ndr_ref_t *);
int ndr_inner_array(ndr_ref_t *);
-size_t ndr_mbstowcs(struct ndr_stream *, mts_wchar_t *, const char *, size_t);
-int ndr_mbtowc(struct ndr_stream *, mts_wchar_t *, const char *, size_t);
+size_t ndr_mbstowcs(struct ndr_stream *, smb_wchar_t *, const char *, size_t);
+int ndr_mbtowc(struct ndr_stream *, smb_wchar_t *, const char *, size_t);
void nds_bswap(void *src, void *dst, size_t len);
diff --git a/usr/src/uts/common/smbsrv/nmpipes.h b/usr/src/uts/common/smbsrv/nmpipes.h
index f0cd81cc3a..6a75fdd0f8 100644
--- a/usr/src/uts/common/smbsrv/nmpipes.h
+++ b/usr/src/uts/common/smbsrv/nmpipes.h
@@ -19,15 +19,13 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SMBSRV_NMPIPES_H
#define _SMBSRV_NMPIPES_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* This file defines pre-defined and system common named pipes.
*
@@ -111,7 +109,7 @@ extern "C" {
#define PIPE_REPL "\\PIPE\\repl"
/*
- * Named pipe function codes (NTDDK cifs.h).
+ * Named pipe function codes (NTDDK).
*/
#define TRANS_SET_NMPIPE_STATE 0x01
#define TRANS_RAW_READ_NMPIPE 0x11
diff --git a/usr/src/uts/common/smbsrv/oem.h b/usr/src/uts/common/smbsrv/oem.h
deleted file mode 100644
index af30711dac..0000000000
--- a/usr/src/uts/common/smbsrv/oem.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-/*
- * Support for oem <-> unicode translations.
- */
-
-#ifndef _SMBSRV_OEM_H
-#define _SMBSRV_OEM_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <smbsrv/smb_i18n.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define oem_default_smb_cpid OEM_CP_IND_850
-#define oem_default_telnet_cpid OEM_CP_IND_1252
-#define oem_default_language "english"
-
-/*
- * The id should corresponds to oemcp_table in os/library/oem.c.
- */
-typedef enum codepage_id {
- OEM_CP_IND_850 = 0,
- OEM_CP_IND_950,
- OEM_CP_IND_1252,
- OEM_CP_IND_949,
- OEM_CP_IND_936,
- OEM_CP_IND_932,
- OEM_CP_IND_852,
- OEM_CP_IND_1250,
- OEM_CP_IND_1253,
- OEM_CP_IND_737,
- OEM_CP_IND_1254,
- OEM_CP_IND_857,
- OEM_CP_IND_1251,
- OEM_CP_IND_866,
- OEM_CP_IND_1255,
- OEM_CP_IND_862,
- OEM_CP_IND_1256,
- OEM_CP_IND_720,
- NO_OF_OEM_CP_INDS
-} codepage_id_t;
-
-
-typedef struct language {
- char *language;
- unsigned int smbIndex;
- unsigned int telnetIndex;
-} language;
-
-
-/*
- * cpid = the cpid of the oemcp_table that oempage_t belong to.
- * value = the conversion values
- */
-typedef struct oempage_t {
- unsigned int cpid;
- mts_wchar_t *value;
-} oempage_t;
-
-/*
- * Private functions for opmlang.c
- */
-extern int oem_codepage_init(unsigned int);
-extern void oem_codepage_free(unsigned int);
-extern language *oem_get_lang_table(void);
-extern int oem_no_of_languages(void);
-#define NO_OF_LANGUAGES oem_no_of_languages()
-
-/*
- * Public functions
- */
-extern size_t unicodestooems(char *, const mts_wchar_t *, size_t, unsigned int);
-extern size_t oemstounicodes(mts_wchar_t *, const char *, size_t, unsigned int);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_OEM_H */
diff --git a/usr/src/uts/common/smbsrv/smb.h b/usr/src/uts/common/smbsrv/smb.h
index 1214f041d7..af502643e6 100644
--- a/usr/src/uts/common/smbsrv/smb.h
+++ b/usr/src/uts/common/smbsrv/smb.h
@@ -19,43 +19,41 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SMBSRV_SMB_H
#define _SMBSRV_SMB_H
-/*
- * SMB definitions and interfaces, mostly defined in the CIFS spec.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
/*
- * SMB definitions and interfaces, mostly defined in the CIFS spec.
+ * SMB definitions and interfaces, mostly defined in the SMB and CIFS specs.
*/
-
#ifdef _KERNEL
#include <sys/types.h>
#endif
-#include <smbsrv/smb_i18n.h>
+#include <smbsrv/string.h>
#include <smbsrv/msgbuf.h>
+#include <smbsrv/ntstatus.h>
+#include <smbsrv/nterror.h>
+#include <smbsrv/doserror.h>
+#include <smbsrv/ntaccess.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
+/*
+ * Macintosh Extensions for CIFS
+ */
+#include <smbsrv/mac_cifs.h>
/*
- * Typedefs from CIFS section 3.2
+ * NT Installable File System (IFS) interface.
*/
-typedef unsigned char UCHAR;
-typedef unsigned short USHORT;
-typedef uint32_t ULONG;
-typedef int32_t LONG;
+#include <smbsrv/ntifs.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
/*
* The msgbuf format and length of an SMB header.
@@ -65,6 +63,18 @@ typedef int32_t LONG;
#define SMB_HEADER_LEN 32
#define SMB_SIG_SIZE 8 /* SMB signature size */
+#define SMB_HEADER_ED_FMT "Mbbbwbww8c2.wwww"
+#define SMB_HEADER_ED_LEN (4+1+1+1+2+1+2+12+2+2+2+2)
+#define SMB_TRANSHDR_ED_FMT "wwwwb.wl2.wwwwb."
+#define SMB_TRANSHDR_ED_LEN (2+2+2+2+1+1+2+4+2+2+2+2+2+1+1)
+#define SMB_TRANSSHDR_ED_FMT "wwwwwwwww"
+#define SMB_TRANSSHDR_ED_LEN (2+2+2+2+2+2+2+2)
+#define SMB_TRANS2SHDR_ED_FMT "wwwwwwwww"
+#define SMB_TRANS2SHDR_ED_LEN (2+2+2+2+2+2+2+2+2)
+/* There is something wrong with this. Should be 38 bytes. It is 37 bytes */
+#define SMB_NT_TRANSHDR_ED_FMT "b2.llllllllbw"
+#define SMB_NT_TRANSHDR_ED_LEN (1+2+4+4+4+4+4+4+4+4+1+2)
+
/*
* CIFS definition for the SMB header (CIFS Section 3.2). Note that the
* pid_high field is not documented in the 1997 CIFS specificaction. This
@@ -73,75 +83,43 @@ typedef int32_t LONG;
* ready structure.
*/
typedef struct smb_hdr {
- UCHAR protocol[4];
- UCHAR command;
+ uint8_t protocol[4];
+ uint8_t command;
union {
struct {
- UCHAR error_class;
- UCHAR reserved;
- USHORT error;
+ uint8_t error_class;
+ uint8_t reserved;
+ uint16_t error;
} dos_error;
- ULONG ntstatus;
- }status;
+ uint32_t ntstatus;
+ } status;
- UCHAR flags;
- USHORT flags2;
- USHORT pid_high;
+ uint8_t flags;
+ uint16_t flags2;
+ uint16_t pid_high;
union {
- USHORT pad[5];
+ uint16_t pad[5];
struct {
- USHORT reserved;
- UCHAR security_sig[SMB_SIG_SIZE];
+ uint16_t reserved;
+ uint8_t security_sig[SMB_SIG_SIZE];
} extra;
} extra;
- USHORT tid;
- USHORT pid;
- USHORT uid;
- USHORT mid;
+ uint16_t tid;
+ uint16_t pid;
+ uint16_t uid;
+ uint16_t mid;
} smb_hdr_t;
-
/*
* Encoded or packed SMB header in network ready format.
*/
typedef struct smb_hdrbuf {
- unsigned char hdr[SMB_HEADER_LEN];
+ uint8_t hdr[SMB_HEADER_LEN];
} smb_hdrbuf_t;
-typedef struct smb_nethdr {
- uint8_t sh_protocol[4];
- uint8_t sh_command;
-
- union {
- struct {
- uint8_t sh_error_class;
- uint8_t sh_reserved;
- uint8_t sh_error[2];
- } dos_error;
- uint8_t sh_ntstatus[4];
- } status;
-
- uint8_t sh_flags;
- uint8_t sh_flags2[2];
- uint8_t sh_pid_high[2];
-
- union {
- uint8_t sh_pad[10];
- struct {
- uint8_t sh_reserved[2];
- uint8_t sh_security_sig[SMB_SIG_SIZE];
- } extra;
- } extra;
-
- uint8_t sh_tid[2];
- uint8_t sh_pid[2];
- uint8_t sh_uid[2];
- uint8_t sh_mid[2];
-} smb_nethdr_t;
-
/*
* Protocol magic value as a 32-bit. This will be 0xff 0x53 0x4d 0x42 on
* the wire.
@@ -155,118 +133,1210 @@ typedef struct smb_nethdr {
* month range is 1-12, and the day range is 1-31.
*/
typedef struct smb_date {
- USHORT day : 5;
- USHORT month : 4;
- USHORT year : 7;
+ uint16_t day : 5;
+ uint16_t month : 4;
+ uint16_t year : 7;
} smb_date_t;
-
/*
* The hours range is 0-23, the minutes range is 0-59 and the two_sec
* range is 0-29.
*/
typedef struct smb_time {
- USHORT two_sec : 5;
- USHORT minutes : 6;
- USHORT hours : 5;
+ uint16_t two_sec : 5;
+ uint16_t minutes : 6;
+ uint16_t hours : 5;
} smb_time_t;
-
/*
* This is a 64-bit signed absolute time representing 100ns increments.
* A positive value represents the absolute time since 1601AD. A
* negative value represents a context specific relative time.
*/
typedef struct smb_time2 {
- ULONG low_time;
- LONG high_time;
+ uint32_t low_time;
+ int32_t high_time;
} smb_time2_t;
-
/*
* The number of seconds since Jan 1, 1970, 00:00:00.0.
*/
typedef uint32_t smb_utime_t;
-
#define SMB_LM_NEGOTIATE_WORDCNT 13
#define SMB_NT_NEGOTIATE_WORDCNT 17
+#define SMB_NAME83_EXTLEN 3
+#define SMB_NAME83_BASELEN 8
+#define SMB_NAME83_LEN 12
-typedef struct smb_nt_negotiate_rsp {
- UCHAR word_count;
- USHORT dialect_index;
- UCHAR security_mode;
- USHORT max_mpx;
- USHORT max_vc;
- ULONG max_buffer_size;
- ULONG max_raw_size;
- ULONG session_key;
- ULONG capabilities;
- ULONG time_low;
- ULONG time_high;
- USHORT server_tz;
- UCHAR security_len;
- USHORT byte_count;
- UCHAR *guid;
- UCHAR *challenge;
- UCHAR *oem_domain;
-} smb_nt_negotiate_rsp_t;
-
-/*
- * SMB_COM_TRANSACTION
- */
-typedef struct smb_transact_rsp {
- UCHAR WordCount; /* Count of data bytes */
- /* value = 10 + SetupCount */
- USHORT TotalParamCount; /* Total parameter bytes being sent */
- USHORT TotalDataCount; /* Total data bytes being sent */
- USHORT Reserved;
- USHORT ParamCount; /* Parameter bytes sent this buffer */
- USHORT ParamOffset; /* Offset (from hdr start) to params */
- USHORT ParamDisplacement; /* Displacement of these param bytes */
- USHORT DataCount; /* Data bytes sent this buffer */
- USHORT DataOffset; /* Offset (from hdr start) to data */
- USHORT DataDisplacement; /* Displacement of these data bytes */
- UCHAR SetupCount; /* Count of setup words */
- USHORT BCC;
-#if 0
- UCHAR Reserved2; /* Reserved (pad above to word) */
- UCHAR Buffer[1]; /* Buffer containing: */
- USHORT Setup[]; /* Setup words (# = SetupWordCount) */
- USHORT ByteCount; /* Count of data bytes */
- UCHAR Pad[]; /* Pad to SHORT or LONG */
- UCHAR Params[]; /* Param. bytes (# = ParamCount) */
- UCHAR Pad1[]; /* Pad to SHORT or LONG */
- UCHAR Data[]; /* Data bytes (# = DataCount) */
-#endif
-} smb_transact_rsp_t;
-
-/*
- * SMBreadX
- */
-typedef struct smb_read_andx_rsp {
- UCHAR WordCount;
- UCHAR AndXCmd;
- UCHAR AndXReserved;
- USHORT AndXOffset;
- USHORT Remaining;
- USHORT DataCompactionMode;
- USHORT Reserved;
- USHORT DataLength;
- USHORT DataOffset;
- ULONG DataLengthHigh;
- USHORT Reserved2[3];
- USHORT ByteCount;
-#if 0
- UCHAR Pad[];
- UCHAR Data[];
-#endif
-} smb_read_andx_rsp_t;
+/* Share types */
+#ifndef _SHARE_TYPES_DEFINED_
+#define _SHARE_TYPES_DEFINED_
+#define STYPE_DISKTREE 0x00000000
+#define STYPE_PRINTQ 0x00000001
+#define STYPE_DEVICE 0x00000002
+#define STYPE_IPC 0x00000003
+#define STYPE_MASK 0x0000000F
+#define STYPE_DFS 0x00000064
+#define STYPE_HIDDEN 0x80000000
+#define STYPE_SPECIAL 0x80000000
+#endif /* _SHARE_TYPES_DEFINED_ */
+
+#define STYPE_ISDSK(S) (((S) & STYPE_MASK) == STYPE_DISKTREE)
+#define STYPE_ISPRN(S) (((S) & STYPE_MASK) == STYPE_PRINTQ)
+#define STYPE_ISDEV(S) (((S) & STYPE_MASK) == STYPE_DEVICE)
+#define STYPE_ISIPC(S) (((S) & STYPE_MASK) == STYPE_IPC)
+
+/*
+ * NtCreateAndX and NtTransactCreate creation flags: defined in CIFS
+ * section 4.2.2
+ *
+ * Creation Flag Name Value Description
+ * ========================== ====== ==================================
+ * NT_CREATE_REQUEST_OPLOCK 0x02 Level I oplock requested
+ * NT_CREATE_REQUEST_OPBATCH 0x04 Batch oplock requested
+ * NT_CREATE_OPEN_TARGET_DIR 0x08 Target for open is a directory
+ */
+#define NT_CREATE_FLAG_REQUEST_OPLOCK 0x02
+#define NT_CREATE_FLAG_REQUEST_OPBATCH 0x04
+#define NT_CREATE_FLAG_OPEN_TARGET_DIR 0x08
+
+
+/*
+ * Define the filter flags for NtNotifyChangeDirectoryFile
+ */
+#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
+#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
+#define FILE_NOTIFY_CHANGE_NAME 0x00000003
+#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
+#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
+#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
+#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
+#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
+#define FILE_NOTIFY_CHANGE_EA 0x00000080
+#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
+#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
+#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
+#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
+#define FILE_NOTIFY_VALID_MASK 0x00000fff
+
+
+/*
+ * Define the file action type codes for NtNotifyChangeDirectoryFile
+ */
+#define FILE_ACTION_ADDED 0x00000001
+#define FILE_ACTION_REMOVED 0x00000002
+#define FILE_ACTION_MODIFIED 0x00000003
+#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
+#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
+#define FILE_ACTION_ADDED_STREAM 0x00000006
+#define FILE_ACTION_REMOVED_STREAM 0x00000007
+#define FILE_ACTION_MODIFIED_STREAM 0x00000008
+
+
+/* Lock type flags */
+#define LOCKING_ANDX_NORMAL_LOCK 0x00
+#define LOCKING_ANDX_SHARED_LOCK 0x01
+#define LOCKING_ANDX_OPLOCK_RELEASE 0x02
+#define LOCKING_ANDX_CHANGE_LOCK_TYPE 0x04
+#define LOCKING_ANDX_CANCEL_LOCK 0x08
+#define LOCKING_ANDX_LARGE_FILES 0x10
+
+#define SMB_COM_CREATE_DIRECTORY 0x00
+#define SMB_COM_DELETE_DIRECTORY 0x01
+#define SMB_COM_OPEN 0x02
+#define SMB_COM_CREATE 0x03
+#define SMB_COM_CLOSE 0x04
+#define SMB_COM_FLUSH 0x05
+#define SMB_COM_DELETE 0x06
+#define SMB_COM_RENAME 0x07
+#define SMB_COM_QUERY_INFORMATION 0x08
+#define SMB_COM_SET_INFORMATION 0x09
+#define SMB_COM_READ 0x0A
+#define SMB_COM_WRITE 0x0B
+#define SMB_COM_LOCK_BYTE_RANGE 0x0C
+#define SMB_COM_UNLOCK_BYTE_RANGE 0x0D
+#define SMB_COM_CREATE_TEMPORARY 0x0E
+#define SMB_COM_CREATE_NEW 0x0F
+#define SMB_COM_CHECK_DIRECTORY 0x10
+#define SMB_COM_PROCESS_EXIT 0x11
+#define SMB_COM_SEEK 0x12
+#define SMB_COM_LOCK_AND_READ 0x13
+#define SMB_COM_WRITE_AND_UNLOCK 0x14
+
+#define SMB_COM_READ_RAW 0x1A
+#define SMB_COM_READ_MPX 0x1B
+#define SMB_COM_READ_MPX_SECONDARY 0x1C
+#define SMB_COM_WRITE_RAW 0x1D
+#define SMB_COM_WRITE_MPX 0x1E
+#define SMB_COM_WRITE_MPX_SECONDARY 0x1F
+#define SMB_COM_WRITE_COMPLETE 0x20
+
+#define SMB_COM_SET_INFORMATION2 0x22
+#define SMB_COM_QUERY_INFORMATION2 0x23
+#define SMB_COM_LOCKING_ANDX 0x24
+#define SMB_COM_TRANSACTION 0x25
+#define SMB_COM_TRANSACTION_SECONDARY 0x26
+#define SMB_COM_IOCTL 0x27
+#define SMB_COM_IOCTL_SECONDARY 0x28
+#define SMB_COM_COPY 0x29
+#define SMB_COM_MOVE 0x2A
+#define SMB_COM_ECHO 0x2B
+#define SMB_COM_WRITE_AND_CLOSE 0x2C
+#define SMB_COM_OPEN_ANDX 0x2D
+#define SMB_COM_READ_ANDX 0x2E
+#define SMB_COM_WRITE_ANDX 0x2F
+
+#define SMB_COM_CLOSE_AND_TREE_DISC 0x31
+#define SMB_COM_TRANSACTION2 0x32
+#define SMB_COM_TRANSACTION2_SECONDARY 0x33
+#define SMB_COM_FIND_CLOSE2 0x34
+#define SMB_COM_FIND_NOTIFY_CLOSE 0x35
+
+#define SMB_COM_TREE_CONNECT 0x70
+#define SMB_COM_TREE_DISCONNECT 0x71
+#define SMB_COM_NEGOTIATE 0x72
+#define SMB_COM_SESSION_SETUP_ANDX 0x73
+#define SMB_COM_LOGOFF_ANDX 0x74
+#define SMB_COM_TREE_CONNECT_ANDX 0x75
+
+#define SMB_COM_QUERY_INFORMATION_DISK 0x80
+#define SMB_COM_SEARCH 0x81
+#define SMB_COM_FIND 0x82
+#define SMB_COM_FIND_UNIQUE 0x83
+#define SMB_COM_FIND_CLOSE 0x84
+
+#define SMB_COM_NT_TRANSACT 0xA0
+#define SMB_COM_NT_TRANSACT_SECONDARY 0xA1
+#define SMB_COM_NT_CREATE_ANDX 0xA2
+#define SMB_COM_NT_CANCEL 0xA4
+
+#define SMB_COM_OPEN_PRINT_FILE 0xC0
+#define SMB_COM_WRITE_PRINT_FILE 0xC1
+#define SMB_COM_CLOSE_PRINT_FILE 0xC2
+#define SMB_COM_GET_PRINT_QUEUE 0xC3
+
+
+/*
+ * Flags field of the SMB header. The names in parenthesis represent
+ * alternative names for the flags.
+ *
+ * SMB_FLAGS_LOCK_AND_READ_OK If the server supports LockAndRead and
+ * (SMB_FLAGS_LOCKS_SUBDIALECT) WriteAndUnlock, it sets this bit in the
+ * Negotiate response.
+ *
+ * SMB_FLAGS_SEND_NO_ACK When on, the client guarantees that there
+ * (SMB_FLAGS_RCV_BUF_POSTED) is a receive buffer posted such that a
+ * "Send-No-Ack" can be used by the server
+ * to respond to the client's request.
+ *
+ * SMB_FLAGS_CASE_INSENSITIVE This is part of the Flags field of every
+ * SMB header. If this bit is set, then all
+ * pathnames in the SMB should be treated as
+ * case-insensitive. Otherwise pathnames are
+ * case-sensitive.
+ *
+ * SMB_FLAGS_CANONICALIZED_PATHS When on in SessionSetupX, this indicates
+ * that all paths sent to the server are
+ * already in OS/2 canonicalized format.
+ *
+ * OS/2 canonical format means that file/directory names are in upper case,
+ * are valid characters, . and .. have been removed and single backslashes
+ * are used as separators.
+ *
+ * SMB_FLAGS_OPLOCK When set in an open file request SMBs
+ * (Open, Create, OpenX, etc.) this bit
+ * indicates a request for an oplock on the
+ * file. When set in the response, this bit
+ * indicates that the oplock was granted.
+ *
+ * SMB_FLAGS_OPLOCK_NOTIFY_ANY When on, this bit indicates that the server
+ * should notify the client on any request
+ * that could cause the file to be changed.
+ * If not set, the server only notifies the
+ * client on other open requests on the file.
+ * This bit is only relevant when
+ * SMB_FLAGS_OPLOCK is set.
+ *
+ * SMB_FLAGS_SERVER_TO_REDIR This bit indicates that the SMB is being
+ * (SMB_FLAGS_REPLY) sent from server to (client) redirector.
+ */
+#define SMB_FLAGS_LOCK_AND_READ_OK 0x01
+#define SMB_FLAGS_SEND_NO_ACK 0x02
+#define SMB_FLAGS_RESERVED 0x04
+#define SMB_FLAGS_CASE_INSENSITIVE 0x08
+#define SMB_FLAGS_CANONICALIZED_PATHS 0x10
+#define SMB_FLAGS_OPLOCK 0x20
+#define SMB_FLAGS_OPLOCK_NOTIFY_ANY 0x40
+#define SMB_FLAGS_REPLY 0x80
+
+
+/*
+ * Flags2 field of the SMB header.
+ */
+#define SMB_FLAGS2_KNOWS_LONG_NAMES 0x0001
+#define SMB_FLAGS2_KNOWS_EAS 0x0002
+#define SMB_FLAGS2_SMB_SECURITY_SIGNATURE 0x0004
+#define SMB_FLAGS2_IS_LONG_NAME 0x0040
+#define SMB_FLAGS2_REPARSE_PATH 0x0400
+#define SMB_FLAGS2_EXT_SEC 0x0800
+#define SMB_FLAGS2_DFS 0x1000
+#define SMB_FLAGS2_PAGING_IO 0x2000
+#define SMB_FLAGS2_NT_STATUS 0x4000
+#define SMB_FLAGS2_UNICODE 0x8000
+
+#define DIALECT_UNKNOWN 0
+#define PC_NETWORK_PROGRAM_1_0 1 /* The original MSNET SMB protocol */
+#define PCLAN1_0 2 /* Some versions of the original MSNET */
+#define MICROSOFT_NETWORKS_1_03 3 /* This is used for the MS-NET 1.03 */
+#define MICROSOFT_NETWORKS_3_0 4 /* This is the DOS LANMAN 1.0 specific */
+#define LANMAN1_0 5 /* This is the first version of the full */
+#define LM1_2X002 6 /* This is the first version of the full */
+#define DOS_LM1_2X002 7 /* This is the dos equivalent of the */
+#define DOS_LANMAN2_1 8 /* DOS LANMAN2.1 */
+#define LANMAN2_1 9 /* OS/2 LANMAN2.1 */
+#define Windows_for_Workgroups_3_1a 10 /* Windows for Workgroups Version 1.0 */
+#define NT_LM_0_12 11 /* The SMB protocol designed for NT */
+
+/*
+ * SMB_TREE_CONNECT_ANDX OptionalSupport flags
+ *
+ * SMB_SUPPORT_SEARCH_BITS The server supports SearchAttributes.
+ * SMB_SHARE_IS_IN_DFS The share is managed by DFS.
+ * SMB_CSC_MASK Offline-caching mask - see CSC values.
+ * SMB_UNIQUE_FILE_NAME The server uses long names and does not support
+ * short names. This indicates to clients that
+ * they may perform directory name-space caching.
+ * SMB_EXTENDED_SIGNATURES The server will use signing key protection.
+ *
+ * SMB_CSC_CACHE_MANUAL_REINT Clients are allowed to cache files for offline
+ * use as requested by users but automatic
+ * file-by-file reintegration is not allowed.
+ * SMB_CSC_CACHE_AUTO_REINT Clients are allowed to automatically cache
+ * files for offline use and file-by-file
+ * reintegration is allowed.
+ * SMB_CSC_CACHE_VDO Clients are allowed to automatically cache files
+ * for offline use, file-by-file reintegration is
+ * allowed and clients are permitted to work from
+ * their local cache even while offline.
+ * SMB_CSC_CACHE_NONE Client-side caching is disabled for this share.
+ *
+ * SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM
+ * The server will filter directory entries based
+ * on the access permissions of the client.
+ */
+#define SMB_SUPPORT_SEARCH_BITS 0x0001
+#define SMB_SHARE_IS_IN_DFS 0x0002
+#define SMB_CSC_MASK 0x000C
+#define SMB_UNIQUE_FILE_NAME 0x0010
+#define SMB_EXTENDED_SIGNATURES 0x0020
+
+#define SMB_CSC_CACHE_MANUAL_REINT 0x0000
+#define SMB_CSC_CACHE_AUTO_REINT 0x0004
+#define SMB_CSC_CACHE_VDO 0x0008
+#define SMB_CSC_CACHE_NONE 0x000C
+
+#define SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM 0x0800
+
+/*
+ * The subcommand codes, placed in SETUP[0], for named pipe operations are:
+ * SubCommand Code Value Description
+ * =================== ===== =========================================
+ */
+
+#define CallNamedPipe 0x54 /* open/write/read/close pipe */
+#define WaitNamedPipe 0x53 /* wait for pipe to be nonbusy */
+#define PeekNmPipe 0x23 /* read but don't remove data */
+#define QNmPHandState 0x21 /* query pipe handle modes */
+#define SetNmPHandState 0x01 /* set pipe handle modes */
+#define QNmPipeInfo 0x22 /* query pipe attributes */
+#define TransactNmPipe 0x26 /* write/read operation on pipe */
+#define RawReadNmPipe 0x11 /* read pipe in "raw" (non message mode) */
+#define RawWriteNmPipe 0x31 /* write pipe "raw" (non message mode) */
+
+
+
+/*
+ * Setup[0] Transaction2 Value Description
+ * Subcommand Code
+ * ========================== ===== =============================
+ */
+
+#define TRANS2_OPEN2 0x00 /* Create file, extended attributes */
+#define TRANS2_FIND_FIRST2 0x01 /* Begin search for files */
+#define TRANS2_FIND_NEXT2 0x02 /* Resume search for files */
+#define TRANS2_QUERY_FS_INFORMATION 0x03 /* Get file system information */
+#define _TRANS2_RESV_0x04 0x04 /* Reserved */
+#define TRANS2_QUERY_PATH_INFORMATION 0x05 /* Get info, named file or dir */
+#define TRANS2_SET_PATH_INFORMATION 0x06 /* Set info, named file or dir */
+#define TRANS2_QUERY_FILE_INFORMATION 0x07 /* Get info, handle */
+#define TRANS2_SET_FILE_INFORMATION 0x08 /* Set info, handle */
+#define TRANS2_FSCTL 0x09 /* Not implemented by NT server */
+#define TRANS2_IOCTL2 0x0A /* Not implemented by NT server */
+#define TRANS2_FIND_NOTIFY_FIRST 0x0B /* Not implemented by NT server */
+#define TRANS2_FIND_NOTIFY_NEXT 0x0C /* Not implemented by NT server */
+#define TRANS2_CREATE_DIRECTORY 0x0D /* Create dir, extended attributes */
+#define TRANS2_SESSION_SETUP 0x0E /* Session setup, extended security */
+#define TRANS2_GET_DFS_REFERRAL 0x10 /* Get a Dfs referral */
+#define TRANS2_REPORT_DFS_INCONSISTENCY 0x11 /* Report a Dfs inconsistency */
+
+/*
+ * Access Mode Encoding (CIFS/1.0 1996 Section 3.8).
+ *
+ * The desired access mode passed in SmbOpen and SmbOpenAndX has the following
+ * mapping:
+ *
+ * 1111 11
+ * 5432 1098 7654 3210
+ * rWrC rLLL rSSS rAAA
+ *
+ * where:
+ *
+ * W - Write through mode. No read ahead or write behind allowed on
+ * this file or device. When protocol is returned, data is expected
+ * to be on the disk or device.
+ *
+ * S - Sharing mode:
+ * 0 - Compatibility mode (as in core open)
+ * 1 - Deny read/write/execute (exclusive)
+ * 2 - Deny write
+ * 3 - Deny read/execute
+ * 4 - Deny none
+ *
+ * A - Access mode
+ * 0 - Open for reading
+ * 1 - Open for writing
+ * 2 - Open for reading and writing
+ * 3 - Open for execute
+ *
+ * rSSSrAAA = 11111111 (hex FF) indicates FCB open (as in core protocol)
+ *
+ * C - Cache mode
+ * 0 - Normal file
+ * 1 - Do not cache this file
+ *
+ * L - Locality of reference
+ * 0 - Locality of reference is unknown
+ * 1 - Mainly sequential access
+ * 2 - Mainly random access
+ * 3 - Random access with some locality
+ * 4 to 7 - Currently undefined
+ */
+
+
+#define SMB_DA_SHARE_MASK 0x70
+#define SMB_DA_ACCESS_MASK 0x07
+#define SMB_DA_FCB_MASK (UCHAR)0xFF
+
+#define SMB_DA_ACCESS_READ 0x00
+#define SMB_DA_ACCESS_WRITE 0x01
+#define SMB_DA_ACCESS_READ_WRITE 0x02
+#define SMB_DA_ACCESS_EXECUTE 0x03
+
+#define SMB_DA_SHARE_COMPATIBILITY 0x00
+#define SMB_DA_SHARE_EXCLUSIVE 0x10
+#define SMB_DA_SHARE_DENY_WRITE 0x20
+#define SMB_DA_SHARE_DENY_READ 0x30
+#define SMB_DA_SHARE_DENY_NONE 0x40
+
+#define SMB_DA_FCB (UCHAR)0xFF
+
+#define SMB_CACHE_NORMAL 0x0000
+#define SMB_DO_NOT_CACHE 0x1000
+
+#define SMB_LR_UNKNOWN 0x0000
+#define SMB_LR_SEQUENTIAL 0x0100
+#define SMB_LR_RANDOM 0x0200
+#define SMB_LR_RANDOM_WITH_LOCALITY 0x0300
+#define SMB_LR_MASK 0x0F00
+
+#define SMB_DA_WRITE_THROUGH 0x4000
+
+/*
+ * Macros used for share reservation rule checking
+ */
+
+#define SMB_DENY_READ(share_access) ((share_access & FILE_SHARE_READ) == 0)
+
+#define SMB_DENY_WRITE(share_access) ((share_access & FILE_SHARE_WRITE) == 0)
+
+#define SMB_DENY_DELETE(share_access) ((share_access & FILE_SHARE_DELETE) == 0)
+
+#define SMB_DENY_RW(share_access) \
+ ((share_access & (FILE_SHARE_READ | FILE_SHARE_WRITE)) == 0)
+
+#define SMB_DENY_ALL(share_access) (share_access == 0)
+
+#define SMB_DENY_NONE(share_access) (share_access == FILE_SHARE_ALL)
+
+/*
+ * The SMB open function determines what action should be taken depending
+ * on the existence or lack thereof of files used in the operation. It
+ * has the following mapping:
+ *
+ * 1111 1
+ * 5432 1098 7654 3210
+ * rrrr rrrr rrrC rrOO
+ *
+ * where:
+ *
+ * O - Open (action to be taken if the target file exists)
+ * 0 - Fail
+ * 1 - Open or Append file
+ * 2 - Truncate file
+ *
+ * C - Create (action to be taken if the target file does not exist)
+ * 0 - Fail
+ * 1 - Create file
+ */
+
+#define SMB_OFUN_OPEN_MASK 0x3
+#define SMB_OFUN_CREATE_MASK 0x10
+
+#define SMB_OFUN_OPEN_FAIL 0
+#define SMB_OFUN_OPEN_APPEND 1
+#define SMB_OFUN_OPEN_OPEN 1
+#define SMB_OFUN_OPEN_TRUNCATE 2
+
+#define SMB_OFUN_CREATE_FAIL 0x00
+#define SMB_OFUN_CREATE_CREATE 0x10
+
+/*
+ * The Action field of OpenAndX has the following format:
+ *
+ * 1111 11
+ * 5432 1098 7654 3210
+ * Lrrr rrrr rrrr rrOO
+ *
+ * where:
+ *
+ * L - Opportunistic lock. 1 if lock granted, else 0.
+ *
+ * O - Open action:
+ * 1 - The file existed and was opened
+ * 2 - The file did not exist but was created
+ * 3 - The file existed and was truncated
+ */
+
+#define SMB_OACT_LOCK 0x8000
+#define SMB_OACT_OPENED 0x01
+#define SMB_OACT_CREATED 0x02
+#define SMB_OACT_TRUNCATED 0x03
+
+#define SMB_OACT_OPLOCK 0x8000
+
+#define SMB_FTYPE_DISK 0
+#define SMB_FTYPE_BYTE_PIPE 1
+#define SMB_FTYPE_MESG_PIPE 2
+#define SMB_FTYPE_PRINTER 3
+#define SMB_FTYPE_UNKNOWN 0xFFFF
+
+#define SMB_DEVST_BLOCKING 0x8000
+#define SMB_DEVST_ENDPOINT 0x4000
+#define SMB_DEVST_TYPE_MASK 0x0C00
+#define SMB_DEVST_TYPE_BYTE_PIPE 0x0000
+#define SMB_DEVST_TYPE_MESG_PIPE 0x0400
+#define SMB_DEVST_RMODE_MASK 0x0300
+#define SMB_DEVST_RMODE_BYTES 0x0000
+#define SMB_DEVST_RMODE_MESGS 0x0100
+#define SMB_DEVST_ICOUNT_MASK 0x00FF /* not used */
+
+#define SMB_FTYPE_IS_DISK(F) ((F) == SMB_FTYPE_DISK)
+#define SMB_FTYPE_IS_PIPE(F) \
+ (((F) == SMB_FTYPE_BYTE_PIPE) || ((F) == SMB_FTYPE_MESG_PIPE))
+#define SMB_FTYPE_IS_PRINTER(F) ((F) == SMB_FTYPE_PRINTER)
+
+/*
+ * TRANS2_FIND
+ */
+#define SMB_FIND_FILE_DIRECTORY_INFO 0x101
+#define SMB_FIND_FILE_FULL_DIRECTORY_INFO 0x102
+#define SMB_FIND_FILE_NAMES_INFO 0x103
+#define SMB_FIND_FILE_BOTH_DIRECTORY_INFO 0x104
+#define SMB_FIND_FILE_ID_FULL_DIRECTORY_INFO 0x105
+#define SMB_FIND_FILE_ID_BOTH_DIRECTORY_INFO 0x106
+#define SMB_MAC_FIND_BOTH_HFS_INFO MAC_FIND_BOTH_HFS_INFO
+
+
+/*
+ * Flags for TRANS2_FIND_FIRST2 and TRANS2_FIND_NEXT2 (NTDDK).
+ *
+ * If SMB_FIND_RETURN_RESUME_KEYS was set in the request parameters,
+ * each entry is preceded by a four-byte resume key.
+ */
+#define SMB_FIND_CLOSE_AFTER_REQUEST 0x01
+#define SMB_FIND_CLOSE_AT_EOS 0x02
+#define SMB_FIND_RETURN_RESUME_KEYS 0x04
+#define SMB_FIND_CONTINUE_FROM_LAST 0x08
+#define SMB_FIND_WITH_BACKUP_INTENT 0x10
+
+
+/*
+ * TRANS2_QUERY_FS_INFORMATION
+ */
+#define SMB_INFO_ALLOCATION 1
+#define SMB_INFO_VOLUME 2
+#define SMB_QUERY_FS_LABEL_INFO 0x101
+#define SMB_QUERY_FS_VOLUME_INFO 0x102
+#define SMB_QUERY_FS_SIZE_INFO 0x103
+#define SMB_QUERY_FS_DEVICE_INFO 0x104
+#define SMB_QUERY_FS_ATTRIBUTE_INFO 0x105
+#define SMB_QUERY_FS_QUOTA_INFO 0x106 /* unused? */
+#define SMB_QUERY_FS_CONTROL_INFO 0x107
+#define SMB_MAC_QUERY_FS_INFO MAC_QUERY_FS_INFO
+
+
+/*
+ * Internal use only.
+ * Define information levels to represent the following requests:
+ * smb_query_information
+ * smb_query_information2
+ * smb_set_information
+ * smb_set_information2
+ */
+#define SMB_QUERY_INFORMATION 0x3001
+#define SMB_QUERY_INFORMATION2 0x3002
+#define SMB_SET_INFORMATION 0x3001
+#define SMB_SET_INFORMATION2 0x3002
+
+/* TRANS2_QUERY_{PATH,FILE}_INFORMATION */
+#define SMB_INFO_STANDARD 1 /* query, set */
+#define SMB_INFO_QUERY_EA_SIZE 2 /* query */
+#define SMB_INFO_SET_EAS 2 /* set */
+#define SMB_INFO_QUERY_EAS_FROM_LIST 3 /* query */
+#define SMB_INFO_QUERY_ALL_EAS 4 /* query */
+#define SMB_INFO_QUERY_FULL_NAME 5 /* unused */
+#define SMB_INFO_IS_NAME_VALID 6 /* query */
+
+#define SMB_QUERY_FILE_BASIC_INFO 0x101
+#define SMB_QUERY_FILE_STANDARD_INFO 0x102
+#define SMB_QUERY_FILE_EA_INFO 0x103
+#define SMB_QUERY_FILE_NAME_INFO 0x104
+#define SMB_QUERY_FILE_ALLOCATION_INFO 0x105 /* unused */
+#define SMB_QUERY_FILE_END_OF_FILE_INFO 0x106 /* unused */
+#define SMB_QUERY_FILE_ALL_INFO 0x107
+#define SMB_QUERY_FILE_ALT_NAME_INFO 0x108
+#define SMB_QUERY_FILE_STREAM_INFO 0x109
+#define SMB_QUERY_FILE_COMPRESSION_INFO 0x10B
+
+#define SMB_MAC_SET_FINDER_INFO MAC_SET_FINDER_INFO
+#define SMB_MAC_DT_ADD_APPL MAC_DT_ADD_APPL
+#define SMB_MAC_DT_REMOVE_APPL MAC_DT_REMOVE_APPL
+#define SMB_MAC_DT_GET_APPL MAC_DT_GET_APPL
+#define SMB_MAC_DT_GET_ICON MAC_DT_GET_ICON
+#define SMB_MAC_DT_GET_ICON_INFO MAC_DT_GET_ICON_INFO
+#define SMB_MAC_DT_ADD_ICON MAC_DT_ADD_ICON
+
+#define SMB_SET_FILE_BASIC_INFO 0x101
+#define SMB_SET_FILE_DISPOSITION_INFO 0x102
+#define SMB_SET_FILE_ALLOCATION_INFO 0x103
+#define SMB_SET_FILE_END_OF_FILE_INFO 0x104
+
+
+/* NT passthrough levels - see ntifs.h FILE_INFORMATION_CLASS */
+#define SMB_FILE_BASIC_INFORMATION 1004
+#define SMB_FILE_STANDARD_INFORMATION 1005
+#define SMB_FILE_INTERNAL_INFORMATION 1006
+#define SMB_FILE_EA_INFORMATION 1007
+#define SMB_FILE_ACCESS_INFORMATION 1008
+#define SMB_FILE_NAME_INFORMATION 1009
+#define SMB_FILE_RENAME_INFORMATION 1010
+#define SMB_FILE_LINK_INFORMATION 1011
+#define SMB_FILE_DISPOSITION_INFORMATION 1013
+#define SMB_FILE_ALL_INFORMATION 1018
+#define SMB_FILE_ALLOCATION_INFORMATION 1019
+#define SMB_FILE_END_OF_FILE_INFORMATION 1020
+#define SMB_FILE_ALT_NAME_INFORMATION 1021
+#define SMB_FILE_STREAM_INFORMATION 1022
+#define SMB_FILE_COMPRESSION_INFORMATION 1028
+#define SMB_FILE_ATTR_TAG_INFORMATION 1035
+
+/*
+ * The following bits may be set in the SecurityMode field of the
+ * SMB_COM_NEGOTIATE response.
+ *
+ * Notes:
+ * NEGOTIATE_SECURITY_SHARE_LEVEL is a montana2 invention.
+ *
+ * The NTDDK definitions are:
+ * #define NEGOTIATE_USER_SECURITY 0x01
+ * #define NEGOTIATE_ENCRYPT_PASSWORDS 0x02
+ * #define NEGOTIATE_SECURITY_SIGNATURES_ENABLED 0x04
+ * #define NEGOTIATE_SECURITY_SIGNATURES_REQUIRED 0x08
+ */
+#define NEGOTIATE_SECURITY_SHARE_LEVEL 0x00
+#define NEGOTIATE_SECURITY_USER_LEVEL 0x01
+#define NEGOTIATE_SECURITY_CHALLENGE_RESPONSE 0x02
+#define NEGOTIATE_SECURITY_SIGNATURES_ENABLED 0x04
+#define NEGOTIATE_SECURITY_SIGNATURES_REQUIRED 0x08
+
+
+/*
+ * Negotiated Capabilities (CIFS/1.0 section 4.1.1)
+ *
+ * Capabilities allow the server to tell the client what it supports.
+ * Undefined bits MUST be set to zero by servers, and MUST be ignored
+ * by clients. The bit definitions are:
+ *
+ * Capability Name Encoding Meaning
+ * ==================== ======== ==================================
+ * CAP_RAW_MODE 0x0001 The server supports SMB_COM_READ_RAW and
+ * SMB_COM_WRITE_RAW (obsolescent)
+ * CAP_MPX_MODE 0x0002 The server supports SMB_COM_READ_MPX and
+ * SMB_COM_WRITE_MPX (obsolescent)
+ * CAP_UNICODE 0x0004 The server supports Unicode strings
+ * CAP_LARGE_FILES 0x0008 The server supports large files with 64
+ * bit offsets
+ * CAP_NT_SMBS 0x0010 The server supports the SMBs particular
+ * to the NT LM 0.12 dialect.
+ * Implies CAP_NT_FIND.
+ * CAP_RPC_REMOTE_APIS 0x0020 The server supports remote admin API
+ * requests via DCE RPC
+ * CAP_STATUS32 0x0040 The server can respond with 32 bit
+ * status codes in Status.Status
+ * CAP_LEVEL_II_OPLOCKS 0x0080 The server supports level 2 oplocks
+ * CAP_LOCK_AND_READ 0x0100 The server supports the
+ * SMB_COM_LOCK_AND_READ SMB
+ * CAP_NT_FIND 0x0200
+ * CAP_BULK_TRANSFER 0x0400
+ * CAP_COMPRESSED_BULK 0x0800
+ * CAP_DFS 0x1000 The server is DFS aware
+ * CAP_LARGE_READX 0x4000 The server supports large
+ * SMB_COM_READ_ANDX
+ * CAP_LARGE_WRITEX 0x8000 The server supports large
+ * SMB_COM_WRITE_ANDX
+ * CAP_RESERVED 0x02000000 Reserved for future use.
+ * CAP_EXTENDED_SECURITY 0x80000000 The server supports extended security
+ * exchanges.
+ *
+ * Extended security exchanges provides a means of supporting arbitrary
+ * authentication protocols within CIFS. Security blobs are opaque to the
+ * CIFS protocol; they are messages in some authentication protocol that
+ * has been agreed upon by client and server by some out of band mechanism,
+ * for which CIFS merely functions as a transport. When
+ * CAP_EXTENDED_SECURITY is negotiated, the server includes a first
+ * security blob in its response; subsequent security blobs are exchanged
+ * in SMB_COM_SESSION_SETUP_ANDX requests and responses until the
+ * authentication protocol terminates.
+ */
+#define CAP_RAW_MODE 0x0001
+#define CAP_MPX_MODE 0x0002
+#define CAP_UNICODE 0x0004
+#define CAP_LARGE_FILES 0x0008
+#define CAP_NT_SMBS 0x0010
+#define CAP_RPC_REMOTE_APIS 0x0020
+#define CAP_STATUS32 0x0040
+#define CAP_LEVEL_II_OPLOCKS 0x0080
+#define CAP_LOCK_AND_READ 0x0100
+#define CAP_NT_FIND 0x0200
+#define CAP_BULK_TRANSFER 0x0400
+#define CAP_COMPRESSED_BULK 0x0800
+#define CAP_DFS 0x1000
+#define CAP_LARGE_READX 0x4000
+#define CAP_LARGE_WRITEX 0x8000
+#define CAP_RESERVED 0x02000000
+#define CAP_EXTENDED_SECURITY 0x80000000
+
+
+/*
+ * Different device types according to NT
+ */
+#define FILE_DEVICE_BEEP 0x00000001
+#define FILE_DEVICE_CD_ROM 0x00000002
+#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
+#define FILE_DEVICE_CONTROLLER 0x00000004
+#define FILE_DEVICE_DATALINK 0x00000005
+#define FILE_DEVICE_DFS 0x00000006
+#define FILE_DEVICE_DISK 0x00000007
+#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008
+#define FILE_DEVICE_FILE_SYSTEM 0x00000009
+#define FILE_DEVICE_INPORT_PORT 0x0000000a
+#define FILE_DEVICE_KEYBOARD 0x0000000b
+#define FILE_DEVICE_MAILSLOT 0x0000000c
+#define FILE_DEVICE_MIDI_IN 0x0000000d
+#define FILE_DEVICE_MIDI_OUT 0x0000000e
+#define FILE_DEVICE_MOUSE 0x0000000f
+#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010
+#define FILE_DEVICE_NAMED_PIPE 0x00000011
+#define FILE_DEVICE_NETWORK 0x00000012
+#define FILE_DEVICE_NETWORK_BROWSER 0x00000013
+#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
+#define FILE_DEVICE_NULL 0x00000015
+#define FILE_DEVICE_PARALLEL_PORT 0x00000016
+#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017
+#define FILE_DEVICE_PRINTER 0x00000018
+#define FILE_DEVICE_SCANNER 0x00000019
+#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a
+#define FILE_DEVICE_SERIAL_PORT 0x0000001b
+#define FILE_DEVICE_SCREEN 0x0000001c
+#define FILE_DEVICE_SOUND 0x0000001d
+#define FILE_DEVICE_STREAMS 0x0000001e
+#define FILE_DEVICE_TAPE 0x0000001f
+#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020
+#define FILE_DEVICE_TRANSPORT 0x00000021
+#define FILE_DEVICE_UNKNOWN 0x00000022
+#define FILE_DEVICE_VIDEO 0x00000023
+#define FILE_DEVICE_VIRTUAL_DISK 0x00000024
+#define FILE_DEVICE_WAVE_IN 0x00000025
+#define FILE_DEVICE_WAVE_OUT 0x00000026
+#define FILE_DEVICE_8042_PORT 0x00000027
+#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028
+#define FILE_DEVICE_BATTERY 0x00000029
+#define FILE_DEVICE_BUS_EXTENDER 0x0000002a
+#define FILE_DEVICE_MODEM 0x0000002b
+#define FILE_DEVICE_VDM 0x0000002c
+
+/*
+ * Some of these device types are not currently accessible over the network
+ * and may never be accessible over the network. Some may change to be
+ *
+ * accessible over the network. The values for device types that may never
+ * be accessible over the network may be redefined to be just reserved at
+ * some date in the future.
+ *
+ * Characteristics is the sum of any of the following:
+ */
+
+#define FILE_REMOVABLE_MEDIA 0x00000001
+#define FILE_READ_ONLY_DEVICE 0x00000002
+#define FILE_FLOPPY_DISKETTE 0x00000004
+#define FILE_WRITE_ONE_MEDIA 0x00000008
+#define FILE_REMOTE_DEVICE 0x00000010
+#define FILE_DEVICE_IS_MOUNTED 0x00000020
+#define FILE_VIRTUAL_VOLUME 0x00000040
+
+/*
+ * CREATE_ANDX ShareAccess Flags
+ */
+
+#define FILE_SHARE_NONE 0x00000000
+#define FILE_SHARE_READ 0x00000001
+#define FILE_SHARE_WRITE 0x00000002
+#define FILE_SHARE_DELETE 0x00000004
+#define FILE_SHARE_ALL 0x00000007
+#define FILE_SHARE_VALID_FLAGS 0x00000007
+
+
+/*
+ * CREATE_ANDX CreateDisposition flags
+ *
+ * FILE_SUPERSEDE If the file already exists it should be superseded
+ * by the specified file. If the file does not already
+ * exist then it should be created.
+ *
+ * FILE_CREATE If the file already exists the operation should fail.
+ * If the file does not already exist then it should be
+ * created. (aka CREATE_NEW)
+ *
+ * FILE_OPEN If the file already exists then it should be opened.
+ * If the file does not already exist then the operation
+ * should fail. (aka OPEN_EXISTING)
+ *
+ * FILE_OPEN_IF If the file already exists then it should be opened.
+ * If the file does not already exist then it should be
+ * created. (aka OPEN_ALWAYS)
+ *
+ * FILE_OVERWRITE If the file already exists, it should be opened and
+ * overwritten. If the file does not already exist then
+ * the operation should fail. (aka TRUNCATE_EXISTING)
+ *
+ * FILE_OVERWRITE_IF If the file already exists, it should be opened and
+ * overwritten. If the file does not already exist then
+ * it should be created. (aka CREATE_ALWAYS)
+ */
+#define FILE_SUPERSEDE 0x00000000
+#define FILE_OPEN 0x00000001
+#define FILE_CREATE 0x00000002
+#define FILE_OPEN_IF 0x00000003
+#define FILE_OVERWRITE 0x00000004
+#define FILE_OVERWRITE_IF 0x00000005
+#define FILE_MAXIMUM_DISPOSITION 0x00000005
+
+/*
+ * CREATE_ANDX Impersonation levels
+ */
+
+#define SECURITY_ANONYMOUS 0x00000001
+#define SECURITY_IDENTIFICATION 0x00000002
+#define SECURITY_IMPERSONATION 0x00000003
+#define SECURITY_DELEGATION 0x00000004
+
+/*
+ * CREATE_ANDX SecurityFlags
+ */
+
+#define SECURITY_CONTEXT_TRACKING 0x00000001
+#define SECURITY_EFFECTIVE_ONLY 0x00000002
+
+/*
+ * Server types
+ */
+#define SV_WORKSTATION 0x00000001 /* All workstations */
+#define SV_SERVER 0x00000002 /* All servers */
+#define SV_SQLSERVER 0x00000004 /* running with SQL server */
+#define SV_DOMAIN_CTRL 0x00000008 /* Primary domain controller */
+#define SV_DOMAIN_BAKCTRL 0x00000010 /* Backup domain controller */
+#define SV_TIME_SOURCE 0x00000020 /* running timesource service */
+#define SV_AFP 0x00000040 /* Apple File Protocol */
+#define SV_NOVELL 0x00000080 /* Novell servers */
+#define SV_DOMAIN_MEMBER 0x00000100 /* Domain Member */
+#define SV_PRINTQ_SERVER 0x00000200 /* Server sharing print queue */
+#define SV_DIALIN_SERVER 0x00000400 /* Server running dialin */
+#define SV_XENIX_SERVER 0x00000800 /* Xenix server */
+#define SV_NT 0x00001000 /* NT server */
+#define SV_WFW 0x00002000 /* Server running Windows for */
+#define SV_SERVER_NT 0x00008000 /* Windows NT non DC server */
+#define SV_POTENTIAL_BROWSER 0x00010000 /* can run browser service */
+#define SV_BACKUP_BROWSER 0x00020000 /* Backup browser server */
+#define SV_MASTER_BROWSER 0x00040000 /* Master browser server */
+#define SV_DOMAIN_MASTER 0x00080000 /* Domain Master Browser */
+#define SV_OSF 0x00100000 /* OSF operating system */
+#define SV_VMS 0x00200000 /* VMS operating system */
+#define SV_WINDOWS_95_PLUS 0x00400000 /* Windows 95 or better */
+
+#define SV_LOCAL_LIST_ONLY 0x40000000 /* Enumerate only "local" */
+#define SV_TYPE_DOMAIN_ENUM 0x80000000 /* Enumerate Domains */
+
+#define MY_SERVER_TYPE (SV_SERVER | SV_NT | SV_SERVER_NT)
+
+
+#define PRQ_ACTIVE 0 /* Active */
+#define PRQ_PAUSE 1 /* Paused */
+#define PRQ_ERROR 2 /* Error Occurred */
+#define PRQ_PENDING 3 /* Deletion pending */
+
+#define PRJ_QS_QUEUED 0 /* Active */
+#define PRJ_QS_PAUSED 1 /* Paused */
+#define PRJ_QS_SPOOLING 2 /* Paused */
+#define PRJ_QS_PRINTING 3 /* Paused */
+
+
+#define SHARE_ACCESS_READ 0x01 /* read & execute from resource */
+#define SHARE_ACCESS_WRITE 0x02 /* write data to resource */
+#define SHARE_ACCESS_CREATE 0x04 /* create an instance of */
+#define SHARE_ACCESS_EXEC 0x08 /* execute from resource */
+#define SHARE_ACCESS_DELETE 0x10 /* Permission to delete the resource */
+#define SHARE_ACCESS_ATTRIB 0x20 /* Permission to modify the resource */
+#define SHARE_ACCESS_PERM 0x40 /* Permission to change permissions */
+#define SHARE_ACCESS_ALL 0x7F /* All of the above permissions */
+
+
+/*
+ * SMB_COM_NT_TRANSACTION sub-command codes (CIFS/1.0 section 5.3)
+ *
+ * SubCommand Code Value Description
+ * =============================== ===== =================================
+ * NT_TRANSACT_CREATE 1 File open/create
+ * NT_TRANSACT_IOCTL 2 Device IOCTL
+ * NT_TRANSACT_SET_SECURITY_DESC 3 Set security descriptor
+ * NT_TRANSACT_NOTIFY_CHANGE 4 Start directory watch
+ * NT_TRANSACT_RENAME 5 Reserved (handle-based rename)
+ * NT_TRANSACT_QUERY_SECURITY_DESC 6 Retrieve security descriptor
+ * NT_TRANSACT_QUERY_QUOTA 7 Retrieve quota information
+ * NT_TRANSACT_SET_QUOTA 8 Set quota information
+ */
+#define NT_TRANSACT_MIN_FUNCTION 1
+
+#define NT_TRANSACT_CREATE 1
+#define NT_TRANSACT_IOCTL 2
+#define NT_TRANSACT_SET_SECURITY_DESC 3
+#define NT_TRANSACT_NOTIFY_CHANGE 4
+#define NT_TRANSACT_RENAME 5
+#define NT_TRANSACT_QUERY_SECURITY_DESC 6
+#define NT_TRANSACT_QUERY_QUOTA 7
+#define NT_TRANSACT_SET_QUOTA 8
+
+#define NT_TRANSACT_MAX_FUNCTION 8
+
+
+/*
+ * Pipe states
+ */
+#define SMB_PIPE_READMODE_BYTE 0x0000
+#define SMB_PIPE_READMODE_MESSAGE 0x0100
+#define SMB_PIPE_TYPE_BYTE 0x0000
+#define SMB_PIPE_TYPE_MESSAGE 0x0400
+#define SMB_PIPE_END_CLIENT 0x0000
+#define SMB_PIPE_END_SERVER 0x4000
+#define SMB_PIPE_WAIT 0x0000
+#define SMB_PIPE_NOWAIT 0x8000
+#define SMB_PIPE_UNLIMITED_INSTANCES 0x00FF
+
+/*
+ * smb_com_seek request
+ */
+#define SMB_SEEK_SET 0 /* set file offset to specified offset */
+#define SMB_SEEK_CUR 1 /* set file offset to current plus specified offset */
+#define SMB_SEEK_END 2 /* set file offset to EOF plus specified offset */
+
+/*
+ * API Numbers for Transact based RAP (Remote Administration Protocol) calls
+ */
+#define API_WshareEnum 0
+#define API_WshareGetInfo 1
+#define API_WshareSetInfo 2
+#define API_WshareAdd 3
+#define API_WshareDel 4
+#define API_NetShareCheck 5
+#define API_WsessionEnum 6
+#define API_WsessionGetInfo 7
+#define API_WsessionDel 8
+#define API_WconnectionEnum 9
+#define API_WfileEnum 10
+#define API_WfileGetInfo 11
+#define API_WfileClose 12
+#define API_WserverGetInfo 13
+#define API_WserverSetInfo 14
+#define API_WserverDiskEnum 15
+#define API_WserverAdminCommand 16
+#define API_NetAuditOpen 17
+#define API_WauditClear 18
+#define API_NetErrorLogOpen 19
+#define API_WerrorLogClear 20
+#define API_NetCharDevEnum 21
+#define API_NetCharDevGetInfo 22
+#define API_WCharDevControl 23
+#define API_NetCharDevQEnum 24
+#define API_NetCharDevQGetInfo 25
+#define API_WCharDevQSetInfo 26
+#define API_WCharDevQPurge 27
+#define API_WCharDevQPurgeSelf 28
+#define API_WMessageNameEnum 29
+#define API_WMessageNameGetInfo 30
+#define API_WMessageNameAdd 31
+#define API_WMessageNameDel 32
+#define API_WMessageNameFwd 33
+#define API_WMessageNameUnFwd 34
+#define API_WMessageBufferSend 35
+#define API_WMessageFileSend 36
+#define API_WMessageLogFileSet 37
+#define API_WMessageLogFileGet 38
+#define API_WServiceEnum 39
+#define API_WServiceInstall 40
+#define API_WServiceControl 41
+#define API_WAccessEnum 42
+#define API_WAccessGetInfo 43
+#define API_WAccessSetInfo 44
+#define API_WAccessAdd 45
+#define API_WAccessDel 46
+#define API_WGroupEnum 47
+#define API_WGroupAdd 48
+#define API_WGroupDel 49
+#define API_WGroupAddUser 50
+#define API_WGroupDelUser 51
+#define API_WGroupGetUsers 52
+#define API_WUserEnum 53
+#define API_WUserAdd 54
+#define API_WUserDel 55
+#define API_WUserGetInfo 56
+#define API_WUserSetInfo 57
+#define API_WUserPasswordSet 58
+#define API_WUserGetGroups 59
+#define API_DeadTableEntry 60
+#define API_WWkstaSetUID 62
+#define API_WWkstaGetInfo 63
+#define API_WWkstaSetInfo 64
+#define API_WUseEnum 65
+#define API_WUseAdd 66
+#define API_WUseDel 67
+#define API_WUseGetInfo 68
+#define API_WPrintQEnum 69
+#define API_WPrintQGetInfo 70
+#define API_WPrintQSetInfo 71
+#define API_WPrintQAdd 72
+#define API_WPrintQDel 73
+#define API_WPrintQPause 74
+#define API_WPrintQContinue 75
+#define API_WPrintJobEnum 76
+#define API_WPrintJobGetInfo 77
+#define API_WPrintJobSetInfo_OLD 78
+#define API_WPrintJobDel 81
+#define API_WPrintJobPause 82
+#define API_WPrintJobContinue 83
+#define API_WPrintDestEnum 84
+#define API_WPrintDestGetInfo 85
+#define API_WPrintDestControl 86
+#define API_WProfileSave 87
+#define API_WProfileLoad 88
+#define API_WStatisticsGet 89
+#define API_WStatisticsClear 90
+#define API_NetRemoteTOD 91
+#define API_WNetBiosEnum 92
+#define API_WNetBiosGetInfo 93
+#define API_NetServerEnum 94
+#define API_I_NetServerEnum 95
+#define API_WServiceGetInfo 96
+#define API_WPrintQPurge 103
+#define API_NetServerEnum2 104
+#define API_WAccessGetUserPerms 105
+#define API_WGroupGetInfo 106
+#define API_WGroupSetInfo 107
+#define API_WGroupSetUsers 108
+#define API_WUserSetGroups 109
+#define API_WUserModalsGet 110
+#define API_WUserModalsSet 111
+#define API_WFileEnum2 112
+#define API_WUserAdd2 113
+#define API_WUserSetInfo2 114
+#define API_WUserPasswordSet2 115
+#define API_I_NetServerEnum2 116
+#define API_WConfigGet2 117
+#define API_WConfigGetAll2 118
+#define API_WGetDCName 119
+#define API_NetHandleGetInfo 120
+#define API_NetHandleSetInfo 121
+#define API_WStatisticsGet2 122
+#define API_WBuildGetInfo 123
+#define API_WFileGetInfo2 124
+#define API_WFileClose2 125
+#define API_WNetServerReqChallenge 126
+#define API_WNetServerAuthenticate 127
+#define API_WNetServerPasswordSet 128
+#define API_WNetAccountDeltas 129
+#define API_WNetAccountSync 130
+#define API_WUserEnum2 131
+#define API_WWkstaUserLogon 132
+#define API_WWkstaUserLogoff 133
+#define API_WLogonEnum 134
+#define API_WErrorLogRead 135
+#define API_WI_NetPathType 136
+#define API_WI_NetPathCanonicalize 137
+#define API_WI_NetPathCompare 138
+#define API_WI_NetNameValidate 139
+#define API_WI_NetNameCanonicalize 140
+#define API_WI_NetNameCompare 141
+#define API_WAuditRead 142
+#define API_WPrintDestAdd 143
+#define API_WPrintDestSetInfo 144
+#define API_WPrintDestDel 145
+#define API_WUserValidate2 146
+#define API_WPrintJobSetInfo 147
+#define API_TI_NetServerDiskEnum 148
+#define API_TI_NetServerDiskGetInfo 149
+#define API_TI_FTVerifyMirror 150
+#define API_TI_FTAbortVerify 151
+#define API_TI_FTGetInfo 152
+#define API_TI_FTSetInfo 153
+#define API_TI_FTLockDisk 154
+#define API_TI_FTFixError 155
+#define API_TI_FTAbortFix 156
+#define API_TI_FTDiagnoseError 157
+#define API_TI_FTGetDriveStats 158
+#define API_TI_FTErrorGetInfo 160
+#define API_NetAccessCheck 163
+#define API_NetAlertRaise 164
+#define API_NetAlertStart 165
+#define API_NetAlertStop 166
+#define API_NetAuditWrite 167
+#define API_NetIRemoteAPI 168
+#define API_NetServiceStatus 169
+#define API_I_NetServerRegister 170
+#define API_I_NetServerDeregister 171
+#define API_I_NetSessionEntryMake 172
+#define API_I_NetSessionEntryClear 173
+#define API_I_NetSessionEntryGetInfo 174
+#define API_I_NetSessionEntrySetInfo 175
+#define API_I_NetConnectionEntryMake 176
+#define API_I_NetConnectionEntryClear 177
+#define API_I_NetConnectionEntrySetInfo 178
+#define API_I_NetConnectionEntryGetInfo 179
+#define API_I_NetFileEntryMake 180
+#define API_I_NetFileEntryClear 181
+#define API_I_NetFileEntrySetInfo 182
+#define API_I_NetFileEntryGetInfo 183
+#define API_AltSrvMessageBufferSend 184
+#define API_AltSrvMessageFileSend 185
+#define API_wI_NetRplWkstaEnum 186
+#define API_wI_NetRplWkstaGetInfo 187
+#define API_wI_NetRplWkstaSetInfo 188
+#define API_wI_NetRplWkstaAdd 189
+#define API_wI_NetRplWkstaDel 190
+#define API_wI_NetRplProfileEnum 191
+#define API_wI_NetRplProfileGetInfo 192
+#define API_wI_NetRplProfileSetInfo 193
+#define API_wI_NetRplProfileAdd 194
+#define API_wI_NetRplProfileDel 195
+#define API_wI_NetRplProfileClone 196
+#define API_wI_NetRplBaseProfileEnum 197
+#define API_WIServerSetInfo 201
+#define API_WPrintDriverEnum 205
+#define API_WPrintQProcessorEnum 206
+#define API_WPrintPortEnum 207
+#define API_WNetWriteUpdateLog 208
+#define API_WNetAccountUpdate 209
+#define API_WNetAccountConfirmUpdate 210
+#define API_WConfigSet 211
+#define API_WAccountsReplicate 212
+#define API_SamOEMChgPasswordUser2_P 214
+#define API_NetServerEnum3 215
+#define API_WprintDriverGetInfo 250
+#define API_WprintDriverSetInfo 251
+#define API_WaliasAdd 252
+#define API_WaliasDel 253
+#define API_WaliasGetInfo 254
+#define API_WaliasSetInfo 255
+#define API_WaliasEnum 256
+#define API_WuserGetLogonAsn 257
+#define API_WuserSetLogonAsn 258
+#define API_WuserGetAppSel 259
+#define API_WuserSetAppSel 260
+#define API_WappAdd 261
+#define API_WappDel 262
+#define API_WappGetInfo 263
+#define API_WappSetInfo 264
+#define API_WappEnum 265
+#define API_WUserDCDBInit 266
+#define API_WDASDAdd 267
+#define API_WDASDDel 268
+#define API_WDASDGetInfo 269
+#define API_WDASDSetInfo 270
+#define API_WDASDEnum 271
+#define API_WDASDCheck 272
+#define API_WDASDCtl 273
+#define API_WuserRemoteLogonCheck 274
+#define API_WUserPasswordSet3 275
+#define API_WCreateRIPLMachine 276
+#define API_WDeleteRIPLMachine 277
+#define API_WGetRIPLMachineInfo 278
+#define API_WSetRIPLMachineInfo 279
+#define API_WEnumRIPLMachine 280
+#define API_WI_ShareAdd 281
+#define API_WI_AliasEnum 282
+#define API_WaccessApply 283
+#define API_WPrt16Query 284
+#define API_WPrt16Set 285
+#define API_WUserDel100 286
+#define API_WUserRemoteLogonCheck2 287
+#define API_WRemoteTODSet 294
+#define API_WprintJobMoveAll 295
+#define API_W16AppParmAdd 296
+#define API_W16AppParmDel 297
+#define API_W16AppParmGet 298
+#define API_W16AppParmSet 299
+#define API_W16RIPLMachineCreate 300
+#define API_W16RIPLMachineGetInfo 301
+#define API_W16RIPLMachineSetInfo 302
+#define API_W16RIPLMachineEnum 303
+#define API_W16RIPLMachineListParmEnum 304
+#define API_W16RIPLMachClassGetInfo 305
+#define API_W16RIPLMachClassEnum 306
+#define API_W16RIPLMachClassCreate 307
+#define API_W16RIPLMachClassSetInfo 308
+#define API_W16RIPLMachClassDelete 309
+#define API_W16RIPLMachClassLPEnum 310
+#define API_W16RIPLMachineDelete 311
+#define API_W16WSLevelGetInfo 312
+#define API_WserverNameAdd 313
+#define API_WserverNameDel 314
+#define API_WserverNameEnum 315
+#define API_I_WDASDEnum 316
+#define API_I_WDASDEnumTerminate 317
+#define API_I_WDASDSetInfo2 318
+#define MAX_RAP_API 318
#ifdef __cplusplus
}
#endif
-
#endif /* _SMBSRV_SMB_H */
diff --git a/usr/src/uts/common/smbsrv/smb_fsops.h b/usr/src/uts/common/smbsrv/smb_fsops.h
index 4f1e573a5c..5722c4e24a 100644
--- a/usr/src/uts/common/smbsrv/smb_fsops.h
+++ b/usr/src/uts/common/smbsrv/smb_fsops.h
@@ -30,7 +30,7 @@
* This header file contains all the functions for the interface between
* the smb layer and the fs layer.
*/
-#include <smbsrv/smb_i18n.h>
+#include <smbsrv/string.h>
#include <smbsrv/smbinfo.h>
#include <smbsrv/smb_ktypes.h>
#include <smbsrv/smb_vops.h>
@@ -69,7 +69,7 @@ int smb_fsop_link(smb_request_t *, cred_t *, smb_node_t *, smb_node_t *,
int smb_fsop_rename(smb_request_t *, cred_t *,
smb_node_t *, char *, smb_node_t *,
- char *);
+ char *);
int smb_fsop_setattr(smb_request_t *, cred_t *, smb_node_t *, smb_attr_t *);
@@ -112,12 +112,14 @@ int smb_fsop_frlock(smb_node_t *, smb_lock_t *, boolean_t, cred_t *);
* SMB_IGNORE_CASE Perform case-insensitive lookup.
* SMB_CATIA Perform CATIA character substitution.
* SMB_ABE Perform Access based enumeration/lookup.
+ * SMB_CASE_SENSITIVE Don't set SMB_IGNORE_CASE based on tree.
*/
#define SMB_FOLLOW_LINKS 0x00000001
#define SMB_IGNORE_CASE 0x00000002
#define SMB_CATIA 0x00000004
#define SMB_ABE 0x00000008
+#define SMB_CASE_SENSITIVE 0x00000010
#ifdef __cplusplus
}
diff --git a/usr/src/uts/common/smbsrv/smb_i18n.h b/usr/src/uts/common/smbsrv/smb_i18n.h
deleted file mode 100644
index 74804d0056..0000000000
--- a/usr/src/uts/common/smbsrv/smb_i18n.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SMB_I18N_H
-#define _SMB_I18N_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef unsigned short mts_wchar_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMB_I18N_H */
diff --git a/usr/src/uts/common/smbsrv/smb_incl.h b/usr/src/uts/common/smbsrv/smb_incl.h
deleted file mode 100644
index 2d1e61b087..0000000000
--- a/usr/src/uts/common/smbsrv/smb_incl.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * 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 _SMBSRV_SMB_INCL_H
-#define _SMBSRV_SMB_INCL_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/cmn_err.h>
-#include <sys/cpuvar.h>
-#include <sys/list.h>
-#include <sys/sunddi.h>
-#include <netinet/in_systm.h>
-#include <netinet/in.h>
-#include <netinet/ip.h>
-#include <netinet/ip_icmp.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <net/if.h>
-#include <netinet/if_ether.h>
-
-#include <sys/errno.h>
-#include <sys/ioctl.h>
-
-#include <smbsrv/alloc.h>
-#include <smbsrv/ctype.h>
-#include <smbsrv/string.h>
-
-#include <smbsrv/ntstatus.h>
-#include <smbsrv/nterror.h>
-#include <smbsrv/doserror.h>
-#include <smbsrv/cifs.h>
-#include <smbsrv/ntaccess.h>
-#include <smbsrv/smbinfo.h>
-#include <smbsrv/smb.h>
-
-#include <smbsrv/smbfmt.h>
-#include <smbsrv/smb_kproto.h>
-
-#define QUEUE_INSERT_HEAD(q, e) \
- { \
- ((e)->forw) = (void *)((q)->forw); \
- ((e)->back) = (void *)(q); \
- ((q)->forw->back) = (void *)(e); \
- ((q)->forw) = (void *)(e); \
- }
-
-
-#define QUEUE_INSERT_TAIL(q, e) \
- { \
- ((e)->back) = (void *)((q)->back); \
- ((e)->forw) = (void *)(q); \
- ((q)->back->forw) = (void *)(e); \
- ((q)->back) = (void *)(e); \
- }
-
-#define QUEUE_INSERT_SORT(q, e, k, t) \
- { \
- (void *)(t) = (void *)((q)->forw); \
- while (((t)->k) < ((e)->k)) { \
- (void *)(t) = (void *)((t)->forw); \
- } \
- QUEUE_INSERT_TAIL(t, e); \
- }
-
-#define QUEUE_CLIP(e) \
- { \
- (e)->forw->back = (e)->back; \
- (e)->back->forw = (e)->forw; \
- (e)->forw = 0; \
- (e)->back = 0; \
- }
-
-/* These should be defined in system header files */
-
-extern int atoi(const char *);
-extern int getchar(void);
-
-/*
- * PBSHORTCUT - remove this when we replace BYTE/WORD/DWORD to
- * uint8_t/uint16_t/uint32_t and <inet/ip.h> gets included by
- * files that invoke the following functions.
- */
-extern char *inet_ntop(int, const void *, char *, int);
-extern int inet_pton(int, char *, void *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_SMB_INCL_H */
diff --git a/usr/src/uts/common/smbsrv/smb_kproto.h b/usr/src/uts/common/smbsrv/smb_kproto.h
index e924f189cb..95688dd32f 100644
--- a/usr/src/uts/common/smbsrv/smb_kproto.h
+++ b/usr/src/uts/common/smbsrv/smb_kproto.h
@@ -34,12 +34,17 @@
extern "C" {
#endif
+#include <sys/types.h>
+#include <sys/param.h>
#include <sys/systm.h>
#include <sys/socket.h>
#include <sys/strsubr.h>
#include <sys/socketvar.h>
#include <sys/ksocket.h>
#include <sys/cred.h>
+#include <sys/sunddi.h>
+#include <smbsrv/smb.h>
+#include <smbsrv/string.h>
#include <smbsrv/smb_vops.h>
#include <smbsrv/smb_xdr.h>
#include <smbsrv/smb_token.h>
@@ -149,6 +154,7 @@ smb_sdrc_t smb_nt_transact_notify_change(smb_request_t *, smb_xa_t *);
smb_sdrc_t smb_nt_transact_query_security_info(smb_request_t *, smb_xa_t *);
smb_sdrc_t smb_nt_transact_set_security_info(smb_request_t *, smb_xa_t *);
smb_sdrc_t smb_nt_transact_ioctl(smb_request_t *, smb_xa_t *);
+smb_sdrc_t smb_nt_transact_rename(smb_request_t *, smb_xa_t *);
smb_sdrc_t smb_com_trans2_open2(smb_request_t *, smb_xa_t *);
smb_sdrc_t smb_com_trans2_create_directory(smb_request_t *, smb_xa_t *);
@@ -159,6 +165,7 @@ smb_sdrc_t smb_com_trans2_query_path_information(smb_request_t *, smb_xa_t *);
smb_sdrc_t smb_com_trans2_query_file_information(smb_request_t *, smb_xa_t *);
smb_sdrc_t smb_com_trans2_set_path_information(smb_request_t *, smb_xa_t *);
smb_sdrc_t smb_com_trans2_set_file_information(smb_request_t *, smb_xa_t *);
+int smb_trans2_rename(smb_request_t *, smb_node_t *, char *, int);
/*
* Logging functions
@@ -399,12 +406,6 @@ void smb_vfs_rele_all(smb_server_t *);
boolean_t smb_vfs_cmp(vfs_t *, vfs_t *);
boolean_t smb_vfs_is_readonly(vfs_t *);
-
-/*
- * String manipulation function
- */
-char *smb_kstrdup(const char *s, size_t n);
-
/* NOTIFY CHANGE */
void smb_process_session_notify_change_queue(smb_session_t *, smb_tree_t *);
void smb_process_node_notify_change_queue(smb_node_t *);
@@ -420,11 +421,10 @@ void smb_fem_fini(void);
int smb_try_grow(smb_request_t *sr, int64_t new_size);
-/* functions from smb_memory_manager.c */
-
-void *smbsr_malloc(smb_malloc_list *, size_t);
-void *smbsr_realloc(void *, size_t);
-void smbsr_free_malloc_list(smb_malloc_list *);
+void smb_srm_init(smb_request_t *sr);
+void smb_srm_fini(smb_request_t *sr);
+void *smb_srm_alloc(smb_request_t *, size_t);
+void *smb_srm_realloc(smb_request_t *, void *, size_t);
unsigned short smb_worker_getnum();
@@ -612,13 +612,6 @@ uint64_t smb_time_unix_to_nt(timestruc_t *);
int netbios_name_isvalid(char *in, char *out);
-size_t
-unicodestooems(char *oemstring, const mts_wchar_t *unicodestring,
- size_t nbytes, unsigned int cpid);
-
-size_t oemstounicodes(mts_wchar_t *unicodestring, const char *oemstring,
- size_t nwchars, unsigned int cpid);
-
int uioxfer(struct uio *src_uio, struct uio *dst_uio, int n);
int smb_match_name(ino64_t, char *, char *, boolean_t);
diff --git a/usr/src/uts/common/smbsrv/smb_ktypes.h b/usr/src/uts/common/smbsrv/smb_ktypes.h
index 9e4824cdd3..fd0feee85b 100644
--- a/usr/src/uts/common/smbsrv/smb_ktypes.h
+++ b/usr/src/uts/common/smbsrv/smb_ktypes.h
@@ -58,7 +58,6 @@ extern "C" {
#include <smbsrv/smb_xdr.h>
#include <smbsrv/netbios.h>
#include <smbsrv/smb_vops.h>
-#include <smbsrv/ntifs.h>
struct smb_disp_entry;
struct smb_request;
@@ -306,11 +305,6 @@ typedef struct {
typedef uint32_t UTIME; /* seconds since Jan 1 1970 */
-typedef struct smb_malloc_list {
- struct smb_malloc_list *forw;
- struct smb_malloc_list *back;
-} smb_malloc_list;
-
typedef struct smb_llist {
krwlock_t ll_lock;
list_t ll_list;
@@ -939,7 +933,7 @@ typedef struct smb_opipe {
/*
* The of_ftype of an open file should contain the SMB_FTYPE value
- * (cifs.h) returned when the file/pipe was opened. The following
+ * returned when the file/pipe was opened. The following
* assumptions are currently made:
*
* File Type Node PipeInfo
@@ -1215,6 +1209,7 @@ typedef struct open_param {
uint32_t action_taken;
uint64_t fileid;
uint32_t rootdirfid;
+ smb_ofile_t *dir;
/* This is only set by NTTransactCreate */
struct smb_sd *sd;
uint8_t op_oplock_level;
@@ -1388,7 +1383,7 @@ typedef struct smb_request {
struct mbuf_chain command;
struct mbuf_chain reply;
struct mbuf_chain raw_data;
- smb_malloc_list request_storage;
+ list_t sr_storage;
struct smb_xa *r_xa;
int andx_prev_wct;
int cur_reply_offset;
@@ -1442,6 +1437,7 @@ typedef struct smb_request {
smb_fqi_t fqi;
smb_fqi_t dst_fqi;
uint16_t info_level;
+ uint16_t flags;
} dirop;
open_param_t open;
@@ -1453,14 +1449,23 @@ typedef struct smb_request {
kthread_t *sr_worker;
} smb_request_t;
-#define SMB_READ_PROTOCOL(smb_nh_ptr) \
- LE_IN32(((smb_nethdr_t *)(smb_nh_ptr))->sh_protocol)
+/*
+ * SMB request-specific memory node.
+ */
+typedef struct smb_srm {
+ list_node_t srm_lnd;
+ size_t srm_size;
+ smb_request_t *srm_sr;
+} smb_srm_t;
+
+#define SMB_READ_PROTOCOL(hdr) \
+ LE_IN32(((smb_hdr_t *)(hdr))->protocol)
#define SMB_PROTOCOL_MAGIC_INVALID(rd_sr) \
(SMB_READ_PROTOCOL((rd_sr)->sr_request_buf) != SMB_PROTOCOL_MAGIC)
-#define SMB_READ_COMMAND(smb_nh_ptr) \
- (((smb_nethdr_t *)(smb_nh_ptr))->sh_command)
+#define SMB_READ_COMMAND(hdr) \
+ (((smb_hdr_t *)(hdr))->command)
#define SMB_IS_WRITERAW(rd_sr) \
(SMB_READ_COMMAND((rd_sr)->sr_request_buf) == SMB_COM_WRITE_RAW)
@@ -1512,8 +1517,7 @@ typedef struct smb_xa {
int32_t smb_timeout; /* number of milliseconds to await completion */
uint32_t smb_suwcnt; /* set up word count */
-
- char *xa_smb_trans_name;
+ char *xa_pipe_name;
int req_disp_param;
int req_disp_data;
diff --git a/usr/src/uts/common/smbsrv/smb_vops.h b/usr/src/uts/common/smbsrv/smb_vops.h
index 4952eea170..b9aee05ac3 100644
--- a/usr/src/uts/common/smbsrv/smb_vops.h
+++ b/usr/src/uts/common/smbsrv/smb_vops.h
@@ -41,7 +41,7 @@
#include <sys/refstr.h>
#include <sys/acl.h>
#include <sys/fcntl.h>
-#include <smbsrv/smb_i18n.h>
+#include <smbsrv/string.h>
#ifdef __cplusplus
extern "C" {
diff --git a/usr/src/uts/common/smbsrv/smbfmt.h b/usr/src/uts/common/smbsrv/smbfmt.h
deleted file mode 100644
index 937faf520f..0000000000
--- a/usr/src/uts/common/smbsrv/smbfmt.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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 _SMBSRV_SMBFMT_H
-#define _SMBSRV_SMBFMT_H
-
-#pragma ident "@(#)smbfmt.h 1.2 08/07/30 SMI"
-
-/*
- * SMB message header formats.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SMB_HEADER_ED_FMT "Mbbbwbww8c2.wwww"
-#define SMB_HEADER_ED_LEN (4+1+1+1+2+1+2+12+2+2+2+2)
-#define SMB_TRANSHDR_ED_FMT "wwwwb.wl2.wwwwb."
-#define SMB_TRANSHDR_ED_LEN (2+2+2+2+1+1+2+4+2+2+2+2+2+1+1)
-#define SMB_TRANSSHDR_ED_FMT "wwwwwwwww"
-#define SMB_TRANSSHDR_ED_LEN (2+2+2+2+2+2+2+2)
-#define SMB_TRANS2SHDR_ED_FMT "wwwwwwwww"
-#define SMB_TRANS2SHDR_ED_LEN (2+2+2+2+2+2+2+2+2)
-/* There is something wrong with this. Should be 38 bytes. It is 37 bytes */
-#define SMB_NT_TRANSHDR_ED_FMT "b2.llllllllbw"
-#define SMB_NT_TRANSHDR_ED_LEN (1+2+4+4+4+4+4+4+4+4+1+2)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SMBSRV_SMBFMT_H */
diff --git a/usr/src/uts/common/smbsrv/string.h b/usr/src/uts/common/smbsrv/string.h
index 6696cbc33d..21b32e328f 100644
--- a/usr/src/uts/common/smbsrv/string.h
+++ b/usr/src/uts/common/smbsrv/string.h
@@ -19,37 +19,67 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SMBSRV_STRING_H
#define _SMBSRV_STRING_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
-#include <smbsrv/smb_i18n.h>
#ifdef __cplusplus
extern "C" {
#endif
-extern char *strsubst(char *, char, char);
-extern char *strsep(char **, const char *);
-extern char *strcanon(char *, const char *);
+#define _smb_between(l, c, u) ((l) <= (c) && (c) <= (u))
+
+#define smb_isalpha(c) (smb_islower(c) || smb_isupper(c))
+#define smb_isdigit(c) _smb_between('0', (c), '9')
+#define smb_isalnum(c) (smb_isalpha(c) || smb_isdigit(c))
+#define smb_isxdigit(c) (smb_isdigit(c) || \
+ _smb_between('a', (c), 'f') || \
+ _smb_between('A', (c), 'F'))
+#define smb_isblank(c) ((c) == ' ' || (c) == '\t')
+#define smb_isspace(c) ((c) == ' ' || \
+ (c) == '\t' || \
+ (c) == '\n' || \
+ (c) == '\r' || \
+ (c) == '\f')
+#define smb_isascii(c) (!((c) &~ 0x7F))
+
+/* These macros only apply to ASCII */
+#define smb_isalpha_ascii(c) \
+ (_smb_between('a', (c), 'z') || _smb_between('A', (c), 'Z'))
+#define smb_isalnum_ascii(c) (smb_isalpha_ascii(c) || smb_isdigit(c))
-extern char *utf8_strupr(char *);
-extern char *utf8_strlwr(char *);
-extern int utf8_isstrupr(const char *);
-extern int utf8_isstrlwr(const char *);
-extern int utf8_strcasecmp(const char *, const char *);
-extern int utf8_strncasecmp(const char *, const char *, int);
-extern int utf8_isstrascii(const char *);
+#define smb_isprint(c) _smb_between('!', (c), '~')
+#define smb_iscntrl(c) ((((c) >= 0) && ((c) <= 0x1f)) || ((c) == 0x7f))
+#define smb_ispunct(c) (smb_isprint(c) && !smb_isxdigit(c) && !smb_isspace(c))
-extern int smb_match(char *patn, char *str);
-extern int smb_match_ci(char *patn, char *str);
-extern int smb_match83(char *patn, char *str83);
+/*
+ * These id's should correspond to oemcpg_table smb_oem.c.
+ */
+typedef enum codepage_id {
+ OEM_CPG_850 = 0,
+ OEM_CPG_950,
+ OEM_CPG_1252,
+ OEM_CPG_949,
+ OEM_CPG_936,
+ OEM_CPG_932,
+ OEM_CPG_852,
+ OEM_CPG_1250,
+ OEM_CPG_1253,
+ OEM_CPG_737,
+ OEM_CPG_1254,
+ OEM_CPG_857,
+ OEM_CPG_1251,
+ OEM_CPG_866,
+ OEM_CPG_1255,
+ OEM_CPG_862,
+ OEM_CPG_1256,
+ OEM_CPG_720
+} codepage_id_t;
/*
* Maximum number of bytes per multi-byte character.
@@ -57,16 +87,64 @@ extern int smb_match83(char *patn, char *str83);
#define MTS_MB_CUR_MAX 3
#define MTS_MB_CHAR_MAX MTS_MB_CUR_MAX
-size_t mts_mbstowcs(mts_wchar_t *, const char *, size_t);
-size_t mts_wcstombs(char *, const mts_wchar_t *, size_t);
-int mts_mbtowc(mts_wchar_t *, const char *, size_t);
-int mts_wctomb(char *, mts_wchar_t);
+typedef uint16_t smb_wchar_t;
+
+/*
+ * Labels to define whether a code page table entry is an uppercase
+ * character, a lowercase character or neither. One of these values
+ * should appear in the ctype field of the code page tables.
+ */
+#define CODEPAGE_ISNONE 0x00
+#define CODEPAGE_ISUPPER 0x01
+#define CODEPAGE_ISLOWER 0x02
+
+/*
+ * The structure of a code page entry. Each code page table will
+ * consist of an array of 256 codepage entries.
+ *
+ * ctype indicates case of the value.
+ * upper indicates the uppercase equivalent value.
+ * lower indicates the lowercase equivalent value.
+ */
+typedef struct smb_codepage {
+ unsigned char ctype;
+ smb_wchar_t upper;
+ smb_wchar_t lower;
+} smb_codepage_t;
+
+void smb_codepage_init(void);
+
+int smb_isupper(int);
+int smb_islower(int);
+int smb_toupper(int);
+int smb_tolower(int);
+char *smb_strupr(char *);
+char *smb_strlwr(char *);
+int smb_isstrupr(const char *);
+int smb_isstrlwr(const char *);
+int smb_strcasecmp(const char *, const char *, size_t);
+
+int smb_match(char *patn, char *str);
+int smb_match_ci(char *patn, char *str);
+int smb_match83(char *patn, char *str83);
+
+size_t smb_mbstowcs(smb_wchar_t *, const char *, size_t);
+size_t smb_wcstombs(char *, const smb_wchar_t *, size_t);
+int smb_mbtowc(smb_wchar_t *, const char *, size_t);
+int smb_wctomb(char *, smb_wchar_t);
+
+size_t smb_wcequiv_strlen(const char *);
+size_t smb_sbequiv_strlen(const char *);
+
+int smb_stombs(char *, char *, int);
+int smb_mbstos(char *, const char *);
-size_t mts_wcequiv_strlen(const char *);
-size_t mts_sbequiv_strlen(const char *);
+size_t ucstooem(char *, const smb_wchar_t *, size_t, uint32_t);
+size_t oemtoucs(smb_wchar_t *, const char *, size_t, uint32_t);
-int mts_stombs(char *, char *, int);
-int mts_mbstos(char *, const char *);
+char *strsubst(char *, char, char);
+char *strsep(char **, const char *);
+char *strcanon(char *, const char *);
#ifdef __cplusplus
}