]> git.saurik.com Git - apple/security.git/blobdiff - Security/libsecurity_asn1/lib/secasn1.h
Security-57336.1.9.tar.gz
[apple/security.git] / Security / libsecurity_asn1 / lib / secasn1.h
diff --git a/Security/libsecurity_asn1/lib/secasn1.h b/Security/libsecurity_asn1/lib/secasn1.h
deleted file mode 100644 (file)
index 6ff361f..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * 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.
- */
-
-/*
- * Support for encoding/decoding of ASN.1 using BER/DER (Basic/Distinguished
- * Encoding Rules).  The routines are found in and used extensively by the
- * security library, but exported for other use.
- *
- * $Id: secasn1.h,v 1.8 2004/05/13 15:29:13 dmitch Exp $
- */
-
-#ifndef _SECASN1_H_
-#define _SECASN1_H_
-
-#include <security_asn1/plarenas.h>
-
-#include <security_asn1/seccomon.h>
-#include <Security/secasn1t.h>
-#include <Security/SecAsn1Templates.h>
-
-
-/************************************************************************/
-SEC_BEGIN_PROTOS
-
-/*
- * XXX These function prototypes need full, explanatory comments.
- */
-
-/*
-** Decoding.
-*/
-
-extern SEC_ASN1DecoderContext *SEC_ASN1DecoderStart(PRArenaPool *pool,
-                                                   void *dest,
-                                                   const SecAsn1Template *t,
-                                                       /*
-                                                        * __APPLE__ addenda:
-                                                        *
-                                                    * Only needed if first element will 
-                                                        * be SEC_ASN1_DYNAMIC 
-                                                        */
-                                                       const char *buf);
-
-/* XXX char or unsigned char? */
-extern SECStatus SEC_ASN1DecoderUpdate(SEC_ASN1DecoderContext *cx,
-                                      const char *buf,
-                                      size_t len);
-
-extern SECStatus SEC_ASN1DecoderFinish(SEC_ASN1DecoderContext *cx);
-
-/* Higher level code detected an error, abort the rest of the processing */
-extern void SEC_ASN1DecoderAbort(SEC_ASN1DecoderContext *cx, int error);
-
-extern void SEC_ASN1DecoderSetFilterProc(SEC_ASN1DecoderContext *cx,
-                                        SEC_ASN1WriteProc fn,
-                                        void *arg, PRBool no_store);
-
-extern void SEC_ASN1DecoderClearFilterProc(SEC_ASN1DecoderContext *cx);
-
-extern void SEC_ASN1DecoderSetNotifyProc(SEC_ASN1DecoderContext *cx,
-                                        SEC_ASN1NotifyProc fn,
-                                        void *arg);
-
-extern void SEC_ASN1DecoderClearNotifyProc(SEC_ASN1DecoderContext *cx);
-
-extern SECStatus SEC_ASN1Decode(PRArenaPool *pool, void *dest,
-                               const SecAsn1Template *t,
-                               const char *buf, size_t len);
-
-extern SECStatus SEC_ASN1DecodeItem(PRArenaPool *pool, void *dest,
-                                   const SecAsn1Template *t,
-                                   const SecAsn1Item *item);
-
-extern SECStatus SEC_QuickDERDecodeItem(PRArenaPool* arena, void* dest,
-                     const SecAsn1Template* templateEntry,
-                     SecAsn1Item* src);
-
-/*
-** Encoding.
-*/
-
-extern SEC_ASN1EncoderContext *SEC_ASN1EncoderStart(const void *src,
-                                                   const SecAsn1Template *t,
-                                                   SEC_ASN1WriteProc fn,
-                                                   void *output_arg);
-
-/* XXX char or unsigned char? */
-extern SECStatus SEC_ASN1EncoderUpdate(SEC_ASN1EncoderContext *cx,
-                                      const char *buf,
-                                      unsigned long len);
-
-extern void SEC_ASN1EncoderFinish(SEC_ASN1EncoderContext *cx);
-
-/* Higher level code detected an error, abort the rest of the processing */
-extern void SEC_ASN1EncoderAbort(SEC_ASN1EncoderContext *cx, int error);
-
-extern void SEC_ASN1EncoderSetNotifyProc(SEC_ASN1EncoderContext *cx,
-                                        SEC_ASN1NotifyProc fn,
-                                        void *arg);
-
-extern void SEC_ASN1EncoderClearNotifyProc(SEC_ASN1EncoderContext *cx);
-
-extern void SEC_ASN1EncoderSetStreaming(SEC_ASN1EncoderContext *cx);
-
-extern void SEC_ASN1EncoderClearStreaming(SEC_ASN1EncoderContext *cx);
-
-extern void sec_ASN1EncoderSetDER(SEC_ASN1EncoderContext *cx);
-
-extern void sec_ASN1EncoderClearDER(SEC_ASN1EncoderContext *cx);
-
-extern void SEC_ASN1EncoderSetTakeFromBuf(SEC_ASN1EncoderContext *cx);
-
-extern void SEC_ASN1EncoderClearTakeFromBuf(SEC_ASN1EncoderContext *cx);
-
-extern SECStatus SEC_ASN1Encode(const void *src, 
-                               const SecAsn1Template *t,
-                               SEC_ASN1WriteProc output_proc,
-                               void *output_arg);
-
-extern SecAsn1Item * SEC_ASN1EncodeItem(PRArenaPool *pool, SecAsn1Item *dest,
-                                   const void *src, const SecAsn1Template *t);
-
-extern SecAsn1Item * SEC_ASN1EncodeInteger(PRArenaPool *pool,
-                                      SecAsn1Item *dest, long value);
-
-extern SecAsn1Item * SEC_ASN1EncodeUnsignedInteger(PRArenaPool *pool,
-                                              SecAsn1Item *dest,
-                                              unsigned long value);
-
-extern SECStatus SEC_ASN1DecodeInteger(SecAsn1Item *src,
-                                      unsigned long *value);
-
-/*
-** Utilities.
-*/
-
-/*
- * We have a length that needs to be encoded; how many bytes will the
- * encoding take?
- */
-extern int SEC_ASN1LengthLength (unsigned long len);
-
-/* encode the length and return the number of bytes we encoded. Buffer
- * must be pre allocated  */
-extern int SEC_ASN1EncodeLength(unsigned char *buf,unsigned long value);
-
-/*
- * Find the appropriate subtemplate for the given template.
- * This may involve calling a "chooser" function, or it may just
- * be right there.  In either case, it is expected to *have* a
- * subtemplate; this is asserted in debug builds (in non-debug
- * builds, NULL will be returned).
- *
- * "thing" is a pointer to the structure being encoded/decoded
- * "encoding", when true, means that we are in the process of encoding
- *     (as opposed to in the process of decoding)
- */
-extern const SecAsn1Template *
-SEC_ASN1GetSubtemplate (
-       const SecAsn1Template *inTemplate, 
-       void *thing,
-       PRBool encoding,
-       const char *buf);       /* __APPLE__ addenda: for decode only */
-
-extern SecAsn1Item *sec_asn1e_allocate_item (
-       PRArenaPool *poolp, 
-       SecAsn1Item *dest, 
-       unsigned long len);
-
-/*
- * These two are exported for use by SecNssEncodeItem()
- */
-extern void sec_asn1e_encode_item_count (
-       void *arg, 
-       const char *buf, 
-       size_t len,
-       int depth, 
-       SEC_ASN1EncodingPart data_kind);
-
-extern void sec_asn1e_encode_item_store (
-       void *arg, 
-       const char *buf, 
-       size_t len,
-       int depth, 
-       SEC_ASN1EncodingPart data_kind);
-
-
-SEC_END_PROTOS
-#endif /* _SECASN1_H_ */