Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
secp256k1
src
scratch.h
Go to the documentation of this file.
1
/***********************************************************************
2
* Copyright (c) 2017 Andrew Poelstra *
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
#ifndef SECP256K1_SCRATCH_H
8
#define SECP256K1_SCRATCH_H
9
10
/* The typedef is used internally; the struct name is used in the public API
11
* (where it is exposed as a different typedef) */
12
typedef
struct
secp256k1_scratch_space_struct
{
14
unsigned
char
magic
[8];
16
void
*
data
;
19
size_t
alloc_size
;
21
size_t
max_size
;
22
}
secp256k1_scratch
;
23
24
typedef
struct
secp256k1_scratch_space_struct
secp256k1_scratch_space
;
25
26
static
secp256k1_scratch
*
secp256k1_scratch_create
(
const
secp256k1_callback
* error_callback,
size_t
max_size
);
27
28
static
void
secp256k1_scratch_destroy
(
const
secp256k1_callback
* error_callback,
secp256k1_scratch
* scratch);
29
32
static
size_t
secp256k1_scratch_checkpoint
(
const
secp256k1_callback
* error_callback,
const
secp256k1_scratch
* scratch);
33
36
static
void
secp256k1_scratch_apply_checkpoint
(
const
secp256k1_callback
* error_callback,
secp256k1_scratch
* scratch,
size_t
checkpoint);
37
39
static
size_t
secp256k1_scratch_max_allocation
(
const
secp256k1_callback
* error_callback,
const
secp256k1_scratch
* scratch,
size_t
n_objects);
40
42
static
void
*
secp256k1_scratch_alloc
(
const
secp256k1_callback
* error_callback,
secp256k1_scratch
* scratch,
size_t
n);
43
44
#endif
secp256k1_scratch_apply_checkpoint
static void secp256k1_scratch_apply_checkpoint(const secp256k1_callback *error_callback, secp256k1_scratch *scratch, size_t checkpoint)
Applies a check point received from secp256k1_scratch_checkpoint, undoing all allocations since that ...
secp256k1_scratch_space
struct secp256k1_scratch_space_struct secp256k1_scratch_space
Definition
scratch.h:24
secp256k1_scratch_destroy
static void secp256k1_scratch_destroy(const secp256k1_callback *error_callback, secp256k1_scratch *scratch)
secp256k1_scratch_create
static secp256k1_scratch * secp256k1_scratch_create(const secp256k1_callback *error_callback, size_t max_size)
secp256k1_scratch_max_allocation
static size_t secp256k1_scratch_max_allocation(const secp256k1_callback *error_callback, const secp256k1_scratch *scratch, size_t n_objects)
Returns the maximum allocation the scratch space will allow.
secp256k1_scratch_alloc
static void * secp256k1_scratch_alloc(const secp256k1_callback *error_callback, secp256k1_scratch *scratch, size_t n)
Returns a pointer into the most recently allocated frame, or NULL if there is insufficient available ...
secp256k1_scratch
struct secp256k1_scratch_space_struct secp256k1_scratch
secp256k1_scratch_checkpoint
static size_t secp256k1_scratch_checkpoint(const secp256k1_callback *error_callback, const secp256k1_scratch *scratch)
Returns an opaque object used to "checkpoint" a scratch space.
secp256k1_callback
Definition
util.h:87
secp256k1_scratch_space_struct
Definition
scratch.h:12
secp256k1_scratch_space_struct::alloc_size
size_t alloc_size
amount that has been allocated (i.e.
Definition
scratch.h:19
secp256k1_scratch_space_struct::max_size
size_t max_size
maximum size available to allocate
Definition
scratch.h:21
secp256k1_scratch_space_struct::data
void * data
actual allocated data
Definition
scratch.h:16
secp256k1_scratch_space_struct::magic
unsigned char magic[8]
guard against interpreting this object as other types
Definition
scratch.h:14
Generated on
for Bitcoin Core by
1.17.0