Lines Matching +full:1 +full:p

10  * 1. Redistributions of source code must retain the above copyright
39 * All encoding functions take a pointer `p' to first position in
47 der_put_unsigned (unsigned char *p, size_t len, const unsigned *v, size_t *size)
49 unsigned char *base = p;
54 *p-- = val % 256;
61 if(p[1] >= 128) {
62 if(len < 1)
64 *p-- = 0;
66 *size = base - p;
69 } else if (len < 1)
72 *p = 0;
73 *size = 1;
79 der_put_unsigned64 (unsigned char *p, size_t len, const uint64_t *v, size_t *size)
81 unsigned char *base = p;
86 *p-- = val % 256;
93 if(p[1] >= 128) {
94 if(len < 1)
96 *p-- = 0;
98 *size = base - p;
101 } else if (len < 1)
104 *p = 0;
105 *size = 1;
111 der_put_integer (unsigned char *p, size_t len, const int *v, size_t *size)
113 unsigned char *base = p;
118 if(len < 1)
120 *p-- = val % 256;
124 if(p[1] >= 128) {
125 if(len < 1)
127 *p-- = 0;
133 if(len < 1)
135 *p-- = ~(val % 256);
139 if(p[1] < 128) {
140 if(len < 1)
142 *p-- = 0xff;
146 *size = base - p;
151 der_put_integer64 (unsigned char *p, size_t len, const int64_t *v, size_t *size)
153 unsigned char *base = p;
158 if(len < 1)
160 *p-- = val % 256;
164 if(p[1] >= 128) {
165 if(len < 1)
167 *p-- = 0;
173 if(len < 1)
175 *p-- = ~(val % 256);
179 if(p[1] < 128) {
180 if(len < 1)
182 *p-- = 0xff;
186 *size = base - p;
192 der_put_length (unsigned char *p, size_t len, size_t val, size_t *size)
194 if (len < 1)
198 *p = val;
199 *size = 1;
206 *p-- = val % 256;
211 *p = 0x80 | l;
213 *size = l + 1;
219 der_put_boolean(unsigned char *p, size_t len, const int *data, size_t *size)
221 if(len < 1)
224 *p = 0xff;
226 *p = 0;
227 *size = 1;
232 der_put_general_string (unsigned char *p, size_t len,
239 p -= slen;
240 memcpy (p+1, *str, slen);
246 der_put_utf8string (unsigned char *p, size_t len,
249 return der_put_general_string(p, len, str, size);
253 der_put_printable_string (unsigned char *p, size_t len,
256 return der_put_octet_string(p, len, str, size);
260 der_put_ia5_string (unsigned char *p, size_t len,
263 return der_put_octet_string(p, len, str, size);
267 der_put_bmp_string (unsigned char *p, size_t len,
273 p -= data->length * 2;
275 p[1] = (data->data[i] >> 8) & 0xff;
276 p[2] = data->data[i] & 0xff;
277 p += 2;
284 der_put_universal_string (unsigned char *p, size_t len,
290 p -= data->length * 4;
292 p[1] = (data->data[i] >> 24) & 0xff;
293 p[2] = (data->data[i] >> 16) & 0xff;
294 p[3] = (data->data[i] >> 8) & 0xff;
295 p[4] = data->data[i] & 0xff;
296 p += 4;
303 der_put_visible_string (unsigned char *p, size_t len,
306 return der_put_general_string(p, len, str, size);
310 der_put_octet_string (unsigned char *p, size_t len,
315 p -= data->length;
316 memcpy (p+1, data->data, data->length);
322 der_put_heim_integer (unsigned char *p, size_t len,
329 if (len < 1)
331 *p-- = 0;
333 *size = 1;
343 for (i = data->length - 1, carry = 1; i >= 0; i--) {
344 *p = buf[i] ^ 0xff;
346 carry = !++*p;
347 p--;
349 if (p[1] < 128) {
350 if (len < 1)
352 *p-- = 0xff;
354 hibitset = 1;
357 p -= data->length;
358 memcpy(p + 1, buf, data->length);
360 if (p[1] >= 128) {
361 if (len < 1)
363 p[0] = 0;
365 hibitset = 1;
374 der_put_generalized_time (unsigned char *p, size_t len,
381 e = _heim_time2generalizedtime (*data, &k, 1);
384 e = der_put_octet_string(p, len, &k, &l);
394 der_put_utctime (unsigned char *p, size_t len,
404 e = der_put_octet_string(p, len, &k, &l);
414 der_put_oid (unsigned char *p, size_t len,
417 unsigned char *base = p;
420 for (n = data->length - 1; n >= 2; --n) {
423 if (len < 1)
425 *p-- = u % 128;
429 if (len < 1)
431 *p-- = 128 + u % 128;
436 if (len < 1)
438 *p-- = 40 * data->components[0] + data->components[1];
439 *size = base - p;
444 der_put_tag (unsigned char *p, size_t len, Der_class class, Der_type type,
448 if (len < 1)
450 *p = MAKE_TAG(class, type, tag);
451 *size = 1;
457 if (len < 1)
459 *p-- = tag % 128 | continuation;
465 if (len < 1)
467 *p-- = MAKE_TAG(class, type, 0x1f);
475 der_put_length_and_tag (unsigned char *p, size_t len, size_t len_val,
483 e = der_put_length (p, len, len_val, &l);
486 p -= l;
489 e = der_put_tag (p, len, class, type, tag, &l);
504 s->data = malloc(len + 1);
511 snprintf (s->data, len + 1, "%04d%02d%02d%02d%02d%02dZ",
512 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
515 snprintf (s->data, len + 1, "%02d%02d%02d%02d%02d%02dZ",
516 tm.tm_year % 100, tm.tm_mon + 1, tm.tm_mday,
523 der_put_bit_string (unsigned char *p, size_t len,
527 if (len < data_size + 1)
529 p -= data_size + 1;
531 memcpy (p+2, data->data, data_size);
533 p[1] = 8 - (data->length % 8);
535 p[1] = 0;
536 *size = data_size + 1;