2.3.4.10 RestrictionUnion_r

The RestrictionUnion_r structure encodes a single instance of any type of restriction. It is an aggregation data structure, allowing a single parameter to a Name Service Provider Interface (NSPI) method to contain any type of restriction data structure.

 typedef 
 [switch_type(long)] 
 union _RestrictionUnion_r {
   [case(0x00000000)] 
     AndRestriction_r resAnd;
   [case(0x00000001)] OrRestriction_r resOr;
   [case(0x00000002)] 
     NotRestriction_r resNot;
   [case(0x00000003)] 
     ContentRestriction_r resContent;
   [case(0x00000004)] 
     PropertyRestriction_r resProperty;
   [case(0x00000005)] 
     ComparePropsRestriction_r resCompareProps;
   [case(0x00000006)] 
     BitMaskRestriction_r resBitMask;
   [case(0x00000007)] 
     SizeRestriction_r resSize;
   [case(0x00000008)] 
     ExistRestriction_r resExist;
   [case(0x00000009)] 
     SubRestriction_r resSubRestriction;
 } RestrictionUnion_r;

resAnd: RestrictionUnion_r contains an encoding of an AndRestriction.

resOr: RestrictionUnion_r contains an encoding of an OrRestriction.

resNot: RestrictionUnion_r contains an encoding of a NotRestriction.

resContent: RestrictionUnion_r contains an encoding of a ContentRestriction.

resProperty: RestrictionUnion_r contains an encoding of a PropertyRestriction.

resCompareProps: RestrictionUnion_r contains an encoding of a CompareRestriction.

resBitMask: RestrictionUnion_r contains an encoding of a BitMaskRestriction.

resSize: RestrictionUnion_r contains an encoding of a SizeRestriction.

resExist: RestrictionUnion_r contains an encoding of an ExistRestriction.

resSubRestriction: RestrictionUnion_r contains an encoding of a SubRestriction.