forked from hush/hush3
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.8 KiB
73 lines
1.8 KiB
// Copyright (c) 2016-2021 The Hush developers
|
|
// Distributed under the GPLv3 software license, see the accompanying
|
|
// file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
|
/*
|
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
|
* From ASN.1 module "Crypto-Conditions"
|
|
* found in "CryptoConditions.asn"
|
|
*/
|
|
|
|
#ifndef _Fulfillment_H_
|
|
#define _Fulfillment_H_
|
|
|
|
|
|
#include "asn_application.h"
|
|
|
|
/* Including external dependencies */
|
|
#include "PreimageFulfillment.h"
|
|
#include "RsaSha256Fulfillment.h"
|
|
#include "Ed25519Sha512Fulfillment.h"
|
|
#include "Secp256k1Fulfillment.h"
|
|
#include "EvalFulfillment.h"
|
|
#include <constr_CHOICE.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Dependencies */
|
|
typedef enum Fulfillment_PR {
|
|
Fulfillment_PR_NOTHING, /* No components present */
|
|
Fulfillment_PR_preimageSha256,
|
|
Fulfillment_PR_prefixSha256,
|
|
Fulfillment_PR_thresholdSha256,
|
|
Fulfillment_PR_rsaSha256,
|
|
Fulfillment_PR_ed25519Sha256,
|
|
Fulfillment_PR_secp256k1Sha256,
|
|
Fulfillment_PR_evalSha256
|
|
} Fulfillment_PR;
|
|
|
|
/* Forward declarations */
|
|
struct PrefixFulfillment;
|
|
struct ThresholdFulfillment;
|
|
|
|
/* Fulfillment */
|
|
typedef struct Fulfillment {
|
|
Fulfillment_PR present;
|
|
union Fulfillment_u {
|
|
PreimageFulfillment_t preimageSha256;
|
|
struct PrefixFulfillment *prefixSha256;
|
|
struct ThresholdFulfillment *thresholdSha256;
|
|
RsaSha256Fulfillment_t rsaSha256;
|
|
Ed25519Sha512Fulfillment_t ed25519Sha256;
|
|
Secp256k1Fulfillment_t secp256k1Sha256;
|
|
EvalFulfillment_t evalSha256;
|
|
} choice;
|
|
|
|
/* Context for parsing across buffer boundaries */
|
|
asn_struct_ctx_t _asn_ctx;
|
|
} Fulfillment_t;
|
|
|
|
/* Implementation */
|
|
extern asn_TYPE_descriptor_t asn_DEF_Fulfillment;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/* Referred external types */
|
|
#include "PrefixFulfillment.h"
|
|
#include "ThresholdFulfillment.h"
|
|
|
|
#endif /* _Fulfillment_H_ */
|
|
#include <asn_internal.h>
|
|
|