Mercurial > illumos > illumos-gate
annotate 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 |
rev | line source |
---|---|
5331 | 1 /* |
2 * CDDL HEADER START | |
3 * | |
4 * The contents of this file are subject to the terms of the | |
5 * Common Development and Distribution License (the "License"). | |
6 * You may not use this file except in compliance with the License. | |
7 * | |
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
9 * or http://www.opensolaris.org/os/licensing. | |
10 * See the License for the specific language governing permissions | |
11 * and limitations under the License. | |
12 * | |
13 * When distributing Covered Code, include this CDDL HEADER in each | |
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
15 * If applicable, add the following below this CDDL HEADER, with the | |
16 * fields enclosed by brackets "[]" replaced with your own identifying | |
17 * information: Portions Copyright [yyyy] [name of copyright owner] | |
18 * | |
19 * CDDL HEADER END | |
20 */ | |
21 /* | |
10717
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. |
5331 | 23 * Use is subject to license terms. |
24 */ | |
25 | |
26 #ifndef _NDR_TYPES_NDL_ | |
27 #define _NDR_TYPES_NDL_ | |
28 | |
29 #define TYPEINFO(TYPE) ndt__##TYPE | |
30 | |
31 #ifdef NDRGEN | |
32 | |
33 #define ALIGN(X) [align(X)] | |
34 #define OPERATION(X) [operation(X)] | |
35 #define IN [in] | |
36 #define OUT [out] | |
37 #define INOUT [in out] | |
38 | |
39 #define STRING [string] | |
40 #define SIZE_IS(X) [size_is(X)] | |
41 | |
42 #define SWITCH(X) [switch_is(X)] | |
43 #define CASE(X) [case(X)] | |
44 #define DEFAULT [default] | |
45 | |
46 #define INTERFACE(X) [interface(X)] | |
47 #define UUID(X) [uuid(X)] | |
48 | |
49 #define ARG_IS(X) [arg_is(X)] | |
50 | |
51 #define REFERENCE [reference] | |
10717
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
52 #define REF [reference] |
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
53 #define UNIQUE [unique] |
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
54 #define PTR [ptr] |
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
55 #define POINTER_DEFAULT(X) [pointer_default(X)] |
5331 | 56 |
57 #define ANY_SIZE_ARRAY * | |
58 | |
59 #define IMPORT_EXTERN [extern] | |
60 | |
61 #define BYTE uchar | |
62 #define WORD ushort | |
63 #define DWORD ulong | |
10717
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
64 #define ntstatus_t ulong |
5331 | 65 |
66 #define LPTSTR STRING wchar * | |
67 | |
68 #define LPBYTE uchar * | |
69 #define LPWORD ushort * | |
70 #define LPDWORD ulong * | |
71 | |
8334
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
72 /* |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
73 * Opaque context handle. |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
74 */ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
75 #ifndef CONTEXT_HANDLE |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
76 #define CONTEXT_HANDLE(NAME) \ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
77 struct NAME { \ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
78 DWORD data1; \ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
79 DWORD data2; \ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
80 WORD data3[2]; \ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
81 BYTE data4[8]; \ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
82 }; \ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
83 typedef struct NAME |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
84 #endif /* CONTEXT_HANDLE */ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
85 |
5331 | 86 #define EXTERNTYPEINFO(TYPE) |
87 | |
88 #else /* NDRGEN */ | |
89 | |
90 #define ALIGN(X) | |
91 #define OPERATION(X) | |
92 #define IN | |
93 #define OUT | |
94 #define INOUT | |
95 | |
96 #define STRING | |
97 #define SIZE_IS(X) | |
98 | |
99 #define SWITCH(X) | |
100 #define CASE(X) | |
101 #define DEFAULT | |
102 | |
103 #define INTERFACE(X) | |
104 #define UUID(X) | |
105 | |
106 #define ARG_IS(X) | |
107 | |
108 #define REFERENCE | |
10717
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
109 #define REF |
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
110 #define UNIQUE |
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
111 #define PTR |
fe0545fc3cdd
6612607 CIFS ADS client should use ldap_sasl_interactive_bind_s API
Alan Wright <amw@Sun.COM>
parents:
8334
diff
changeset
|
112 #define POINTER_DEFAULT(X) |
5331 | 113 |
114 #define IMPORT_EXTERN | |
115 | |
8334
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
116 /* |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
117 * When not using ndrgen, get BYTE, WORD, DWORD definitions from wintypes.h. |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
118 */ |
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
119 #include <smbsrv/wintypes.h> |
5331 | 120 |
8334
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
121 #define EXTERNTYPEINFO(TYPE) extern struct ndr_typeinfo TYPEINFO(TYPE); |
5331 | 122 |
123 | |
124 /* | |
125 *********************************************************************** | |
126 * There is a bug in the way that midl and the marshalling code handles | |
127 * unions so we need to fix some of the data offsets at runtime. The | |
128 * following macros and the fixup function handle the correction. | |
129 *********************************************************************** | |
130 */ | |
131 | |
132 /* | |
133 * DECL_FIXUP_STRUCT allows us to declare external references to data | |
134 * structures generated by ndrgen in the _ndr.c file. | |
135 */ | |
8334
5f1c6a3b0fad
6762162 $DATA appended to streams when stream type != $DATA
jose borrego <Jose.Borrego@Sun.COM>
parents:
5331
diff
changeset
|
136 #define DECL_FIXUP_STRUCT(NAME) extern struct ndr_typeinfo ndt__##NAME |
5331 | 137 |
138 /* | |
139 * CASE_INFO_ENT is intended to simplify the declaration of the case | |
140 * statement in the fixup function. Assuming you have followed the | |
141 * convention for naming the individual structures all you have to do | |
142 * is add a single line to the fixup function for each new case. | |
143 */ | |
144 #define CASE_INFO_ENT(NAME,N) \ | |
145 case N: size1 = sizeof (struct NAME##N); \ | |
146 break | |
147 | |
148 /* | |
149 * FIXUP_PDU_SIZE is used to patch the appropriate structures (identified | |
150 * by DECL_FIXUP_STRUCT) at runtime. The values are based on the | |
151 * switch_index. | |
152 */ | |
153 #define FIXUP_PDU_SIZE(NAME,SIZE) { \ | |
154 ndt__##NAME.pdu_size_fixed_part = SIZE; \ | |
155 ndt__##NAME.c_size_fixed_part = SIZE; \ | |
156 } | |
157 | |
158 | |
159 #endif /* NDRGEN */ | |
160 | |
161 /* | |
162 * UNION_INFO_ENT is intended to simplify adding new entries to a union. | |
163 * If the entry structures are named using the form FunctionNameX, | |
164 * where X is the sitch_value, you can just add a single line. Note | |
165 * that you must also update the fixup function in mlsvc_xxx.c. | |
166 */ | |
167 #define UNION_INFO_ENT(N,NAME) CASE(N) struct NAME##N info##N | |
168 #define UNION_INFO_PTR(N,NAME) CASE(N) struct NAME##N *info##N | |
169 | |
170 #endif /* _NDR_TYPES_NDL_ */ |