1/* 2 * Copyright (c) 2005-2007,2011-2012,2014 Apple Inc. All Rights Reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24 25/* 26 * printFeilds.h - print various DER objects 27 * 28 */ 29 30#ifndef _PRINT_FIELDS_H_ 31#define _PRINT_FIELDS_H_ 32 33#include <libDER/libDER.h> 34 35#ifdef __cplusplus 36extern "C" { 37#endif 38 39void doIndent(void); 40void incrIndent(void); 41void decrIndent(void); 42void printHex(DERItem *item); 43void printBitString(DERItem *item); 44void printString(DERItem *item); 45void printHeader(const char *label); 46 47typedef enum { 48 IT_Leaf, // leaf; always print contents 49 IT_Branch // branch; print contents iff verbose 50} ItemType; 51 52void printItem( 53 const char *label, 54 ItemType itemType, 55 int verbose, 56 DERTag tag, // maybe from decoding, maybe the real tag underlying 57 // an implicitly tagged item 58 DERItem *item); // content 59 60void printAlgId( 61 const DERItem *content, 62 int verbose); 63void printSubjPubKeyInfo( 64 const DERItem *content, 65 int verbose); 66 67/* decode one item and print it */ 68void decodePrintItem( 69 const char *label, 70 ItemType itemType, 71 int verbose, 72 DERItem *derItem); 73 74#ifdef __cplusplus 75} 76#endif 77 78#endif /* _PRINT_FIELDS_H_ */ 79