nsspki1t.h
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:6k
- /*
- * The contents of this file are subject to the Mozilla Public
- * License Version 1.1 (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.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1994-2000 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License Version 2 or later (the
- * "GPL"), in which case the provisions of the GPL are applicable
- * instead of those above. If you wish to allow use of your
- * version of this file only under the terms of the GPL and not to
- * allow others to use your version of this file under the MPL,
- * indicate your decision by deleting the provisions above and
- * replace them with the notice and other provisions required by
- * the GPL. If you do not delete the provisions above, a recipient
- * may use your version of this file under either the MPL or the
- * GPL.
- */
- #ifndef NSSPKI1T_H
- #define NSSPKI1T_H
- #ifdef DEBUG
- static const char NSSPKI1T_CVS_ID[] = "@(#) $RCSfile: nsspki1t.h,v $ $Revision: 1.1 $ $Date: 2000/03/31 19:16:21 $ $Name: NSS_3_1_1_RTM $";
- #endif /* DEBUG */
- /*
- * nsspki1t.h
- *
- * This file contains the public type definitions for the PKIX part-1
- * objects.
- */
- #ifndef NSSBASET_H
- #include "nssbaset.h"
- #endif /* NSSBASET_H */
- PR_BEGIN_EXTERN_C
- /*
- * OBJECT IDENTIFIER
- *
- * This is the basic OID that crops up everywhere.
- */
- struct NSSOIDStr;
- typedef struct NSSOIDStr NSSOID;
- /*
- * AttributeTypeAndValue
- *
- * This structure contains an attribute type (indicated by an OID),
- * and the type-specific value. RelativeDistinguishedNamess consist
- * of a set of these. These are distinct from Attributes (which have
- * SET of values), from AttributeDescriptions (which have qualifiers
- * on the types), and from AttributeValueAssertions (which assert a
- * a value comparison under some matching rule).
- */
- struct NSSATAVStr;
- typedef struct NSSATAVStr NSSATAV;
- /*
- * RelativeDistinguishedName
- *
- * This structure contains an unordered set of AttributeTypeAndValue
- * objects. RDNs are used to distinguish a set of objects underneath
- * a common object.
- *
- * Often, a single ATAV is sufficient to make a unique distinction.
- * For example, if a company assigns its people unique uid values,
- * then in the Name "uid=smith,ou=People,o=Acme,c=US" the "uid=smith"
- * ATAV by itself forms an RDN. However, sometimes a set of ATAVs is
- * needed. For example, if a company needed to distinguish between
- * two Smiths by specifying their corporate divisions, then in the
- * Name "(cn=Smith,ou=Sales),ou=People,o=Acme,c=US" the parenthesised
- * set of ATAVs forms the RDN.
- */
- struct NSSRDNStr;
- typedef struct NSSRDNStr NSSRDN;
- /*
- * RDNSequence
- *
- * This structure contains a sequence of RelativeDistinguishedName
- * objects.
- */
- struct NSSRDNSeqStr;
- typedef struct NSSRDNSeqStr NSSRDNSeq;
- /*
- * Name
- *
- * This structure contains a union of the possible name formats,
- * which at the moment is limited to an RDNSequence.
- */
- struct NSSNameStr;
- typedef struct NSSNameStr NSSName;
- /*
- * NameChoice
- *
- * This enumeration is used to specify choice within a name.
- */
- enum NSSNameChoiceEnum {
- NSSNameChoiceInvalid = -1,
- NSSNameChoiceRdnSequence
- };
- typedef enum NSSNameChoiceEnum NSSNameChoice;
- /*
- * GeneralName
- *
- * This structure contains a union of the possible general names,
- * of which there are several.
- */
- struct NSSGeneralNameStr;
- typedef struct NSSGeneralNameStr NSSGeneralName;
- /*
- * GeneralNameChoice
- *
- * This enumerates the possible general name types.
- */
- enum NSSGeneralNameChoiceEnum {
- NSSGeneralNameChoiceInvalid = -1,
- NSSGeneralNameChoiceOtherName = 0,
- NSSGeneralNameChoiceRfc822Name = 1,
- NSSGeneralNameChoiceDNSName = 2,
- NSSGeneralNameChoiceX400Address = 3,
- NSSGeneralNameChoiceDirectoryName = 4,
- NSSGeneralNameChoiceEdiPartyName = 5,
- NSSGeneralNameChoiceUniformResourceIdentifier = 6,
- NSSGeneralNameChoiceIPAddress = 7,
- NSSGeneralNameChoiceRegisteredID = 8
- };
- typedef enum NSSGeneralNameChoiceEnum NSSGeneralNameChoice;
- /*
- * The "other" types of general names.
- */
- struct NSSOtherNameStr;
- typedef struct NSSOtherNameStr NSSOtherName;
- struct NSSRFC822NameStr;
- typedef struct NSSRFC822NameStr NSSRFC822Name;
- struct NSSDNSNameStr;
- typedef struct NSSDNSNameStr NSSDNSName;
- struct NSSX400AddressStr;
- typedef struct NSSX400AddressStr NSSX400Address;
- struct NSSEdiPartyNameStr;
- typedef struct NSSEdiPartyNameStr NSSEdiPartyName;
- struct NSSURIStr;
- typedef struct NSSURIStr NSSURI;
- struct NSSIPAddressStr;
- typedef struct NSSIPAddressStr NSSIPAddress;
- struct NSSRegisteredIDStr;
- typedef struct NSSRegisteredIDStr NSSRegisteredID;
- /*
- * GeneralNameSeq
- *
- * This structure contains a sequence of GeneralName objects.
- * Note that the PKIX documents refer to this as "GeneralNames,"
- * which differs from "GeneralName" by only one letter. To
- * try to reduce confusion, we expand the name slightly to
- * "GeneralNameSeq."
- */
- struct NSSGeneralNameSeqStr;
- typedef struct NSSGeneralNameSeqStr NSSGeneralNameSeq;
- PR_END_EXTERN_C
- #endif /* NSSPKI1T_H */