source: branches/samba-3.3.x/source/librpc/idl/xattr.idl

Last change on this file was 206, checked in by Herwig Bauernfeind, 16 years ago

Import Samba 3.3 branch at 3.0.0 level (psmedley's port)

File size: 1.2 KB
Line 
1#include "idl_types.h"
2
3/*
4 IDL structures for xattrs
5*/
6
7[
8 pointer_default(unique)
9]
10interface xattr
11{
12 /* xattrs for file systems that don't have any */
13
14 typedef [public] struct {
15 utf8string name;
16 DATA_BLOB value;
17 } tdb_xattr;
18
19 typedef [public] struct {
20 uint32 num_xattrs;
21 tdb_xattr xattrs[num_xattrs];
22 } tdb_xattrs;
23
24 /* we store the NT ACL a NTACL xattr. It is versioned so we
25 can later add other acl attribs (such as posix acl mapping)
26
27 we put this xattr in the security namespace to ensure that
28 only trusted users can write to the ACL
29
30 stored in "security.NTACL"
31
32 Version 1. raw SD stored as Samba4 does it.
33 Version 2. raw SD + last changed hash so we
34 can discard if this doesn't match the underlying ACL hash.
35 */
36
37 const char *XATTR_NTACL_NAME = "security.NTACL";
38
39 typedef [public] struct {
40 security_descriptor *sd;
41 uint8 hash[16];
42 } security_descriptor_hash;
43
44 typedef [switch_type(uint16)] union {
45 [case(1)] security_descriptor *sd;
46 [case(2)] security_descriptor_hash *sd_hs;
47 } xattr_NTACL_Info;
48
49 typedef [public] struct {
50 uint16 version;
51 [switch_is(version)] xattr_NTACL_Info info;
52 } xattr_NTACL;
53
54}
Note: See TracBrowser for help on using the repository browser.