2 * Unix SMB/CIFS implementation.
3 * RPC Pipe client / server routines
4 * Copyright (C) Guenther Deschner 2008.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
22 /*******************************************************************
23 inits a srvsvc_NetSrvInfo102 structure
24 ********************************************************************/
26 void init_srvsvc_NetSrvInfo102(struct srvsvc_NetSrvInfo102
*r
,
27 enum srvsvc_PlatformId platform_id
,
28 const char *server_name
,
29 uint32_t version_major
,
30 uint32_t version_minor
,
41 r
->platform_id
= platform_id
;
42 r
->server_name
= server_name
;
43 r
->version_major
= version_major
;
44 r
->version_minor
= version_minor
;
45 r
->server_type
= server_type
;
50 r
->announce
= announce
;
51 r
->anndelta
= anndelta
;
52 r
->licenses
= licenses
;
53 r
->userpath
= userpath
;
56 /*******************************************************************
57 inits a srvsvc_NetSrvInfo101 structure
58 ********************************************************************/
60 void init_srvsvc_NetSrvInfo101(struct srvsvc_NetSrvInfo101
*r
,
61 enum srvsvc_PlatformId platform_id
,
62 const char *server_name
,
63 uint32_t version_major
,
64 uint32_t version_minor
,
68 r
->platform_id
= platform_id
;
69 r
->server_name
= server_name
;
70 r
->version_major
= version_major
;
71 r
->version_minor
= version_minor
;
72 r
->server_type
= server_type
;
76 /*******************************************************************
77 inits a srvsvc_NetSrvInfo100 structure
78 ********************************************************************/
80 void init_srvsvc_NetSrvInfo100(struct srvsvc_NetSrvInfo100
*r
,
81 enum srvsvc_PlatformId platform_id
,
82 const char *server_name
)
84 r
->platform_id
= platform_id
;
85 r
->server_name
= server_name
;
88 /*******************************************************************
89 inits a srvsvc_NetShareInfo0 structure
90 ********************************************************************/
92 void init_srvsvc_NetShareInfo0(struct srvsvc_NetShareInfo0
*r
,
98 /*******************************************************************
99 inits a srvsvc_NetShareInfo1 structure
100 ********************************************************************/
102 void init_srvsvc_NetShareInfo1(struct srvsvc_NetShareInfo1
*r
,
104 enum srvsvc_ShareType type
,
109 r
->comment
= comment
;
112 /*******************************************************************
113 inits a srvsvc_NetShareInfo2 structure
114 ********************************************************************/
116 void init_srvsvc_NetShareInfo2(struct srvsvc_NetShareInfo2
*r
,
118 enum srvsvc_ShareType type
,
120 uint32_t permissions
,
122 uint32_t current_users
,
124 const char *password
)
128 r
->comment
= comment
;
129 r
->permissions
= permissions
;
130 r
->max_users
= max_users
;
131 r
->current_users
= current_users
;
133 r
->password
= password
;
136 /*******************************************************************
137 inits a srvsvc_NetShareInfo501 structure
138 ********************************************************************/
140 void init_srvsvc_NetShareInfo501(struct srvsvc_NetShareInfo501
*r
,
142 enum srvsvc_ShareType type
,
148 r
->comment
= comment
;
149 r
->csc_policy
= csc_policy
;
152 /*******************************************************************
153 inits a srvsvc_NetShareInfo502 structure
154 ********************************************************************/
156 void init_srvsvc_NetShareInfo502(struct srvsvc_NetShareInfo502
*r
,
158 enum srvsvc_ShareType type
,
160 uint32_t permissions
,
162 uint32_t current_users
,
164 const char *password
,
166 struct security_descriptor
*sd
)
170 r
->comment
= comment
;
171 r
->permissions
= permissions
;
172 r
->max_users
= max_users
;
173 r
->current_users
= current_users
;
175 r
->password
= password
;
176 r
->unknown
= unknown
;
180 /*******************************************************************
181 inits a srvsvc_NetShareInfo1004 structure
182 ********************************************************************/
184 void init_srvsvc_NetShareInfo1004(struct srvsvc_NetShareInfo1004
*r
,
187 r
->comment
= comment
;
190 /*******************************************************************
191 inits a srvsvc_NetShareInfo1005 structure
192 ********************************************************************/
194 void init_srvsvc_NetShareInfo1005(struct srvsvc_NetShareInfo1005
*r
,
197 r
->dfs_flags
= dfs_flags
;
200 /*******************************************************************
201 inits a srvsvc_NetShareInfo1006 structure
202 ********************************************************************/
204 void init_srvsvc_NetShareInfo1006(struct srvsvc_NetShareInfo1006
*r
,
207 r
->max_users
= max_users
;
210 /*******************************************************************
211 inits a srvsvc_NetShareInfo1007 structure
212 ********************************************************************/
214 void init_srvsvc_NetShareInfo1007(struct srvsvc_NetShareInfo1007
*r
,
216 const char *alternate_directory_name
)
219 r
->alternate_directory_name
= alternate_directory_name
;
222 /*******************************************************************
223 inits a srvsvc_NetRemoteTODInfo structure
224 ********************************************************************/
226 void init_srvsvc_NetRemoteTODInfo(struct srvsvc_NetRemoteTODInfo
*r
,
240 r
->elapsed
= elapsed
;
246 r
->timezone
= ttimezone
;
247 r
->tinterval
= tinterval
;
251 r
->weekday
= weekday
;