view usr/src/uts/common/smbsrv/ndl/ndrtypes.ndl @ 8334:5f1c6a3b0fad

6762162 $DATA appended to streams when stream type != $DATA 6736548 After switching the security mode, sometimes smb/server enters maintenance state 6764225 First domain join attempt after smb/server restarts could fail 6764343 Unable to map a share in a new domain 6673517 Appliance\Share becomes unbrowseable for ~10 mins after CIFS client leaves/rejoins the workgroup 6765259 multiple refreshes may not pick up most recent configuration 6764275 need to check with sharemgr when there's a cache miss 6765313 System panic occurred in smb_node_fini+0x16a() 6769943 Purge mlrpc from from types, functions and definitions 6765390 Deprecate smb_wins.c 6771815 ndr_server.c should not include libmlsvc.h 6732763 smbadm takes invalid workgroup name 6749515 Unable to grant domain users/groups access to files 6765156 Active Directory setup has problems if the NETBIOS domain name does not match AD FQDN 6735548 Domain users cannot connect to CIFS shares from MacOS 10.5 6631366 Able to join W2K3 domain with wrong domain name after joined with correct domain name. 6768067 The "smbadm list" should display FQDN 6768061 SMB daemon turned into maintenance mode while updating ddns 6773309 smbd can miss SIGTERM and fail to exit since some threads allow SIGTERM 6775912 smbd: idmap handle access is not thread safe 6775155 core.smbd dump at smb_shr_sa_loadall+0x1f 6776818 Use of freed memory in smbrdr_logon_user() 6766126 Per-share support to configure/disable client-side caching (offline files) 6778831 smbadm definition of domain is too strict, should allow leading digit 6780207 libumem.so.1`process_free+0x55 crash while running smbtorture base tests.
author jose borrego <Jose.Borrego@Sun.COM>
date Wed, 10 Dec 2008 22:16:19 -0700
parents 3047ad28a67b
children fe0545fc3cdd
line wrap: on
line source

/*
 * 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 _NDR_TYPES_NDL_
#define _NDR_TYPES_NDL_

#define TYPEINFO(TYPE)  ndt__##TYPE

#ifdef NDRGEN

#define ALIGN(X)	[align(X)]
#define OPERATION(X)	[operation(X)]
#define IN		[in]
#define OUT		[out]
#define INOUT		[in out]

#define STRING		[string]
#define SIZE_IS(X)	[size_is(X)]

#define SWITCH(X)	[switch_is(X)]
#define CASE(X)		[case(X)]
#define DEFAULT		[default]

#define INTERFACE(X)	[interface(X)]
#define UUID(X)		[uuid(X)]

#define ARG_IS(X)	[arg_is(X)]

#define REFERENCE	[reference]

#define ANY_SIZE_ARRAY	*

#define IMPORT_EXTERN	[extern]

#define BYTE	uchar
#define WORD	ushort
#define DWORD	ulong

#define LPTSTR	STRING wchar *

#define LPBYTE  uchar *
#define LPWORD  ushort *
#define LPDWORD ulong *

/*
 * Opaque context handle.
 */
#ifndef CONTEXT_HANDLE
#define CONTEXT_HANDLE(NAME)	\
	struct NAME {		\
		DWORD data1;    \
		DWORD data2;    \
		WORD  data3[2]; \
		BYTE  data4[8];	\
	};			\
	typedef struct NAME
#endif /* CONTEXT_HANDLE */

#define EXTERNTYPEINFO(TYPE)

#else /* NDRGEN */

#define ALIGN(X)
#define OPERATION(X)
#define IN
#define OUT
#define INOUT

#define STRING
#define SIZE_IS(X)

#define SWITCH(X)
#define CASE(X)
#define DEFAULT

#define INTERFACE(X)
#define UUID(X)

#define ARG_IS(X)

#define REFERENCE

#define IMPORT_EXTERN

/*
 * When not using ndrgen, get BYTE, WORD, DWORD definitions from wintypes.h.
 */
#include <smbsrv/wintypes.h>

#define EXTERNTYPEINFO(TYPE)	extern struct ndr_typeinfo TYPEINFO(TYPE);


/*
 ***********************************************************************
 * There is a bug in the way that midl and the marshalling code handles
 * unions so we need to fix some of the data offsets at runtime. The
 * following macros and the fixup function handle the correction.
 ***********************************************************************
 */

/*
 * DECL_FIXUP_STRUCT allows us to declare external references to data
 * structures generated by ndrgen in the _ndr.c file.
 */
#define DECL_FIXUP_STRUCT(NAME)	extern struct ndr_typeinfo ndt__##NAME

/*
 * CASE_INFO_ENT is intended to simplify the declaration of the case
 * statement in the fixup function. Assuming you have followed the
 * convention for naming the individual structures all you have to do
 * is add a single line to the fixup function for each new case.
 */
#define CASE_INFO_ENT(NAME,N) \
			case N: size1 = sizeof (struct NAME##N); \
			break

/*
 * FIXUP_PDU_SIZE is used to patch the appropriate structures (identified
 * by DECL_FIXUP_STRUCT) at runtime. The values are based on the
 * switch_index.
 */
#define FIXUP_PDU_SIZE(NAME,SIZE) { \
	ndt__##NAME.pdu_size_fixed_part = SIZE; \
	ndt__##NAME.c_size_fixed_part = SIZE; \
}


#endif /* NDRGEN */

/*
 * UNION_INFO_ENT is intended to simplify adding new entries to a union.
 * If the entry structures are named using the form FunctionNameX,
 * where X is the sitch_value, you can just add a single line. Note
 * that you must also update the fixup function in mlsvc_xxx.c.
 */
#define UNION_INFO_ENT(N,NAME) CASE(N) struct NAME##N info##N
#define UNION_INFO_PTR(N,NAME) CASE(N) struct NAME##N *info##N

#endif /* _NDR_TYPES_NDL_ */