1/* 2 * Copyright (c) 2011-12 Apple Inc. All Rights Reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23/* This is a generated file */ 24#ifndef __asn1_der_protos_h__ 25#define __asn1_der_protos_h__ 26 27#include <stdarg.h> 28 29#ifdef __cplusplus 30extern "C" { 31#endif 32 33int 34asn1_fuzzer_method(const char *mode); 35 36void 37asn1_fuzzer_reset(void); 38 39void 40asn1_fuzzer_next(void); 41 42int 43asn1_fuzzer_done(void); 44 45 46int 47copy_heim_any ( 48 const heim_any */*from*/, 49 heim_any */*to*/); 50 51int 52copy_heim_any_set ( 53 const heim_any_set */*from*/, 54 heim_any_set */*to*/); 55 56int 57decode_heim_any ( 58 const unsigned char */*p*/, 59 size_t /*len*/, 60 heim_any */*data*/, 61 size_t */*size*/); 62 63int 64decode_heim_any_set ( 65 const unsigned char */*p*/, 66 size_t /*len*/, 67 heim_any_set */*data*/, 68 size_t */*size*/); 69 70int 71der_copy_bit_string ( 72 const heim_bit_string */*from*/, 73 heim_bit_string */*to*/); 74 75int 76der_copy_bmp_string ( 77 const heim_bmp_string */*from*/, 78 heim_bmp_string */*to*/); 79 80int 81der_copy_general_string ( 82 const heim_general_string */*from*/, 83 heim_general_string */*to*/); 84 85int 86der_copy_generalized_time ( 87 const time_t */*from*/, 88 time_t */*to*/); 89 90int 91der_copy_heim_integer ( 92 const heim_integer */*from*/, 93 heim_integer */*to*/); 94 95int 96der_copy_ia5_string ( 97 const heim_ia5_string */*from*/, 98 heim_ia5_string */*to*/); 99 100int 101der_copy_integer ( 102 const int */*from*/, 103 int */*to*/); 104 105int 106der_copy_octet_string ( 107 const heim_octet_string */*from*/, 108 heim_octet_string */*to*/); 109 110int 111der_copy_oid ( 112 const heim_oid */*from*/, 113 heim_oid */*to*/); 114 115int 116der_copy_printable_string ( 117 const heim_printable_string */*from*/, 118 heim_printable_string */*to*/); 119 120int 121der_copy_universal_string ( 122 const heim_universal_string */*from*/, 123 heim_universal_string */*to*/); 124 125int 126der_copy_unsigned ( 127 const unsigned */*from*/, 128 unsigned */*to*/); 129 130int 131der_copy_utctime ( 132 const time_t */*from*/, 133 time_t */*to*/); 134 135int 136der_copy_utf8string ( 137 const heim_utf8_string */*from*/, 138 heim_utf8_string */*to*/); 139 140int 141der_copy_visible_string ( 142 const heim_visible_string */*from*/, 143 heim_visible_string */*to*/); 144 145void 146der_free_bit_string (heim_bit_string */*k*/); 147 148void 149der_free_bmp_string (heim_bmp_string */*k*/); 150 151void 152der_free_general_string (heim_general_string */*str*/); 153 154void 155der_free_generalized_time (time_t */*t*/); 156 157void 158der_free_heim_integer (heim_integer */*k*/); 159 160void 161der_free_ia5_string (heim_ia5_string */*str*/); 162 163void 164der_free_integer (int */*i*/); 165 166void 167der_free_octet_string (heim_octet_string */*k*/); 168 169void 170der_free_oid (heim_oid */*k*/); 171 172void 173der_free_printable_string (heim_printable_string */*str*/); 174 175void 176der_free_universal_string (heim_universal_string */*k*/); 177 178void 179der_free_unsigned (unsigned */*u*/); 180 181void 182der_free_utctime (time_t */*t*/); 183 184void 185der_free_utf8string (heim_utf8_string */*str*/); 186 187void 188der_free_visible_string (heim_visible_string */*str*/); 189 190int 191der_get_bit_string ( 192 const unsigned char */*p*/, 193 size_t /*len*/, 194 heim_bit_string */*data*/, 195 size_t */*size*/); 196 197int 198der_get_bmp_string ( 199 const unsigned char */*p*/, 200 size_t /*len*/, 201 heim_bmp_string */*data*/, 202 size_t */*size*/); 203 204int 205der_get_boolean ( 206 const unsigned char */*p*/, 207 size_t /*len*/, 208 int */*data*/, 209 size_t */*size*/); 210 211const char * 212der_get_class_name (unsigned /*num*/); 213 214int 215der_get_class_num (const char */*name*/); 216 217int 218der_get_general_string ( 219 const unsigned char */*p*/, 220 size_t /*len*/, 221 heim_general_string */*str*/, 222 size_t */*size*/); 223 224int 225der_get_generalized_time ( 226 const unsigned char */*p*/, 227 size_t /*len*/, 228 time_t */*data*/, 229 size_t */*size*/); 230 231int 232der_get_heim_integer ( 233 const unsigned char */*p*/, 234 size_t /*len*/, 235 heim_integer */*data*/, 236 size_t */*size*/); 237 238int 239der_get_ia5_string ( 240 const unsigned char */*p*/, 241 size_t /*len*/, 242 heim_ia5_string */*str*/, 243 size_t */*size*/); 244 245int 246der_get_integer ( 247 const unsigned char */*p*/, 248 size_t /*len*/, 249 int */*ret*/, 250 size_t */*size*/); 251 252int 253der_get_length ( 254 const unsigned char */*p*/, 255 size_t /*len*/, 256 size_t */*val*/, 257 size_t */*size*/); 258 259int 260der_get_octet_string ( 261 const unsigned char */*p*/, 262 size_t /*len*/, 263 heim_octet_string */*data*/, 264 size_t */*size*/); 265 266int 267der_get_octet_string_ber ( 268 const unsigned char */*p*/, 269 size_t /*len*/, 270 heim_octet_string */*data*/, 271 size_t */*size*/); 272 273int 274der_get_oid ( 275 const unsigned char */*p*/, 276 size_t /*len*/, 277 heim_oid */*data*/, 278 size_t */*size*/); 279 280int 281der_get_printable_string ( 282 const unsigned char */*p*/, 283 size_t /*len*/, 284 heim_printable_string */*str*/, 285 size_t */*size*/); 286 287int 288der_get_tag ( 289 const unsigned char */*p*/, 290 size_t /*len*/, 291 Der_class */*class*/, 292 Der_type */*type*/, 293 unsigned int */*tag*/, 294 size_t */*size*/); 295 296const char * 297der_get_tag_name (unsigned /*num*/); 298 299int 300der_get_tag_num (const char */*name*/); 301 302const char * 303der_get_type_name (unsigned /*num*/); 304 305int 306der_get_type_num (const char */*name*/); 307 308int 309der_get_universal_string ( 310 const unsigned char */*p*/, 311 size_t /*len*/, 312 heim_universal_string */*data*/, 313 size_t */*size*/); 314 315int 316der_get_unsigned ( 317 const unsigned char */*p*/, 318 size_t /*len*/, 319 unsigned */*ret*/, 320 size_t */*size*/); 321 322int 323der_get_utctime ( 324 const unsigned char */*p*/, 325 size_t /*len*/, 326 time_t */*data*/, 327 size_t */*size*/); 328 329int 330der_get_utf8string ( 331 const unsigned char */*p*/, 332 size_t /*len*/, 333 heim_utf8_string */*str*/, 334 size_t */*size*/); 335 336int 337der_get_visible_string ( 338 const unsigned char */*p*/, 339 size_t /*len*/, 340 heim_visible_string */*str*/, 341 size_t */*size*/); 342 343int 344der_heim_bit_string_cmp ( 345 const heim_bit_string */*p*/, 346 const heim_bit_string */*q*/); 347 348int 349der_heim_bmp_string_cmp ( 350 const heim_bmp_string */*p*/, 351 const heim_bmp_string */*q*/); 352 353int 354der_heim_integer_cmp ( 355 const heim_integer */*p*/, 356 const heim_integer */*q*/); 357 358int 359der_heim_octet_string_cmp ( 360 const heim_octet_string */*p*/, 361 const heim_octet_string */*q*/); 362 363int 364der_heim_oid_cmp ( 365 const heim_oid */*p*/, 366 const heim_oid */*q*/); 367 368int 369der_heim_universal_string_cmp ( 370 const heim_universal_string */*p*/, 371 const heim_universal_string */*q*/); 372 373int 374der_ia5_string_cmp ( 375 const heim_ia5_string */*p*/, 376 const heim_ia5_string */*q*/); 377 378size_t 379der_length_bit_string (const heim_bit_string */*k*/); 380 381size_t 382der_length_bmp_string (const heim_bmp_string */*data*/); 383 384size_t 385der_length_boolean (const int */*k*/); 386 387size_t 388der_length_enumerated (const unsigned */*data*/); 389 390size_t 391der_length_general_string (const heim_general_string */*data*/); 392 393size_t 394der_length_generalized_time (const time_t */*t*/); 395 396size_t 397der_length_heim_integer (const heim_integer */*k*/); 398 399size_t 400der_length_ia5_string (const heim_ia5_string */*data*/); 401 402size_t 403der_length_integer (const int */*data*/); 404 405size_t 406der_length_len (size_t /*len*/); 407 408size_t 409der_length_octet_string (const heim_octet_string */*k*/); 410 411size_t 412der_length_oid (const heim_oid */*k*/); 413 414size_t 415der_length_printable_string (const heim_printable_string */*data*/); 416 417size_t 418der_length_tag (unsigned int /*tag*/); 419 420size_t 421der_length_universal_string (const heim_universal_string */*data*/); 422 423size_t 424der_length_unsigned (const unsigned */*data*/); 425 426size_t 427der_length_utctime (const time_t */*t*/); 428 429size_t 430der_length_utf8string (const heim_utf8_string */*data*/); 431 432size_t 433der_length_visible_string (const heim_visible_string */*data*/); 434 435int 436der_match_tag ( 437 const unsigned char */*p*/, 438 size_t /*len*/, 439 Der_class /*class*/, 440 Der_type /*type*/, 441 unsigned int /*tag*/, 442 size_t */*size*/); 443 444int 445der_match_tag2 ( 446 const unsigned char */*p*/, 447 size_t /*len*/, 448 Der_class /*class*/, 449 Der_type */*type*/, 450 unsigned int /*tag*/, 451 size_t */*size*/); 452 453int 454der_match_tag_and_length ( 455 const unsigned char */*p*/, 456 size_t /*len*/, 457 Der_class /*class*/, 458 Der_type */*type*/, 459 unsigned int /*tag*/, 460 size_t */*length_ret*/, 461 size_t */*size*/); 462 463int 464der_parse_heim_oid ( 465 const char */*str*/, 466 const char */*sep*/, 467 heim_oid */*data*/); 468 469int 470der_parse_hex_heim_integer ( 471 const char */*p*/, 472 heim_integer */*data*/); 473 474int 475der_print_heim_oid ( 476 const heim_oid */*oid*/, 477 char /*delim*/, 478 char **/*str*/); 479 480int 481der_print_hex_heim_integer ( 482 const heim_integer */*data*/, 483 char **/*p*/); 484 485int 486der_printable_string_cmp ( 487 const heim_printable_string */*p*/, 488 const heim_printable_string */*q*/); 489 490int 491der_put_bit_string ( 492 unsigned char */*p*/, 493 size_t /*len*/, 494 const heim_bit_string */*data*/, 495 size_t */*size*/); 496 497int 498der_put_bmp_string ( 499 unsigned char */*p*/, 500 size_t /*len*/, 501 const heim_bmp_string */*data*/, 502 size_t */*size*/); 503 504int 505der_put_boolean ( 506 unsigned char */*p*/, 507 size_t /*len*/, 508 const int */*data*/, 509 size_t */*size*/); 510 511int 512der_put_general_string ( 513 unsigned char */*p*/, 514 size_t /*len*/, 515 const heim_general_string */*str*/, 516 size_t */*size*/); 517 518int 519der_put_generalized_time ( 520 unsigned char */*p*/, 521 size_t /*len*/, 522 const time_t */*data*/, 523 size_t */*size*/); 524 525int 526der_put_heim_integer ( 527 unsigned char */*p*/, 528 size_t /*len*/, 529 const heim_integer */*data*/, 530 size_t */*size*/); 531 532int 533der_put_ia5_string ( 534 unsigned char */*p*/, 535 size_t /*len*/, 536 const heim_ia5_string */*str*/, 537 size_t */*size*/); 538 539int 540der_put_integer ( 541 unsigned char */*p*/, 542 size_t /*len*/, 543 const int */*v*/, 544 size_t */*size*/); 545 546int 547der_put_length ( 548 unsigned char */*p*/, 549 size_t /*len*/, 550 size_t /*val*/, 551 size_t */*size*/); 552 553int 554der_put_length_and_tag ( 555 unsigned char */*p*/, 556 size_t /*len*/, 557 size_t /*len_val*/, 558 Der_class /*class*/, 559 Der_type /*type*/, 560 unsigned int /*tag*/, 561 size_t */*size*/); 562 563int 564der_put_octet_string ( 565 unsigned char */*p*/, 566 size_t /*len*/, 567 const heim_octet_string */*data*/, 568 size_t */*size*/); 569 570int 571der_put_oid ( 572 unsigned char */*p*/, 573 size_t /*len*/, 574 const heim_oid */*data*/, 575 size_t */*size*/); 576 577int 578der_put_printable_string ( 579 unsigned char */*p*/, 580 size_t /*len*/, 581 const heim_printable_string */*str*/, 582 size_t */*size*/); 583 584int 585der_put_tag ( 586 unsigned char */*p*/, 587 size_t /*len*/, 588 Der_class /*class*/, 589 Der_type /*type*/, 590 unsigned int /*tag*/, 591 size_t */*size*/); 592 593int 594der_put_universal_string ( 595 unsigned char */*p*/, 596 size_t /*len*/, 597 const heim_universal_string */*data*/, 598 size_t */*size*/); 599 600int 601der_put_unsigned ( 602 unsigned char */*p*/, 603 size_t /*len*/, 604 const unsigned */*v*/, 605 size_t */*size*/); 606 607int 608der_put_utctime ( 609 unsigned char */*p*/, 610 size_t /*len*/, 611 const time_t */*data*/, 612 size_t */*size*/); 613 614int 615der_put_utf8string ( 616 unsigned char */*p*/, 617 size_t /*len*/, 618 const heim_utf8_string */*str*/, 619 size_t */*size*/); 620 621int 622der_put_visible_string ( 623 unsigned char */*p*/, 624 size_t /*len*/, 625 const heim_visible_string */*str*/, 626 size_t */*size*/); 627 628int 629encode_heim_any ( 630 unsigned char */*p*/, 631 size_t /*len*/, 632 const heim_any */*data*/, 633 size_t */*size*/); 634 635int 636encode_heim_any_set ( 637 unsigned char */*p*/, 638 size_t /*len*/, 639 const heim_any_set */*data*/, 640 size_t */*size*/); 641 642void 643free_heim_any (heim_any */*data*/); 644 645void 646free_heim_any_set (heim_any_set */*data*/); 647 648int 649heim_any_cmp ( 650 const heim_any_set */*p*/, 651 const heim_any_set */*q*/); 652 653size_t 654length_heim_any (const heim_any */*data*/); 655 656size_t 657length_heim_any_set (const heim_any */*data*/); 658 659#ifdef __cplusplus 660} 661#endif 662 663#endif /* __asn1_der_protos_h__ */ 664