aboutsummaryrefslogtreecommitdiff
path: root/crypto/encode_decode/encoder_local.h
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/encode_decode/encoder_local.h')
-rw-r--r--crypto/encode_decode/encoder_local.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/crypto/encode_decode/encoder_local.h b/crypto/encode_decode/encoder_local.h
index c1885ffc771f..a2846d309ea8 100644
--- a/crypto/encode_decode/encoder_local.h
+++ b/crypto/encode_decode/encoder_local.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -12,6 +12,7 @@
#include <openssl/safestack.h>
#include <openssl/encoder.h>
#include <openssl/decoder.h>
+#include "crypto/decoder.h"
#include "internal/cryptlib.h"
#include "internal/passphrase.h"
#include "internal/property.h"
@@ -25,7 +26,6 @@ struct ossl_endecode_base_st {
OSSL_PROPERTY_LIST *parsed_propdef;
CRYPTO_REF_COUNT refcnt;
- CRYPTO_RWLOCK *lock;
};
struct ossl_encoder_st {
@@ -108,6 +108,7 @@ struct ossl_decoder_instance_st {
void *decoderctx; /* Never NULL */
const char *input_type; /* Never NULL */
const char *input_structure; /* May be NULL */
+ int input_type_id;
unsigned int flag_input_structure_was_set : 1;
};
@@ -156,9 +157,15 @@ struct ossl_decoder_ctx_st {
/* For any function that needs a passphrase reader */
struct ossl_passphrase_data_st pwdata;
+
+ /* Signal that further processing should not continue. */
+ int harderr;
};
const OSSL_PROPERTY_LIST *
ossl_decoder_parsed_properties(const OSSL_DECODER *decoder);
const OSSL_PROPERTY_LIST *
ossl_encoder_parsed_properties(const OSSL_ENCODER *encoder);
+
+int ossl_decoder_fast_is_a(OSSL_DECODER *decoder,
+ const char *name, int *id_cache);