1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
/*!
\ingroup Base_Encoding
\brief この関数は、指定されたBase64エンコードされた入力inを復号し、結果を出力バッファoutに格納します。また、変数outLenに出力バッファに書き込まれたサイズを設定します。
\return 0 Base64エンコードされた入力の復号に成功した場合に返されます
\return BAD_FUNC_ARG 出力バッファが復号された入力を格納するには小さすぎる場合に返されます
\return ASN_INPUT_E 入力バッファ内の文字がBase64の範囲([A-Za-z0-9+/=])外にある場合、またはBase64エンコードされた入力に無効な行末がある場合に返されます
\param in 復号する入力バッファへのポインタ
\param inLen 復号する入力バッファの長さ
\param out 復号されたメッセージを格納する出力バッファへのポインタ
\param outLen 出力バッファの長さへのポインタ。関数呼び出しの最後に書き込まれたバイト数で更新されます
_Example_
\code
byte encoded[] = { // 復号するテキストを初期化 };
byte decoded[sizeof(encoded)];
// 少なくとも(sizeof(encoded) * 3 + 3) / 4のスペースが必要
int outLen = sizeof(decoded);
if( Base64_Decode(encoded,sizeof(encoded), decoded, &outLen) != 0 ) {
// 入力バッファの復号エラー
}
\endcode
\sa Base64_Encode
\sa Base16_Decode
*/
int ;
/*!
\ingroup Base_Encoding
\brief この関数は、指定された入力inをエンコードし、Base64エンコードされた結果を出力バッファoutに格納します。エスケープされた%0A行末の代わりに、従来の'\n'行末でデータを書き込みます。正常に完了すると、この関数はoutLenを出力バッファに書き込まれたバイト数に設定します。
\return 0 Base64エンコードされた入力の復号に成功した場合に返されます
\return BAD_FUNC_ARG 出力バッファがエンコードされた入力を格納するには小さすぎる場合に返されます
\return BUFFER_E エンコード中に出力バッファのスペースが不足した場合に返されます
\param in エンコードする入力バッファへのポインタ
\param inLen エンコードする入力バッファの長さ
\param out エンコードされたメッセージを格納する出力バッファへのポインタ
\param outLen エンコードされたメッセージを格納する出力バッファの長さへのポインタ
_Example_
\code
byte plain[] = { // エンコードするテキストを初期化 };
byte encoded[MAX_BUFFER_SIZE];
int outLen = sizeof(encoded);
if( Base64_Encode(plain, sizeof(plain), encoded, &outLen) != 0 ) {
// 入力バッファのエンコードエラー
}
\endcode
\sa Base64_EncodeEsc
\sa Base64_Decode
*/
int ;
/*!
\ingroup Base_Encoding
\brief この関数は、指定された入力inをエンコードし、Base64エンコードされた結果を出力バッファoutに格納します。'\n'行末の代わりに%0Aエスケープされた行末でデータを書き込みます。正常に完了すると、この関数はoutLenを出力バッファに書き込まれたバイト数に設定します。
\return 0 Base64エンコードされた入力の復号に成功した場合に返されます
\return BAD_FUNC_ARG 出力バッファがエンコードされた入力を格納するには小さすぎる場合に返されます
\return BUFFER_E エンコード中に出力バッファのスペースが不足した場合に返されます
\return ASN_INPUT_E 入力メッセージの復号処理中にエラーが発生した場合に返されます
\param in エンコードする入力バッファへのポインタ
\param inLen エンコードする入力バッファの長さ
\param out エンコードされたメッセージを格納する出力バッファへのポインタ
\param outLen エンコードされたメッセージを格納する出力バッファの長さへのポインタ
_Example_
\code
byte plain[] = { // エンコードするテキストを初期化 };
byte encoded[MAX_BUFFER_SIZE];
int outLen = sizeof(encoded);
if( Base64_EncodeEsc(plain, sizeof(plain), encoded, &outLen) != 0 ) {
// 入力バッファのエンコードエラー
}
\endcode
\sa Base64_Encode
\sa Base64_Decode
*/
int ;
/*!
\ingroup Base_Encoding
\brief この関数は、指定された入力inをエンコードし、Base64エンコードされた結果を出力バッファoutに格納します。改行なしでデータを書き込みます。正常に完了すると、この関数はoutLenを出力バッファに書き込まれたバイト数に設定します。
\return 0 Base64エンコードされた入力の復号に成功した場合に返されます
\return BAD_FUNC_ARG 出力バッファがエンコードされた入力を格納するには小さすぎる場合に返されます
\return BUFFER_E エンコード中に出力バッファのスペースが不足した場合に返されます
\return ASN_INPUT_E 入力メッセージの復号処理中にエラーが発生した場合に返されます
\param in エンコードする入力バッファへのポインタ
\param inLen エンコードする入力バッファの長さ
\param out エンコードされたメッセージを格納する出力バッファへのポインタ
\param outLen エンコードされたメッセージを格納する出力バッファの長さへのポインタ
_Example_
\code
byte plain[] = { // エンコードするテキストを初期化 };
byte encoded[MAX_BUFFER_SIZE];
int outLen = sizeof(encoded);
if( Base64_Encode_NoNl(plain, sizeof(plain), encoded, &outLen) != 0 ) {
// 入力バッファのエンコードエラー
}
\endcode
\sa Base64_Encode
\sa Base64_Decode
*/
int ;
/*!
\ingroup Base_Encoding
\brief この関数は、指定されたBase16エンコードされた入力inを復号し、結果を出力バッファoutに格納します。また、変数outLenに出力バッファに書き込まれたサイズを設定します。
\return 0 Base16エンコードされた入力の復号に成功した場合に返されます
\return BAD_FUNC_ARG 出力バッファが復号された入力を格納するには小さすぎる場合、または入力長が2の倍数でない場合に返されます
\return ASN_INPUT_E 入力バッファ内の文字がBase16の範囲([0-9A-F])外にある場合に返されます
\param in 復号する入力バッファへのポインタ
\param inLen 復号する入力バッファの長さ
\param out 復号されたメッセージを格納する出力バッファへのポインタ
\param outLen 出力バッファの長さへのポインタ。関数呼び出しの最後に書き込まれたバイト数で更新されます
_Example_
\code
byte encoded[] = { // 復号するテキストを初期化 };
byte decoded[sizeof(encoded)];
int outLen = sizeof(decoded);
if( Base16_Decode(encoded,sizeof(encoded), decoded, &outLen) != 0 ) {
// 入力バッファの復号エラー
}
\endcode
\sa Base64_Encode
\sa Base64_Decode
\sa Base16_Encode
*/
int ;
/*!
\ingroup Base_Encoding
\brief 入力をbase16出力にエンコードします。
\return 0 成功
\return BAD_FUNC_ARG in、out、またはoutLenがnullの場合、またはoutLenがinLenの2倍プラス1未満の場合に返されます。
\param in エンコードする入力バッファへのポインタ。
\param inLen 入力バッファの長さ。
\param out 出力バッファへのポインタ。
\param outLen 出力バッファの長さ。エンコードされた出力の長さに設定されます。
_Example_
\code
byte in[] = { // エンコードする何かの内容 };
byte out[NECESSARY_OUTPUT_SIZE];
word32 outSz = sizeof(out);
if(Base16_Encode(in, sizeof(in), out, &outSz) != 0)
{
// エンコードエラーを処理
}
\endcode
\sa Base64_Encode
\sa Base64_Decode
\sa Base16_Decode
*/
int ;