Electroneum
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) */
14  unsigned char magic[8];
16  void *data;
19  size_t alloc_size;
21  size_t max_size;
23 
24 static secp256k1_scratch* secp256k1_scratch_create(const secp256k1_callback* error_callback, size_t max_size);
25 
26 static void secp256k1_scratch_destroy(const secp256k1_callback* error_callback, secp256k1_scratch* scratch);
27 
30 static size_t secp256k1_scratch_checkpoint(const secp256k1_callback* error_callback, const secp256k1_scratch* scratch);
31 
34 static void secp256k1_scratch_apply_checkpoint(const secp256k1_callback* error_callback, secp256k1_scratch* scratch, size_t checkpoint);
35 
37 static size_t secp256k1_scratch_max_allocation(const secp256k1_callback* error_callback, const secp256k1_scratch* scratch, size_t n_objects);
38 
40 static void *secp256k1_scratch_alloc(const secp256k1_callback* error_callback, secp256k1_scratch* scratch, size_t n);
41 
42 #endif
struct secp256k1_scratch_space_struct secp256k1_scratch
unsigned char magic[8]
Definition: scratch.h:14