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 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 
00044 
00045 
00046 
00047 
00048 Buffer   int2bin_DER(long int n);
00049 long int bin2int_DER(Buffer buf);
00050 Buffer   node2DER(Buffer, unsigned char);
00051 int      get_size_toDER(Buffer, unsigned char);
00052 int      skip_DER_node(Buffer, unsigned char, int, int*);
00053 
00054 
00055 #define  new_DER_node()         new_tTree_node()
00056 #define  del_DER_node(a)        del_tTree_node((a))
00057 #define  del_DER(a)             del_tTree((a))
00058 #define  add_DER_node(a, n)     add_tTree_node((a), (n))
00059 
00060 tDER*    DER_parse(tDER* der, Buffer* buf);
00061 void     _DER_parse_children(tDER* der, Buffer* buf);
00062 
00063 int      set_DER_node(tDER* ser, unsigned char* buf);
00064 int      get_DER_size(unsigned char* buf, int* len);
00065 
00066 
00067 
00068 
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 void     print_tDER(FILE* fp, tDER* pp);
00078 
00079 
00080 
00081 
00082 
00083 #endif        // __JBXL_ASN1_TOOL_H_
00084