1*6f5dc8baSWill Pazner# Low-level C interface 2*6f5dc8baSWill Pazner 3*6f5dc8baSWill PaznerThe low-level interface (provided in the `LibCEED.C` module) is in one-to-one 4*6f5dc8baSWill Paznercorrespondence with the C libCEED iterface, and is automatically generated (with 5*6f5dc8baSWill Paznersome minor manual modifications) using the Julia package 6*6f5dc8baSWill Pazner[Clang.jl](https://github.com/JuliaInterop/Clang.jl/). The code used to generate 7*6f5dc8baSWill Paznerbindings is available in `generate_bindings.jl`. 8*6f5dc8baSWill Pazner 9*6f5dc8baSWill PaznerWith the low-level interface, the user is responsible for freeing all allocated 10*6f5dc8baSWill Paznermemory (calling the appropriate `Ceed*Destroy` functions). This interface is not 11*6f5dc8baSWill Paznertype-safe, and calling functions with the wrong arguments can cause libCEED to 12*6f5dc8baSWill Paznercrash. 13*6f5dc8baSWill Pazner 14*6f5dc8baSWill PaznerIt is generally recommended for users to use the Julia interface exported from 15*6f5dc8baSWill Paznerthe `LibCEED` module, unless other specific low-level functionality is required. 16