00001 
00002 #ifndef  __JBXL_ASN1_TOOL_H_
00003 #define  __JBXL_ASN1_TOOL_H_
00004 
00005 
00006 #include "xtools.h"
00007 #include "ttree.h"
00008 
00009 #include "asn1_node.h"
00010 
00011 
00018 typedef  tTree  tDER;
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 Buffer   int2bin_DER(long int n);
00030 long int bin2int_DER(Buffer buf);
00031 Buffer   node2DER(Buffer, unsigned char);
00032 int      get_size_toDER(Buffer, unsigned char);
00033 int      skip_DER_node(Buffer, unsigned char, int, int*);
00034 
00035 
00036 #define  new_DER_node()         new_tTree_node()
00037 #define  del_DER_node(a)        del_tTree_node((a))
00038 #define  del_DER(a)             del_tTree((a))
00039 #define  add_DER_node(a, n)     add_tTree_node((a), (n))
00040 
00041 tDER*    DER_parse(tDER* der, Buffer* buf);
00042 void     _DER_parse_children(tDER* der, Buffer* buf);
00043 
00044 int      set_DER_node(tDER* ser, unsigned char* buf);
00045 int      get_DER_size(unsigned char* buf, int* len);
00046 
00047 void     print_tDER(FILE* fp, tDER* pp);
00048 
00049 
00050 
00051 
00052 
00053 #endif        // __JBXL_ASN1_TOOL_H_