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