Back to index

lightning-sunbird  0.9+nobinonly
pki1t.h
Go to the documentation of this file.
00001 /* ***** BEGIN LICENSE BLOCK *****
00002  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00003  *
00004  * The contents of this file are subject to the Mozilla Public License Version
00005  * 1.1 (the "License"); you may not use this file except in compliance with
00006  * the License. You may obtain a copy of the License at
00007  * http://www.mozilla.org/MPL/
00008  *
00009  * Software distributed under the License is distributed on an "AS IS" basis,
00010  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00011  * for the specific language governing rights and limitations under the
00012  * License.
00013  *
00014  * The Original Code is the Netscape security libraries.
00015  *
00016  * The Initial Developer of the Original Code is
00017  * Netscape Communications Corporation.
00018  * Portions created by the Initial Developer are Copyright (C) 1994-2000
00019  * the Initial Developer. All Rights Reserved.
00020  *
00021  * Contributor(s):
00022  *
00023  * Alternatively, the contents of this file may be used under the terms of
00024  * either the GNU General Public License Version 2 or later (the "GPL"), or
00025  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00026  * in which case the provisions of the GPL or the LGPL are applicable instead
00027  * of those above. If you wish to allow use of your version of this file only
00028  * under the terms of either the GPL or the LGPL, and not to allow others to
00029  * use your version of this file under the terms of the MPL, indicate your
00030  * decision by deleting the provisions above and replace them with the notice
00031  * and other provisions required by the GPL or the LGPL. If you do not delete
00032  * the provisions above, a recipient may use your version of this file under
00033  * the terms of any one of the MPL, the GPL or the LGPL.
00034  *
00035  * ***** END LICENSE BLOCK ***** */
00036 
00037 #ifndef PKI1T_H
00038 #define PKI1T_H
00039 
00040 #ifdef DEBUG
00041 static const char PKI1T_CVS_ID[] = "@(#) $RCSfile: pki1t.h,v $ $Revision: 1.3 $ $Date: 2005/01/20 02:25:49 $";
00042 #endif /* DEBUG */
00043 
00044 /*
00045  * pki1t.h
00046  *
00047  * This file contains definitions for the types used in the PKIX part-1
00048  * code, but not available publicly.
00049  */
00050 
00051 #ifndef BASET_H
00052 #include "baset.h"
00053 #endif /* BASET_H */
00054 
00055 #ifndef NSSPKI1T_H
00056 #include "nsspki1t.h"
00057 #endif /* NSSPKI1T_H */
00058 
00059 PR_BEGIN_EXTERN_C
00060 
00061 /*
00062  * NSSOID
00063  *
00064  * This structure is used to hold our internal table of built-in OID
00065  * data.  The fields are as follows:
00066  *
00067  *  NSSItem     data -- this is the actual DER-encoded multinumber oid
00068  *  const char *expl -- this explains the derivation, and is checked
00069  *                      in a unit test.  While the field always exists,
00070  *                      it is only populated or used in debug builds.
00071  *
00072  */
00073 
00074 struct NSSOIDStr {
00075 #ifdef DEBUG
00076   const NSSUTF8 *tag;
00077   const NSSUTF8 *expl;
00078 #endif /* DEBUG */
00079   NSSItem data;
00080 };
00081 
00082 /*
00083  * nssAttributeTypeAliasTable
00084  *
00085  * Attribute types are passed around as oids (at least in the X.500
00086  * and PKI worlds, as opposed to ldap).  However, when written as 
00087  * strings they usually have well-known aliases, e.g., "ou" or "c."
00088  *
00089  * This type defines a table, populated in the generated oiddata.c
00090  * file, of the aliases we recognize.
00091  *
00092  * The fields are as follows:
00093  *
00094  *  NSSUTF8 *alias -- a well-known string alias for an oid
00095  *  NSSOID  *oid   -- the oid to which the alias corresponds
00096  *
00097  */
00098 
00099 struct nssAttributeTypeAliasTableStr {
00100   const NSSUTF8 *alias;
00101   const NSSOID **oid;
00102 };
00103 typedef struct nssAttributeTypeAliasTableStr nssAttributeTypeAliasTable;
00104 
00105 PR_END_EXTERN_C
00106 
00107 #endif /* PKI1T_H */