andre@0: /* This Source Code Form is subject to the terms of the Mozilla Public andre@0: * License, v. 2.0. If a copy of the MPL was not distributed with this andre@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ andre@0: /* andre@0: * pkix_policynode.h andre@0: * andre@0: * PolicyNode Type Definitions andre@0: * andre@0: */ andre@0: andre@0: #ifndef _PKIX_POLICYNODE_H andre@0: #define _PKIX_POLICYNODE_H andre@0: andre@0: #include "pkix_tools.h" andre@0: andre@0: #ifdef __cplusplus andre@0: extern "C" { andre@0: #endif andre@0: andre@0: /* This structure reflects the contents of a policy node... andre@0: */ andre@0: struct PKIX_PolicyNodeStruct { andre@0: PKIX_PL_OID *validPolicy; andre@0: PKIX_List *qualifierSet; /* CertPolicyQualifiers */ andre@0: PKIX_Boolean criticality; andre@0: PKIX_List *expectedPolicySet; /* OIDs */ andre@0: PKIX_PolicyNode *parent; andre@0: PKIX_List *children; /* PolicyNodes */ andre@0: PKIX_UInt32 depth; andre@0: }; andre@0: andre@0: PKIX_Error * andre@0: pkix_SinglePolicyNode_ToString( andre@0: PKIX_PolicyNode *node, andre@0: PKIX_PL_String **pString, andre@0: void *plContext); andre@0: andre@0: PKIX_Error * andre@0: pkix_PolicyNode_GetChildrenMutable( andre@0: PKIX_PolicyNode *node, andre@0: PKIX_List **pChildren, /* PolicyNodes */ andre@0: void *plContext); andre@0: andre@0: PKIX_Error * andre@0: pkix_PolicyNode_Create( andre@0: PKIX_PL_OID *validPolicy, andre@0: PKIX_List *qualifierSet, /* CertPolicyQualifiers */ andre@0: PKIX_Boolean criticality, andre@0: PKIX_List *expectedPolicySet, /* OIDs */ andre@0: PKIX_PolicyNode **pObject, andre@0: void *plContext); andre@0: andre@0: PKIX_Error * andre@0: pkix_PolicyNode_AddToParent( andre@0: PKIX_PolicyNode *parentNode, andre@0: PKIX_PolicyNode *child, andre@0: void *plContext); andre@0: andre@0: PKIX_Error * andre@0: pkix_PolicyNode_Prune( andre@0: PKIX_PolicyNode *node, andre@0: PKIX_UInt32 depth, andre@0: PKIX_Boolean *pDelete, andre@0: void *plContext); andre@0: andre@0: PKIX_Error * andre@0: pkix_PolicyNode_RegisterSelf( andre@0: void *plContext); andre@0: andre@0: #ifdef __cplusplus andre@0: } andre@0: #endif andre@0: andre@0: #endif /* _PKIX_POLICYNODE_H */