mirror of
https://github.com/samba-team/samba.git
synced 2025-02-14 01:57:53 +03:00
(the IDL, and the load/save meta-data logic) - changed pvfs_resolve_name() to default to non-wildcard, needing PVFS_RESOLVE_WILDCARD to enable wildcards. Most callers don't want wildcards, so defaulting this way makes more sense. - fixed deletion of EAs (This used to be commit e7afd4403cc1b7e0928776929f8988aa6f15640b)
70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
#include "idl_types.h"
|
|
|
|
/*
|
|
IDL structures for xattr file attributes
|
|
|
|
this has nothing to do with RPC, we are just using our NDR/IDL
|
|
infrastructure as a convenient way to store linearised information
|
|
about a file in a architecture independent manner
|
|
*/
|
|
|
|
interface xattr
|
|
{
|
|
const string XATTR_DOSATTRIB_NAME = "user.DosAttrib";
|
|
const string XATTR_DOSATTRIB_ESTIMATED_SIZE = 64;
|
|
|
|
/* we store basic dos attributes in a DosAttrib xattr. By
|
|
using a union we can cope with new version of this
|
|
structure more easily */
|
|
typedef struct {
|
|
uint32 attrib;
|
|
uint32 ea_size;
|
|
uint64 size;
|
|
uint64 alloc_size;
|
|
NTTIME create_time;
|
|
NTTIME change_time;
|
|
} xattr_DosInfo1;
|
|
|
|
typedef union {
|
|
[case(1)] xattr_DosInfo1 info1;
|
|
} xattr_DosInfo;
|
|
|
|
typedef [public] struct {
|
|
uint16 version;
|
|
[switch_is(version)] xattr_DosInfo info;
|
|
} xattr_DosAttrib;
|
|
|
|
|
|
/* we store DOS style extended attributes in a DosEAs xattr */
|
|
const string XATTR_DOSEAS_NAME = "user.DosEAs";
|
|
|
|
typedef struct {
|
|
utf8string name;
|
|
DATA_BLOB value;
|
|
} xattr_EA;
|
|
|
|
typedef [public] struct {
|
|
uint16 num_eas;
|
|
[size_is(num_eas)] xattr_EA *eas;
|
|
} xattr_DosEAs;
|
|
|
|
/* we store stream information in this xattr structure. Then
|
|
the streams themselves are stored in
|
|
user.DosStream.STREAMNAME or in external files, according
|
|
to the flags */
|
|
const string XATTR_DOSSTREAMS_NAME = "user.DosStreams";
|
|
|
|
const int XATTR_STREAM_FLAG_INTERNAL = 0x00000001;
|
|
|
|
typedef struct {
|
|
utf8string name;
|
|
uint64 size;
|
|
uint32 flags;
|
|
} xattr_DosStream;
|
|
|
|
typedef [public] struct {
|
|
uint32 num_streams;
|
|
[size_is(num_streams)] xattr_DosStream *streams;
|
|
} xattr_DosStreams;
|
|
}
|