Mercurial > illumos > illumos-gate
view usr/src/uts/common/smbsrv/ndl/ndrtypes.ndl @ 10717:fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
6877755 smbd should not route stderr, stdout to /dev/null
6882701 Wrong error message for attempt to map local user to Windows group, or vice versa
6885105 Potential for deadlock in smb_node_set_delete_on_close()
6881928 smbd core generated when running a script to join domain, set abe properties
6885538 Reduce dependencies on libsmbrdr
6820325 cifs service can't start on multi vlan+ipmp configuration
author | Alan Wright <amw@Sun.COM> |
---|---|
date | Mon, 05 Oct 2009 11:03:34 -0700 |
parents | 5f1c6a3b0fad |
children |
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 2009 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 REF [reference] #define UNIQUE [unique] #define PTR [ptr] #define POINTER_DEFAULT(X) [pointer_default(X)] #define ANY_SIZE_ARRAY * #define IMPORT_EXTERN [extern] #define BYTE uchar #define WORD ushort #define DWORD ulong #define ntstatus_t 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 REF #define UNIQUE #define PTR #define POINTER_DEFAULT(X) #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_ */