2 Unix SMB/CIFS implementation.
4 UUID/GUID/policy_handle functions
6 Copyright (C) Andrew Tridgell 2003.
7 Copyright (C) Stefan (metze) Metzmacher 2004.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #include "system/network.h"
25 #include "librpc/ndr/libndr.h"
26 #include "libcli/util/ntstatus.h"
27 #include "lib/util/util_str_hex.h"
29 _PUBLIC_
void ndr_print_GUID(struct ndr_print
*ndr
, const char *name
, const struct GUID
*guid
)
31 struct GUID_txt_buf buf
;
32 ndr
->print(ndr
, "%-25s: %s", name
, GUID_buf_string(guid
, &buf
));
35 bool ndr_syntax_id_equal(const struct ndr_syntax_id
*i1
,
36 const struct ndr_syntax_id
*i2
)
38 return GUID_equal(&i1
->uuid
, &i2
->uuid
)
39 && (i1
->if_version
== i2
->if_version
);
42 char *ndr_syntax_id_buf_string(
43 const struct ndr_syntax_id
*id
, struct ndr_syntax_id_buf
*dst
)
45 struct GUID_txt_buf guid_buf
;
50 GUID_buf_string(&id
->uuid
, &guid_buf
),
51 (unsigned int)id
->if_version
);
56 _PUBLIC_
char *ndr_syntax_id_to_string(TALLOC_CTX
*mem_ctx
, const struct ndr_syntax_id
*id
)
58 struct ndr_syntax_id_buf buf
;
59 return talloc_strdup(mem_ctx
, ndr_syntax_id_buf_string(id
, &buf
));
62 _PUBLIC_
bool ndr_syntax_id_from_string(const char *s
, struct ndr_syntax_id
*id
)
66 ok
= parse_guid_string(s
, &id
->uuid
);
71 if (strncmp(s
+ 36, "/0x", 3) != 0) {
75 ok
= hex_uint32(s
+39, &id
->if_version
);