Lines Matching refs:filter

90 int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter)  in mbfl_filt_conv_base64enc()  argument
94 n = (filter->status & 0xff); in mbfl_filt_conv_base64enc()
96 filter->status++; in mbfl_filt_conv_base64enc()
97 filter->cache = (c & 0xff) << 16; in mbfl_filt_conv_base64enc()
99 filter->status++; in mbfl_filt_conv_base64enc()
100 filter->cache |= (c & 0xff) << 8; in mbfl_filt_conv_base64enc()
102 filter->status &= ~0xff; in mbfl_filt_conv_base64enc()
103 if ((filter->status & MBFL_BASE64_STS_MIME_HEADER) == 0) { in mbfl_filt_conv_base64enc()
104 n = (filter->status & 0xff00) >> 8; in mbfl_filt_conv_base64enc()
106 CK((*filter->output_function)(0x0d, filter->data)); /* CR */ in mbfl_filt_conv_base64enc()
107 CK((*filter->output_function)(0x0a, filter->data)); /* LF */ in mbfl_filt_conv_base64enc()
108 filter->status &= ~0xff00; in mbfl_filt_conv_base64enc()
110 filter->status += 0x400; in mbfl_filt_conv_base64enc()
112 n = filter->cache | (c & 0xff); in mbfl_filt_conv_base64enc()
113 CK((*filter->output_function)(mbfl_base64_table[(n >> 18) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc()
114 CK((*filter->output_function)(mbfl_base64_table[(n >> 12) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc()
115 CK((*filter->output_function)(mbfl_base64_table[(n >> 6) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc()
116 CK((*filter->output_function)(mbfl_base64_table[n & 0x3f], filter->data)); in mbfl_filt_conv_base64enc()
122 int mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_base64enc_flush() argument
126 status = filter->status & 0xff; in mbfl_filt_conv_base64enc_flush()
127 cache = filter->cache; in mbfl_filt_conv_base64enc_flush()
128 len = (filter->status & 0xff00) >> 8; in mbfl_filt_conv_base64enc_flush()
129 filter->status &= ~0xffff; in mbfl_filt_conv_base64enc_flush()
130 filter->cache = 0; in mbfl_filt_conv_base64enc_flush()
133 if ((filter->status & MBFL_BASE64_STS_MIME_HEADER) == 0) { in mbfl_filt_conv_base64enc_flush()
135 CK((*filter->output_function)(0x0d, filter->data)); /* CR */ in mbfl_filt_conv_base64enc_flush()
136 CK((*filter->output_function)(0x0a, filter->data)); /* LF */ in mbfl_filt_conv_base64enc_flush()
139 CK((*filter->output_function)(mbfl_base64_table[(cache >> 18) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc_flush()
140 CK((*filter->output_function)(mbfl_base64_table[(cache >> 12) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc_flush()
142 CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ in mbfl_filt_conv_base64enc_flush()
143 CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ in mbfl_filt_conv_base64enc_flush()
145 CK((*filter->output_function)(mbfl_base64_table[(cache >> 6) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc_flush()
146 CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ in mbfl_filt_conv_base64enc_flush()
150 if (filter->flush_function) { in mbfl_filt_conv_base64enc_flush()
151 (*filter->flush_function)(filter->data); in mbfl_filt_conv_base64enc_flush()
160 int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_base64dec() argument
180 CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); in mbfl_filt_conv_base64dec()
185 switch (filter->status) { in mbfl_filt_conv_base64dec()
187 filter->status = 1; in mbfl_filt_conv_base64dec()
188 filter->cache = n << 18; in mbfl_filt_conv_base64dec()
191 filter->status = 2; in mbfl_filt_conv_base64dec()
192 filter->cache |= n << 12; in mbfl_filt_conv_base64dec()
195 filter->status = 3; in mbfl_filt_conv_base64dec()
196 filter->cache |= n << 6; in mbfl_filt_conv_base64dec()
199 filter->status = 0; in mbfl_filt_conv_base64dec()
200 n |= filter->cache; in mbfl_filt_conv_base64dec()
201 CK((*filter->output_function)((n >> 16) & 0xff, filter->data)); in mbfl_filt_conv_base64dec()
202 CK((*filter->output_function)((n >> 8) & 0xff, filter->data)); in mbfl_filt_conv_base64dec()
203 CK((*filter->output_function)(n & 0xff, filter->data)); in mbfl_filt_conv_base64dec()
210 int mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_base64dec_flush() argument
214 status = filter->status; in mbfl_filt_conv_base64dec_flush()
215 cache = filter->cache; in mbfl_filt_conv_base64dec_flush()
216 filter->status = 0; in mbfl_filt_conv_base64dec_flush()
217 filter->cache = 0; in mbfl_filt_conv_base64dec_flush()
220 CK((*filter->output_function)((cache >> 16) & 0xff, filter->data)); in mbfl_filt_conv_base64dec_flush()
222 CK((*filter->output_function)((cache >> 8) & 0xff, filter->data)); in mbfl_filt_conv_base64dec_flush()
226 if (filter->flush_function) { in mbfl_filt_conv_base64dec_flush()
227 (*filter->flush_function)(filter->data); in mbfl_filt_conv_base64dec_flush()