Lines Matching refs:filter

84 int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter)  in mbfl_filt_conv_base64enc()  argument
88 n = (filter->status & 0xff); in mbfl_filt_conv_base64enc()
90 filter->status++; in mbfl_filt_conv_base64enc()
91 filter->cache = (c & 0xff) << 16; in mbfl_filt_conv_base64enc()
93 filter->status++; in mbfl_filt_conv_base64enc()
94 filter->cache |= (c & 0xff) << 8; in mbfl_filt_conv_base64enc()
96 filter->status &= ~0xff; in mbfl_filt_conv_base64enc()
97 if ((filter->status & MBFL_BASE64_STS_MIME_HEADER) == 0) { in mbfl_filt_conv_base64enc()
98 n = (filter->status & 0xff00) >> 8; in mbfl_filt_conv_base64enc()
100 CK((*filter->output_function)(0x0d, filter->data)); /* CR */ in mbfl_filt_conv_base64enc()
101 CK((*filter->output_function)(0x0a, filter->data)); /* LF */ in mbfl_filt_conv_base64enc()
102 filter->status &= ~0xff00; in mbfl_filt_conv_base64enc()
104 filter->status += 0x400; in mbfl_filt_conv_base64enc()
106 n = filter->cache | (c & 0xff); in mbfl_filt_conv_base64enc()
107 CK((*filter->output_function)(mbfl_base64_table[(n >> 18) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc()
108 CK((*filter->output_function)(mbfl_base64_table[(n >> 12) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc()
109 CK((*filter->output_function)(mbfl_base64_table[(n >> 6) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc()
110 CK((*filter->output_function)(mbfl_base64_table[n & 0x3f], filter->data)); in mbfl_filt_conv_base64enc()
116 int mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_base64enc_flush() argument
120 status = filter->status & 0xff; in mbfl_filt_conv_base64enc_flush()
121 cache = filter->cache; in mbfl_filt_conv_base64enc_flush()
122 len = (filter->status & 0xff00) >> 8; in mbfl_filt_conv_base64enc_flush()
123 filter->status &= ~0xffff; in mbfl_filt_conv_base64enc_flush()
124 filter->cache = 0; in mbfl_filt_conv_base64enc_flush()
127 if ((filter->status & MBFL_BASE64_STS_MIME_HEADER) == 0) { in mbfl_filt_conv_base64enc_flush()
129 CK((*filter->output_function)(0x0d, filter->data)); /* CR */ in mbfl_filt_conv_base64enc_flush()
130 CK((*filter->output_function)(0x0a, filter->data)); /* LF */ in mbfl_filt_conv_base64enc_flush()
133 CK((*filter->output_function)(mbfl_base64_table[(cache >> 18) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc_flush()
134 CK((*filter->output_function)(mbfl_base64_table[(cache >> 12) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc_flush()
136 CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ in mbfl_filt_conv_base64enc_flush()
137 CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ in mbfl_filt_conv_base64enc_flush()
139 CK((*filter->output_function)(mbfl_base64_table[(cache >> 6) & 0x3f], filter->data)); in mbfl_filt_conv_base64enc_flush()
140 CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ in mbfl_filt_conv_base64enc_flush()
149 int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_base64dec() argument
171 switch (filter->status) { in mbfl_filt_conv_base64dec()
173 filter->status = 1; in mbfl_filt_conv_base64dec()
174 filter->cache = n << 18; in mbfl_filt_conv_base64dec()
177 filter->status = 2; in mbfl_filt_conv_base64dec()
178 filter->cache |= n << 12; in mbfl_filt_conv_base64dec()
181 filter->status = 3; in mbfl_filt_conv_base64dec()
182 filter->cache |= n << 6; in mbfl_filt_conv_base64dec()
185 filter->status = 0; in mbfl_filt_conv_base64dec()
186 n |= filter->cache; in mbfl_filt_conv_base64dec()
187 CK((*filter->output_function)((n >> 16) & 0xff, filter->data)); in mbfl_filt_conv_base64dec()
188 CK((*filter->output_function)((n >> 8) & 0xff, filter->data)); in mbfl_filt_conv_base64dec()
189 CK((*filter->output_function)(n & 0xff, filter->data)); in mbfl_filt_conv_base64dec()
196 int mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_base64dec_flush() argument
200 status = filter->status; in mbfl_filt_conv_base64dec_flush()
201 cache = filter->cache; in mbfl_filt_conv_base64dec_flush()
202 filter->status = 0; in mbfl_filt_conv_base64dec_flush()
203 filter->cache = 0; in mbfl_filt_conv_base64dec_flush()
206 CK((*filter->output_function)((cache >> 16) & 0xff, filter->data)); in mbfl_filt_conv_base64dec_flush()
208 CK((*filter->output_function)((cache >> 8) & 0xff, filter->data)); in mbfl_filt_conv_base64dec_flush()