Bitcoin ABC 0.30.5
P2P Digital Currency
secp256k1_multiset.h
Go to the documentation of this file.
1/***********************************************************************
2 * Copyright (c) 2017 Tomas van der Wansem *
3 * Distributed under the MIT software license, see the accompanying *
4 * file COPYING or https://www.opensource.org/licenses/mit-license.php.*
5 ***********************************************************************/
6
7
8#ifndef _SECP256K1_MULTISET__
9# define _SECP256K1_MULTISET__
10
11# include "secp256k1.h"
12
13
14# ifdef __cplusplus
15extern "C" {
16# endif
17
18
20typedef struct {
21 unsigned char d[96];
23
24
25
36 secp256k1_multiset *multiset
38
39
51 secp256k1_multiset *multiset,
52 const unsigned char *input,
53 size_t inputLen
55
67 secp256k1_multiset *multiset,
68 const unsigned char *input,
69 size_t inputLen
71
72
73
84 secp256k1_multiset *multiset,
85 const secp256k1_multiset *input
86
88
89
100 unsigned char *resultHash,
101 const secp256k1_multiset *multiset
103
104
105
106# ifdef __cplusplus
107}
108# endif
109
110#endif
secp256k1_context * ctx
#define SECP256K1_ARG_NONNULL(_x)
Definition: secp256k1.h:158
#define SECP256K1_API
Definition: secp256k1.h:143
SECP256K1_API int secp256k1_multiset_init(const secp256k1_context *ctx, secp256k1_multiset *multiset) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2)
Initialize a multiset The resulting multiset the multiset for no data elements.
Definition: main_impl.h:200
SECP256K1_API int secp256k1_multiset_finalize(const secp256k1_context *ctx, unsigned char *resultHash, const secp256k1_multiset *multiset) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Converts a multiset to a hash.
Definition: main_impl.h:165
SECP256K1_API int secp256k1_multiset_add(const secp256k1_context *ctx, secp256k1_multiset *multiset, const unsigned char *input, size_t inputLen) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Adds an element to a multiset from single data element.
Definition: main_impl.h:127
SECP256K1_API int secp256k1_multiset_remove(const secp256k1_context *ctx, secp256k1_multiset *multiset, const unsigned char *input, size_t inputLen) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Removes an element from a multiset.
Definition: main_impl.h:132
SECP256K1_API int secp256k1_multiset_combine(const secp256k1_context *ctx, secp256k1_multiset *multiset, const secp256k1_multiset *input) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Combines two multisets.
Definition: main_impl.h:137
Opaque multiset; this is actually a group element.