]>
git.proxmox.com Git - efi-boot-shim.git/blob - Cryptlib/OpenSSL/crypto/asn1/t_bitst.c
2 * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
4 * Licensed under the OpenSSL license (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
11 #include "internal/cryptlib.h"
12 #include <openssl/conf.h>
13 #include <openssl/x509v3.h>
15 int ASN1_BIT_STRING_name_print(BIO
*out
, ASN1_BIT_STRING
*bs
,
16 BIT_STRING_BITNAME
*tbl
, int indent
)
18 BIT_STRING_BITNAME
*bnam
;
20 BIO_printf(out
, "%*s", indent
, "");
21 for (bnam
= tbl
; bnam
->lname
; bnam
++) {
22 if (ASN1_BIT_STRING_get_bit(bs
, bnam
->bitnum
)) {
25 BIO_puts(out
, bnam
->lname
);
33 int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING
*bs
, const char *name
, int value
,
34 BIT_STRING_BITNAME
*tbl
)
37 bitnum
= ASN1_BIT_STRING_num_asc(name
, tbl
);
41 if (!ASN1_BIT_STRING_set_bit(bs
, bitnum
, value
))
47 int ASN1_BIT_STRING_num_asc(const char *name
, BIT_STRING_BITNAME
*tbl
)
49 BIT_STRING_BITNAME
*bnam
;
50 for (bnam
= tbl
; bnam
->lname
; bnam
++) {
51 if ((strcmp(bnam
->sname
, name
) == 0)
52 || (strcmp(bnam
->lname
, name
) == 0))