xref: /libCEED/rust/libceed-sys/c-src/backends/memcheck/ceed-memcheck.h (revision 0f58c348267158b87d81b5a8b1a981eb0caf8b99)
13d8e8822SJeremy L Thompson // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
23d8e8822SJeremy L Thompson // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3fc7cf9a0Sjeremylt //
43d8e8822SJeremy L Thompson // SPDX-License-Identifier: BSD-2-Clause
5fc7cf9a0Sjeremylt //
63d8e8822SJeremy L Thompson // This file is part of CEED:  http://github.com/ceed
7fc7cf9a0Sjeremylt 
83d576824SJeremy L Thompson #ifndef _ceed_memcheck_h
93d576824SJeremy L Thompson #define _ceed_memcheck_h
103d576824SJeremy L Thompson 
11ec3da8bcSJed Brown #include <ceed/ceed.h>
12ec3da8bcSJed Brown #include <ceed/backend.h>
13fc7cf9a0Sjeremylt 
14fc7cf9a0Sjeremylt typedef struct {
15fc7cf9a0Sjeremylt   const CeedScalar **inputs;
16fc7cf9a0Sjeremylt   CeedScalar **outputs;
17d1d35e2fSjeremylt   bool setup_done;
18fc7cf9a0Sjeremylt } CeedQFunction_Memcheck;
19fc7cf9a0Sjeremylt 
20*0f58c348SJeremy L Thompson typedef struct {
21*0f58c348SJeremy L Thompson   int mem_block_id;
22*0f58c348SJeremy L Thompson   void *data;
23*0f58c348SJeremy L Thompson   void *data_allocated;
24*0f58c348SJeremy L Thompson   void *data_borrowed;
25*0f58c348SJeremy L Thompson   void *data_owned;
26*0f58c348SJeremy L Thompson } CeedQFunctionContext_Memcheck;
27*0f58c348SJeremy L Thompson 
28fc7cf9a0Sjeremylt CEED_INTERN int CeedQFunctionCreate_Memcheck(CeedQFunction qf);
293d576824SJeremy L Thompson 
30*0f58c348SJeremy L Thompson CEED_INTERN int CeedQFunctionContextCreate_Memcheck(CeedQFunctionContext ctx);
31*0f58c348SJeremy L Thompson 
323d576824SJeremy L Thompson #endif // _ceed_memcheck_h
33