// Copyright 2017-2018 Peter Williams <peter@newton.cx> and collaborators
// Licensed under the MIT license.
//! Low-level bindings to the `libslurm` and `libslurmdb` libraries.
//!
//! The [Slurm](https://slurm.schedmd.com/) workload manager a system for
//! scheduling and running jobs on large computing clusters. It is often used
//! in scientific HPC (high-performance computing) contexts.
//!
//! These bindings provide nothing beyond the barest minimum needed to
//! interface to the C code unsafely. As such, this crate has no documentation
//! beyond the text you see here. Use a higher-level Rust crate in application
//! code.
include!;
include!;
/// This function can be passed as a callback to functions like
/// `slurm_list_create` that want a deallocator argument. `slurm_xfree`
/// doesn't work because (1) it takes a pointer *to a* pointer, so that it can
/// zero it out; and (2) it takes additional arguments populated from C
/// preprocessor `__FILE__` and `__LINE__` directives.
pub extern