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 /*******************************************************************
24 ********************************************************************/
26 void init_lsa_String(struct lsa_String
*name
, const char *s
)
29 name
->size
= 2 * strlen_m(s
);
30 name
->length
= name
->size
;
33 /*******************************************************************
35 ********************************************************************/
37 void init_lsa_StringLarge(struct lsa_StringLarge
*name
, const char *s
)
42 /*******************************************************************
44 ********************************************************************/
46 void init_lsa_AsciiString(struct lsa_AsciiString
*name
, const char *s
)
51 /*******************************************************************
53 ********************************************************************/
55 void init_lsa_AsciiStringLarge(struct lsa_AsciiStringLarge
*name
, const char *s
)
60 /*******************************************************************
61 Inits an lsa_QosInfo structure.
62 ********************************************************************/
64 void init_lsa_sec_qos(struct lsa_QosInfo
*r
,
66 uint16_t impersonation_level
,
68 uint8_t effective_only
)
70 DEBUG(5, ("init_lsa_sec_qos\n"));
73 r
->impersonation_level
= impersonation_level
;
74 r
->context_mode
= context_mode
;
75 r
->effective_only
= effective_only
;
78 /*******************************************************************
79 Inits an lsa_ObjectAttribute structure.
80 ********************************************************************/
82 void init_lsa_obj_attr(struct lsa_ObjectAttribute
*r
,
85 const char *object_name
,
87 struct security_descriptor
*sec_desc
,
88 struct lsa_QosInfo
*sec_qos
)
90 DEBUG(5,("init_lsa_obj_attr\n"));
93 r
->root_dir
= root_dir
;
94 r
->object_name
= object_name
;
95 r
->attributes
= attributes
;
96 r
->sec_desc
= sec_desc
;
100 /*******************************************************************
101 Inits a lsa_TranslatedSid structure.
102 ********************************************************************/
104 void init_lsa_translated_sid(struct lsa_TranslatedSid
*r
,
105 enum lsa_SidType sid_type
,
109 r
->sid_type
= sid_type
;
111 r
->sid_index
= sid_index
;
114 /*******************************************************************
115 Inits a lsa_TranslatedName2 structure.
116 ********************************************************************/
118 void init_lsa_translated_name2(struct lsa_TranslatedName2
*r
,
119 enum lsa_SidType sid_type
,
124 r
->sid_type
= sid_type
;
125 init_lsa_String(&r
->name
, name
);
126 r
->sid_index
= sid_index
;
127 r
->unknown
= unknown
;