50 lines
1.7 KiB
C
50 lines
1.7 KiB
C
/*
|
|
Copyright (c) Microsoft Corporation
|
|
|
|
All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
|
|
compliance with the License. You may obtain a copy of the License
|
|
at http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
|
|
EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF
|
|
TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
|
|
|
See the Apache Version 2.0 License for specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "basic_types.h"
|
|
|
|
// property type flag
|
|
const UInt16 PropTypeMask = 0xc000;
|
|
|
|
// PropType_Atom is a leaf property which is an element of a list or a
|
|
// set. There may be nested properties within the leaf.
|
|
const UInt16 PropType_Atom = 0x0000;
|
|
|
|
// length type flag
|
|
const UInt16 PropLengthMask = 0x2000;
|
|
|
|
// A property with PropLength_Short has a 1-byte length field
|
|
const UInt16 PropLength_Short = 0x0000;
|
|
// A property with PropLength_Long has a 4-byte length field
|
|
const UInt16 PropLength_Long = 0x2000;
|
|
|
|
// mask for the remaining 13-bit namespace
|
|
|
|
const UInt16 PropValueMask = 0x1fff;
|
|
|
|
#define PROP_SHORTATOM(x_) ((x_) | PropType_Atom | PropLength_Short)
|
|
#define PROP_LONGATOM(x_) ((x_) | PropType_Atom | PropLength_Long)
|
|
|
|
// Propries for Dryad
|
|
const UInt16 Prop_Stream_BeginTag = PROP_SHORTATOM(0x1200);
|
|
const UInt16 Prop_Stream_EndTag = PROP_SHORTATOM(0x1201);
|