JunkBox_Lib  1.10.2
asn1_tool.h
Go to the documentation of this file.
1 #ifndef __JBXL_ASN1_TOOL_H_
2 #define __JBXL_ASN1_TOOL_H_
3 
4 #include "xtools.h"
5 #include "ttree.h"
6 
7 #include "asn1_node.h"
8 
15 typedef tTree tDER;
16 /*
17 @code
18 tDER {
19  tList_data lvat { データを格納
20  int id 識別子
21  int lv データ全体のサイズ(実際に格納されているサイズ)
22  Buffer key 未使用
23  Buffer val { コンテンツを格納
24  .....
25  int vldsz コンテンツのサイズ. (実際に格納されているサイズ)
26  int state コンテンツの状態
27  unsigned char* buf コンテンツ
28  }
29  .....
30  }
31  .....
32 }
33 @endcode
34 */
35 
36 
37 // ASN1
38 //
39 // int2DER() -> int2bin_DER()
40 // toDER() -> node2DER()
41 // get_toDER_length() -> get_size_toDER()
42 // skip_DERtag() -> skip_DER_node()
43 //
44 
45 Buffer int2bin_DER(long int n);
46 long int bin2int_DER(Buffer buf);
47 Buffer node2DER(Buffer, unsigned char);
48 int get_size_toDER(Buffer, unsigned char);
49 int skip_DER_node(Buffer, unsigned char, int, int*);
50 
51 #define new_DER_node() new_tTree_node()
52 #define del_DER_node(a) del_tTree_node((a))
53 #define del_DER(a) del_tTree((a))
54 #define add_DER_node(a, n) add_tTree_node((a), (n))
55 
56 tDER* DER_parse(tDER* der, Buffer* buf);
57 void _DER_parse_children(tDER* der, Buffer* buf);
58 
59 int set_DER_node(tDER* ser, unsigned char* buf);
60 int get_DER_size(unsigned char* buf, int* len);
61 
62 /*
63 最初の行はアンカー (ff)
64 
65 04 05 69 73 65 6b 69
66 
67 [04] UNIVERSAL PRIMITIVE OCTET_STRING 7, 5 : "iseki"
68  7: 全体長
69  5: iseki の長さ
70 
71 [ID] CLASS PRIMITIVE/CONSTRUCTED TAG/(num) data_size, contents_size : contents
72 */
73 void print_tDER(FILE* fp, tDER* pp);
74 
75 //Buffer* DER_inverse_parse(tDER* pp);
76 
77 
78 #endif // __JBXL_ASN1_TOOL_H_
79 
Buffer int2bin_DER(long int n)
Definition: asn1_tool.c:129
void print_tDER(FILE *fp, tDER *pp)
Definition: asn1_tool.c:375
long int bin2int_DER(Buffer buf)
Definition: asn1_tool.c:163
int get_size_toDER(Buffer, unsigned char)
Definition: asn1_tool.c:198
Buffer node2DER(Buffer, unsigned char)
Definition: asn1_tool.c:70
tTree tDER
Definition: asn1_tool.h:15
int set_DER_node(tDER *ser, unsigned char *buf)
Definition: asn1_tool.c:298
tDER * DER_parse(tDER *der, Buffer *buf)
Definition: asn1_tool.c:235
int get_DER_size(unsigned char *buf, int *len)
Definition: asn1_tool.c:325
int skip_DER_node(Buffer, unsigned char, int, int *)
Definition: asn1_tool.c:34
void _DER_parse_children(tDER *der, Buffer *buf)
Definition: asn1_tool.c:255
unsigned char ** buf
Definition: jpeg_tool.h:96
unsigned char unsigned long * len
Definition: jpeg_tool.h:96
Definition: buffer.h:35
Tiny Tree Graph 構造ライブラリヘッダ
汎用拡張ツールヘッダ