1 #ifndef _H_SLAPD_COMPONENT
2 #define _H_SLAPD_COMPONENT
12 typedef enum { ASN_BASIC, ASN_COMPOSITE } AsnType;
15 * Different operation is required to handle Decoding(2), Extracted Component
16 * decoding(0), ANY DEFINED TYPe(2)
17 * b0 : Component Alloc(yes)
18 * Constructed type : Component Alloc (Yes)
19 * Primitive type : Component Alloc (Yes)
20 * set to mode 2 in inner decoders
21 * b1 : Component Alloc (No)
22 * Constructed type : Component Alloc (No)
23 * Primitive type : Component Alloc (No)
24 * set to mode 2 in inner decoders
26 * Constructed type : Component Alloc (Yes)
27 * Primitive type : Component Alloc (No)
28 * in addition to above modes, the 4th bit has special meaning,
29 * b4 : if the 4th bit is clear, DecxxxContent is called
30 * b4 : if the 4th bit is set, Decxxx is called, then it is cleared.
32 #define DEC_ALLOC_MODE_0 0x01
33 #define DEC_ALLOC_MODE_1 0x02
34 #define DEC_ALLOC_MODE_2 0x04
35 #define CALL_TAG_DECODER 0x08
36 #define CALL_CONTENT_DECODER ~0x08
38 * For Attribute Aliasing
40 #define MAX_ALIASING_ENTRY 128
41 typedef struct comp_attribute_aliasing {
42 AttributeDescription* aa_aliasing_ad;
43 AttributeDescription* aa_aliased_ad;
44 ComponentFilter* aa_cf;
49 typedef struct comp_matchingrule_aliasing {
50 MatchingRule* mra_aliasing_attr;
51 MatchingRule* mra_aliased_attr;
52 AttributeDescription* mra_attr;
53 ComponentFilter* mra_cf;
56 } MatchingRuleAliasing;