/* automatically generated by rust-bindgen 0.71.1 */

pub const _STDIO_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __GLIBC_USE_ISOC23: u32 = 0;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __TIMESIZE: u32 = 64;
pub const __USE_TIME_BITS64: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
pub const __GLIBC_USE_C23_STRTOL: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_60559_BFP__: u32 = 201404;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 40;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23: u32 = 0;
pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const _BITS_TYPES_H: u32 = 1;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
pub const __STATFS_MATCHES_STATFS64: u32 = 1;
pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_TIME64_H: u32 = 1;
pub const _____fpos_t_defined: u32 = 1;
pub const ____mbstate_t_defined: u32 = 1;
pub const _____fpos64_t_defined: u32 = 1;
pub const ____FILE_defined: u32 = 1;
pub const __FILE_defined: u32 = 1;
pub const __struct_FILE_defined: u32 = 1;
pub const _IO_EOF_SEEN: u32 = 16;
pub const _IO_ERR_SEEN: u32 = 32;
pub const _IO_USER_LOCK: u32 = 32768;
pub const __cookie_io_functions_t_defined: u32 = 1;
pub const _IOFBF: u32 = 0;
pub const _IOLBF: u32 = 1;
pub const _IONBF: u32 = 2;
pub const BUFSIZ: u32 = 8192;
pub const EOF: i32 = -1;
pub const SEEK_SET: u32 = 0;
pub const SEEK_CUR: u32 = 1;
pub const SEEK_END: u32 = 2;
pub const P_tmpdir: &[u8; 5] = b"/tmp\0";
pub const L_tmpnam: u32 = 20;
pub const TMP_MAX: u32 = 238328;
pub const _BITS_STDIO_LIM_H: u32 = 1;
pub const FILENAME_MAX: u32 = 4096;
pub const L_ctermid: u32 = 9;
pub const FOPEN_MAX: u32 = 16;
pub const __HAVE_FLOAT128: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
pub const __HAVE_FLOAT64X: u32 = 1;
pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
pub const __HAVE_FLOAT16: u32 = 0;
pub const __HAVE_FLOAT32: u32 = 1;
pub const __HAVE_FLOAT64: u32 = 1;
pub const __HAVE_FLOAT32X: u32 = 1;
pub const __HAVE_FLOAT128X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
pub const _STRING_H: u32 = 1;
pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
pub const _STRINGS_H: u32 = 1;
pub const ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER: u32 = 1;
pub const ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER: u32 = 12;
pub const ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER: u32 = 8;
pub const _STDINT_H: u32 = 1;
pub const _BITS_WCHAR_H: u32 = 1;
pub const _BITS_STDINT_INTN_H: u32 = 1;
pub const _BITS_STDINT_UINTN_H: u32 = 1;
pub const _BITS_STDINT_LEAST_H: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: i32 = -1;
pub const UINT_FAST32_MAX: i32 = -1;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const _STDLIB_H: u32 = 1;
pub const WNOHANG: u32 = 1;
pub const WUNTRACED: u32 = 2;
pub const WSTOPPED: u32 = 2;
pub const WEXITED: u32 = 4;
pub const WCONTINUED: u32 = 8;
pub const WNOWAIT: u32 = 16777216;
pub const __WNOTHREAD: u32 = 536870912;
pub const __WALL: u32 = 1073741824;
pub const __WCLONE: u32 = 2147483648;
pub const __W_CONTINUED: u32 = 65535;
pub const __WCOREFLAG: u32 = 128;
pub const __ldiv_t_defined: u32 = 1;
pub const __lldiv_t_defined: u32 = 1;
pub const RAND_MAX: u32 = 2147483647;
pub const EXIT_FAILURE: u32 = 1;
pub const EXIT_SUCCESS: u32 = 0;
pub const _SYS_TYPES_H: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __clockid_t_defined: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __timer_t_defined: u32 = 1;
pub const __BIT_TYPES_DEFINED__: u32 = 1;
pub const _ENDIAN_H: u32 = 1;
pub const _BITS_ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const _BITS_ENDIANNESS_H: u32 = 1;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const LITTLE_ENDIAN: u32 = 1234;
pub const BIG_ENDIAN: u32 = 4321;
pub const PDP_ENDIAN: u32 = 3412;
pub const BYTE_ORDER: u32 = 1234;
pub const _BITS_BYTESWAP_H: u32 = 1;
pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __sigset_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const FD_SETSIZE: u32 = 1024;
pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
pub const _THREAD_SHARED_TYPES_H: u32 = 1;
pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const _ALLOCA_H: u32 = 1;
pub type __gnuc_va_list = __builtin_va_list;
pub type __u_char = ::std::os::raw::c_uchar;
pub type __u_short = ::std::os::raw::c_ushort;
pub type __u_int = ::std::os::raw::c_uint;
pub type __u_long = ::std::os::raw::c_ulong;
pub type __int8_t = ::std::os::raw::c_schar;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __int_least8_t = __int8_t;
pub type __uint_least8_t = __uint8_t;
pub type __int_least16_t = __int16_t;
pub type __uint_least16_t = __uint16_t;
pub type __int_least32_t = __int32_t;
pub type __uint_least32_t = __uint32_t;
pub type __int_least64_t = __int64_t;
pub type __uint_least64_t = __uint64_t;
pub type __quad_t = ::std::os::raw::c_long;
pub type __u_quad_t = ::std::os::raw::c_ulong;
pub type __intmax_t = ::std::os::raw::c_long;
pub type __uintmax_t = ::std::os::raw::c_ulong;
pub type __dev_t = ::std::os::raw::c_ulong;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __ino_t = ::std::os::raw::c_ulong;
pub type __ino64_t = ::std::os::raw::c_ulong;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type __pid_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
    pub __val: [::std::os::raw::c_int; 2usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
};
pub type __clock_t = ::std::os::raw::c_long;
pub type __rlim_t = ::std::os::raw::c_ulong;
pub type __rlim64_t = ::std::os::raw::c_ulong;
pub type __id_t = ::std::os::raw::c_uint;
pub type __time_t = ::std::os::raw::c_long;
pub type __useconds_t = ::std::os::raw::c_uint;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __suseconds64_t = ::std::os::raw::c_long;
pub type __daddr_t = ::std::os::raw::c_int;
pub type __key_t = ::std::os::raw::c_int;
pub type __clockid_t = ::std::os::raw::c_int;
pub type __timer_t = *mut ::std::os::raw::c_void;
pub type __blksize_t = ::std::os::raw::c_long;
pub type __blkcnt_t = ::std::os::raw::c_long;
pub type __blkcnt64_t = ::std::os::raw::c_long;
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
pub type __fsword_t = ::std::os::raw::c_long;
pub type __ssize_t = ::std::os::raw::c_long;
pub type __syscall_slong_t = ::std::os::raw::c_long;
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::std::os::raw::c_char;
pub type __intptr_t = ::std::os::raw::c_long;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type __sig_atomic_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __mbstate_t {
    pub __count: ::std::os::raw::c_int,
    pub __value: __mbstate_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __mbstate_t__bindgen_ty_1 {
    pub __wch: ::std::os::raw::c_uint,
    pub __wchb: [::std::os::raw::c_char; 4usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __mbstate_t__bindgen_ty_1"]
        [::std::mem::size_of::<__mbstate_t__bindgen_ty_1>() - 4usize];
    ["Alignment of __mbstate_t__bindgen_ty_1"]
        [::std::mem::align_of::<__mbstate_t__bindgen_ty_1>() - 4usize];
    ["Offset of field: __mbstate_t__bindgen_ty_1::__wch"]
        [::std::mem::offset_of!(__mbstate_t__bindgen_ty_1, __wch) - 0usize];
    ["Offset of field: __mbstate_t__bindgen_ty_1::__wchb"]
        [::std::mem::offset_of!(__mbstate_t__bindgen_ty_1, __wchb) - 0usize];
};
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __mbstate_t"][::std::mem::size_of::<__mbstate_t>() - 8usize];
    ["Alignment of __mbstate_t"][::std::mem::align_of::<__mbstate_t>() - 4usize];
    ["Offset of field: __mbstate_t::__count"]
        [::std::mem::offset_of!(__mbstate_t, __count) - 0usize];
    ["Offset of field: __mbstate_t::__value"]
        [::std::mem::offset_of!(__mbstate_t, __value) - 4usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos_t {
    pub __pos: __off_t,
    pub __state: __mbstate_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _G_fpos_t"][::std::mem::size_of::<_G_fpos_t>() - 16usize];
    ["Alignment of _G_fpos_t"][::std::mem::align_of::<_G_fpos_t>() - 8usize];
    ["Offset of field: _G_fpos_t::__pos"][::std::mem::offset_of!(_G_fpos_t, __pos) - 0usize];
    ["Offset of field: _G_fpos_t::__state"][::std::mem::offset_of!(_G_fpos_t, __state) - 8usize];
};
pub type __fpos_t = _G_fpos_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos64_t {
    pub __pos: __off64_t,
    pub __state: __mbstate_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _G_fpos64_t"][::std::mem::size_of::<_G_fpos64_t>() - 16usize];
    ["Alignment of _G_fpos64_t"][::std::mem::align_of::<_G_fpos64_t>() - 8usize];
    ["Offset of field: _G_fpos64_t::__pos"][::std::mem::offset_of!(_G_fpos64_t, __pos) - 0usize];
    ["Offset of field: _G_fpos64_t::__state"]
        [::std::mem::offset_of!(_G_fpos64_t, __state) - 8usize];
};
pub type __fpos64_t = _G_fpos64_t;
pub type __FILE = _IO_FILE;
pub type FILE = _IO_FILE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_codecvt {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_wide_data {
    _unused: [u8; 0],
}
pub type _IO_lock_t = ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
    pub _flags: ::std::os::raw::c_int,
    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
    pub _IO_read_end: *mut ::std::os::raw::c_char,
    pub _IO_read_base: *mut ::std::os::raw::c_char,
    pub _IO_write_base: *mut ::std::os::raw::c_char,
    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
    pub _IO_write_end: *mut ::std::os::raw::c_char,
    pub _IO_buf_base: *mut ::std::os::raw::c_char,
    pub _IO_buf_end: *mut ::std::os::raw::c_char,
    pub _IO_save_base: *mut ::std::os::raw::c_char,
    pub _IO_backup_base: *mut ::std::os::raw::c_char,
    pub _IO_save_end: *mut ::std::os::raw::c_char,
    pub _markers: *mut _IO_marker,
    pub _chain: *mut _IO_FILE,
    pub _fileno: ::std::os::raw::c_int,
    pub _flags2: ::std::os::raw::c_int,
    pub _old_offset: __off_t,
    pub _cur_column: ::std::os::raw::c_ushort,
    pub _vtable_offset: ::std::os::raw::c_schar,
    pub _shortbuf: [::std::os::raw::c_char; 1usize],
    pub _lock: *mut _IO_lock_t,
    pub _offset: __off64_t,
    pub _codecvt: *mut _IO_codecvt,
    pub _wide_data: *mut _IO_wide_data,
    pub _freeres_list: *mut _IO_FILE,
    pub _freeres_buf: *mut ::std::os::raw::c_void,
    pub _prevchain: *mut *mut _IO_FILE,
    pub _mode: ::std::os::raw::c_int,
    pub _unused2: [::std::os::raw::c_char; 20usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _IO_FILE"][::std::mem::size_of::<_IO_FILE>() - 216usize];
    ["Alignment of _IO_FILE"][::std::mem::align_of::<_IO_FILE>() - 8usize];
    ["Offset of field: _IO_FILE::_flags"][::std::mem::offset_of!(_IO_FILE, _flags) - 0usize];
    ["Offset of field: _IO_FILE::_IO_read_ptr"]
        [::std::mem::offset_of!(_IO_FILE, _IO_read_ptr) - 8usize];
    ["Offset of field: _IO_FILE::_IO_read_end"]
        [::std::mem::offset_of!(_IO_FILE, _IO_read_end) - 16usize];
    ["Offset of field: _IO_FILE::_IO_read_base"]
        [::std::mem::offset_of!(_IO_FILE, _IO_read_base) - 24usize];
    ["Offset of field: _IO_FILE::_IO_write_base"]
        [::std::mem::offset_of!(_IO_FILE, _IO_write_base) - 32usize];
    ["Offset of field: _IO_FILE::_IO_write_ptr"]
        [::std::mem::offset_of!(_IO_FILE, _IO_write_ptr) - 40usize];
    ["Offset of field: _IO_FILE::_IO_write_end"]
        [::std::mem::offset_of!(_IO_FILE, _IO_write_end) - 48usize];
    ["Offset of field: _IO_FILE::_IO_buf_base"]
        [::std::mem::offset_of!(_IO_FILE, _IO_buf_base) - 56usize];
    ["Offset of field: _IO_FILE::_IO_buf_end"]
        [::std::mem::offset_of!(_IO_FILE, _IO_buf_end) - 64usize];
    ["Offset of field: _IO_FILE::_IO_save_base"]
        [::std::mem::offset_of!(_IO_FILE, _IO_save_base) - 72usize];
    ["Offset of field: _IO_FILE::_IO_backup_base"]
        [::std::mem::offset_of!(_IO_FILE, _IO_backup_base) - 80usize];
    ["Offset of field: _IO_FILE::_IO_save_end"]
        [::std::mem::offset_of!(_IO_FILE, _IO_save_end) - 88usize];
    ["Offset of field: _IO_FILE::_markers"][::std::mem::offset_of!(_IO_FILE, _markers) - 96usize];
    ["Offset of field: _IO_FILE::_chain"][::std::mem::offset_of!(_IO_FILE, _chain) - 104usize];
    ["Offset of field: _IO_FILE::_fileno"][::std::mem::offset_of!(_IO_FILE, _fileno) - 112usize];
    ["Offset of field: _IO_FILE::_flags2"][::std::mem::offset_of!(_IO_FILE, _flags2) - 116usize];
    ["Offset of field: _IO_FILE::_old_offset"]
        [::std::mem::offset_of!(_IO_FILE, _old_offset) - 120usize];
    ["Offset of field: _IO_FILE::_cur_column"]
        [::std::mem::offset_of!(_IO_FILE, _cur_column) - 128usize];
    ["Offset of field: _IO_FILE::_vtable_offset"]
        [::std::mem::offset_of!(_IO_FILE, _vtable_offset) - 130usize];
    ["Offset of field: _IO_FILE::_shortbuf"]
        [::std::mem::offset_of!(_IO_FILE, _shortbuf) - 131usize];
    ["Offset of field: _IO_FILE::_lock"][::std::mem::offset_of!(_IO_FILE, _lock) - 136usize];
    ["Offset of field: _IO_FILE::_offset"][::std::mem::offset_of!(_IO_FILE, _offset) - 144usize];
    ["Offset of field: _IO_FILE::_codecvt"][::std::mem::offset_of!(_IO_FILE, _codecvt) - 152usize];
    ["Offset of field: _IO_FILE::_wide_data"]
        [::std::mem::offset_of!(_IO_FILE, _wide_data) - 160usize];
    ["Offset of field: _IO_FILE::_freeres_list"]
        [::std::mem::offset_of!(_IO_FILE, _freeres_list) - 168usize];
    ["Offset of field: _IO_FILE::_freeres_buf"]
        [::std::mem::offset_of!(_IO_FILE, _freeres_buf) - 176usize];
    ["Offset of field: _IO_FILE::_prevchain"]
        [::std::mem::offset_of!(_IO_FILE, _prevchain) - 184usize];
    ["Offset of field: _IO_FILE::_mode"][::std::mem::offset_of!(_IO_FILE, _mode) - 192usize];
    ["Offset of field: _IO_FILE::_unused2"][::std::mem::offset_of!(_IO_FILE, _unused2) - 196usize];
};
pub type cookie_read_function_t = ::std::option::Option<
    unsafe extern "C" fn(
        __cookie: *mut ::std::os::raw::c_void,
        __buf: *mut ::std::os::raw::c_char,
        __nbytes: usize,
    ) -> __ssize_t,
>;
pub type cookie_write_function_t = ::std::option::Option<
    unsafe extern "C" fn(
        __cookie: *mut ::std::os::raw::c_void,
        __buf: *const ::std::os::raw::c_char,
        __nbytes: usize,
    ) -> __ssize_t,
>;
pub type cookie_seek_function_t = ::std::option::Option<
    unsafe extern "C" fn(
        __cookie: *mut ::std::os::raw::c_void,
        __pos: *mut __off64_t,
        __w: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type cookie_close_function_t = ::std::option::Option<
    unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_cookie_io_functions_t {
    pub read: cookie_read_function_t,
    pub write: cookie_write_function_t,
    pub seek: cookie_seek_function_t,
    pub close: cookie_close_function_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _IO_cookie_io_functions_t"]
        [::std::mem::size_of::<_IO_cookie_io_functions_t>() - 32usize];
    ["Alignment of _IO_cookie_io_functions_t"]
        [::std::mem::align_of::<_IO_cookie_io_functions_t>() - 8usize];
    ["Offset of field: _IO_cookie_io_functions_t::read"]
        [::std::mem::offset_of!(_IO_cookie_io_functions_t, read) - 0usize];
    ["Offset of field: _IO_cookie_io_functions_t::write"]
        [::std::mem::offset_of!(_IO_cookie_io_functions_t, write) - 8usize];
    ["Offset of field: _IO_cookie_io_functions_t::seek"]
        [::std::mem::offset_of!(_IO_cookie_io_functions_t, seek) - 16usize];
    ["Offset of field: _IO_cookie_io_functions_t::close"]
        [::std::mem::offset_of!(_IO_cookie_io_functions_t, close) - 24usize];
};
pub type cookie_io_functions_t = _IO_cookie_io_functions_t;
pub type va_list = __gnuc_va_list;
pub type off_t = __off_t;
pub type fpos_t = __fpos_t;
unsafe extern "C" {
    pub static mut stdin: *mut FILE;
}
unsafe extern "C" {
    pub static mut stdout: *mut FILE;
}
unsafe extern "C" {
    pub static mut stderr: *mut FILE;
}
unsafe extern "C" {
    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn rename(
        __old: *const ::std::os::raw::c_char,
        __new: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn renameat(
        __oldfd: ::std::os::raw::c_int,
        __old: *const ::std::os::raw::c_char,
        __newfd: ::std::os::raw::c_int,
        __new: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn tmpfile() -> *mut FILE;
}
unsafe extern "C" {
    pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn tempnam(
        __dir: *const ::std::os::raw::c_char,
        __pfx: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fopen(
        __filename: *const ::std::os::raw::c_char,
        __modes: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
unsafe extern "C" {
    pub fn freopen(
        __filename: *const ::std::os::raw::c_char,
        __modes: *const ::std::os::raw::c_char,
        __stream: *mut FILE,
    ) -> *mut FILE;
}
unsafe extern "C" {
    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
        -> *mut FILE;
}
unsafe extern "C" {
    pub fn fopencookie(
        __magic_cookie: *mut ::std::os::raw::c_void,
        __modes: *const ::std::os::raw::c_char,
        __io_funcs: cookie_io_functions_t,
    ) -> *mut FILE;
}
unsafe extern "C" {
    pub fn fmemopen(
        __s: *mut ::std::os::raw::c_void,
        __len: usize,
        __modes: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
unsafe extern "C" {
    pub fn open_memstream(
        __bufloc: *mut *mut ::std::os::raw::c_char,
        __sizeloc: *mut usize,
    ) -> *mut FILE;
}
unsafe extern "C" {
    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
}
unsafe extern "C" {
    pub fn setvbuf(
        __stream: *mut FILE,
        __buf: *mut ::std::os::raw::c_char,
        __modes: ::std::os::raw::c_int,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
}
unsafe extern "C" {
    pub fn setlinebuf(__stream: *mut FILE);
}
unsafe extern "C" {
    pub fn fprintf(
        __stream: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn sprintf(
        __s: *mut ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vfprintf(
        __s: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vprintf(
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vsprintf(
        __s: *mut ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn snprintf(
        __s: *mut ::std::os::raw::c_char,
        __maxlen: ::std::os::raw::c_ulong,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vsnprintf(
        __s: *mut ::std::os::raw::c_char,
        __maxlen: ::std::os::raw::c_ulong,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vasprintf(
        __ptr: *mut *mut ::std::os::raw::c_char,
        __f: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn __asprintf(
        __ptr: *mut *mut ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn asprintf(
        __ptr: *mut *mut ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vdprintf(
        __fd: ::std::os::raw::c_int,
        __fmt: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn dprintf(
        __fd: ::std::os::raw::c_int,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fscanf(
        __stream: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn sscanf(
        __s: *const ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
pub type _Float32 = f32;
pub type _Float64 = f64;
pub type _Float32x = f64;
pub type _Float64x = u128;
unsafe extern "C" {
    #[link_name = "\u{1}__isoc99_fscanf"]
    pub fn fscanf1(
        __stream: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[link_name = "\u{1}__isoc99_scanf"]
    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[link_name = "\u{1}__isoc99_sscanf"]
    pub fn sscanf1(
        __s: *const ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vfscanf(
        __s: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vscanf(
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn vsscanf(
        __s: *const ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[link_name = "\u{1}__isoc99_vfscanf"]
    pub fn vfscanf1(
        __s: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[link_name = "\u{1}__isoc99_vscanf"]
    pub fn vscanf1(
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    #[link_name = "\u{1}__isoc99_vsscanf"]
    pub fn vsscanf1(
        __s: *const ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn getchar() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
        -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fgets(
        __s: *mut ::std::os::raw::c_char,
        __n: ::std::os::raw::c_int,
        __stream: *mut FILE,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn __getdelim(
        __lineptr: *mut *mut ::std::os::raw::c_char,
        __n: *mut usize,
        __delimiter: ::std::os::raw::c_int,
        __stream: *mut FILE,
    ) -> __ssize_t;
}
unsafe extern "C" {
    pub fn getdelim(
        __lineptr: *mut *mut ::std::os::raw::c_char,
        __n: *mut usize,
        __delimiter: ::std::os::raw::c_int,
        __stream: *mut FILE,
    ) -> __ssize_t;
}
unsafe extern "C" {
    pub fn getline(
        __lineptr: *mut *mut ::std::os::raw::c_char,
        __n: *mut usize,
        __stream: *mut FILE,
    ) -> __ssize_t;
}
unsafe extern "C" {
    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fread(
        __ptr: *mut ::std::os::raw::c_void,
        __size: ::std::os::raw::c_ulong,
        __n: ::std::os::raw::c_ulong,
        __stream: *mut FILE,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn fwrite(
        __ptr: *const ::std::os::raw::c_void,
        __size: ::std::os::raw::c_ulong,
        __n: ::std::os::raw::c_ulong,
        __s: *mut FILE,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn fread_unlocked(
        __ptr: *mut ::std::os::raw::c_void,
        __size: usize,
        __n: usize,
        __stream: *mut FILE,
    ) -> usize;
}
unsafe extern "C" {
    pub fn fwrite_unlocked(
        __ptr: *const ::std::os::raw::c_void,
        __size: usize,
        __n: usize,
        __stream: *mut FILE,
    ) -> usize;
}
unsafe extern "C" {
    pub fn fseek(
        __stream: *mut FILE,
        __off: ::std::os::raw::c_long,
        __whence: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn rewind(__stream: *mut FILE);
}
unsafe extern "C" {
    pub fn fseeko(
        __stream: *mut FILE,
        __off: __off_t,
        __whence: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ftello(__stream: *mut FILE) -> __off_t;
}
unsafe extern "C" {
    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn clearerr(__stream: *mut FILE);
}
unsafe extern "C" {
    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn clearerr_unlocked(__stream: *mut FILE);
}
unsafe extern "C" {
    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn perror(__s: *const ::std::os::raw::c_char);
}
unsafe extern "C" {
    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn popen(
        __command: *const ::std::os::raw::c_char,
        __modes: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
unsafe extern "C" {
    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn flockfile(__stream: *mut FILE);
}
unsafe extern "C" {
    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn funlockfile(__stream: *mut FILE);
}
unsafe extern "C" {
    pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn memcpy(
        __dest: *mut ::std::os::raw::c_void,
        __src: *const ::std::os::raw::c_void,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn memmove(
        __dest: *mut ::std::os::raw::c_void,
        __src: *const ::std::os::raw::c_void,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn memccpy(
        __dest: *mut ::std::os::raw::c_void,
        __src: *const ::std::os::raw::c_void,
        __c: ::std::os::raw::c_int,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn memset(
        __s: *mut ::std::os::raw::c_void,
        __c: ::std::os::raw::c_int,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn memcmp(
        __s1: *const ::std::os::raw::c_void,
        __s2: *const ::std::os::raw::c_void,
        __n: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn __memcmpeq(
        __s1: *const ::std::os::raw::c_void,
        __s2: *const ::std::os::raw::c_void,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn memchr(
        __s: *const ::std::os::raw::c_void,
        __c: ::std::os::raw::c_int,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn strcpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strncpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strcat(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strncat(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strcmp(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strncmp(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strcoll(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strxfrm(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_ulong;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_struct {
    pub __locales: [*mut __locale_data; 13usize],
    pub __ctype_b: *const ::std::os::raw::c_ushort,
    pub __ctype_tolower: *const ::std::os::raw::c_int,
    pub __ctype_toupper: *const ::std::os::raw::c_int,
    pub __names: [*const ::std::os::raw::c_char; 13usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __locale_struct"][::std::mem::size_of::<__locale_struct>() - 232usize];
    ["Alignment of __locale_struct"][::std::mem::align_of::<__locale_struct>() - 8usize];
    ["Offset of field: __locale_struct::__locales"]
        [::std::mem::offset_of!(__locale_struct, __locales) - 0usize];
    ["Offset of field: __locale_struct::__ctype_b"]
        [::std::mem::offset_of!(__locale_struct, __ctype_b) - 104usize];
    ["Offset of field: __locale_struct::__ctype_tolower"]
        [::std::mem::offset_of!(__locale_struct, __ctype_tolower) - 112usize];
    ["Offset of field: __locale_struct::__ctype_toupper"]
        [::std::mem::offset_of!(__locale_struct, __ctype_toupper) - 120usize];
    ["Offset of field: __locale_struct::__names"]
        [::std::mem::offset_of!(__locale_struct, __names) - 128usize];
};
pub type __locale_t = *mut __locale_struct;
pub type locale_t = __locale_t;
unsafe extern "C" {
    pub fn strcoll_l(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __l: locale_t,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strxfrm_l(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: usize,
        __l: locale_t,
    ) -> usize;
}
unsafe extern "C" {
    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strndup(
        __string: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strchr(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strrchr(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strchrnul(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strcspn(
        __s: *const ::std::os::raw::c_char,
        __reject: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn strspn(
        __s: *const ::std::os::raw::c_char,
        __accept: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn strpbrk(
        __s: *const ::std::os::raw::c_char,
        __accept: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strstr(
        __haystack: *const ::std::os::raw::c_char,
        __needle: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strtok(
        __s: *mut ::std::os::raw::c_char,
        __delim: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn __strtok_r(
        __s: *mut ::std::os::raw::c_char,
        __delim: *const ::std::os::raw::c_char,
        __save_ptr: *mut *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strtok_r(
        __s: *mut ::std::os::raw::c_char,
        __delim: *const ::std::os::raw::c_char,
        __save_ptr: *mut *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strcasestr(
        __haystack: *const ::std::os::raw::c_char,
        __needle: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn memmem(
        __haystack: *const ::std::os::raw::c_void,
        __haystacklen: usize,
        __needle: *const ::std::os::raw::c_void,
        __needlelen: usize,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn __mempcpy(
        __dest: *mut ::std::os::raw::c_void,
        __src: *const ::std::os::raw::c_void,
        __n: usize,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn mempcpy(
        __dest: *mut ::std::os::raw::c_void,
        __src: *const ::std::os::raw::c_void,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
}
unsafe extern "C" {
    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    #[link_name = "\u{1}__xpg_strerror_r"]
    pub fn strerror_r(
        __errnum: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __buflen: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strerror_l(
        __errnum: ::std::os::raw::c_int,
        __l: locale_t,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn bcmp(
        __s1: *const ::std::os::raw::c_void,
        __s2: *const ::std::os::raw::c_void,
        __n: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn bcopy(
        __src: *const ::std::os::raw::c_void,
        __dest: *mut ::std::os::raw::c_void,
        __n: ::std::os::raw::c_ulong,
    );
}
unsafe extern "C" {
    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
}
unsafe extern "C" {
    pub fn index(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn rindex(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strcasecmp(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strncasecmp(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strcasecmp_l(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __loc: locale_t,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn strncasecmp_l(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __n: usize,
        __loc: locale_t,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
}
unsafe extern "C" {
    pub fn strsep(
        __stringp: *mut *mut ::std::os::raw::c_char,
        __delim: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn __stpcpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn stpcpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn __stpncpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn stpncpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn strlcpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn strlcat(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_ulong;
}
pub type int_least8_t = __int_least8_t;
pub type int_least16_t = __int_least16_t;
pub type int_least32_t = __int_least32_t;
pub type int_least64_t = __int_least64_t;
pub type uint_least8_t = __uint_least8_t;
pub type uint_least16_t = __uint_least16_t;
pub type uint_least32_t = __uint_least32_t;
pub type uint_least64_t = __uint_least64_t;
pub type int_fast8_t = ::std::os::raw::c_schar;
pub type int_fast16_t = ::std::os::raw::c_long;
pub type int_fast32_t = ::std::os::raw::c_long;
pub type int_fast64_t = ::std::os::raw::c_long;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_ulong;
pub type uint_fast32_t = ::std::os::raw::c_ulong;
pub type uint_fast64_t = ::std::os::raw::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type wchar_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct div_t {
    pub quot: ::std::os::raw::c_int,
    pub rem: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of div_t"][::std::mem::size_of::<div_t>() - 8usize];
    ["Alignment of div_t"][::std::mem::align_of::<div_t>() - 4usize];
    ["Offset of field: div_t::quot"][::std::mem::offset_of!(div_t, quot) - 0usize];
    ["Offset of field: div_t::rem"][::std::mem::offset_of!(div_t, rem) - 4usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ldiv_t {
    pub quot: ::std::os::raw::c_long,
    pub rem: ::std::os::raw::c_long,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of ldiv_t"][::std::mem::size_of::<ldiv_t>() - 16usize];
    ["Alignment of ldiv_t"][::std::mem::align_of::<ldiv_t>() - 8usize];
    ["Offset of field: ldiv_t::quot"][::std::mem::offset_of!(ldiv_t, quot) - 0usize];
    ["Offset of field: ldiv_t::rem"][::std::mem::offset_of!(ldiv_t, rem) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lldiv_t {
    pub quot: ::std::os::raw::c_longlong,
    pub rem: ::std::os::raw::c_longlong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of lldiv_t"][::std::mem::size_of::<lldiv_t>() - 16usize];
    ["Alignment of lldiv_t"][::std::mem::align_of::<lldiv_t>() - 8usize];
    ["Offset of field: lldiv_t::quot"][::std::mem::offset_of!(lldiv_t, quot) - 0usize];
    ["Offset of field: lldiv_t::rem"][::std::mem::offset_of!(lldiv_t, rem) - 8usize];
};
unsafe extern "C" {
    pub fn __ctype_get_mb_cur_max() -> usize;
}
unsafe extern "C" {
    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
}
unsafe extern "C" {
    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
}
unsafe extern "C" {
    pub fn strtod(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
    ) -> f64;
}
unsafe extern "C" {
    pub fn strtof(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
    ) -> f32;
}
unsafe extern "C" {
    pub fn strtold(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
    ) -> u128;
}
unsafe extern "C" {
    pub fn strtol(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn strtoul(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn strtoq(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
unsafe extern "C" {
    pub fn strtouq(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
unsafe extern "C" {
    pub fn strtoll(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
unsafe extern "C" {
    pub fn strtoull(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
unsafe extern "C" {
    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
}
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type u_long = __u_long;
pub type quad_t = __quad_t;
pub type u_quad_t = __u_quad_t;
pub type fsid_t = __fsid_t;
pub type loff_t = __loff_t;
pub type ino_t = __ino_t;
pub type dev_t = __dev_t;
pub type gid_t = __gid_t;
pub type mode_t = __mode_t;
pub type nlink_t = __nlink_t;
pub type uid_t = __uid_t;
pub type pid_t = __pid_t;
pub type id_t = __id_t;
pub type daddr_t = __daddr_t;
pub type caddr_t = __caddr_t;
pub type key_t = __key_t;
pub type clock_t = __clock_t;
pub type clockid_t = __clockid_t;
pub type time_t = __time_t;
pub type timer_t = __timer_t;
pub type ulong = ::std::os::raw::c_ulong;
pub type ushort = ::std::os::raw::c_ushort;
pub type uint = ::std::os::raw::c_uint;
pub type u_int8_t = __uint8_t;
pub type u_int16_t = __uint16_t;
pub type u_int32_t = __uint32_t;
pub type u_int64_t = __uint64_t;
pub type register_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
    pub __val: [::std::os::raw::c_ulong; 16usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __sigset_t"][::std::mem::size_of::<__sigset_t>() - 128usize];
    ["Alignment of __sigset_t"][::std::mem::align_of::<__sigset_t>() - 8usize];
    ["Offset of field: __sigset_t::__val"][::std::mem::offset_of!(__sigset_t, __val) - 0usize];
};
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
    pub tv_sec: __time_t,
    pub tv_usec: __suseconds_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of timeval"][::std::mem::size_of::<timeval>() - 16usize];
    ["Alignment of timeval"][::std::mem::align_of::<timeval>() - 8usize];
    ["Offset of field: timeval::tv_sec"][::std::mem::offset_of!(timeval, tv_sec) - 0usize];
    ["Offset of field: timeval::tv_usec"][::std::mem::offset_of!(timeval, tv_usec) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
    pub tv_sec: __time_t,
    pub tv_nsec: __syscall_slong_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of timespec"][::std::mem::size_of::<timespec>() - 16usize];
    ["Alignment of timespec"][::std::mem::align_of::<timespec>() - 8usize];
    ["Offset of field: timespec::tv_sec"][::std::mem::offset_of!(timespec, tv_sec) - 0usize];
    ["Offset of field: timespec::tv_nsec"][::std::mem::offset_of!(timespec, tv_nsec) - 8usize];
};
pub type suseconds_t = __suseconds_t;
pub type __fd_mask = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
    pub __fds_bits: [__fd_mask; 16usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fd_set"][::std::mem::size_of::<fd_set>() - 128usize];
    ["Alignment of fd_set"][::std::mem::align_of::<fd_set>() - 8usize];
    ["Offset of field: fd_set::__fds_bits"][::std::mem::offset_of!(fd_set, __fds_bits) - 0usize];
};
pub type fd_mask = __fd_mask;
unsafe extern "C" {
    pub fn select(
        __nfds: ::std::os::raw::c_int,
        __readfds: *mut fd_set,
        __writefds: *mut fd_set,
        __exceptfds: *mut fd_set,
        __timeout: *mut timeval,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn pselect(
        __nfds: ::std::os::raw::c_int,
        __readfds: *mut fd_set,
        __writefds: *mut fd_set,
        __exceptfds: *mut fd_set,
        __timeout: *const timespec,
        __sigmask: *const __sigset_t,
    ) -> ::std::os::raw::c_int;
}
pub type blksize_t = __blksize_t;
pub type blkcnt_t = __blkcnt_t;
pub type fsblkcnt_t = __fsblkcnt_t;
pub type fsfilcnt_t = __fsfilcnt_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub union __atomic_wide_counter {
    pub __value64: ::std::os::raw::c_ulonglong,
    pub __value32: __atomic_wide_counter__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __atomic_wide_counter__bindgen_ty_1 {
    pub __low: ::std::os::raw::c_uint,
    pub __high: ::std::os::raw::c_uint,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __atomic_wide_counter__bindgen_ty_1"]
        [::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>() - 8usize];
    ["Alignment of __atomic_wide_counter__bindgen_ty_1"]
        [::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>() - 4usize];
    ["Offset of field: __atomic_wide_counter__bindgen_ty_1::__low"]
        [::std::mem::offset_of!(__atomic_wide_counter__bindgen_ty_1, __low) - 0usize];
    ["Offset of field: __atomic_wide_counter__bindgen_ty_1::__high"]
        [::std::mem::offset_of!(__atomic_wide_counter__bindgen_ty_1, __high) - 4usize];
};
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __atomic_wide_counter"][::std::mem::size_of::<__atomic_wide_counter>() - 8usize];
    ["Alignment of __atomic_wide_counter"]
        [::std::mem::align_of::<__atomic_wide_counter>() - 8usize];
    ["Offset of field: __atomic_wide_counter::__value64"]
        [::std::mem::offset_of!(__atomic_wide_counter, __value64) - 0usize];
    ["Offset of field: __atomic_wide_counter::__value32"]
        [::std::mem::offset_of!(__atomic_wide_counter, __value32) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_list {
    pub __prev: *mut __pthread_internal_list,
    pub __next: *mut __pthread_internal_list,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __pthread_internal_list"][::std::mem::size_of::<__pthread_internal_list>() - 16usize];
    ["Alignment of __pthread_internal_list"]
        [::std::mem::align_of::<__pthread_internal_list>() - 8usize];
    ["Offset of field: __pthread_internal_list::__prev"]
        [::std::mem::offset_of!(__pthread_internal_list, __prev) - 0usize];
    ["Offset of field: __pthread_internal_list::__next"]
        [::std::mem::offset_of!(__pthread_internal_list, __next) - 8usize];
};
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_slist {
    pub __next: *mut __pthread_internal_slist,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __pthread_internal_slist"]
        [::std::mem::size_of::<__pthread_internal_slist>() - 8usize];
    ["Alignment of __pthread_internal_slist"]
        [::std::mem::align_of::<__pthread_internal_slist>() - 8usize];
    ["Offset of field: __pthread_internal_slist::__next"]
        [::std::mem::offset_of!(__pthread_internal_slist, __next) - 0usize];
};
pub type __pthread_slist_t = __pthread_internal_slist;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_mutex_s {
    pub __lock: ::std::os::raw::c_int,
    pub __count: ::std::os::raw::c_uint,
    pub __owner: ::std::os::raw::c_int,
    pub __nusers: ::std::os::raw::c_uint,
    pub __kind: ::std::os::raw::c_int,
    pub __spins: ::std::os::raw::c_short,
    pub __elision: ::std::os::raw::c_short,
    pub __list: __pthread_list_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __pthread_mutex_s"][::std::mem::size_of::<__pthread_mutex_s>() - 40usize];
    ["Alignment of __pthread_mutex_s"][::std::mem::align_of::<__pthread_mutex_s>() - 8usize];
    ["Offset of field: __pthread_mutex_s::__lock"]
        [::std::mem::offset_of!(__pthread_mutex_s, __lock) - 0usize];
    ["Offset of field: __pthread_mutex_s::__count"]
        [::std::mem::offset_of!(__pthread_mutex_s, __count) - 4usize];
    ["Offset of field: __pthread_mutex_s::__owner"]
        [::std::mem::offset_of!(__pthread_mutex_s, __owner) - 8usize];
    ["Offset of field: __pthread_mutex_s::__nusers"]
        [::std::mem::offset_of!(__pthread_mutex_s, __nusers) - 12usize];
    ["Offset of field: __pthread_mutex_s::__kind"]
        [::std::mem::offset_of!(__pthread_mutex_s, __kind) - 16usize];
    ["Offset of field: __pthread_mutex_s::__spins"]
        [::std::mem::offset_of!(__pthread_mutex_s, __spins) - 20usize];
    ["Offset of field: __pthread_mutex_s::__elision"]
        [::std::mem::offset_of!(__pthread_mutex_s, __elision) - 22usize];
    ["Offset of field: __pthread_mutex_s::__list"]
        [::std::mem::offset_of!(__pthread_mutex_s, __list) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_rwlock_arch_t {
    pub __readers: ::std::os::raw::c_uint,
    pub __writers: ::std::os::raw::c_uint,
    pub __wrphase_futex: ::std::os::raw::c_uint,
    pub __writers_futex: ::std::os::raw::c_uint,
    pub __pad3: ::std::os::raw::c_uint,
    pub __pad4: ::std::os::raw::c_uint,
    pub __cur_writer: ::std::os::raw::c_int,
    pub __shared: ::std::os::raw::c_int,
    pub __rwelision: ::std::os::raw::c_schar,
    pub __pad1: [::std::os::raw::c_uchar; 7usize],
    pub __pad2: ::std::os::raw::c_ulong,
    pub __flags: ::std::os::raw::c_uint,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __pthread_rwlock_arch_t"][::std::mem::size_of::<__pthread_rwlock_arch_t>() - 56usize];
    ["Alignment of __pthread_rwlock_arch_t"]
        [::std::mem::align_of::<__pthread_rwlock_arch_t>() - 8usize];
    ["Offset of field: __pthread_rwlock_arch_t::__readers"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __readers) - 0usize];
    ["Offset of field: __pthread_rwlock_arch_t::__writers"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __writers) - 4usize];
    ["Offset of field: __pthread_rwlock_arch_t::__wrphase_futex"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __wrphase_futex) - 8usize];
    ["Offset of field: __pthread_rwlock_arch_t::__writers_futex"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __writers_futex) - 12usize];
    ["Offset of field: __pthread_rwlock_arch_t::__pad3"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad3) - 16usize];
    ["Offset of field: __pthread_rwlock_arch_t::__pad4"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad4) - 20usize];
    ["Offset of field: __pthread_rwlock_arch_t::__cur_writer"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __cur_writer) - 24usize];
    ["Offset of field: __pthread_rwlock_arch_t::__shared"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __shared) - 28usize];
    ["Offset of field: __pthread_rwlock_arch_t::__rwelision"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __rwelision) - 32usize];
    ["Offset of field: __pthread_rwlock_arch_t::__pad1"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad1) - 33usize];
    ["Offset of field: __pthread_rwlock_arch_t::__pad2"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad2) - 40usize];
    ["Offset of field: __pthread_rwlock_arch_t::__flags"]
        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __flags) - 48usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
    pub __wseq: __atomic_wide_counter,
    pub __g1_start: __atomic_wide_counter,
    pub __g_refs: [::std::os::raw::c_uint; 2usize],
    pub __g_size: [::std::os::raw::c_uint; 2usize],
    pub __g1_orig_size: ::std::os::raw::c_uint,
    pub __wrefs: ::std::os::raw::c_uint,
    pub __g_signals: [::std::os::raw::c_uint; 2usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __pthread_cond_s"][::std::mem::size_of::<__pthread_cond_s>() - 48usize];
    ["Alignment of __pthread_cond_s"][::std::mem::align_of::<__pthread_cond_s>() - 8usize];
    ["Offset of field: __pthread_cond_s::__wseq"]
        [::std::mem::offset_of!(__pthread_cond_s, __wseq) - 0usize];
    ["Offset of field: __pthread_cond_s::__g1_start"]
        [::std::mem::offset_of!(__pthread_cond_s, __g1_start) - 8usize];
    ["Offset of field: __pthread_cond_s::__g_refs"]
        [::std::mem::offset_of!(__pthread_cond_s, __g_refs) - 16usize];
    ["Offset of field: __pthread_cond_s::__g_size"]
        [::std::mem::offset_of!(__pthread_cond_s, __g_size) - 24usize];
    ["Offset of field: __pthread_cond_s::__g1_orig_size"]
        [::std::mem::offset_of!(__pthread_cond_s, __g1_orig_size) - 32usize];
    ["Offset of field: __pthread_cond_s::__wrefs"]
        [::std::mem::offset_of!(__pthread_cond_s, __wrefs) - 36usize];
    ["Offset of field: __pthread_cond_s::__g_signals"]
        [::std::mem::offset_of!(__pthread_cond_s, __g_signals) - 40usize];
};
pub type __tss_t = ::std::os::raw::c_uint;
pub type __thrd_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __once_flag {
    pub __data: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __once_flag"][::std::mem::size_of::<__once_flag>() - 4usize];
    ["Alignment of __once_flag"][::std::mem::align_of::<__once_flag>() - 4usize];
    ["Offset of field: __once_flag::__data"][::std::mem::offset_of!(__once_flag, __data) - 0usize];
};
pub type pthread_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutexattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_mutexattr_t"][::std::mem::size_of::<pthread_mutexattr_t>() - 4usize];
    ["Alignment of pthread_mutexattr_t"][::std::mem::align_of::<pthread_mutexattr_t>() - 4usize];
    ["Offset of field: pthread_mutexattr_t::__size"]
        [::std::mem::offset_of!(pthread_mutexattr_t, __size) - 0usize];
    ["Offset of field: pthread_mutexattr_t::__align"]
        [::std::mem::offset_of!(pthread_mutexattr_t, __align) - 0usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_condattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_condattr_t"][::std::mem::size_of::<pthread_condattr_t>() - 4usize];
    ["Alignment of pthread_condattr_t"][::std::mem::align_of::<pthread_condattr_t>() - 4usize];
    ["Offset of field: pthread_condattr_t::__size"]
        [::std::mem::offset_of!(pthread_condattr_t, __size) - 0usize];
    ["Offset of field: pthread_condattr_t::__align"]
        [::std::mem::offset_of!(pthread_condattr_t, __align) - 0usize];
};
pub type pthread_key_t = ::std::os::raw::c_uint;
pub type pthread_once_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_attr_t {
    pub __size: [::std::os::raw::c_char; 56usize],
    pub __align: ::std::os::raw::c_long,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_attr_t"][::std::mem::size_of::<pthread_attr_t>() - 56usize];
    ["Alignment of pthread_attr_t"][::std::mem::align_of::<pthread_attr_t>() - 8usize];
    ["Offset of field: pthread_attr_t::__size"]
        [::std::mem::offset_of!(pthread_attr_t, __size) - 0usize];
    ["Offset of field: pthread_attr_t::__align"]
        [::std::mem::offset_of!(pthread_attr_t, __align) - 0usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutex_t {
    pub __data: __pthread_mutex_s,
    pub __size: [::std::os::raw::c_char; 40usize],
    pub __align: ::std::os::raw::c_long,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_mutex_t"][::std::mem::size_of::<pthread_mutex_t>() - 40usize];
    ["Alignment of pthread_mutex_t"][::std::mem::align_of::<pthread_mutex_t>() - 8usize];
    ["Offset of field: pthread_mutex_t::__data"]
        [::std::mem::offset_of!(pthread_mutex_t, __data) - 0usize];
    ["Offset of field: pthread_mutex_t::__size"]
        [::std::mem::offset_of!(pthread_mutex_t, __size) - 0usize];
    ["Offset of field: pthread_mutex_t::__align"]
        [::std::mem::offset_of!(pthread_mutex_t, __align) - 0usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_cond_t {
    pub __data: __pthread_cond_s,
    pub __size: [::std::os::raw::c_char; 48usize],
    pub __align: ::std::os::raw::c_longlong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_cond_t"][::std::mem::size_of::<pthread_cond_t>() - 48usize];
    ["Alignment of pthread_cond_t"][::std::mem::align_of::<pthread_cond_t>() - 8usize];
    ["Offset of field: pthread_cond_t::__data"]
        [::std::mem::offset_of!(pthread_cond_t, __data) - 0usize];
    ["Offset of field: pthread_cond_t::__size"]
        [::std::mem::offset_of!(pthread_cond_t, __size) - 0usize];
    ["Offset of field: pthread_cond_t::__align"]
        [::std::mem::offset_of!(pthread_cond_t, __align) - 0usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlock_t {
    pub __data: __pthread_rwlock_arch_t,
    pub __size: [::std::os::raw::c_char; 56usize],
    pub __align: ::std::os::raw::c_long,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_rwlock_t"][::std::mem::size_of::<pthread_rwlock_t>() - 56usize];
    ["Alignment of pthread_rwlock_t"][::std::mem::align_of::<pthread_rwlock_t>() - 8usize];
    ["Offset of field: pthread_rwlock_t::__data"]
        [::std::mem::offset_of!(pthread_rwlock_t, __data) - 0usize];
    ["Offset of field: pthread_rwlock_t::__size"]
        [::std::mem::offset_of!(pthread_rwlock_t, __size) - 0usize];
    ["Offset of field: pthread_rwlock_t::__align"]
        [::std::mem::offset_of!(pthread_rwlock_t, __align) - 0usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlockattr_t {
    pub __size: [::std::os::raw::c_char; 8usize],
    pub __align: ::std::os::raw::c_long,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_rwlockattr_t"][::std::mem::size_of::<pthread_rwlockattr_t>() - 8usize];
    ["Alignment of pthread_rwlockattr_t"][::std::mem::align_of::<pthread_rwlockattr_t>() - 8usize];
    ["Offset of field: pthread_rwlockattr_t::__size"]
        [::std::mem::offset_of!(pthread_rwlockattr_t, __size) - 0usize];
    ["Offset of field: pthread_rwlockattr_t::__align"]
        [::std::mem::offset_of!(pthread_rwlockattr_t, __align) - 0usize];
};
pub type pthread_spinlock_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrier_t {
    pub __size: [::std::os::raw::c_char; 32usize],
    pub __align: ::std::os::raw::c_long,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_barrier_t"][::std::mem::size_of::<pthread_barrier_t>() - 32usize];
    ["Alignment of pthread_barrier_t"][::std::mem::align_of::<pthread_barrier_t>() - 8usize];
    ["Offset of field: pthread_barrier_t::__size"]
        [::std::mem::offset_of!(pthread_barrier_t, __size) - 0usize];
    ["Offset of field: pthread_barrier_t::__align"]
        [::std::mem::offset_of!(pthread_barrier_t, __align) - 0usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrierattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of pthread_barrierattr_t"][::std::mem::size_of::<pthread_barrierattr_t>() - 4usize];
    ["Alignment of pthread_barrierattr_t"]
        [::std::mem::align_of::<pthread_barrierattr_t>() - 4usize];
    ["Offset of field: pthread_barrierattr_t::__size"]
        [::std::mem::offset_of!(pthread_barrierattr_t, __size) - 0usize];
    ["Offset of field: pthread_barrierattr_t::__align"]
        [::std::mem::offset_of!(pthread_barrierattr_t, __align) - 0usize];
};
unsafe extern "C" {
    pub fn random() -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn srandom(__seed: ::std::os::raw::c_uint);
}
unsafe extern "C" {
    pub fn initstate(
        __seed: ::std::os::raw::c_uint,
        __statebuf: *mut ::std::os::raw::c_char,
        __statelen: usize,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct random_data {
    pub fptr: *mut i32,
    pub rptr: *mut i32,
    pub state: *mut i32,
    pub rand_type: ::std::os::raw::c_int,
    pub rand_deg: ::std::os::raw::c_int,
    pub rand_sep: ::std::os::raw::c_int,
    pub end_ptr: *mut i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of random_data"][::std::mem::size_of::<random_data>() - 48usize];
    ["Alignment of random_data"][::std::mem::align_of::<random_data>() - 8usize];
    ["Offset of field: random_data::fptr"][::std::mem::offset_of!(random_data, fptr) - 0usize];
    ["Offset of field: random_data::rptr"][::std::mem::offset_of!(random_data, rptr) - 8usize];
    ["Offset of field: random_data::state"][::std::mem::offset_of!(random_data, state) - 16usize];
    ["Offset of field: random_data::rand_type"]
        [::std::mem::offset_of!(random_data, rand_type) - 24usize];
    ["Offset of field: random_data::rand_deg"]
        [::std::mem::offset_of!(random_data, rand_deg) - 28usize];
    ["Offset of field: random_data::rand_sep"]
        [::std::mem::offset_of!(random_data, rand_sep) - 32usize];
    ["Offset of field: random_data::end_ptr"]
        [::std::mem::offset_of!(random_data, end_ptr) - 40usize];
};
unsafe extern "C" {
    pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn srandom_r(
        __seed: ::std::os::raw::c_uint,
        __buf: *mut random_data,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn initstate_r(
        __seed: ::std::os::raw::c_uint,
        __statebuf: *mut ::std::os::raw::c_char,
        __statelen: usize,
        __buf: *mut random_data,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn setstate_r(
        __statebuf: *mut ::std::os::raw::c_char,
        __buf: *mut random_data,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn rand() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn srand(__seed: ::std::os::raw::c_uint);
}
unsafe extern "C" {
    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn drand48() -> f64;
}
unsafe extern "C" {
    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
}
unsafe extern "C" {
    pub fn lrand48() -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn mrand48() -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn srand48(__seedval: ::std::os::raw::c_long);
}
unsafe extern "C" {
    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
}
unsafe extern "C" {
    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drand48_data {
    pub __x: [::std::os::raw::c_ushort; 3usize],
    pub __old_x: [::std::os::raw::c_ushort; 3usize],
    pub __c: ::std::os::raw::c_ushort,
    pub __init: ::std::os::raw::c_ushort,
    pub __a: ::std::os::raw::c_ulonglong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of drand48_data"][::std::mem::size_of::<drand48_data>() - 24usize];
    ["Alignment of drand48_data"][::std::mem::align_of::<drand48_data>() - 8usize];
    ["Offset of field: drand48_data::__x"][::std::mem::offset_of!(drand48_data, __x) - 0usize];
    ["Offset of field: drand48_data::__old_x"]
        [::std::mem::offset_of!(drand48_data, __old_x) - 6usize];
    ["Offset of field: drand48_data::__c"][::std::mem::offset_of!(drand48_data, __c) - 12usize];
    ["Offset of field: drand48_data::__init"]
        [::std::mem::offset_of!(drand48_data, __init) - 14usize];
    ["Offset of field: drand48_data::__a"][::std::mem::offset_of!(drand48_data, __a) - 16usize];
};
unsafe extern "C" {
    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn erand48_r(
        __xsubi: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
        __result: *mut f64,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn lrand48_r(
        __buffer: *mut drand48_data,
        __result: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn nrand48_r(
        __xsubi: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
        __result: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mrand48_r(
        __buffer: *mut drand48_data,
        __result: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn jrand48_r(
        __xsubi: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
        __result: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn srand48_r(
        __seedval: ::std::os::raw::c_long,
        __buffer: *mut drand48_data,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn seed48_r(
        __seed16v: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn lcong48_r(
        __param: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn arc4random() -> __uint32_t;
}
unsafe extern "C" {
    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __size: usize);
}
unsafe extern "C" {
    pub fn arc4random_uniform(__upper_bound: __uint32_t) -> __uint32_t;
}
unsafe extern "C" {
    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn calloc(
        __nmemb: ::std::os::raw::c_ulong,
        __size: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn realloc(
        __ptr: *mut ::std::os::raw::c_void,
        __size: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn free(__ptr: *mut ::std::os::raw::c_void);
}
unsafe extern "C" {
    pub fn reallocarray(
        __ptr: *mut ::std::os::raw::c_void,
        __nmemb: usize,
        __size: usize,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn posix_memalign(
        __memptr: *mut *mut ::std::os::raw::c_void,
        __alignment: usize,
        __size: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn aligned_alloc(
        __alignment: ::std::os::raw::c_ulong,
        __size: ::std::os::raw::c_ulong,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn abort() -> !;
}
unsafe extern "C" {
    pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn at_quick_exit(
        __func: ::std::option::Option<unsafe extern "C" fn()>,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn on_exit(
        __func: ::std::option::Option<
            unsafe extern "C" fn(
                __status: ::std::os::raw::c_int,
                __arg: *mut ::std::os::raw::c_void,
            ),
        >,
        __arg: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn exit(__status: ::std::os::raw::c_int) -> !;
}
unsafe extern "C" {
    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
}
unsafe extern "C" {
    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
}
unsafe extern "C" {
    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn setenv(
        __name: *const ::std::os::raw::c_char,
        __value: *const ::std::os::raw::c_char,
        __replace: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn clearenv() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mkstemps(
        __template: *mut ::std::os::raw::c_char,
        __suffixlen: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn realpath(
        __name: *const ::std::os::raw::c_char,
        __resolved: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
pub type __compar_fn_t = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *const ::std::os::raw::c_void,
        arg2: *const ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
unsafe extern "C" {
    pub fn bsearch(
        __key: *const ::std::os::raw::c_void,
        __base: *const ::std::os::raw::c_void,
        __nmemb: usize,
        __size: usize,
        __compar: __compar_fn_t,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn qsort(
        __base: *mut ::std::os::raw::c_void,
        __nmemb: usize,
        __size: usize,
        __compar: __compar_fn_t,
    );
}
unsafe extern "C" {
    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
}
unsafe extern "C" {
    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
}
unsafe extern "C" {
    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
}
unsafe extern "C" {
    pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
}
unsafe extern "C" {
    pub fn lldiv(
        __numer: ::std::os::raw::c_longlong,
        __denom: ::std::os::raw::c_longlong,
    ) -> lldiv_t;
}
unsafe extern "C" {
    pub fn ecvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn fcvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn gcvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn qecvt(
        __value: u128,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn qfcvt(
        __value: u128,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn qgcvt(
        __value: u128,
        __ndigit: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn ecvt_r(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn fcvt_r(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn qecvt_r(
        __value: u128,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn qfcvt_r(
        __value: u128,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mbtowc(
        __pwc: *mut wchar_t,
        __s: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
}
unsafe extern "C" {
    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
}
unsafe extern "C" {
    pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn getsubopt(
        __optionp: *mut *mut ::std::os::raw::c_char,
        __tokens: *const *mut ::std::os::raw::c_char,
        __valuep: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
        -> ::std::os::raw::c_int;
}
#[doc = "< Internal error"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_InternalError: OrthancPluginErrorCode = -1;
#[doc = "< Success"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Success: OrthancPluginErrorCode = 0;
#[doc = "< Error encountered within the plugin engine"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Plugin: OrthancPluginErrorCode = 1;
#[doc = "< Not implemented yet"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NotImplemented: OrthancPluginErrorCode = 2;
#[doc = "< Parameter out of range"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_ParameterOutOfRange:
    OrthancPluginErrorCode = 3;
#[doc = "< The server hosting Orthanc is running out of memory"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NotEnoughMemory: OrthancPluginErrorCode = 4;
#[doc = "< Bad type for a parameter"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadParameterType: OrthancPluginErrorCode =
    5;
#[doc = "< Bad sequence of calls"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadSequenceOfCalls: OrthancPluginErrorCode =
    6;
#[doc = "< Accessing an inexistent item"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_InexistentItem: OrthancPluginErrorCode = 7;
#[doc = "< Bad request"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadRequest: OrthancPluginErrorCode = 8;
#[doc = "< Error in the network protocol"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NetworkProtocol: OrthancPluginErrorCode = 9;
#[doc = "< Error while calling a system command"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SystemCommand: OrthancPluginErrorCode = 10;
#[doc = "< Error with the database engine"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Database: OrthancPluginErrorCode = 11;
#[doc = "< Badly formatted URI"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UriSyntax: OrthancPluginErrorCode = 12;
#[doc = "< Inexistent file"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_InexistentFile: OrthancPluginErrorCode = 13;
#[doc = "< Cannot write to file"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotWriteFile: OrthancPluginErrorCode =
    14;
#[doc = "< Bad file format"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadFileFormat: OrthancPluginErrorCode = 15;
#[doc = "< Timeout"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Timeout: OrthancPluginErrorCode = 16;
#[doc = "< Unknown resource"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnknownResource: OrthancPluginErrorCode =
    17;
#[doc = "< Incompatible version of the database"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_IncompatibleDatabaseVersion:
    OrthancPluginErrorCode = 18;
#[doc = "< The file storage is full"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_FullStorage: OrthancPluginErrorCode = 19;
#[doc = "< Corrupted file (e.g. inconsistent MD5 hash)"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CorruptedFile: OrthancPluginErrorCode = 20;
#[doc = "< Inexistent tag"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_InexistentTag: OrthancPluginErrorCode = 21;
#[doc = "< Cannot modify a read-only data structure"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_ReadOnly: OrthancPluginErrorCode = 22;
#[doc = "< Incompatible format of the images"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_IncompatibleImageFormat:
    OrthancPluginErrorCode = 23;
#[doc = "< Incompatible size of the images"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_IncompatibleImageSize:
    OrthancPluginErrorCode = 24;
#[doc = "< Error while using a shared library (plugin)"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SharedLibrary: OrthancPluginErrorCode = 25;
#[doc = "< Plugin invoking an unknown service"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnknownPluginService:
    OrthancPluginErrorCode = 26;
#[doc = "< Unknown DICOM tag"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnknownDicomTag: OrthancPluginErrorCode =
    27;
#[doc = "< Cannot parse a JSON document"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadJson: OrthancPluginErrorCode = 28;
#[doc = "< Bad credentials were provided to an HTTP request"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Unauthorized: OrthancPluginErrorCode = 29;
#[doc = "< Badly formatted font file"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadFont: OrthancPluginErrorCode = 30;
#[doc = "< The plugin implementing a custom database back-end does not fulfill the proper interface"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabasePlugin: OrthancPluginErrorCode = 31;
#[doc = "< Error in the plugin implementing a custom storage area"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_StorageAreaPlugin: OrthancPluginErrorCode =
    32;
#[doc = "< The request is empty"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_EmptyRequest: OrthancPluginErrorCode = 33;
#[doc = "< Cannot send a response which is acceptable according to the Accept HTTP header"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NotAcceptable: OrthancPluginErrorCode = 34;
#[doc = "< Cannot handle a NULL pointer"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NullPointer: OrthancPluginErrorCode = 35;
#[doc = "< The database is currently not available (probably a transient situation)"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabaseUnavailable:
    OrthancPluginErrorCode = 36;
#[doc = "< This job was canceled"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CanceledJob: OrthancPluginErrorCode = 37;
#[doc = "< Geometry error encountered in Stone"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadGeometry: OrthancPluginErrorCode = 38;
#[doc = "< Cannot initialize SSL encryption, check out your certificates"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SslInitialization: OrthancPluginErrorCode =
    39;
#[doc = "< Calling a function that has been removed from the Orthanc Framework"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DiscontinuedAbi: OrthancPluginErrorCode =
    40;
#[doc = "< Incorrect range request"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadRange: OrthancPluginErrorCode = 41;
#[doc = "< Database could not serialize access due to concurrent update, the transaction should be retried"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabaseCannotSerialize:
    OrthancPluginErrorCode = 42;
#[doc = "< A bad revision number was provided, which might indicate conflict between multiple writers"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Revision: OrthancPluginErrorCode = 43;
#[doc = "< A main DICOM Tag has been defined multiple times for the same resource level"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_MainDicomTagsMultiplyDefined:
    OrthancPluginErrorCode = 44;
#[doc = "< Access to a resource is forbidden"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_ForbiddenAccess: OrthancPluginErrorCode =
    45;
#[doc = "< Duplicate resource"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DuplicateResource: OrthancPluginErrorCode =
    46;
#[doc = "< Your configuration file contains configuration that are mutually incompatible"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_IncompatibleConfigurations:
    OrthancPluginErrorCode = 47;
#[doc = "< SQLite: The database is not opened"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteNotOpened: OrthancPluginErrorCode =
    1000;
#[doc = "< SQLite: Connection is already open"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteAlreadyOpened:
    OrthancPluginErrorCode = 1001;
#[doc = "< SQLite: Unable to open the database"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteCannotOpen: OrthancPluginErrorCode =
    1002;
#[doc = "< SQLite: This cached statement is already being referred to"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteStatementAlreadyUsed:
    OrthancPluginErrorCode = 1003;
#[doc = "< SQLite: Cannot execute a command"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteExecute: OrthancPluginErrorCode =
    1004;
#[doc = "< SQLite: Rolling back a nonexistent transaction (have you called Begin()?)"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteRollbackWithoutTransaction:
    OrthancPluginErrorCode = 1005;
#[doc = "< SQLite: Committing a nonexistent transaction"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteCommitWithoutTransaction:
    OrthancPluginErrorCode = 1006;
#[doc = "< SQLite: Unable to register a function"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteRegisterFunction:
    OrthancPluginErrorCode = 1007;
#[doc = "< SQLite: Unable to flush the database"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteFlush: OrthancPluginErrorCode = 1008;
#[doc = "< SQLite: Cannot run a cached statement"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteCannotRun: OrthancPluginErrorCode =
    1009;
#[doc = "< SQLite: Cannot step over a cached statement"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteCannotStep: OrthancPluginErrorCode =
    1010;
#[doc = "< SQLite: Bind a value while out of range (serious error)"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteBindOutOfRange:
    OrthancPluginErrorCode = 1011;
#[doc = "< SQLite: Cannot prepare a cached statement"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLitePrepareStatement:
    OrthancPluginErrorCode = 1012;
#[doc = "< SQLite: Beginning the same transaction twice"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteTransactionAlreadyStarted:
    OrthancPluginErrorCode = 1013;
#[doc = "< SQLite: Failure when committing the transaction"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteTransactionCommit:
    OrthancPluginErrorCode = 1014;
#[doc = "< SQLite: Cannot start a transaction"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteTransactionBegin:
    OrthancPluginErrorCode = 1015;
#[doc = "< The directory to be created is already occupied by a regular file"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DirectoryOverFile: OrthancPluginErrorCode =
    2000;
#[doc = "< Unable to create a subdirectory or a file in the file storage"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_FileStorageCannotWrite:
    OrthancPluginErrorCode = 2001;
#[doc = "< The specified path does not point to a directory"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DirectoryExpected: OrthancPluginErrorCode =
    2002;
#[doc = "< The TCP port of the HTTP server is privileged or already in use"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_HttpPortInUse: OrthancPluginErrorCode =
    2003;
#[doc = "< The TCP port of the DICOM server is privileged or already in use"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DicomPortInUse: OrthancPluginErrorCode =
    2004;
#[doc = "< This HTTP status is not allowed in a REST API"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadHttpStatusInRest:
    OrthancPluginErrorCode = 2005;
#[doc = "< The specified path does not point to a regular file"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_RegularFileExpected:
    OrthancPluginErrorCode = 2006;
#[doc = "< Unable to get the path to the executable"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_PathToExecutable: OrthancPluginErrorCode =
    2007;
#[doc = "< Cannot create a directory"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_MakeDirectory: OrthancPluginErrorCode =
    2008;
#[doc = "< An application entity title (AET) cannot be empty or be longer than 16 characters"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadApplicationEntityTitle:
    OrthancPluginErrorCode = 2009;
#[doc = "< No request handler factory for DICOM C-FIND SCP"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoCFindHandler: OrthancPluginErrorCode =
    2010;
#[doc = "< No request handler factory for DICOM C-MOVE SCP"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoCMoveHandler: OrthancPluginErrorCode =
    2011;
#[doc = "< No request handler factory for DICOM C-STORE SCP"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoCStoreHandler: OrthancPluginErrorCode =
    2012;
#[doc = "< No application entity filter"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoApplicationEntityFilter:
    OrthancPluginErrorCode = 2013;
#[doc = "< DicomUserConnection: Unable to find the SOP class and instance"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoSopClassOrInstance:
    OrthancPluginErrorCode = 2014;
#[doc = "< DicomUserConnection: No acceptable presentation context for modality"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoPresentationContext:
    OrthancPluginErrorCode = 2015;
#[doc = "< DicomUserConnection: The C-FIND command is not supported by the remote SCP"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DicomFindUnavailable:
    OrthancPluginErrorCode = 2016;
#[doc = "< DicomUserConnection: The C-MOVE command is not supported by the remote SCP"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DicomMoveUnavailable:
    OrthancPluginErrorCode = 2017;
#[doc = "< Cannot store an instance"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotStoreInstance:
    OrthancPluginErrorCode = 2018;
#[doc = "< Only string values are supported when creating DICOM instances"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomNotString:
    OrthancPluginErrorCode = 2019;
#[doc = "< Trying to override a value inherited from a parent module"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomOverrideTag:
    OrthancPluginErrorCode = 2020;
#[doc = "< Use \\\"Content\\\" to inject an image into a new DICOM instance"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomUseContent:
    OrthancPluginErrorCode = 2021;
#[doc = "< No payload is present for one instance in the series"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomNoPayload:
    OrthancPluginErrorCode = 2022;
#[doc = "< The payload of the DICOM instance must be specified according to Data URI scheme"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomUseDataUriScheme:
    OrthancPluginErrorCode = 2023;
#[doc = "< Trying to attach a new DICOM instance to an inexistent resource"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomBadParent:
    OrthancPluginErrorCode = 2024;
#[doc = "< Trying to attach a new DICOM instance to an instance (must be a series, study or patient)"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomParentIsInstance:
    OrthancPluginErrorCode = 2025;
#[doc = "< Unable to get the encoding of the parent resource"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomParentEncoding:
    OrthancPluginErrorCode = 2026;
#[doc = "< Unknown modality"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnknownModality: OrthancPluginErrorCode =
    2027;
#[doc = "< Bad ordering of filters in a job"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadJobOrdering: OrthancPluginErrorCode =
    2028;
#[doc = "< Cannot convert the given JSON object to a Lua table"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_JsonToLuaTable: OrthancPluginErrorCode =
    2029;
#[doc = "< Cannot create the Lua context"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotCreateLua: OrthancPluginErrorCode =
    2030;
#[doc = "< Cannot execute a Lua command"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotExecuteLua: OrthancPluginErrorCode =
    2031;
#[doc = "< Arguments cannot be pushed after the Lua function is executed"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_LuaAlreadyExecuted: OrthancPluginErrorCode =
    2032;
#[doc = "< The Lua function does not give the expected number of outputs"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_LuaBadOutput: OrthancPluginErrorCode = 2033;
#[doc = "< The Lua function is not a predicate (only true/false outputs allowed)"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NotLuaPredicate: OrthancPluginErrorCode =
    2034;
#[doc = "< The Lua function does not return a string"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_LuaReturnsNoString: OrthancPluginErrorCode =
    2035;
#[doc = "< Another plugin has already registered a custom storage area"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_StorageAreaAlreadyRegistered:
    OrthancPluginErrorCode = 2036;
#[doc = "< Another plugin has already registered a custom database back-end"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabaseBackendAlreadyRegistered:
    OrthancPluginErrorCode = 2037;
#[doc = "< Plugin trying to call the database during its initialization"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabaseNotInitialized:
    OrthancPluginErrorCode = 2038;
#[doc = "< Orthanc has been built without SSL support"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SslDisabled: OrthancPluginErrorCode = 2039;
#[doc = "< Unable to order the slices of the series"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotOrderSlices: OrthancPluginErrorCode =
    2040;
#[doc = "< No request handler factory for DICOM C-Find Modality SCP"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoWorklistHandler: OrthancPluginErrorCode =
    2041;
#[doc = "< Cannot override the value of a tag that already exists"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_AlreadyExistingTag: OrthancPluginErrorCode =
    2042;
#[doc = "< No request handler factory for DICOM N-ACTION SCP (storage commitment)"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoStorageCommitmentHandler:
    OrthancPluginErrorCode = 2043;
#[doc = "< No request handler factory for DICOM C-GET SCP"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoCGetHandler: OrthancPluginErrorCode =
    2044;
#[doc = "< DicomUserConnection: The C-GET command is not supported by the remote SCP"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DicomGetUnavailable:
    OrthancPluginErrorCode = 2045;
#[doc = "< Unsupported media type"]
pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnsupportedMediaType:
    OrthancPluginErrorCode = 3000;
pub const OrthancPluginErrorCode__OrthancPluginErrorCode_INTERNAL: OrthancPluginErrorCode =
    2147483647;
#[doc = " The various error codes that can be returned by the Orthanc core."]
pub type OrthancPluginErrorCode = ::std::os::raw::c_int;
unsafe extern "C" {
    #[doc = " Forward declaration of one of the mandatory functions for Orthanc\n plugins."]
    pub fn OrthancPluginGetName() -> *const ::std::os::raw::c_char;
}
#[doc = "< GET request"]
pub const OrthancPluginHttpMethod_OrthancPluginHttpMethod_Get: OrthancPluginHttpMethod = 1;
#[doc = "< POST request"]
pub const OrthancPluginHttpMethod_OrthancPluginHttpMethod_Post: OrthancPluginHttpMethod = 2;
#[doc = "< PUT request"]
pub const OrthancPluginHttpMethod_OrthancPluginHttpMethod_Put: OrthancPluginHttpMethod = 3;
#[doc = "< DELETE request"]
pub const OrthancPluginHttpMethod_OrthancPluginHttpMethod_Delete: OrthancPluginHttpMethod = 4;
pub const OrthancPluginHttpMethod__OrthancPluginHttpMethod_INTERNAL: OrthancPluginHttpMethod =
    2147483647;
#[doc = " The various HTTP methods for a REST call."]
pub type OrthancPluginHttpMethod = ::std::os::raw::c_uint;
#[doc = " @brief The parameters of a REST request.\n @ingroup Callbacks"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OrthancPluginHttpRequest {
    #[doc = " @brief The HTTP method."]
    pub method: OrthancPluginHttpMethod,
    #[doc = " @brief The number of groups of the regular expression."]
    pub groupsCount: u32,
    #[doc = " @brief The matched values for the groups of the regular expression."]
    pub groups: *const *const ::std::os::raw::c_char,
    #[doc = " @brief For a GET request, the number of GET parameters."]
    pub getCount: u32,
    #[doc = " @brief For a GET request, the keys of the GET parameters."]
    pub getKeys: *const *const ::std::os::raw::c_char,
    #[doc = " @brief For a GET request, the values of the GET parameters."]
    pub getValues: *const *const ::std::os::raw::c_char,
    #[doc = " @brief For a PUT or POST request, the content of the body."]
    pub body: *const ::std::os::raw::c_void,
    #[doc = " @brief For a PUT or POST request, the number of bytes of the body."]
    pub bodySize: u32,
    #[doc = " @brief The number of HTTP headers."]
    pub headersCount: u32,
    #[doc = " @brief The keys of the HTTP headers (always converted to low-case)."]
    pub headersKeys: *const *const ::std::os::raw::c_char,
    #[doc = " @brief The values of the HTTP headers."]
    pub headersValues: *const *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of OrthancPluginHttpRequest"]
        [::std::mem::size_of::<OrthancPluginHttpRequest>() - 72usize];
    ["Alignment of OrthancPluginHttpRequest"]
        [::std::mem::align_of::<OrthancPluginHttpRequest>() - 8usize];
    ["Offset of field: OrthancPluginHttpRequest::method"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, method) - 0usize];
    ["Offset of field: OrthancPluginHttpRequest::groupsCount"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, groupsCount) - 4usize];
    ["Offset of field: OrthancPluginHttpRequest::groups"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, groups) - 8usize];
    ["Offset of field: OrthancPluginHttpRequest::getCount"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, getCount) - 16usize];
    ["Offset of field: OrthancPluginHttpRequest::getKeys"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, getKeys) - 24usize];
    ["Offset of field: OrthancPluginHttpRequest::getValues"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, getValues) - 32usize];
    ["Offset of field: OrthancPluginHttpRequest::body"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, body) - 40usize];
    ["Offset of field: OrthancPluginHttpRequest::bodySize"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, bodySize) - 48usize];
    ["Offset of field: OrthancPluginHttpRequest::headersCount"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, headersCount) - 52usize];
    ["Offset of field: OrthancPluginHttpRequest::headersKeys"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, headersKeys) - 56usize];
    ["Offset of field: OrthancPluginHttpRequest::headersValues"]
        [::std::mem::offset_of!(OrthancPluginHttpRequest, headersValues) - 64usize];
};
pub const _OrthancPluginService__OrthancPluginService_LogInfo: _OrthancPluginService = 1;
pub const _OrthancPluginService__OrthancPluginService_LogWarning: _OrthancPluginService = 2;
pub const _OrthancPluginService__OrthancPluginService_LogError: _OrthancPluginService = 3;
pub const _OrthancPluginService__OrthancPluginService_GetOrthancPath: _OrthancPluginService = 4;
pub const _OrthancPluginService__OrthancPluginService_GetOrthancDirectory: _OrthancPluginService =
    5;
pub const _OrthancPluginService__OrthancPluginService_GetConfigurationPath: _OrthancPluginService =
    6;
pub const _OrthancPluginService__OrthancPluginService_SetPluginProperty: _OrthancPluginService = 7;
pub const _OrthancPluginService__OrthancPluginService_GetGlobalProperty: _OrthancPluginService = 8;
pub const _OrthancPluginService__OrthancPluginService_SetGlobalProperty: _OrthancPluginService = 9;
pub const _OrthancPluginService__OrthancPluginService_GetCommandLineArgumentsCount:
    _OrthancPluginService = 10;
pub const _OrthancPluginService__OrthancPluginService_GetCommandLineArgument:
    _OrthancPluginService = 11;
pub const _OrthancPluginService__OrthancPluginService_GetExpectedDatabaseVersion:
    _OrthancPluginService = 12;
pub const _OrthancPluginService__OrthancPluginService_GetConfiguration: _OrthancPluginService = 13;
pub const _OrthancPluginService__OrthancPluginService_BufferCompression: _OrthancPluginService = 14;
pub const _OrthancPluginService__OrthancPluginService_ReadFile: _OrthancPluginService = 15;
pub const _OrthancPluginService__OrthancPluginService_WriteFile: _OrthancPluginService = 16;
pub const _OrthancPluginService__OrthancPluginService_GetErrorDescription: _OrthancPluginService =
    17;
pub const _OrthancPluginService__OrthancPluginService_CallHttpClient: _OrthancPluginService = 18;
pub const _OrthancPluginService__OrthancPluginService_RegisterErrorCode: _OrthancPluginService = 19;
pub const _OrthancPluginService__OrthancPluginService_RegisterDictionaryTag: _OrthancPluginService =
    20;
pub const _OrthancPluginService__OrthancPluginService_DicomBufferToJson: _OrthancPluginService = 21;
pub const _OrthancPluginService__OrthancPluginService_DicomInstanceToJson: _OrthancPluginService =
    22;
pub const _OrthancPluginService__OrthancPluginService_CreateDicom: _OrthancPluginService = 23;
pub const _OrthancPluginService__OrthancPluginService_ComputeMd5: _OrthancPluginService = 24;
pub const _OrthancPluginService__OrthancPluginService_ComputeSha1: _OrthancPluginService = 25;
pub const _OrthancPluginService__OrthancPluginService_LookupDictionary: _OrthancPluginService = 26;
pub const _OrthancPluginService__OrthancPluginService_CallHttpClient2: _OrthancPluginService = 27;
pub const _OrthancPluginService__OrthancPluginService_GenerateUuid: _OrthancPluginService = 28;
pub const _OrthancPluginService__OrthancPluginService_RegisterPrivateDictionaryTag:
    _OrthancPluginService = 29;
pub const _OrthancPluginService__OrthancPluginService_AutodetectMimeType: _OrthancPluginService =
    30;
pub const _OrthancPluginService__OrthancPluginService_SetMetricsValue: _OrthancPluginService = 31;
pub const _OrthancPluginService__OrthancPluginService_EncodeDicomWebJson: _OrthancPluginService =
    32;
pub const _OrthancPluginService__OrthancPluginService_EncodeDicomWebXml: _OrthancPluginService = 33;
pub const _OrthancPluginService__OrthancPluginService_ChunkedHttpClient: _OrthancPluginService = 34;
pub const _OrthancPluginService__OrthancPluginService_GetTagName: _OrthancPluginService = 35;
pub const _OrthancPluginService__OrthancPluginService_EncodeDicomWebJson2: _OrthancPluginService =
    36;
pub const _OrthancPluginService__OrthancPluginService_EncodeDicomWebXml2: _OrthancPluginService =
    37;
pub const _OrthancPluginService__OrthancPluginService_CreateMemoryBuffer: _OrthancPluginService =
    38;
pub const _OrthancPluginService__OrthancPluginService_GenerateRestApiAuthorizationToken:
    _OrthancPluginService = 39;
pub const _OrthancPluginService__OrthancPluginService_CreateMemoryBuffer64: _OrthancPluginService =
    40;
pub const _OrthancPluginService__OrthancPluginService_CreateDicom2: _OrthancPluginService = 41;
pub const _OrthancPluginService__OrthancPluginService_GetDatabaseServerIdentifier:
    _OrthancPluginService = 42;
pub const _OrthancPluginService__OrthancPluginService_SetMetricsIntegerValue:
    _OrthancPluginService = 43;
pub const _OrthancPluginService__OrthancPluginService_SetCurrentThreadName: _OrthancPluginService =
    44;
pub const _OrthancPluginService__OrthancPluginService_LogMessage: _OrthancPluginService = 45;
pub const _OrthancPluginService__OrthancPluginService_AdoptDicomInstance: _OrthancPluginService =
    46;
pub const _OrthancPluginService__OrthancPluginService_GetAttachmentCustomData:
    _OrthancPluginService = 47;
pub const _OrthancPluginService__OrthancPluginService_SetAttachmentCustomData:
    _OrthancPluginService = 48;
pub const _OrthancPluginService__OrthancPluginService_StoreKeyValue: _OrthancPluginService = 49;
pub const _OrthancPluginService__OrthancPluginService_DeleteKeyValue: _OrthancPluginService = 50;
pub const _OrthancPluginService__OrthancPluginService_GetKeyValue: _OrthancPluginService = 51;
pub const _OrthancPluginService__OrthancPluginService_CreateKeysValuesIterator:
    _OrthancPluginService = 52;
pub const _OrthancPluginService__OrthancPluginService_FreeKeysValuesIterator:
    _OrthancPluginService = 53;
pub const _OrthancPluginService__OrthancPluginService_KeysValuesIteratorNext:
    _OrthancPluginService = 54;
pub const _OrthancPluginService__OrthancPluginService_KeysValuesIteratorGetKey:
    _OrthancPluginService = 55;
pub const _OrthancPluginService__OrthancPluginService_KeysValuesIteratorGetValue:
    _OrthancPluginService = 56;
pub const _OrthancPluginService__OrthancPluginService_EnqueueValue: _OrthancPluginService = 57;
pub const _OrthancPluginService__OrthancPluginService_DequeueValue: _OrthancPluginService = 58;
pub const _OrthancPluginService__OrthancPluginService_GetQueueSize: _OrthancPluginService = 59;
pub const _OrthancPluginService__OrthancPluginService_RegisterRestCallback: _OrthancPluginService =
    1000;
pub const _OrthancPluginService__OrthancPluginService_RegisterOnStoredInstanceCallback:
    _OrthancPluginService = 1001;
pub const _OrthancPluginService__OrthancPluginService_RegisterStorageArea: _OrthancPluginService =
    1002;
pub const _OrthancPluginService__OrthancPluginService_RegisterOnChangeCallback:
    _OrthancPluginService = 1003;
pub const _OrthancPluginService__OrthancPluginService_RegisterRestCallbackNoLock:
    _OrthancPluginService = 1004;
pub const _OrthancPluginService__OrthancPluginService_RegisterWorklistCallback:
    _OrthancPluginService = 1005;
pub const _OrthancPluginService__OrthancPluginService_RegisterDecodeImageCallback:
    _OrthancPluginService = 1006;
pub const _OrthancPluginService__OrthancPluginService_RegisterIncomingHttpRequestFilter:
    _OrthancPluginService = 1007;
pub const _OrthancPluginService__OrthancPluginService_RegisterFindCallback: _OrthancPluginService =
    1008;
pub const _OrthancPluginService__OrthancPluginService_RegisterMoveCallback: _OrthancPluginService =
    1009;
pub const _OrthancPluginService__OrthancPluginService_RegisterIncomingHttpRequestFilter2:
    _OrthancPluginService = 1010;
pub const _OrthancPluginService__OrthancPluginService_RegisterRefreshMetricsCallback:
    _OrthancPluginService = 1011;
pub const _OrthancPluginService__OrthancPluginService_RegisterChunkedRestCallback:
    _OrthancPluginService = 1012;
pub const _OrthancPluginService__OrthancPluginService_RegisterStorageCommitmentScpCallback:
    _OrthancPluginService = 1013;
pub const _OrthancPluginService__OrthancPluginService_RegisterIncomingDicomInstanceFilter:
    _OrthancPluginService = 1014;
pub const _OrthancPluginService__OrthancPluginService_RegisterTranscoderCallback:
    _OrthancPluginService = 1015;
pub const _OrthancPluginService__OrthancPluginService_RegisterStorageArea2: _OrthancPluginService =
    1016;
pub const _OrthancPluginService__OrthancPluginService_RegisterIncomingCStoreInstanceFilter:
    _OrthancPluginService = 1017;
pub const _OrthancPluginService__OrthancPluginService_RegisterReceivedInstanceCallback:
    _OrthancPluginService = 1018;
pub const _OrthancPluginService__OrthancPluginService_RegisterWebDavCollection:
    _OrthancPluginService = 1019;
pub const _OrthancPluginService__OrthancPluginService_RegisterStorageArea3: _OrthancPluginService =
    1020;
pub const _OrthancPluginService__OrthancPluginService_AnswerBuffer: _OrthancPluginService = 2000;
pub const _OrthancPluginService__OrthancPluginService_CompressAndAnswerPngImage:
    _OrthancPluginService = 2001;
pub const _OrthancPluginService__OrthancPluginService_Redirect: _OrthancPluginService = 2002;
pub const _OrthancPluginService__OrthancPluginService_SendHttpStatusCode: _OrthancPluginService =
    2003;
pub const _OrthancPluginService__OrthancPluginService_SendUnauthorized: _OrthancPluginService =
    2004;
pub const _OrthancPluginService__OrthancPluginService_SendMethodNotAllowed: _OrthancPluginService =
    2005;
pub const _OrthancPluginService__OrthancPluginService_SetCookie: _OrthancPluginService = 2006;
pub const _OrthancPluginService__OrthancPluginService_SetHttpHeader: _OrthancPluginService = 2007;
pub const _OrthancPluginService__OrthancPluginService_StartMultipartAnswer: _OrthancPluginService =
    2008;
pub const _OrthancPluginService__OrthancPluginService_SendMultipartItem: _OrthancPluginService =
    2009;
pub const _OrthancPluginService__OrthancPluginService_SendHttpStatus: _OrthancPluginService = 2010;
pub const _OrthancPluginService__OrthancPluginService_CompressAndAnswerImage:
    _OrthancPluginService = 2011;
pub const _OrthancPluginService__OrthancPluginService_SendMultipartItem2: _OrthancPluginService =
    2012;
pub const _OrthancPluginService__OrthancPluginService_SetHttpErrorDetails: _OrthancPluginService =
    2013;
pub const _OrthancPluginService__OrthancPluginService_StartStreamAnswer: _OrthancPluginService =
    2014;
pub const _OrthancPluginService__OrthancPluginService_SendStreamChunk: _OrthancPluginService = 2015;
pub const _OrthancPluginService__OrthancPluginService_GetDicomForInstance: _OrthancPluginService =
    3000;
pub const _OrthancPluginService__OrthancPluginService_RestApiGet: _OrthancPluginService = 3001;
pub const _OrthancPluginService__OrthancPluginService_RestApiPost: _OrthancPluginService = 3002;
pub const _OrthancPluginService__OrthancPluginService_RestApiDelete: _OrthancPluginService = 3003;
pub const _OrthancPluginService__OrthancPluginService_RestApiPut: _OrthancPluginService = 3004;
pub const _OrthancPluginService__OrthancPluginService_LookupPatient: _OrthancPluginService = 3005;
pub const _OrthancPluginService__OrthancPluginService_LookupStudy: _OrthancPluginService = 3006;
pub const _OrthancPluginService__OrthancPluginService_LookupSeries: _OrthancPluginService = 3007;
pub const _OrthancPluginService__OrthancPluginService_LookupInstance: _OrthancPluginService = 3008;
pub const _OrthancPluginService__OrthancPluginService_LookupStudyWithAccessionNumber:
    _OrthancPluginService = 3009;
pub const _OrthancPluginService__OrthancPluginService_RestApiGetAfterPlugins:
    _OrthancPluginService = 3010;
pub const _OrthancPluginService__OrthancPluginService_RestApiPostAfterPlugins:
    _OrthancPluginService = 3011;
pub const _OrthancPluginService__OrthancPluginService_RestApiDeleteAfterPlugins:
    _OrthancPluginService = 3012;
pub const _OrthancPluginService__OrthancPluginService_RestApiPutAfterPlugins:
    _OrthancPluginService = 3013;
pub const _OrthancPluginService__OrthancPluginService_ReconstructMainDicomTags:
    _OrthancPluginService = 3014;
pub const _OrthancPluginService__OrthancPluginService_RestApiGet2: _OrthancPluginService = 3015;
pub const _OrthancPluginService__OrthancPluginService_CallRestApi: _OrthancPluginService = 3016;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceRemoteAet: _OrthancPluginService =
    4000;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceSize: _OrthancPluginService = 4001;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceData: _OrthancPluginService = 4002;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceJson: _OrthancPluginService = 4003;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceSimplifiedJson:
    _OrthancPluginService = 4004;
pub const _OrthancPluginService__OrthancPluginService_HasInstanceMetadata: _OrthancPluginService =
    4005;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceMetadata: _OrthancPluginService =
    4006;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceOrigin: _OrthancPluginService =
    4007;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceTransferSyntaxUid:
    _OrthancPluginService = 4008;
pub const _OrthancPluginService__OrthancPluginService_HasInstancePixelData: _OrthancPluginService =
    4009;
pub const _OrthancPluginService__OrthancPluginService_CreateDicomInstance: _OrthancPluginService =
    4010;
pub const _OrthancPluginService__OrthancPluginService_FreeDicomInstance: _OrthancPluginService =
    4011;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceFramesCount:
    _OrthancPluginService = 4012;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceRawFrame: _OrthancPluginService =
    4013;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceDecodedFrame:
    _OrthancPluginService = 4014;
pub const _OrthancPluginService__OrthancPluginService_TranscodeDicomInstance:
    _OrthancPluginService = 4015;
pub const _OrthancPluginService__OrthancPluginService_SerializeDicomInstance:
    _OrthancPluginService = 4016;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceAdvancedJson:
    _OrthancPluginService = 4017;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceDicomWebJson:
    _OrthancPluginService = 4018;
pub const _OrthancPluginService__OrthancPluginService_GetInstanceDicomWebXml:
    _OrthancPluginService = 4019;
pub const _OrthancPluginService__OrthancPluginService_LoadDicomInstance: _OrthancPluginService =
    4020;
pub const _OrthancPluginService__OrthancPluginService_RegisterDatabaseBackend:
    _OrthancPluginService = 5000;
pub const _OrthancPluginService__OrthancPluginService_DatabaseAnswer: _OrthancPluginService = 5001;
pub const _OrthancPluginService__OrthancPluginService_RegisterDatabaseBackendV2:
    _OrthancPluginService = 5002;
pub const _OrthancPluginService__OrthancPluginService_StorageAreaCreate: _OrthancPluginService =
    5003;
pub const _OrthancPluginService__OrthancPluginService_StorageAreaRead: _OrthancPluginService = 5004;
pub const _OrthancPluginService__OrthancPluginService_StorageAreaRemove: _OrthancPluginService =
    5005;
pub const _OrthancPluginService__OrthancPluginService_RegisterDatabaseBackendV3:
    _OrthancPluginService = 5006;
pub const _OrthancPluginService__OrthancPluginService_RegisterDatabaseBackendV4:
    _OrthancPluginService = 5007;
pub const _OrthancPluginService__OrthancPluginService_GetImagePixelFormat: _OrthancPluginService =
    6000;
pub const _OrthancPluginService__OrthancPluginService_GetImageWidth: _OrthancPluginService = 6001;
pub const _OrthancPluginService__OrthancPluginService_GetImageHeight: _OrthancPluginService = 6002;
pub const _OrthancPluginService__OrthancPluginService_GetImagePitch: _OrthancPluginService = 6003;
pub const _OrthancPluginService__OrthancPluginService_GetImageBuffer: _OrthancPluginService = 6004;
pub const _OrthancPluginService__OrthancPluginService_UncompressImage: _OrthancPluginService = 6005;
pub const _OrthancPluginService__OrthancPluginService_FreeImage: _OrthancPluginService = 6006;
pub const _OrthancPluginService__OrthancPluginService_CompressImage: _OrthancPluginService = 6007;
pub const _OrthancPluginService__OrthancPluginService_ConvertPixelFormat: _OrthancPluginService =
    6008;
pub const _OrthancPluginService__OrthancPluginService_GetFontsCount: _OrthancPluginService = 6009;
pub const _OrthancPluginService__OrthancPluginService_GetFontInfo: _OrthancPluginService = 6010;
pub const _OrthancPluginService__OrthancPluginService_DrawText: _OrthancPluginService = 6011;
pub const _OrthancPluginService__OrthancPluginService_CreateImage: _OrthancPluginService = 6012;
pub const _OrthancPluginService__OrthancPluginService_CreateImageAccessor: _OrthancPluginService =
    6013;
pub const _OrthancPluginService__OrthancPluginService_DecodeDicomImage: _OrthancPluginService =
    6014;
pub const _OrthancPluginService__OrthancPluginService_WorklistAddAnswer: _OrthancPluginService =
    7000;
pub const _OrthancPluginService__OrthancPluginService_WorklistMarkIncomplete:
    _OrthancPluginService = 7001;
pub const _OrthancPluginService__OrthancPluginService_WorklistIsMatch: _OrthancPluginService = 7002;
pub const _OrthancPluginService__OrthancPluginService_WorklistGetDicomQuery: _OrthancPluginService =
    7003;
pub const _OrthancPluginService__OrthancPluginService_FindAddAnswer: _OrthancPluginService = 7004;
pub const _OrthancPluginService__OrthancPluginService_FindMarkIncomplete: _OrthancPluginService =
    7005;
pub const _OrthancPluginService__OrthancPluginService_GetFindQuerySize: _OrthancPluginService =
    7006;
pub const _OrthancPluginService__OrthancPluginService_GetFindQueryTag: _OrthancPluginService = 7007;
pub const _OrthancPluginService__OrthancPluginService_GetFindQueryTagName: _OrthancPluginService =
    7008;
pub const _OrthancPluginService__OrthancPluginService_GetFindQueryValue: _OrthancPluginService =
    7009;
pub const _OrthancPluginService__OrthancPluginService_CreateFindMatcher: _OrthancPluginService =
    7010;
pub const _OrthancPluginService__OrthancPluginService_FreeFindMatcher: _OrthancPluginService = 7011;
pub const _OrthancPluginService__OrthancPluginService_FindMatcherIsMatch: _OrthancPluginService =
    7012;
pub const _OrthancPluginService__OrthancPluginService_GetPeers: _OrthancPluginService = 8000;
pub const _OrthancPluginService__OrthancPluginService_FreePeers: _OrthancPluginService = 8001;
pub const _OrthancPluginService__OrthancPluginService_GetPeersCount: _OrthancPluginService = 8003;
pub const _OrthancPluginService__OrthancPluginService_GetPeerName: _OrthancPluginService = 8004;
pub const _OrthancPluginService__OrthancPluginService_GetPeerUrl: _OrthancPluginService = 8005;
pub const _OrthancPluginService__OrthancPluginService_CallPeerApi: _OrthancPluginService = 8006;
pub const _OrthancPluginService__OrthancPluginService_GetPeerUserProperty: _OrthancPluginService =
    8007;
pub const _OrthancPluginService__OrthancPluginService_CreateJob: _OrthancPluginService = 9000;
pub const _OrthancPluginService__OrthancPluginService_FreeJob: _OrthancPluginService = 9001;
pub const _OrthancPluginService__OrthancPluginService_SubmitJob: _OrthancPluginService = 9002;
pub const _OrthancPluginService__OrthancPluginService_RegisterJobsUnserializer:
    _OrthancPluginService = 9003;
pub const _OrthancPluginService__OrthancPluginService_CreateJob2: _OrthancPluginService = 9004;
pub const _OrthancPluginService__OrthancPluginService_INTERNAL: _OrthancPluginService = 2147483647;
pub type _OrthancPluginService = ::std::os::raw::c_uint;
pub const _OrthancPluginProperty__OrthancPluginProperty_Description: _OrthancPluginProperty = 1;
pub const _OrthancPluginProperty__OrthancPluginProperty_RootUri: _OrthancPluginProperty = 2;
pub const _OrthancPluginProperty__OrthancPluginProperty_OrthancExplorer: _OrthancPluginProperty = 3;
pub const _OrthancPluginProperty__OrthancPluginProperty_INTERNAL: _OrthancPluginProperty =
    2147483647;
pub type _OrthancPluginProperty = ::std::os::raw::c_uint;
#[doc = " @brief Graylevel 8bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n one byte."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Grayscale8: OrthancPluginPixelFormat =
    1;
#[doc = " @brief Graylevel, unsigned 16bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n two bytes."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Grayscale16: OrthancPluginPixelFormat =
    2;
#[doc = " @brief Graylevel, signed 16bpp image.\n\n The image is graylevel. Each pixel is signed and stored in two\n bytes."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_SignedGrayscale16:
    OrthancPluginPixelFormat = 3;
#[doc = " @brief Color image in RGB24 format.\n\n This format describes a color image. The pixels are stored in 3\n consecutive bytes. The memory layout is RGB."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_RGB24: OrthancPluginPixelFormat = 4;
#[doc = " @brief Color image in RGBA32 format.\n\n This format describes a color image. The pixels are stored in 4\n consecutive bytes. The memory layout is RGBA."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_RGBA32: OrthancPluginPixelFormat = 5;
#[doc = "< Unknown pixel format"]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Unknown: OrthancPluginPixelFormat = 6;
#[doc = " @brief Color image in RGB48 format.\n\n This format describes a color image. The pixels are stored in 6\n consecutive bytes. The memory layout is RRGGBB."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_RGB48: OrthancPluginPixelFormat = 7;
#[doc = " @brief Graylevel, unsigned 32bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n four bytes."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Grayscale32: OrthancPluginPixelFormat =
    8;
#[doc = " @brief Graylevel, floating-point 32bpp image.\n\n The image is graylevel. Each pixel is floating-point and stored\n in four bytes."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Float32: OrthancPluginPixelFormat = 9;
#[doc = " @brief Color image in BGRA32 format.\n\n This format describes a color image. The pixels are stored in 4\n consecutive bytes. The memory layout is BGRA."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_BGRA32: OrthancPluginPixelFormat = 10;
#[doc = " @brief Graylevel, unsigned 64bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n eight bytes."]
pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Grayscale64: OrthancPluginPixelFormat =
    11;
#[doc = " @brief Graylevel, unsigned 64bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n eight bytes."]
pub const OrthancPluginPixelFormat__OrthancPluginPixelFormat_INTERNAL: OrthancPluginPixelFormat =
    2147483647;
#[doc = " The memory layout of the pixels of an image.\n @ingroup Images"]
pub type OrthancPluginPixelFormat = ::std::os::raw::c_uint;
#[doc = "< Unknown content type"]
pub const OrthancPluginContentType_OrthancPluginContentType_Unknown: OrthancPluginContentType = 0;
#[doc = "< DICOM"]
pub const OrthancPluginContentType_OrthancPluginContentType_Dicom: OrthancPluginContentType = 1;
#[doc = "< JSON summary of a DICOM file"]
pub const OrthancPluginContentType_OrthancPluginContentType_DicomAsJson: OrthancPluginContentType =
    2;
#[doc = "< DICOM Header till pixel data"]
pub const OrthancPluginContentType_OrthancPluginContentType_DicomUntilPixelData:
    OrthancPluginContentType = 3;
pub const OrthancPluginContentType__OrthancPluginContentType_INTERNAL: OrthancPluginContentType =
    2147483647;
#[doc = " The content types that are supported by Orthanc plugins."]
pub type OrthancPluginContentType = ::std::os::raw::c_uint;
#[doc = "< Patient"]
pub const OrthancPluginResourceType_OrthancPluginResourceType_Patient: OrthancPluginResourceType =
    0;
#[doc = "< Study"]
pub const OrthancPluginResourceType_OrthancPluginResourceType_Study: OrthancPluginResourceType = 1;
#[doc = "< Series"]
pub const OrthancPluginResourceType_OrthancPluginResourceType_Series: OrthancPluginResourceType = 2;
#[doc = "< Instance"]
pub const OrthancPluginResourceType_OrthancPluginResourceType_Instance: OrthancPluginResourceType =
    3;
#[doc = "< Unavailable resource type"]
pub const OrthancPluginResourceType_OrthancPluginResourceType_None: OrthancPluginResourceType = 4;
pub const OrthancPluginResourceType__OrthancPluginResourceType_INTERNAL: OrthancPluginResourceType =
    2147483647;
#[doc = " The supported types of DICOM resources."]
pub type OrthancPluginResourceType = ::std::os::raw::c_uint;
#[doc = "< Series is now complete"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_CompletedSeries: OrthancPluginChangeType =
    0;
#[doc = "< Deleted resource"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_Deleted: OrthancPluginChangeType = 1;
#[doc = "< A new instance was added to this resource"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_NewChildInstance:
    OrthancPluginChangeType = 2;
#[doc = "< New instance received"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_NewInstance: OrthancPluginChangeType = 3;
#[doc = "< New patient created"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_NewPatient: OrthancPluginChangeType = 4;
#[doc = "< New series created"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_NewSeries: OrthancPluginChangeType = 5;
#[doc = "< New study created"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_NewStudy: OrthancPluginChangeType = 6;
#[doc = "< Timeout: No new instance in this patient"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_StablePatient: OrthancPluginChangeType =
    7;
#[doc = "< Timeout: No new instance in this series"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_StableSeries: OrthancPluginChangeType = 8;
#[doc = "< Timeout: No new instance in this study"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_StableStudy: OrthancPluginChangeType = 9;
#[doc = "< Orthanc has started"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_OrthancStarted: OrthancPluginChangeType =
    10;
#[doc = "< Orthanc is stopping"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_OrthancStopped: OrthancPluginChangeType =
    11;
#[doc = "< Some user-defined attachment has changed for this resource"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_UpdatedAttachment:
    OrthancPluginChangeType = 12;
#[doc = "< Some user-defined metadata has changed for this resource"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_UpdatedMetadata: OrthancPluginChangeType =
    13;
#[doc = "< The list of Orthanc peers has changed"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_UpdatedPeers: OrthancPluginChangeType =
    14;
#[doc = "< The list of DICOM modalities has changed"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_UpdatedModalities:
    OrthancPluginChangeType = 15;
#[doc = "< New Job submitted"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_JobSubmitted: OrthancPluginChangeType =
    16;
#[doc = "< A Job has completed successfully"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_JobSuccess: OrthancPluginChangeType = 17;
#[doc = "< A Job has failed"]
pub const OrthancPluginChangeType_OrthancPluginChangeType_JobFailure: OrthancPluginChangeType = 18;
pub const OrthancPluginChangeType__OrthancPluginChangeType_INTERNAL: OrthancPluginChangeType =
    2147483647;
#[doc = " The supported types of changes that can be signaled to the change callback.\n Note: This enumeration is not used to store changes in the database!\n @ingroup Callbacks"]
pub type OrthancPluginChangeType = ::std::os::raw::c_uint;
#[doc = "< Standard zlib compression"]
pub const OrthancPluginCompressionType_OrthancPluginCompressionType_Zlib:
    OrthancPluginCompressionType = 0;
#[doc = "< zlib, prefixed with uncompressed size (uint64_t)"]
pub const OrthancPluginCompressionType_OrthancPluginCompressionType_ZlibWithSize:
    OrthancPluginCompressionType = 1;
#[doc = "< Standard gzip compression"]
pub const OrthancPluginCompressionType_OrthancPluginCompressionType_Gzip:
    OrthancPluginCompressionType = 2;
#[doc = "< gzip, prefixed with uncompressed size (uint64_t)"]
pub const OrthancPluginCompressionType_OrthancPluginCompressionType_GzipWithSize:
    OrthancPluginCompressionType = 3;
#[doc = "< No compression (new in Orthanc 1.12.8)"]
pub const OrthancPluginCompressionType_OrthancPluginCompressionType_None:
    OrthancPluginCompressionType = 4;
pub const OrthancPluginCompressionType__OrthancPluginCompressionType_INTERNAL:
    OrthancPluginCompressionType = 2147483647;
#[doc = " The compression algorithms that are supported by the Orthanc core.\n @ingroup Images"]
pub type OrthancPluginCompressionType = ::std::os::raw::c_uint;
#[doc = "< Image compressed using PNG"]
pub const OrthancPluginImageFormat_OrthancPluginImageFormat_Png: OrthancPluginImageFormat = 0;
#[doc = "< Image compressed using JPEG"]
pub const OrthancPluginImageFormat_OrthancPluginImageFormat_Jpeg: OrthancPluginImageFormat = 1;
#[doc = "< Image compressed using DICOM"]
pub const OrthancPluginImageFormat_OrthancPluginImageFormat_Dicom: OrthancPluginImageFormat = 2;
pub const OrthancPluginImageFormat__OrthancPluginImageFormat_INTERNAL: OrthancPluginImageFormat =
    2147483647;
#[doc = " The image formats that are supported by the Orthanc core.\n @ingroup Images"]
pub type OrthancPluginImageFormat = ::std::os::raw::c_uint;
#[doc = "< Application Entity"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_AE:
    OrthancPluginValueRepresentation = 1;
#[doc = "< Age String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_AS:
    OrthancPluginValueRepresentation = 2;
#[doc = "< Attribute Tag"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_AT:
    OrthancPluginValueRepresentation = 3;
#[doc = "< Code String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_CS:
    OrthancPluginValueRepresentation = 4;
#[doc = "< Date"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_DA:
    OrthancPluginValueRepresentation = 5;
#[doc = "< Decimal String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_DS:
    OrthancPluginValueRepresentation = 6;
#[doc = "< Date Time"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_DT:
    OrthancPluginValueRepresentation = 7;
#[doc = "< Floating Point Double"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_FD:
    OrthancPluginValueRepresentation = 8;
#[doc = "< Floating Point Single"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_FL:
    OrthancPluginValueRepresentation = 9;
#[doc = "< Integer String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_IS:
    OrthancPluginValueRepresentation = 10;
#[doc = "< Long String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_LO:
    OrthancPluginValueRepresentation = 11;
#[doc = "< Long Text"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_LT:
    OrthancPluginValueRepresentation = 12;
#[doc = "< Other Byte String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_OB:
    OrthancPluginValueRepresentation = 13;
#[doc = "< Other Float String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_OF:
    OrthancPluginValueRepresentation = 14;
#[doc = "< Other Word String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_OW:
    OrthancPluginValueRepresentation = 15;
#[doc = "< Person Name"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_PN:
    OrthancPluginValueRepresentation = 16;
#[doc = "< Short String"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_SH:
    OrthancPluginValueRepresentation = 17;
#[doc = "< Signed Long"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_SL:
    OrthancPluginValueRepresentation = 18;
#[doc = "< Sequence of Items"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_SQ:
    OrthancPluginValueRepresentation = 19;
#[doc = "< Signed Short"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_SS:
    OrthancPluginValueRepresentation = 20;
#[doc = "< Short Text"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_ST:
    OrthancPluginValueRepresentation = 21;
#[doc = "< Time"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_TM:
    OrthancPluginValueRepresentation = 22;
#[doc = "< Unique Identifier (UID)"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_UI:
    OrthancPluginValueRepresentation = 23;
#[doc = "< Unsigned Long"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_UL:
    OrthancPluginValueRepresentation = 24;
#[doc = "< Unknown"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_UN:
    OrthancPluginValueRepresentation = 25;
#[doc = "< Unsigned Short"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_US:
    OrthancPluginValueRepresentation = 26;
#[doc = "< Unlimited Text"]
pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_UT:
    OrthancPluginValueRepresentation = 27;
pub const OrthancPluginValueRepresentation__OrthancPluginValueRepresentation_INTERNAL:
    OrthancPluginValueRepresentation = 2147483647;
#[doc = " The value representations present in the DICOM standard (version 2013).\n @ingroup Toolbox"]
pub type OrthancPluginValueRepresentation = ::std::os::raw::c_uint;
#[doc = "< Full output, with most details"]
pub const OrthancPluginDicomToJsonFormat_OrthancPluginDicomToJsonFormat_Full:
    OrthancPluginDicomToJsonFormat = 1;
#[doc = "< Tags output as hexadecimal numbers"]
pub const OrthancPluginDicomToJsonFormat_OrthancPluginDicomToJsonFormat_Short:
    OrthancPluginDicomToJsonFormat = 2;
#[doc = "< Human-readable JSON"]
pub const OrthancPluginDicomToJsonFormat_OrthancPluginDicomToJsonFormat_Human:
    OrthancPluginDicomToJsonFormat = 3;
pub const OrthancPluginDicomToJsonFormat__OrthancPluginDicomToJsonFormat_INTERNAL:
    OrthancPluginDicomToJsonFormat = 2147483647;
#[doc = " The possible output formats for a DICOM-to-JSON conversion.\n @ingroup Toolbox\n @see OrthancPluginDicomToJson()"]
pub type OrthancPluginDicomToJsonFormat = ::std::os::raw::c_uint;
#[doc = "< Default formatting"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_None:
    OrthancPluginDicomToJsonFlags = 0;
#[doc = "< Include the binary tags"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_IncludeBinary:
    OrthancPluginDicomToJsonFlags = 1;
#[doc = "< Include the private tags"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_IncludePrivateTags:
    OrthancPluginDicomToJsonFlags = 2;
#[doc = "< Include the tags unknown by the dictionary"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_IncludeUnknownTags:
    OrthancPluginDicomToJsonFlags = 4;
#[doc = "< Include the pixel data"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_IncludePixelData:
    OrthancPluginDicomToJsonFlags = 8;
#[doc = "< Output binary tags as-is, dropping non-ASCII"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_ConvertBinaryToAscii:
    OrthancPluginDicomToJsonFlags = 16;
#[doc = "< Signal binary tags as null values"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_ConvertBinaryToNull:
    OrthancPluginDicomToJsonFlags = 32;
#[doc = "< Stop processing after pixel data (new in 1.9.1)"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_StopAfterPixelData:
    OrthancPluginDicomToJsonFlags = 64;
#[doc = "< Skip tags whose element is zero (new in 1.9.1)"]
pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_SkipGroupLengths:
    OrthancPluginDicomToJsonFlags = 128;
pub const OrthancPluginDicomToJsonFlags__OrthancPluginDicomToJsonFlags_INTERNAL:
    OrthancPluginDicomToJsonFlags = 2147483647;
#[doc = " Flags to customize a DICOM-to-JSON conversion. By default, binary\n tags are formatted using Data URI scheme.\n @ingroup Toolbox"]
pub type OrthancPluginDicomToJsonFlags = ::std::os::raw::c_uint;
#[doc = "< Default mode"]
pub const OrthancPluginCreateDicomFlags_OrthancPluginCreateDicomFlags_None:
    OrthancPluginCreateDicomFlags = 0;
#[doc = "< Decode fields encoded using data URI scheme"]
pub const OrthancPluginCreateDicomFlags_OrthancPluginCreateDicomFlags_DecodeDataUriScheme:
    OrthancPluginCreateDicomFlags = 1;
#[doc = "< Automatically generate DICOM identifiers"]
pub const OrthancPluginCreateDicomFlags_OrthancPluginCreateDicomFlags_GenerateIdentifiers:
    OrthancPluginCreateDicomFlags = 2;
pub const OrthancPluginCreateDicomFlags__OrthancPluginCreateDicomFlags_INTERNAL:
    OrthancPluginCreateDicomFlags = 2147483647;
#[doc = " Flags for the creation of a DICOM file.\n @ingroup Toolbox\n @see OrthancPluginCreateDicom()"]
pub type OrthancPluginCreateDicomFlags = ::std::os::raw::c_uint;
#[doc = "< Equal"]
pub const OrthancPluginIdentifierConstraint_OrthancPluginIdentifierConstraint_Equal:
    OrthancPluginIdentifierConstraint = 1;
#[doc = "< Less or equal"]
pub const OrthancPluginIdentifierConstraint_OrthancPluginIdentifierConstraint_SmallerOrEqual:
    OrthancPluginIdentifierConstraint = 2;
#[doc = "< More or equal"]
pub const OrthancPluginIdentifierConstraint_OrthancPluginIdentifierConstraint_GreaterOrEqual:
    OrthancPluginIdentifierConstraint = 3;
#[doc = "< Case-sensitive wildcard matching (with * and ?)"]
pub const OrthancPluginIdentifierConstraint_OrthancPluginIdentifierConstraint_Wildcard:
    OrthancPluginIdentifierConstraint = 4;
pub const OrthancPluginIdentifierConstraint__OrthancPluginIdentifierConstraint_INTERNAL:
    OrthancPluginIdentifierConstraint = 2147483647;
#[doc = " The constraints on the DICOM identifiers that must be supported\n by the database plugins.\n @deprecated Plugins using OrthancPluginConstraintType will be faster"]
pub type OrthancPluginIdentifierConstraint = ::std::os::raw::c_uint;
#[doc = "< Equal"]
pub const OrthancPluginConstraintType_OrthancPluginConstraintType_Equal:
    OrthancPluginConstraintType = 1;
#[doc = "< Less or equal"]
pub const OrthancPluginConstraintType_OrthancPluginConstraintType_SmallerOrEqual:
    OrthancPluginConstraintType = 2;
#[doc = "< More or equal"]
pub const OrthancPluginConstraintType_OrthancPluginConstraintType_GreaterOrEqual:
    OrthancPluginConstraintType = 3;
#[doc = "< Wildcard matching"]
pub const OrthancPluginConstraintType_OrthancPluginConstraintType_Wildcard:
    OrthancPluginConstraintType = 4;
#[doc = "< List of values"]
pub const OrthancPluginConstraintType_OrthancPluginConstraintType_List:
    OrthancPluginConstraintType = 5;
pub const OrthancPluginConstraintType__OrthancPluginConstraintType_INTERNAL:
    OrthancPluginConstraintType = 2147483647;
#[doc = " The constraints on the tags (main DICOM tags and identifier tags)\n that must be supported by the database plugins."]
pub type OrthancPluginConstraintType = ::std::os::raw::c_uint;
#[doc = "< Unknown origin"]
pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_Unknown:
    OrthancPluginInstanceOrigin = 1;
#[doc = "< Instance received through DICOM protocol"]
pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_DicomProtocol:
    OrthancPluginInstanceOrigin = 2;
#[doc = "< Instance received through REST API of Orthanc"]
pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_RestApi:
    OrthancPluginInstanceOrigin = 3;
#[doc = "< Instance added to Orthanc by a plugin"]
pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_Plugin:
    OrthancPluginInstanceOrigin = 4;
#[doc = "< Instance added to Orthanc by a Lua script"]
pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_Lua: OrthancPluginInstanceOrigin =
    5;
#[doc = "< Instance received through WebDAV (new in 1.8.0)"]
pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_WebDav:
    OrthancPluginInstanceOrigin = 6;
pub const OrthancPluginInstanceOrigin__OrthancPluginInstanceOrigin_INTERNAL:
    OrthancPluginInstanceOrigin = 2147483647;
#[doc = " The origin of a DICOM instance that has been received by Orthanc."]
pub type OrthancPluginInstanceOrigin = ::std::os::raw::c_uint;
#[doc = "< The job has successfully executed all its steps"]
pub const OrthancPluginJobStepStatus_OrthancPluginJobStepStatus_Success:
    OrthancPluginJobStepStatus = 1;
#[doc = "< The job has failed while executing this step"]
pub const OrthancPluginJobStepStatus_OrthancPluginJobStepStatus_Failure:
    OrthancPluginJobStepStatus = 2;
#[doc = "< The job has still data to process after this step"]
pub const OrthancPluginJobStepStatus_OrthancPluginJobStepStatus_Continue:
    OrthancPluginJobStepStatus = 3;
#[doc = " The possible status for one single step of a job."]
pub type OrthancPluginJobStepStatus = ::std::os::raw::c_uint;
#[doc = "< The job has succeeded"]
pub const OrthancPluginJobStopReason_OrthancPluginJobStopReason_Success:
    OrthancPluginJobStopReason = 1;
#[doc = "< The job was paused, and will be resumed later"]
pub const OrthancPluginJobStopReason_OrthancPluginJobStopReason_Paused: OrthancPluginJobStopReason =
    2;
#[doc = "< The job has failed, and might be resubmitted later"]
pub const OrthancPluginJobStopReason_OrthancPluginJobStopReason_Failure:
    OrthancPluginJobStopReason = 3;
#[doc = "< The job was canceled, and might be resubmitted later"]
pub const OrthancPluginJobStopReason_OrthancPluginJobStopReason_Canceled:
    OrthancPluginJobStopReason = 4;
#[doc = " Explains why the job should stop and release the resources it has\n allocated. This is especially important to disambiguate between\n the \"paused\" condition and the \"final\" conditions (success,\n failure, or canceled)."]
pub type OrthancPluginJobStopReason = ::std::os::raw::c_uint;
#[doc = "< Default metrics"]
pub const OrthancPluginMetricsType_OrthancPluginMetricsType_Default: OrthancPluginMetricsType = 0;
#[doc = " This metrics represents a time duration. Orthanc will keep the\n maximum value of the metrics over a sliding window of ten\n seconds, which is useful if the metrics is sampled frequently."]
pub const OrthancPluginMetricsType_OrthancPluginMetricsType_Timer: OrthancPluginMetricsType = 1;
#[doc = " The available types of metrics."]
pub type OrthancPluginMetricsType = ::std::os::raw::c_uint;
#[doc = "< Don't include binary tags"]
pub const OrthancPluginDicomWebBinaryMode_OrthancPluginDicomWebBinaryMode_Ignore:
    OrthancPluginDicomWebBinaryMode = 0;
#[doc = "< Inline encoding using Base64"]
pub const OrthancPluginDicomWebBinaryMode_OrthancPluginDicomWebBinaryMode_InlineBinary:
    OrthancPluginDicomWebBinaryMode = 1;
#[doc = "< Use a bulk data URI field"]
pub const OrthancPluginDicomWebBinaryMode_OrthancPluginDicomWebBinaryMode_BulkDataUri:
    OrthancPluginDicomWebBinaryMode = 2;
#[doc = " The available modes to export a binary DICOM tag into a DICOMweb\n JSON or XML document."]
pub type OrthancPluginDicomWebBinaryMode = ::std::os::raw::c_uint;
#[doc = " Success: The DICOM instance is properly stored in the SCP"]
pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_Success : OrthancPluginStorageCommitmentFailureReason = 0 ;
#[doc = " 0110H: A general failure in processing the operation was encountered"]
pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_ProcessingFailure : OrthancPluginStorageCommitmentFailureReason = 1 ;
#[doc = " 0112H: One or more of the elements in the Referenced SOP\n Instance Sequence was not available"]
pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_NoSuchObjectInstance : OrthancPluginStorageCommitmentFailureReason = 2 ;
#[doc = " 0213H: The SCP does not currently have enough resources to\n store the requested SOP Instance(s)"]
pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_ResourceLimitation : OrthancPluginStorageCommitmentFailureReason = 3 ;
#[doc = " 0122H: Storage Commitment has been requested for a SOP Instance\n with a SOP Class that is not supported by the SCP"]
pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_ReferencedSOPClassNotSupported : OrthancPluginStorageCommitmentFailureReason = 4 ;
#[doc = " 0119H: The SOP Class of an element in the Referenced SOP\n Instance Sequence did not correspond to the SOP class\n registered for this SOP Instance at the SCP"]
pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_ClassInstanceConflict : OrthancPluginStorageCommitmentFailureReason = 5 ;
#[doc = " 0131H: The Transaction UID of the Storage Commitment Request is\n already in use"]
pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_DuplicateTransactionUID : OrthancPluginStorageCommitmentFailureReason = 6 ;
#[doc = " The available values for the Failure Reason (0008,1197) during\n storage commitment.\n http://dicom.nema.org/medical/dicom/2019e/output/chtml/part03/sect_C.14.html#sect_C.14.1.1"]
pub type OrthancPluginStorageCommitmentFailureReason = ::std::os::raw::c_uint;
#[doc = "< Keep the instance as is"]
pub const OrthancPluginReceivedInstanceAction_OrthancPluginReceivedInstanceAction_KeepAsIs:
    OrthancPluginReceivedInstanceAction = 1;
#[doc = "< Modify the instance"]
pub const OrthancPluginReceivedInstanceAction_OrthancPluginReceivedInstanceAction_Modify:
    OrthancPluginReceivedInstanceAction = 2;
#[doc = "< Discard the instance"]
pub const OrthancPluginReceivedInstanceAction_OrthancPluginReceivedInstanceAction_Discard:
    OrthancPluginReceivedInstanceAction = 3;
pub const OrthancPluginReceivedInstanceAction__OrthancPluginReceivedInstanceAction_INTERNAL:
    OrthancPluginReceivedInstanceAction = 2147483647;
#[doc = " The action to be taken after ReceivedInstanceCallback is triggered"]
pub type OrthancPluginReceivedInstanceAction = ::std::os::raw::c_uint;
#[doc = " Load the whole DICOM file, including pixel data"]
pub const OrthancPluginLoadDicomInstanceMode_OrthancPluginLoadDicomInstanceMode_WholeDicom:
    OrthancPluginLoadDicomInstanceMode = 1;
#[doc = " Load the whole DICOM file until pixel data, which speeds up the\n loading"]
pub const OrthancPluginLoadDicomInstanceMode_OrthancPluginLoadDicomInstanceMode_UntilPixelData:
    OrthancPluginLoadDicomInstanceMode = 2;
#[doc = " Load the whole DICOM file until pixel data, and replace pixel\n data by an empty tag whose VR (value representation) is the\n same as those of the original DICOM file"]
pub const OrthancPluginLoadDicomInstanceMode_OrthancPluginLoadDicomInstanceMode_EmptyPixelData:
    OrthancPluginLoadDicomInstanceMode = 3;
#[doc = " Load the whole DICOM file until pixel data, and replace pixel\n data by an empty tag whose VR (value representation) is the\n same as those of the original DICOM file"]
pub const OrthancPluginLoadDicomInstanceMode__OrthancPluginLoadDicomInstanceMode_INTERNAL:
    OrthancPluginLoadDicomInstanceMode = 2147483647;
#[doc = " Mode specifying how to load a DICOM instance.\n @see OrthancPluginLoadDicomInstance()"]
pub type OrthancPluginLoadDicomInstanceMode = ::std::os::raw::c_uint;
#[doc = "< Error log level"]
pub const OrthancPluginLogLevel_OrthancPluginLogLevel_Error: OrthancPluginLogLevel = 0;
#[doc = "< Warning log level"]
pub const OrthancPluginLogLevel_OrthancPluginLogLevel_Warning: OrthancPluginLogLevel = 1;
#[doc = "< Info log level"]
pub const OrthancPluginLogLevel_OrthancPluginLogLevel_Info: OrthancPluginLogLevel = 2;
#[doc = "< Trace log level"]
pub const OrthancPluginLogLevel_OrthancPluginLogLevel_Trace: OrthancPluginLogLevel = 3;
pub const OrthancPluginLogLevel__OrthancPluginLogLevel_INTERNAL: OrthancPluginLogLevel = 2147483647;
#[doc = " The log levels supported by Orthanc.\n\n These values must match those of enumeration \"LogLevel\" in the\n Orthanc Core."]
pub type OrthancPluginLogLevel = ::std::os::raw::c_uint;
#[doc = "< Generic (default) category"]
pub const OrthancPluginLogCategory_OrthancPluginLogCategory_Generic: OrthancPluginLogCategory = 1;
#[doc = "< Plugin engine related logs (shall not be used by plugins)"]
pub const OrthancPluginLogCategory_OrthancPluginLogCategory_Plugins: OrthancPluginLogCategory = 2;
#[doc = "< HTTP related logs"]
pub const OrthancPluginLogCategory_OrthancPluginLogCategory_Http: OrthancPluginLogCategory = 4;
#[doc = "< SQLite related logs (shall not be used by plugins)"]
pub const OrthancPluginLogCategory_OrthancPluginLogCategory_Sqlite: OrthancPluginLogCategory = 8;
#[doc = "< DICOM related logs"]
pub const OrthancPluginLogCategory_OrthancPluginLogCategory_Dicom: OrthancPluginLogCategory = 16;
#[doc = "< jobs related logs"]
pub const OrthancPluginLogCategory_OrthancPluginLogCategory_Jobs: OrthancPluginLogCategory = 32;
#[doc = "< Lua related logs (shall not be used by plugins)"]
pub const OrthancPluginLogCategory_OrthancPluginLogCategory_Lua: OrthancPluginLogCategory = 64;
pub const OrthancPluginLogCategory__OrthancPluginLogCategory_INTERNAL: OrthancPluginLogCategory =
    2147483647;
#[doc = " The log categories supported by Orthanc.\n\n These values must match those of enumeration \"LogCategory\" in the\n Orthanc Core."]
pub type OrthancPluginLogCategory = ::std::os::raw::c_uint;
#[doc = "< The file has been stored/adopted"]
pub const OrthancPluginStoreStatus_OrthancPluginStoreStatus_Success: OrthancPluginStoreStatus = 0;
#[doc = "< The file has already been stored/adopted (only if OverwriteInstances is set to false)"]
pub const OrthancPluginStoreStatus_OrthancPluginStoreStatus_AlreadyStored:
    OrthancPluginStoreStatus = 1;
#[doc = "< The file could not be stored/adopted"]
pub const OrthancPluginStoreStatus_OrthancPluginStoreStatus_Failure: OrthancPluginStoreStatus = 2;
#[doc = "< The file has been filtered out by a Lua script or a plugin"]
pub const OrthancPluginStoreStatus_OrthancPluginStoreStatus_FilteredOut: OrthancPluginStoreStatus =
    3;
#[doc = "< The storage is full (only if MaximumStorageSize/MaximumPatientCount is set and MaximumStorageMode is Reject)"]
pub const OrthancPluginStoreStatus_OrthancPluginStoreStatus_StorageFull: OrthancPluginStoreStatus =
    4;
pub const OrthancPluginStoreStatus__OrthancPluginStoreStatus_INTERNAL: OrthancPluginStoreStatus =
    2147483647;
#[doc = " The store status related to the adoption of a DICOM instance."]
pub type OrthancPluginStoreStatus = ::std::os::raw::c_uint;
#[doc = "< Dequeue from the front of the queue"]
pub const OrthancPluginQueueOrigin_OrthancPluginQueueOrigin_Front: OrthancPluginQueueOrigin = 0;
#[doc = "< Dequeue from the back of the queue"]
pub const OrthancPluginQueueOrigin_OrthancPluginQueueOrigin_Back: OrthancPluginQueueOrigin = 1;
pub const OrthancPluginQueueOrigin__OrthancPluginQueueOrigin_INTERNAL: OrthancPluginQueueOrigin =
    2147483647;
#[doc = " The supported modes to remove an element from a queue."]
pub type OrthancPluginQueueOrigin = ::std::os::raw::c_uint;
#[doc = " @brief A 32-bit memory buffer allocated by the core system of Orthanc.\n\n A memory buffer allocated by the core system of Orthanc. When the\n content of the buffer is not useful anymore, it must be free by a\n call to ::OrthancPluginFreeMemoryBuffer()."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OrthancPluginMemoryBuffer {
    #[doc = " @brief The content of the buffer."]
    pub data: *mut ::std::os::raw::c_void,
    #[doc = " @brief The number of bytes in the buffer."]
    pub size: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of OrthancPluginMemoryBuffer"]
        [::std::mem::size_of::<OrthancPluginMemoryBuffer>() - 16usize];
    ["Alignment of OrthancPluginMemoryBuffer"]
        [::std::mem::align_of::<OrthancPluginMemoryBuffer>() - 8usize];
    ["Offset of field: OrthancPluginMemoryBuffer::data"]
        [::std::mem::offset_of!(OrthancPluginMemoryBuffer, data) - 0usize];
    ["Offset of field: OrthancPluginMemoryBuffer::size"]
        [::std::mem::offset_of!(OrthancPluginMemoryBuffer, size) - 8usize];
};
#[doc = " @brief A 64-bit memory buffer allocated by the core system of Orthanc.\n\n A memory buffer allocated by the core system of Orthanc. When the\n content of the buffer is not useful anymore, it must be free by a\n call to ::OrthancPluginFreeMemoryBuffer64()."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OrthancPluginMemoryBuffer64 {
    #[doc = " @brief The content of the buffer."]
    pub data: *mut ::std::os::raw::c_void,
    #[doc = " @brief The number of bytes in the buffer."]
    pub size: u64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of OrthancPluginMemoryBuffer64"]
        [::std::mem::size_of::<OrthancPluginMemoryBuffer64>() - 16usize];
    ["Alignment of OrthancPluginMemoryBuffer64"]
        [::std::mem::align_of::<OrthancPluginMemoryBuffer64>() - 8usize];
    ["Offset of field: OrthancPluginMemoryBuffer64::data"]
        [::std::mem::offset_of!(OrthancPluginMemoryBuffer64, data) - 0usize];
    ["Offset of field: OrthancPluginMemoryBuffer64::size"]
        [::std::mem::offset_of!(OrthancPluginMemoryBuffer64, size) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRestOutput_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure that represents the HTTP connection to the client application.\n @ingroup Callbacks"]
pub type OrthancPluginRestOutput = _OrthancPluginRestOutput_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginDicomInstance_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure that represents a DICOM instance that is managed by the Orthanc core.\n @ingroup DicomInstance"]
pub type OrthancPluginDicomInstance = _OrthancPluginDicomInstance_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginImage_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure that represents an image that is uncompressed in memory.\n @ingroup Images"]
pub type OrthancPluginImage = _OrthancPluginImage_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginStorageArea_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure that represents the storage area that is actually used by Orthanc.\n @ingroup Images"]
pub type OrthancPluginStorageArea = _OrthancPluginStorageArea_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginWorklistQuery_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure to an object that represents a C-Find query for worklists.\n @ingroup DicomCallbacks"]
pub type OrthancPluginWorklistQuery = _OrthancPluginWorklistQuery_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginWorklistAnswers_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure to an object that represents the answers to a C-Find query for worklists.\n @ingroup DicomCallbacks"]
pub type OrthancPluginWorklistAnswers = _OrthancPluginWorklistAnswers_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFindQuery_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure to an object that represents a C-Find query.\n @ingroup DicomCallbacks"]
pub type OrthancPluginFindQuery = _OrthancPluginFindQuery_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFindAnswers_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure to an object that represents the answers to a C-Find query for worklists.\n @ingroup DicomCallbacks"]
pub type OrthancPluginFindAnswers = _OrthancPluginFindAnswers_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFindMatcher_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure to an object that can be used to check whether a DICOM instance matches a C-Find query.\n @ingroup Toolbox"]
pub type OrthancPluginFindMatcher = _OrthancPluginFindMatcher_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginPeers_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure to the set of remote Orthanc Peers that are known to the local Orthanc server.\n @ingroup Toolbox"]
pub type OrthancPluginPeers = _OrthancPluginPeers_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginJob_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure to a job to be executed by Orthanc.\n @ingroup Toolbox"]
pub type OrthancPluginJob = _OrthancPluginJob_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginDicomWebNode_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure that represents a node in a JSON or XML\n document used in DICOMweb.\n @ingroup Toolbox"]
pub type OrthancPluginDicomWebNode = _OrthancPluginDicomWebNode_t;
#[doc = " @brief Signature of a callback function that answers to a REST request.\n @ingroup Callbacks"]
pub type OrthancPluginRestCallback = ::std::option::Option<
    unsafe extern "C" fn(
        output: *mut OrthancPluginRestOutput,
        url: *const ::std::os::raw::c_char,
        request: *const OrthancPluginHttpRequest,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Signature of a callback function that is triggered when Orthanc stores a new DICOM instance.\n @ingroup Callbacks"]
pub type OrthancPluginOnStoredInstanceCallback = ::std::option::Option<
    unsafe extern "C" fn(
        instance: *const OrthancPluginDicomInstance,
        instanceId: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Signature of a callback function that is triggered when a change happens to some DICOM resource.\n @ingroup Callbacks"]
pub type OrthancPluginOnChangeCallback = ::std::option::Option<
    unsafe extern "C" fn(
        changeType: OrthancPluginChangeType,
        resourceType: OrthancPluginResourceType,
        resourceId: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Signature of a callback function to decode a DICOM instance as an image.\n @ingroup Callbacks"]
pub type OrthancPluginDecodeImageCallback = ::std::option::Option<
    unsafe extern "C" fn(
        target: *mut *mut OrthancPluginImage,
        dicom: *const ::std::os::raw::c_void,
        size: u32,
        frameIndex: u32,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Signature of a function to free dynamic memory.\n @ingroup Callbacks"]
pub type OrthancPluginFree =
    ::std::option::Option<unsafe extern "C" fn(buffer: *mut ::std::os::raw::c_void)>;
#[doc = " @brief Signature of a function to set the content of a node\n encoding a binary DICOM tag, into a JSON or XML document\n generated for DICOMweb.\n @ingroup Callbacks"]
pub type OrthancPluginDicomWebSetBinaryNode = ::std::option::Option<
    unsafe extern "C" fn(
        node: *mut OrthancPluginDicomWebNode,
        mode: OrthancPluginDicomWebBinaryMode,
        bulkDataUri: *const ::std::os::raw::c_char,
    ),
>;
#[doc = " @brief Callback for writing to the storage area.\n\n Signature of a callback function that is triggered when Orthanc writes a file to the storage area.\n\n @param uuid The UUID of the file.\n @param content The content of the file.\n @param size The size of the file.\n @param type The content type corresponding to this file.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginStorageCreate = ::std::option::Option<
    unsafe extern "C" fn(
        uuid: *const ::std::os::raw::c_char,
        content: *const ::std::os::raw::c_void,
        size: i64,
        type_: OrthancPluginContentType,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for reading from the storage area.\n\n Signature of a callback function that is triggered when Orthanc reads a file from the storage area.\n\n @param content The content of the file (output).\n @param size The size of the file (output).\n @param uuid The UUID of the file of interest.\n @param type The content type corresponding to this file.\n @return 0 if success, other value if error.\n @ingroup Callbacks\n\n @warning The \"content\" buffer *must* have been allocated using\n the \"malloc()\" function of your C standard library (i.e. nor\n \"new[]\", neither a pointer to a buffer). The \"free()\" function of\n your C standard library will automatically be invoked on the\n \"content\" pointer."]
pub type OrthancPluginStorageRead = ::std::option::Option<
    unsafe extern "C" fn(
        content: *mut *mut ::std::os::raw::c_void,
        size: *mut i64,
        uuid: *const ::std::os::raw::c_char,
        type_: OrthancPluginContentType,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for reading a whole file from the storage area.\n\n Signature of a callback function that is triggered when Orthanc\n reads a whole file from the storage area.\n\n @param target Memory buffer where to store the content of the file. It must be allocated by the\n plugin using OrthancPluginCreateMemoryBuffer64(). The core of Orthanc will free it.\n @param uuid The UUID of the file of interest.\n @param type The content type corresponding to this file.\n @ingroup Callbacks"]
pub type OrthancPluginStorageReadWhole = ::std::option::Option<
    unsafe extern "C" fn(
        target: *mut OrthancPluginMemoryBuffer64,
        uuid: *const ::std::os::raw::c_char,
        type_: OrthancPluginContentType,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for reading a range of a file from the storage area.\n\n Signature of a callback function that is triggered when Orthanc\n reads a portion of a file from the storage area. Orthanc\n indicates the start position and the length of the range.\n\n @param target Memory buffer where to store the content of the range.\n The memory buffer is allocated and freed by Orthanc. The length of the range\n of interest corresponds to the size of this buffer.\n @param uuid The UUID of the file of interest.\n @param type The content type corresponding to this file.\n @param rangeStart Start position of the requested range in the file.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginStorageReadRange = ::std::option::Option<
    unsafe extern "C" fn(
        target: *mut OrthancPluginMemoryBuffer64,
        uuid: *const ::std::os::raw::c_char,
        type_: OrthancPluginContentType,
        rangeStart: u64,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for removing a file from the storage area.\n\n Signature of a callback function that is triggered when Orthanc deletes a file from the storage area.\n\n @param uuid The UUID of the file to be removed.\n @param type The content type corresponding to this file.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginStorageRemove = ::std::option::Option<
    unsafe extern "C" fn(
        uuid: *const ::std::os::raw::c_char,
        type_: OrthancPluginContentType,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for writing to the storage area.\n\n Signature of a callback function that is triggered when Orthanc writes a file to the storage area.\n\n @param customData Custom, plugin-specific data associated with the attachment (out).\n It must be allocated by the plugin using OrthancPluginCreateMemoryBuffer(). The core of Orthanc will free it.\n If the plugin does not generate custom data, leave `customData` unchanged; it will default to an empty value.\n @param uuid The UUID of the file.\n @param content The content of the file (might be compressed data).\n @param size The size of the file.\n @param type The content type corresponding to this file.\n @param compressionType The compression algorithm that was used to encode `content`\n (the absence of compression is indicated using `OrthancPluginCompressionType_None`).\n @param dicomInstance The DICOM instance being stored. Equals `NULL` if not storing a DICOM instance.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginStorageCreate2 = ::std::option::Option<
    unsafe extern "C" fn(
        customData: *mut OrthancPluginMemoryBuffer,
        uuid: *const ::std::os::raw::c_char,
        content: *const ::std::os::raw::c_void,
        size: u64,
        type_: OrthancPluginContentType,
        compressionType: OrthancPluginCompressionType,
        dicomInstance: *const OrthancPluginDicomInstance,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for reading a range of a file from the storage area.\n\n Signature of a callback function that is triggered when Orthanc\n reads a portion of a file from the storage area. Orthanc\n indicates the start position and the length of the range.\n\n @param target Memory buffer where to store the content of the range.\n The memory buffer is allocated and freed by Orthanc. The length of the range\n of interest corresponds to the size of this buffer.\n @param uuid The UUID of the file of interest.\n @param type The content type corresponding to this file.\n @param rangeStart Start position of the requested range in the file.\n @param customData The custom data of the file of interest.\n @param customDataSize The size of the custom data.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginStorageReadRange2 = ::std::option::Option<
    unsafe extern "C" fn(
        target: *mut OrthancPluginMemoryBuffer64,
        uuid: *const ::std::os::raw::c_char,
        type_: OrthancPluginContentType,
        rangeStart: u64,
        customData: *const ::std::os::raw::c_void,
        customDataSize: u32,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for removing a file from the storage area.\n\n Signature of a callback function that is triggered when Orthanc\n deletes a file from the storage area.\n\n @param uuid The UUID of the file to be removed.\n @param type The content type corresponding to this file.\n @param customData The custom data of the file to be removed.\n @param customDataSize The size of the custom data.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginStorageRemove2 = ::std::option::Option<
    unsafe extern "C" fn(
        uuid: *const ::std::os::raw::c_char,
        type_: OrthancPluginContentType,
        customData: *const ::std::os::raw::c_void,
        customDataSize: u32,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to handle the C-Find SCP requests for worklists.\n\n Signature of a callback function that is triggered when Orthanc\n receives a C-Find SCP request against modality worklists.\n\n @param answers The target structure where answers must be stored.\n @param query The worklist query.\n @param issuerAet The Application Entity Title (AET) of the modality from which the request originates.\n @param calledAet The Application Entity Title (AET) of the modality that is called by the request.\n @return 0 if success, other value if error.\n @ingroup DicomCallbacks"]
pub type OrthancPluginWorklistCallback = ::std::option::Option<
    unsafe extern "C" fn(
        answers: *mut OrthancPluginWorklistAnswers,
        query: *const OrthancPluginWorklistQuery,
        issuerAet: *const ::std::os::raw::c_char,
        calledAet: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to filter incoming HTTP requests received by Orthanc.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives an HTTP/REST request, and that answers whether\n this request should be allowed. If the callback returns \"0\"\n (\"false\"), the server answers with HTTP status code 403\n (Forbidden).\n\n Pay attention to the fact that this function may be invoked\n concurrently by different threads of the Web server of\n Orthanc. You must implement proper locking if applicable.\n\n @param method The HTTP method used by the request.\n @param uri The URI of interest.\n @param ip The IP address of the HTTP client.\n @param headersCount The number of HTTP headers.\n @param headersKeys The keys of the HTTP headers (always converted to low-case).\n @param headersValues The values of the HTTP headers.\n @return 0 if forbidden access, 1 if allowed access, -1 if error.\n @ingroup Callbacks\n @deprecated Please instead use OrthancPluginIncomingHttpRequestFilter2()"]
pub type OrthancPluginIncomingHttpRequestFilter = ::std::option::Option<
    unsafe extern "C" fn(
        method: OrthancPluginHttpMethod,
        uri: *const ::std::os::raw::c_char,
        ip: *const ::std::os::raw::c_char,
        headersCount: u32,
        headersKeys: *const *const ::std::os::raw::c_char,
        headersValues: *const *const ::std::os::raw::c_char,
    ) -> i32,
>;
#[doc = " @brief Callback to filter incoming HTTP requests received by Orthanc.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives an HTTP/REST request, and that answers whether\n this request should be allowed. If the callback returns \"0\"\n (\"false\"), the server answers with HTTP status code 403\n (Forbidden).\n\n Pay attention to the fact that this function may be invoked\n concurrently by different threads of the Web server of\n Orthanc. You must implement proper locking if applicable.\n\n Note that if you are using HTTP basic authentication, you can\n extract the username from the \"Authorization\" HTTP header. The\n value of that header contains username:pwd encoded in base64.\n\n @param method The HTTP method used by the request.\n @param uri The URI of interest.\n @param ip The IP address of the HTTP client.\n @param headersCount The number of HTTP headers.\n @param headersKeys The keys of the HTTP headers (always converted to low-case).\n @param headersValues The values of the HTTP headers.\n @param getArgumentsCount The number of GET arguments (only for the GET HTTP method).\n @param getArgumentsKeys The keys of the GET arguments (only for the GET HTTP method).\n @param getArgumentsValues The values of the GET arguments (only for the GET HTTP method).\n @return 0 if forbidden access, 1 if allowed access, -1 if error.\n @ingroup Callbacks"]
pub type OrthancPluginIncomingHttpRequestFilter2 = ::std::option::Option<
    unsafe extern "C" fn(
        method: OrthancPluginHttpMethod,
        uri: *const ::std::os::raw::c_char,
        ip: *const ::std::os::raw::c_char,
        headersCount: u32,
        headersKeys: *const *const ::std::os::raw::c_char,
        headersValues: *const *const ::std::os::raw::c_char,
        getArgumentsCount: u32,
        getArgumentsKeys: *const *const ::std::os::raw::c_char,
        getArgumentsValues: *const *const ::std::os::raw::c_char,
    ) -> i32,
>;
#[doc = " @brief Callback to handle incoming C-Find SCP requests.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a C-Find SCP request not concerning modality\n worklists.\n\n @param answers The target structure where answers must be stored.\n @param query The worklist query.\n @param issuerAet The Application Entity Title (AET) of the modality from which the request originates.\n @param calledAet The Application Entity Title (AET) of the modality that is called by the request.\n @return 0 if success, other value if error.\n @ingroup DicomCallbacks"]
pub type OrthancPluginFindCallback = ::std::option::Option<
    unsafe extern "C" fn(
        answers: *mut OrthancPluginFindAnswers,
        query: *const OrthancPluginFindQuery,
        issuerAet: *const ::std::os::raw::c_char,
        calledAet: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to handle incoming C-Move SCP requests.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a C-Move SCP request. The callback receives the\n type of the resource of interest (study, series, instance...)\n together with the DICOM tags containing its identifiers. In turn,\n the plugin must create a driver object that will be responsible\n for driving the successive move suboperations.\n\n @param resourceType The type of the resource of interest. Note\n that this might be set to ResourceType_None if the\n QueryRetrieveLevel (0008,0052) tag was not provided by the\n issuer (i.e. the originator modality).\n @param patientId Content of the PatientID (0x0010, 0x0020) tag of the resource of interest. Might be NULL.\n @param accessionNumber Content of the AccessionNumber (0x0008, 0x0050) tag. Might be NULL.\n @param studyInstanceUid Content of the StudyInstanceUID (0x0020, 0x000d) tag. Might be NULL.\n @param seriesInstanceUid Content of the SeriesInstanceUID (0x0020, 0x000e) tag. Might be NULL.\n @param sopInstanceUid Content of the SOPInstanceUID (0x0008, 0x0018) tag. Might be NULL.\n @param originatorAet The Application Entity Title (AET) of the\n modality from which the request originates.\n @param sourceAet The Application Entity Title (AET) of the\n modality that should send its DICOM files to another modality.\n @param targetAet The Application Entity Title (AET) of the\n modality that should receive the DICOM files.\n @param originatorId The Message ID issued by the originator modality,\n as found in tag (0000,0110) of the DICOM query emitted by the issuer.\n\n @return The NULL value if the plugin cannot deal with this query,\n or a pointer to the driver object that is responsible for\n handling the successive move suboperations.\n\n @note If targetAet equals sourceAet, this is actually a query/retrieve operation.\n @ingroup DicomCallbacks"]
pub type OrthancPluginMoveCallback = ::std::option::Option<
    unsafe extern "C" fn(
        resourceType: OrthancPluginResourceType,
        patientId: *const ::std::os::raw::c_char,
        accessionNumber: *const ::std::os::raw::c_char,
        studyInstanceUid: *const ::std::os::raw::c_char,
        seriesInstanceUid: *const ::std::os::raw::c_char,
        sopInstanceUid: *const ::std::os::raw::c_char,
        originatorAet: *const ::std::os::raw::c_char,
        sourceAet: *const ::std::os::raw::c_char,
        targetAet: *const ::std::os::raw::c_char,
        originatorId: u16,
    ) -> *mut ::std::os::raw::c_void,
>;
#[doc = " @brief Callback to read the size of a C-Move driver.\n\n Signature of a callback function that returns the number of\n C-Move suboperations that are to be achieved by the given C-Move\n driver. This driver is the return value of a previous call to the\n OrthancPluginMoveCallback() callback.\n\n @param moveDriver The C-Move driver of interest.\n @return The number of suboperations.\n @ingroup DicomCallbacks"]
pub type OrthancPluginGetMoveSize =
    ::std::option::Option<unsafe extern "C" fn(moveDriver: *mut ::std::os::raw::c_void) -> u32>;
#[doc = " @brief Callback to apply one C-Move suboperation.\n\n Signature of a callback function that applies the next C-Move\n suboperation that os to be achieved by the given C-Move\n driver. This driver is the return value of a previous call to the\n OrthancPluginMoveCallback() callback.\n\n @param moveDriver The C-Move driver of interest.\n @return 0 if success, or the error code if failure.\n @ingroup DicomCallbacks"]
pub type OrthancPluginApplyMove = ::std::option::Option<
    unsafe extern "C" fn(moveDriver: *mut ::std::os::raw::c_void) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to free one C-Move driver.\n\n Signature of a callback function that releases the resources\n allocated by the given C-Move driver. This driver is the return\n value of a previous call to the OrthancPluginMoveCallback()\n callback.\n\n @param moveDriver The C-Move driver of interest.\n @ingroup DicomCallbacks"]
pub type OrthancPluginFreeMove =
    ::std::option::Option<unsafe extern "C" fn(moveDriver: *mut ::std::os::raw::c_void)>;
#[doc = " @brief Callback to finalize one custom job.\n\n Signature of a callback function that releases all the resources\n allocated by the given job. This job is the argument provided to\n OrthancPluginCreateJob().\n\n @param job The job of interest.\n @ingroup Toolbox"]
pub type OrthancPluginJobFinalize =
    ::std::option::Option<unsafe extern "C" fn(job: *mut ::std::os::raw::c_void)>;
#[doc = " @brief Callback to check the progress of one custom job.\n\n Signature of a callback function that returns the progress of the\n job.\n\n @param job The job of interest.\n @return The progress, as a floating-point number ranging from 0 to 1.\n @ingroup Toolbox"]
pub type OrthancPluginJobGetProgress =
    ::std::option::Option<unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> f32>;
#[doc = " @brief Callback to retrieve the content of one custom job.\n\n Signature of a callback function that returns human-readable\n statistics about the job. This statistics must be formatted as a\n JSON object. This information is notably displayed in the \"Jobs\"\n tab of \"Orthanc Explorer\".\n\n @param job The job of interest.\n @return The statistics, as a JSON object encoded as a string.\n @ingroup Toolbox\n @deprecated This signature should not be used anymore since Orthanc SDK 1.11.3."]
pub type OrthancPluginJobGetContent = ::std::option::Option<
    unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
>;
#[doc = " @brief Callback to retrieve the content of one custom job.\n\n Signature of a callback function that returns human-readable\n statistics about the job. This statistics must be formatted as a\n JSON object. This information is notably displayed in the \"Jobs\"\n tab of \"Orthanc Explorer\".\n\n @param target The target memory buffer where to store the JSON string.\n This buffer must be allocated using OrthancPluginCreateMemoryBuffer()\n and will be freed by the Orthanc core.\n @param job The job of interest.\n @return 0 if success, other value if error.\n @ingroup Toolbox"]
pub type OrthancPluginJobGetContent2 = ::std::option::Option<
    unsafe extern "C" fn(
        target: *mut OrthancPluginMemoryBuffer,
        job: *mut ::std::os::raw::c_void,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to serialize one custom job.\n\n Signature of a callback function that returns a serialized\n version of the job, formatted as a JSON object. This\n serialization is stored in the Orthanc database, and is used to\n reload the job on the restart of Orthanc. The \"unserialization\"\n callback (with OrthancPluginJobsUnserializer signature) will\n receive this serialized object.\n\n @param job The job of interest.\n @return The serialized job, as a JSON object encoded as a string.\n @see OrthancPluginRegisterJobsUnserializer()\n @ingroup Toolbox\n @deprecated This signature should not be used anymore since Orthanc SDK 1.11.3."]
pub type OrthancPluginJobGetSerialized = ::std::option::Option<
    unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
>;
#[doc = " @brief Callback to serialize one custom job.\n\n Signature of a callback function that returns a serialized\n version of the job, formatted as a JSON object. This\n serialization is stored in the Orthanc database, and is used to\n reload the job on the restart of Orthanc. The \"unserialization\"\n callback (with OrthancPluginJobsUnserializer signature) will\n receive this serialized object.\n\n @param target The target memory buffer where to store the JSON string.\n This buffer must be allocated using OrthancPluginCreateMemoryBuffer()\n and will be freed by the Orthanc core.\n @param job The job of interest.\n @return 1 if the serialization has succeeded, 0 if serialization is\n not implemented for this type of job, or -1 in case of error."]
pub type OrthancPluginJobGetSerialized2 = ::std::option::Option<
    unsafe extern "C" fn(
        target: *mut OrthancPluginMemoryBuffer,
        job: *mut ::std::os::raw::c_void,
    ) -> i32,
>;
#[doc = " @brief Callback to execute one step of a custom job.\n\n Signature of a callback function that executes one step in the\n job. The jobs engine of Orthanc will make successive calls to\n this method, as long as it returns\n OrthancPluginJobStepStatus_Continue.\n\n @param job The job of interest.\n @return The status of execution.\n @ingroup Toolbox"]
pub type OrthancPluginJobStep = ::std::option::Option<
    unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> OrthancPluginJobStepStatus,
>;
#[doc = " @brief Callback executed once one custom job leaves the \"running\" state.\n\n Signature of a callback function that is invoked once a job\n leaves the \"running\" state. This can happen if the previous call\n to OrthancPluginJobStep has failed/succeeded, if the host Orthanc\n server is being stopped, or if the user manually tags the job as\n paused/canceled. This callback allows the plugin to free\n resources allocated for running this custom job (e.g. to stop\n threads, or to remove temporary files).\n\n Note that handling pauses might involves a specific treatment\n (such a stopping threads, but keeping temporary files on the\n disk). This \"paused\" situation can be checked by looking at the\n \"reason\" parameter.\n\n @param job The job of interest.\n @param reason The reason for leaving the \"running\" state.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
pub type OrthancPluginJobStop = ::std::option::Option<
    unsafe extern "C" fn(
        job: *mut ::std::os::raw::c_void,
        reason: OrthancPluginJobStopReason,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback executed once one stopped custom job is started again.\n\n Signature of a callback function that is invoked once a job\n leaves the \"failure/canceled\" state, to be started again. This\n function will typically reset the progress to zero. Note that\n before being actually executed, the job would first be tagged as\n \"pending\" in the Orthanc jobs engine.\n\n @param job The job of interest.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
pub type OrthancPluginJobReset = ::std::option::Option<
    unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback executed to unserialize a custom job.\n\n Signature of a callback function that unserializes a job that was\n saved in the Orthanc database.\n\n @param jobType The type of the job, as provided to OrthancPluginCreateJob().\n @param serialized The serialization of the job, as provided by OrthancPluginJobGetSerialized.\n @return The unserialized job (as created by OrthancPluginCreateJob()), or NULL\n if this unserializer cannot handle this job type.\n @see OrthancPluginRegisterJobsUnserializer()\n @ingroup Callbacks"]
pub type OrthancPluginJobsUnserializer = ::std::option::Option<
    unsafe extern "C" fn(
        jobType: *const ::std::os::raw::c_char,
        serialized: *const ::std::os::raw::c_char,
    ) -> *mut OrthancPluginJob,
>;
#[doc = " @brief Callback executed to update the metrics of the plugin.\n\n Signature of a callback function that is called by Orthanc\n whenever a monitoring tool (such as Prometheus) asks the current\n values of the metrics. This callback gives the plugin a chance to\n update its metrics, by calling OrthancPluginSetMetricsValue() or\n OrthancPluginSetMetricsIntegerValue().\n This is typically useful for metrics that are expensive to\n acquire.\n\n @see OrthancPluginRegisterRefreshMetrics()\n @ingroup Callbacks"]
pub type OrthancPluginRefreshMetricsCallback = ::std::option::Option<unsafe extern "C" fn()>;
#[doc = " @brief Callback executed to encode a binary tag in DICOMweb.\n\n Signature of a callback function that is called by Orthanc\n whenever a DICOM tag that contains a binary value must be written\n to a JSON or XML node, while a DICOMweb document is being\n generated. The value representation (VR) of the DICOM tag can be\n OB, OD, OF, OL, OW, or UN.\n\n @see OrthancPluginEncodeDicomWebJson() and OrthancPluginEncodeDicomWebXml()\n @param node The node being generated, as provided by Orthanc.\n @param setter The setter to be used to encode the content of the node. If\n the setter is not called, the binary tag is not written to the output document.\n @param levelDepth The depth of the node in the DICOM hierarchy of sequences.\n This parameter gives the number of elements in the \"levelTagGroup\",\n \"levelTagElement\", and \"levelIndex\" arrays.\n @param levelTagGroup The group of the parent DICOM tags in the hierarchy.\n @param levelTagElement The element of the parent DICOM tags in the hierarchy.\n @param levelIndex The index of the node in the parent sequences of the hierarchy.\n @param tagGroup The group of the DICOM tag of interest.\n @param tagElement The element of the DICOM tag of interest.\n @param vr The value representation of the binary DICOM node.\n @ingroup Callbacks"]
pub type OrthancPluginDicomWebBinaryCallback = ::std::option::Option<
    unsafe extern "C" fn(
        node: *mut OrthancPluginDicomWebNode,
        setter: OrthancPluginDicomWebSetBinaryNode,
        levelDepth: u32,
        levelTagGroup: *const u16,
        levelTagElement: *const u16,
        levelIndex: *const u32,
        tagGroup: u16,
        tagElement: u16,
        vr: OrthancPluginValueRepresentation,
    ),
>;
#[doc = " @brief Callback executed to encode a binary tag in DICOMweb.\n\n Signature of a callback function that is called by Orthanc\n whenever a DICOM tag that contains a binary value must be written\n to a JSON or XML node, while a DICOMweb document is being\n generated. The value representation (VR) of the DICOM tag can be\n OB, OD, OF, OL, OW, or UN.\n\n @see OrthancPluginEncodeDicomWebJson() and OrthancPluginEncodeDicomWebXml()\n @param node The node being generated, as provided by Orthanc.\n @param setter The setter to be used to encode the content of the node. If\n the setter is not called, the binary tag is not written to the output document.\n @param levelDepth The depth of the node in the DICOM hierarchy of sequences.\n This parameter gives the number of elements in the \"levelTagGroup\",\n \"levelTagElement\", and \"levelIndex\" arrays.\n @param levelTagGroup The group of the parent DICOM tags in the hierarchy.\n @param levelTagElement The element of the parent DICOM tags in the hierarchy.\n @param levelIndex The index of the node in the parent sequences of the hierarchy.\n @param tagGroup The group of the DICOM tag of interest.\n @param tagElement The element of the DICOM tag of interest.\n @param vr The value representation of the binary DICOM node.\n @param payload The user payload.\n @ingroup Callbacks"]
pub type OrthancPluginDicomWebBinaryCallback2 = ::std::option::Option<
    unsafe extern "C" fn(
        node: *mut OrthancPluginDicomWebNode,
        setter: OrthancPluginDicomWebSetBinaryNode,
        levelDepth: u32,
        levelTagGroup: *const u16,
        levelTagElement: *const u16,
        levelIndex: *const u32,
        tagGroup: u16,
        tagElement: u16,
        vr: OrthancPluginValueRepresentation,
        payload: *mut ::std::os::raw::c_void,
    ),
>;
#[doc = " @brief Data structure that contains information about the Orthanc core."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginContext_t {
    pub pluginsManager: *mut ::std::os::raw::c_void,
    pub orthancVersion: *const ::std::os::raw::c_char,
    pub Free: OrthancPluginFree,
    pub InvokeService: ::std::option::Option<
        unsafe extern "C" fn(
            context: *mut _OrthancPluginContext_t,
            service: _OrthancPluginService,
            params: *const ::std::os::raw::c_void,
        ) -> OrthancPluginErrorCode,
    >,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginContext_t"][::std::mem::size_of::<_OrthancPluginContext_t>() - 32usize];
    ["Alignment of _OrthancPluginContext_t"]
        [::std::mem::align_of::<_OrthancPluginContext_t>() - 8usize];
    ["Offset of field: _OrthancPluginContext_t::pluginsManager"]
        [::std::mem::offset_of!(_OrthancPluginContext_t, pluginsManager) - 0usize];
    ["Offset of field: _OrthancPluginContext_t::orthancVersion"]
        [::std::mem::offset_of!(_OrthancPluginContext_t, orthancVersion) - 8usize];
    ["Offset of field: _OrthancPluginContext_t::Free"]
        [::std::mem::offset_of!(_OrthancPluginContext_t, Free) - 16usize];
    ["Offset of field: _OrthancPluginContext_t::InvokeService"]
        [::std::mem::offset_of!(_OrthancPluginContext_t, InvokeService) - 24usize];
};
#[doc = " @brief Data structure that contains information about the Orthanc core."]
pub type OrthancPluginContext = _OrthancPluginContext_t;
#[doc = " @brief An entry in the dictionary of DICOM tags."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OrthancPluginDictionaryEntry {
    #[doc = "< The group of the tag"]
    pub group: u16,
    #[doc = "< The element of the tag"]
    pub element: u16,
    #[doc = "< The value representation of the tag"]
    pub vr: OrthancPluginValueRepresentation,
    #[doc = "< The minimum multiplicity of the tag"]
    pub minMultiplicity: u32,
    #[doc = "< The maximum multiplicity of the tag (0 means arbitrary)"]
    pub maxMultiplicity: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of OrthancPluginDictionaryEntry"]
        [::std::mem::size_of::<OrthancPluginDictionaryEntry>() - 16usize];
    ["Alignment of OrthancPluginDictionaryEntry"]
        [::std::mem::align_of::<OrthancPluginDictionaryEntry>() - 4usize];
    ["Offset of field: OrthancPluginDictionaryEntry::group"]
        [::std::mem::offset_of!(OrthancPluginDictionaryEntry, group) - 0usize];
    ["Offset of field: OrthancPluginDictionaryEntry::element"]
        [::std::mem::offset_of!(OrthancPluginDictionaryEntry, element) - 2usize];
    ["Offset of field: OrthancPluginDictionaryEntry::vr"]
        [::std::mem::offset_of!(OrthancPluginDictionaryEntry, vr) - 4usize];
    ["Offset of field: OrthancPluginDictionaryEntry::minMultiplicity"]
        [::std::mem::offset_of!(OrthancPluginDictionaryEntry, minMultiplicity) - 8usize];
    ["Offset of field: OrthancPluginDictionaryEntry::maxMultiplicity"]
        [::std::mem::offset_of!(OrthancPluginDictionaryEntry, maxMultiplicity) - 12usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRestCallback {
    pub pathRegularExpression: *const ::std::os::raw::c_char,
    pub callback: OrthancPluginRestCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRestCallback"]
        [::std::mem::size_of::<_OrthancPluginRestCallback>() - 16usize];
    ["Alignment of _OrthancPluginRestCallback"]
        [::std::mem::align_of::<_OrthancPluginRestCallback>() - 8usize];
    ["Offset of field: _OrthancPluginRestCallback::pathRegularExpression"]
        [::std::mem::offset_of!(_OrthancPluginRestCallback, pathRegularExpression) - 0usize];
    ["Offset of field: _OrthancPluginRestCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginRestCallback, callback) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginOnStoredInstanceCallback {
    pub callback: OrthancPluginOnStoredInstanceCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginOnStoredInstanceCallback"]
        [::std::mem::size_of::<_OrthancPluginOnStoredInstanceCallback>() - 8usize];
    ["Alignment of _OrthancPluginOnStoredInstanceCallback"]
        [::std::mem::align_of::<_OrthancPluginOnStoredInstanceCallback>() - 8usize];
    ["Offset of field: _OrthancPluginOnStoredInstanceCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginOnStoredInstanceCallback, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginAnswerBuffer {
    pub output: *mut OrthancPluginRestOutput,
    pub answer: *const ::std::os::raw::c_void,
    pub answerSize: u32,
    pub mimeType: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginAnswerBuffer"]
        [::std::mem::size_of::<_OrthancPluginAnswerBuffer>() - 32usize];
    ["Alignment of _OrthancPluginAnswerBuffer"]
        [::std::mem::align_of::<_OrthancPluginAnswerBuffer>() - 8usize];
    ["Offset of field: _OrthancPluginAnswerBuffer::output"]
        [::std::mem::offset_of!(_OrthancPluginAnswerBuffer, output) - 0usize];
    ["Offset of field: _OrthancPluginAnswerBuffer::answer"]
        [::std::mem::offset_of!(_OrthancPluginAnswerBuffer, answer) - 8usize];
    ["Offset of field: _OrthancPluginAnswerBuffer::answerSize"]
        [::std::mem::offset_of!(_OrthancPluginAnswerBuffer, answerSize) - 16usize];
    ["Offset of field: _OrthancPluginAnswerBuffer::mimeType"]
        [::std::mem::offset_of!(_OrthancPluginAnswerBuffer, mimeType) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCompressAndAnswerPngImage {
    pub output: *mut OrthancPluginRestOutput,
    pub format: OrthancPluginPixelFormat,
    pub width: u32,
    pub height: u32,
    pub pitch: u32,
    pub buffer: *const ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCompressAndAnswerPngImage"]
        [::std::mem::size_of::<_OrthancPluginCompressAndAnswerPngImage>() - 32usize];
    ["Alignment of _OrthancPluginCompressAndAnswerPngImage"]
        [::std::mem::align_of::<_OrthancPluginCompressAndAnswerPngImage>() - 8usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerPngImage::output"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerPngImage, output) - 0usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerPngImage::format"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerPngImage, format) - 8usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerPngImage::width"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerPngImage, width) - 12usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerPngImage::height"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerPngImage, height) - 16usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerPngImage::pitch"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerPngImage, pitch) - 20usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerPngImage::buffer"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerPngImage, buffer) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCompressAndAnswerImage {
    pub output: *mut OrthancPluginRestOutput,
    pub imageFormat: OrthancPluginImageFormat,
    pub pixelFormat: OrthancPluginPixelFormat,
    pub width: u32,
    pub height: u32,
    pub pitch: u32,
    pub buffer: *const ::std::os::raw::c_void,
    pub quality: u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCompressAndAnswerImage"]
        [::std::mem::size_of::<_OrthancPluginCompressAndAnswerImage>() - 48usize];
    ["Alignment of _OrthancPluginCompressAndAnswerImage"]
        [::std::mem::align_of::<_OrthancPluginCompressAndAnswerImage>() - 8usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerImage::output"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerImage, output) - 0usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerImage::imageFormat"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerImage, imageFormat) - 8usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerImage::pixelFormat"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerImage, pixelFormat) - 12usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerImage::width"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerImage, width) - 16usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerImage::height"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerImage, height) - 20usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerImage::pitch"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerImage, pitch) - 24usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerImage::buffer"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerImage, buffer) - 32usize];
    ["Offset of field: _OrthancPluginCompressAndAnswerImage::quality"]
        [::std::mem::offset_of!(_OrthancPluginCompressAndAnswerImage, quality) - 40usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetDicomForInstance {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub instanceId: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetDicomForInstance"]
        [::std::mem::size_of::<_OrthancPluginGetDicomForInstance>() - 16usize];
    ["Alignment of _OrthancPluginGetDicomForInstance"]
        [::std::mem::align_of::<_OrthancPluginGetDicomForInstance>() - 8usize];
    ["Offset of field: _OrthancPluginGetDicomForInstance::target"]
        [::std::mem::offset_of!(_OrthancPluginGetDicomForInstance, target) - 0usize];
    ["Offset of field: _OrthancPluginGetDicomForInstance::instanceId"]
        [::std::mem::offset_of!(_OrthancPluginGetDicomForInstance, instanceId) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRestApiGet {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub uri: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRestApiGet"]
        [::std::mem::size_of::<_OrthancPluginRestApiGet>() - 16usize];
    ["Alignment of _OrthancPluginRestApiGet"]
        [::std::mem::align_of::<_OrthancPluginRestApiGet>() - 8usize];
    ["Offset of field: _OrthancPluginRestApiGet::target"]
        [::std::mem::offset_of!(_OrthancPluginRestApiGet, target) - 0usize];
    ["Offset of field: _OrthancPluginRestApiGet::uri"]
        [::std::mem::offset_of!(_OrthancPluginRestApiGet, uri) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRestApiPostPut {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub uri: *const ::std::os::raw::c_char,
    pub body: *const ::std::os::raw::c_void,
    pub bodySize: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRestApiPostPut"]
        [::std::mem::size_of::<_OrthancPluginRestApiPostPut>() - 32usize];
    ["Alignment of _OrthancPluginRestApiPostPut"]
        [::std::mem::align_of::<_OrthancPluginRestApiPostPut>() - 8usize];
    ["Offset of field: _OrthancPluginRestApiPostPut::target"]
        [::std::mem::offset_of!(_OrthancPluginRestApiPostPut, target) - 0usize];
    ["Offset of field: _OrthancPluginRestApiPostPut::uri"]
        [::std::mem::offset_of!(_OrthancPluginRestApiPostPut, uri) - 8usize];
    ["Offset of field: _OrthancPluginRestApiPostPut::body"]
        [::std::mem::offset_of!(_OrthancPluginRestApiPostPut, body) - 16usize];
    ["Offset of field: _OrthancPluginRestApiPostPut::bodySize"]
        [::std::mem::offset_of!(_OrthancPluginRestApiPostPut, bodySize) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginOutputPlusArgument {
    pub output: *mut OrthancPluginRestOutput,
    pub argument: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginOutputPlusArgument"]
        [::std::mem::size_of::<_OrthancPluginOutputPlusArgument>() - 16usize];
    ["Alignment of _OrthancPluginOutputPlusArgument"]
        [::std::mem::align_of::<_OrthancPluginOutputPlusArgument>() - 8usize];
    ["Offset of field: _OrthancPluginOutputPlusArgument::output"]
        [::std::mem::offset_of!(_OrthancPluginOutputPlusArgument, output) - 0usize];
    ["Offset of field: _OrthancPluginOutputPlusArgument::argument"]
        [::std::mem::offset_of!(_OrthancPluginOutputPlusArgument, argument) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRetrieveDynamicString {
    pub result: *mut *mut ::std::os::raw::c_char,
    pub argument: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRetrieveDynamicString"]
        [::std::mem::size_of::<_OrthancPluginRetrieveDynamicString>() - 16usize];
    ["Alignment of _OrthancPluginRetrieveDynamicString"]
        [::std::mem::align_of::<_OrthancPluginRetrieveDynamicString>() - 8usize];
    ["Offset of field: _OrthancPluginRetrieveDynamicString::result"]
        [::std::mem::offset_of!(_OrthancPluginRetrieveDynamicString, result) - 0usize];
    ["Offset of field: _OrthancPluginRetrieveDynamicString::argument"]
        [::std::mem::offset_of!(_OrthancPluginRetrieveDynamicString, argument) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSendHttpStatusCode {
    pub output: *mut OrthancPluginRestOutput,
    pub status: u16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSendHttpStatusCode"]
        [::std::mem::size_of::<_OrthancPluginSendHttpStatusCode>() - 16usize];
    ["Alignment of _OrthancPluginSendHttpStatusCode"]
        [::std::mem::align_of::<_OrthancPluginSendHttpStatusCode>() - 8usize];
    ["Offset of field: _OrthancPluginSendHttpStatusCode::output"]
        [::std::mem::offset_of!(_OrthancPluginSendHttpStatusCode, output) - 0usize];
    ["Offset of field: _OrthancPluginSendHttpStatusCode::status"]
        [::std::mem::offset_of!(_OrthancPluginSendHttpStatusCode, status) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSetHttpHeader {
    pub output: *mut OrthancPluginRestOutput,
    pub key: *const ::std::os::raw::c_char,
    pub value: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSetHttpHeader"]
        [::std::mem::size_of::<_OrthancPluginSetHttpHeader>() - 24usize];
    ["Alignment of _OrthancPluginSetHttpHeader"]
        [::std::mem::align_of::<_OrthancPluginSetHttpHeader>() - 8usize];
    ["Offset of field: _OrthancPluginSetHttpHeader::output"]
        [::std::mem::offset_of!(_OrthancPluginSetHttpHeader, output) - 0usize];
    ["Offset of field: _OrthancPluginSetHttpHeader::key"]
        [::std::mem::offset_of!(_OrthancPluginSetHttpHeader, key) - 8usize];
    ["Offset of field: _OrthancPluginSetHttpHeader::value"]
        [::std::mem::offset_of!(_OrthancPluginSetHttpHeader, value) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginAccessDicomInstance {
    pub resultStringToFree: *mut *mut ::std::os::raw::c_char,
    pub resultString: *mut *const ::std::os::raw::c_char,
    pub resultInt64: *mut i64,
    pub key: *const ::std::os::raw::c_char,
    pub instance: *const OrthancPluginDicomInstance,
    pub resultOrigin: *mut OrthancPluginInstanceOrigin,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginAccessDicomInstance"]
        [::std::mem::size_of::<_OrthancPluginAccessDicomInstance>() - 48usize];
    ["Alignment of _OrthancPluginAccessDicomInstance"]
        [::std::mem::align_of::<_OrthancPluginAccessDicomInstance>() - 8usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance::resultStringToFree"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance, resultStringToFree) - 0usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance::resultString"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance, resultString) - 8usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance::resultInt64"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance, resultInt64) - 16usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance::key"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance, key) - 24usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance::instance"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance, instance) - 32usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance::resultOrigin"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance, resultOrigin) - 40usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterStorageArea {
    pub create: OrthancPluginStorageCreate,
    pub read: OrthancPluginStorageRead,
    pub remove: OrthancPluginStorageRemove,
    pub free: OrthancPluginFree,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterStorageArea"]
        [::std::mem::size_of::<_OrthancPluginRegisterStorageArea>() - 32usize];
    ["Alignment of _OrthancPluginRegisterStorageArea"]
        [::std::mem::align_of::<_OrthancPluginRegisterStorageArea>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea::create"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea, create) - 0usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea::read"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea, read) - 8usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea::remove"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea, remove) - 16usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea::free"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea, free) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginOnChangeCallback {
    pub callback: OrthancPluginOnChangeCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginOnChangeCallback"]
        [::std::mem::size_of::<_OrthancPluginOnChangeCallback>() - 8usize];
    ["Alignment of _OrthancPluginOnChangeCallback"]
        [::std::mem::align_of::<_OrthancPluginOnChangeCallback>() - 8usize];
    ["Offset of field: _OrthancPluginOnChangeCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginOnChangeCallback, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSetPluginProperty {
    pub plugin: *const ::std::os::raw::c_char,
    pub property: _OrthancPluginProperty,
    pub value: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSetPluginProperty"]
        [::std::mem::size_of::<_OrthancPluginSetPluginProperty>() - 24usize];
    ["Alignment of _OrthancPluginSetPluginProperty"]
        [::std::mem::align_of::<_OrthancPluginSetPluginProperty>() - 8usize];
    ["Offset of field: _OrthancPluginSetPluginProperty::plugin"]
        [::std::mem::offset_of!(_OrthancPluginSetPluginProperty, plugin) - 0usize];
    ["Offset of field: _OrthancPluginSetPluginProperty::property"]
        [::std::mem::offset_of!(_OrthancPluginSetPluginProperty, property) - 8usize];
    ["Offset of field: _OrthancPluginSetPluginProperty::value"]
        [::std::mem::offset_of!(_OrthancPluginSetPluginProperty, value) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGlobalProperty {
    pub result: *mut *mut ::std::os::raw::c_char,
    pub property: i32,
    pub value: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGlobalProperty"]
        [::std::mem::size_of::<_OrthancPluginGlobalProperty>() - 24usize];
    ["Alignment of _OrthancPluginGlobalProperty"]
        [::std::mem::align_of::<_OrthancPluginGlobalProperty>() - 8usize];
    ["Offset of field: _OrthancPluginGlobalProperty::result"]
        [::std::mem::offset_of!(_OrthancPluginGlobalProperty, result) - 0usize];
    ["Offset of field: _OrthancPluginGlobalProperty::property"]
        [::std::mem::offset_of!(_OrthancPluginGlobalProperty, property) - 8usize];
    ["Offset of field: _OrthancPluginGlobalProperty::value"]
        [::std::mem::offset_of!(_OrthancPluginGlobalProperty, value) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginReturnSingleValue {
    pub resultInt32: *mut i32,
    pub resultUint32: *mut u32,
    pub resultInt64: *mut i64,
    pub resultUint64: *mut u64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginReturnSingleValue"]
        [::std::mem::size_of::<_OrthancPluginReturnSingleValue>() - 32usize];
    ["Alignment of _OrthancPluginReturnSingleValue"]
        [::std::mem::align_of::<_OrthancPluginReturnSingleValue>() - 8usize];
    ["Offset of field: _OrthancPluginReturnSingleValue::resultInt32"]
        [::std::mem::offset_of!(_OrthancPluginReturnSingleValue, resultInt32) - 0usize];
    ["Offset of field: _OrthancPluginReturnSingleValue::resultUint32"]
        [::std::mem::offset_of!(_OrthancPluginReturnSingleValue, resultUint32) - 8usize];
    ["Offset of field: _OrthancPluginReturnSingleValue::resultInt64"]
        [::std::mem::offset_of!(_OrthancPluginReturnSingleValue, resultInt64) - 16usize];
    ["Offset of field: _OrthancPluginReturnSingleValue::resultUint64"]
        [::std::mem::offset_of!(_OrthancPluginReturnSingleValue, resultUint64) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginStartMultipartAnswer {
    pub output: *mut OrthancPluginRestOutput,
    pub subType: *const ::std::os::raw::c_char,
    pub contentType: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginStartMultipartAnswer"]
        [::std::mem::size_of::<_OrthancPluginStartMultipartAnswer>() - 24usize];
    ["Alignment of _OrthancPluginStartMultipartAnswer"]
        [::std::mem::align_of::<_OrthancPluginStartMultipartAnswer>() - 8usize];
    ["Offset of field: _OrthancPluginStartMultipartAnswer::output"]
        [::std::mem::offset_of!(_OrthancPluginStartMultipartAnswer, output) - 0usize];
    ["Offset of field: _OrthancPluginStartMultipartAnswer::subType"]
        [::std::mem::offset_of!(_OrthancPluginStartMultipartAnswer, subType) - 8usize];
    ["Offset of field: _OrthancPluginStartMultipartAnswer::contentType"]
        [::std::mem::offset_of!(_OrthancPluginStartMultipartAnswer, contentType) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginBufferCompression {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub source: *const ::std::os::raw::c_void,
    pub size: u32,
    pub compression: OrthancPluginCompressionType,
    pub uncompress: u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginBufferCompression"]
        [::std::mem::size_of::<_OrthancPluginBufferCompression>() - 32usize];
    ["Alignment of _OrthancPluginBufferCompression"]
        [::std::mem::align_of::<_OrthancPluginBufferCompression>() - 8usize];
    ["Offset of field: _OrthancPluginBufferCompression::target"]
        [::std::mem::offset_of!(_OrthancPluginBufferCompression, target) - 0usize];
    ["Offset of field: _OrthancPluginBufferCompression::source"]
        [::std::mem::offset_of!(_OrthancPluginBufferCompression, source) - 8usize];
    ["Offset of field: _OrthancPluginBufferCompression::size"]
        [::std::mem::offset_of!(_OrthancPluginBufferCompression, size) - 16usize];
    ["Offset of field: _OrthancPluginBufferCompression::compression"]
        [::std::mem::offset_of!(_OrthancPluginBufferCompression, compression) - 20usize];
    ["Offset of field: _OrthancPluginBufferCompression::uncompress"]
        [::std::mem::offset_of!(_OrthancPluginBufferCompression, uncompress) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginReadFile {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub path: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginReadFile"][::std::mem::size_of::<_OrthancPluginReadFile>() - 16usize];
    ["Alignment of _OrthancPluginReadFile"]
        [::std::mem::align_of::<_OrthancPluginReadFile>() - 8usize];
    ["Offset of field: _OrthancPluginReadFile::target"]
        [::std::mem::offset_of!(_OrthancPluginReadFile, target) - 0usize];
    ["Offset of field: _OrthancPluginReadFile::path"]
        [::std::mem::offset_of!(_OrthancPluginReadFile, path) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginWriteFile {
    pub path: *const ::std::os::raw::c_char,
    pub data: *const ::std::os::raw::c_void,
    pub size: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginWriteFile"][::std::mem::size_of::<_OrthancPluginWriteFile>() - 24usize];
    ["Alignment of _OrthancPluginWriteFile"]
        [::std::mem::align_of::<_OrthancPluginWriteFile>() - 8usize];
    ["Offset of field: _OrthancPluginWriteFile::path"]
        [::std::mem::offset_of!(_OrthancPluginWriteFile, path) - 0usize];
    ["Offset of field: _OrthancPluginWriteFile::data"]
        [::std::mem::offset_of!(_OrthancPluginWriteFile, data) - 8usize];
    ["Offset of field: _OrthancPluginWriteFile::size"]
        [::std::mem::offset_of!(_OrthancPluginWriteFile, size) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetErrorDescription {
    pub target: *mut *const ::std::os::raw::c_char,
    pub error: OrthancPluginErrorCode,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetErrorDescription"]
        [::std::mem::size_of::<_OrthancPluginGetErrorDescription>() - 16usize];
    ["Alignment of _OrthancPluginGetErrorDescription"]
        [::std::mem::align_of::<_OrthancPluginGetErrorDescription>() - 8usize];
    ["Offset of field: _OrthancPluginGetErrorDescription::target"]
        [::std::mem::offset_of!(_OrthancPluginGetErrorDescription, target) - 0usize];
    ["Offset of field: _OrthancPluginGetErrorDescription::error"]
        [::std::mem::offset_of!(_OrthancPluginGetErrorDescription, error) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSendHttpStatus {
    pub output: *mut OrthancPluginRestOutput,
    pub status: u16,
    pub body: *const ::std::os::raw::c_void,
    pub bodySize: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSendHttpStatus"]
        [::std::mem::size_of::<_OrthancPluginSendHttpStatus>() - 32usize];
    ["Alignment of _OrthancPluginSendHttpStatus"]
        [::std::mem::align_of::<_OrthancPluginSendHttpStatus>() - 8usize];
    ["Offset of field: _OrthancPluginSendHttpStatus::output"]
        [::std::mem::offset_of!(_OrthancPluginSendHttpStatus, output) - 0usize];
    ["Offset of field: _OrthancPluginSendHttpStatus::status"]
        [::std::mem::offset_of!(_OrthancPluginSendHttpStatus, status) - 8usize];
    ["Offset of field: _OrthancPluginSendHttpStatus::body"]
        [::std::mem::offset_of!(_OrthancPluginSendHttpStatus, body) - 16usize];
    ["Offset of field: _OrthancPluginSendHttpStatus::bodySize"]
        [::std::mem::offset_of!(_OrthancPluginSendHttpStatus, bodySize) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetImageInfo {
    pub image: *const OrthancPluginImage,
    pub resultUint32: *mut u32,
    pub resultPixelFormat: *mut OrthancPluginPixelFormat,
    pub resultBuffer: *mut *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetImageInfo"]
        [::std::mem::size_of::<_OrthancPluginGetImageInfo>() - 32usize];
    ["Alignment of _OrthancPluginGetImageInfo"]
        [::std::mem::align_of::<_OrthancPluginGetImageInfo>() - 8usize];
    ["Offset of field: _OrthancPluginGetImageInfo::image"]
        [::std::mem::offset_of!(_OrthancPluginGetImageInfo, image) - 0usize];
    ["Offset of field: _OrthancPluginGetImageInfo::resultUint32"]
        [::std::mem::offset_of!(_OrthancPluginGetImageInfo, resultUint32) - 8usize];
    ["Offset of field: _OrthancPluginGetImageInfo::resultPixelFormat"]
        [::std::mem::offset_of!(_OrthancPluginGetImageInfo, resultPixelFormat) - 16usize];
    ["Offset of field: _OrthancPluginGetImageInfo::resultBuffer"]
        [::std::mem::offset_of!(_OrthancPluginGetImageInfo, resultBuffer) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginUncompressImage {
    pub target: *mut *mut OrthancPluginImage,
    pub data: *const ::std::os::raw::c_void,
    pub size: u32,
    pub format: OrthancPluginImageFormat,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginUncompressImage"]
        [::std::mem::size_of::<_OrthancPluginUncompressImage>() - 24usize];
    ["Alignment of _OrthancPluginUncompressImage"]
        [::std::mem::align_of::<_OrthancPluginUncompressImage>() - 8usize];
    ["Offset of field: _OrthancPluginUncompressImage::target"]
        [::std::mem::offset_of!(_OrthancPluginUncompressImage, target) - 0usize];
    ["Offset of field: _OrthancPluginUncompressImage::data"]
        [::std::mem::offset_of!(_OrthancPluginUncompressImage, data) - 8usize];
    ["Offset of field: _OrthancPluginUncompressImage::size"]
        [::std::mem::offset_of!(_OrthancPluginUncompressImage, size) - 16usize];
    ["Offset of field: _OrthancPluginUncompressImage::format"]
        [::std::mem::offset_of!(_OrthancPluginUncompressImage, format) - 20usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFreeImage {
    pub image: *mut OrthancPluginImage,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFreeImage"][::std::mem::size_of::<_OrthancPluginFreeImage>() - 8usize];
    ["Alignment of _OrthancPluginFreeImage"]
        [::std::mem::align_of::<_OrthancPluginFreeImage>() - 8usize];
    ["Offset of field: _OrthancPluginFreeImage::image"]
        [::std::mem::offset_of!(_OrthancPluginFreeImage, image) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCompressImage {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub imageFormat: OrthancPluginImageFormat,
    pub pixelFormat: OrthancPluginPixelFormat,
    pub width: u32,
    pub height: u32,
    pub pitch: u32,
    pub buffer: *const ::std::os::raw::c_void,
    pub quality: u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCompressImage"]
        [::std::mem::size_of::<_OrthancPluginCompressImage>() - 48usize];
    ["Alignment of _OrthancPluginCompressImage"]
        [::std::mem::align_of::<_OrthancPluginCompressImage>() - 8usize];
    ["Offset of field: _OrthancPluginCompressImage::target"]
        [::std::mem::offset_of!(_OrthancPluginCompressImage, target) - 0usize];
    ["Offset of field: _OrthancPluginCompressImage::imageFormat"]
        [::std::mem::offset_of!(_OrthancPluginCompressImage, imageFormat) - 8usize];
    ["Offset of field: _OrthancPluginCompressImage::pixelFormat"]
        [::std::mem::offset_of!(_OrthancPluginCompressImage, pixelFormat) - 12usize];
    ["Offset of field: _OrthancPluginCompressImage::width"]
        [::std::mem::offset_of!(_OrthancPluginCompressImage, width) - 16usize];
    ["Offset of field: _OrthancPluginCompressImage::height"]
        [::std::mem::offset_of!(_OrthancPluginCompressImage, height) - 20usize];
    ["Offset of field: _OrthancPluginCompressImage::pitch"]
        [::std::mem::offset_of!(_OrthancPluginCompressImage, pitch) - 24usize];
    ["Offset of field: _OrthancPluginCompressImage::buffer"]
        [::std::mem::offset_of!(_OrthancPluginCompressImage, buffer) - 32usize];
    ["Offset of field: _OrthancPluginCompressImage::quality"]
        [::std::mem::offset_of!(_OrthancPluginCompressImage, quality) - 40usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCallHttpClient {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub method: OrthancPluginHttpMethod,
    pub url: *const ::std::os::raw::c_char,
    pub username: *const ::std::os::raw::c_char,
    pub password: *const ::std::os::raw::c_char,
    pub body: *const ::std::os::raw::c_void,
    pub bodySize: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCallHttpClient"]
        [::std::mem::size_of::<_OrthancPluginCallHttpClient>() - 56usize];
    ["Alignment of _OrthancPluginCallHttpClient"]
        [::std::mem::align_of::<_OrthancPluginCallHttpClient>() - 8usize];
    ["Offset of field: _OrthancPluginCallHttpClient::target"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient, target) - 0usize];
    ["Offset of field: _OrthancPluginCallHttpClient::method"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient, method) - 8usize];
    ["Offset of field: _OrthancPluginCallHttpClient::url"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient, url) - 16usize];
    ["Offset of field: _OrthancPluginCallHttpClient::username"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient, username) - 24usize];
    ["Offset of field: _OrthancPluginCallHttpClient::password"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient, password) - 32usize];
    ["Offset of field: _OrthancPluginCallHttpClient::body"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient, body) - 40usize];
    ["Offset of field: _OrthancPluginCallHttpClient::bodySize"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient, bodySize) - 48usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginConvertPixelFormat {
    pub target: *mut *mut OrthancPluginImage,
    pub source: *const OrthancPluginImage,
    pub targetFormat: OrthancPluginPixelFormat,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginConvertPixelFormat"]
        [::std::mem::size_of::<_OrthancPluginConvertPixelFormat>() - 24usize];
    ["Alignment of _OrthancPluginConvertPixelFormat"]
        [::std::mem::align_of::<_OrthancPluginConvertPixelFormat>() - 8usize];
    ["Offset of field: _OrthancPluginConvertPixelFormat::target"]
        [::std::mem::offset_of!(_OrthancPluginConvertPixelFormat, target) - 0usize];
    ["Offset of field: _OrthancPluginConvertPixelFormat::source"]
        [::std::mem::offset_of!(_OrthancPluginConvertPixelFormat, source) - 8usize];
    ["Offset of field: _OrthancPluginConvertPixelFormat::targetFormat"]
        [::std::mem::offset_of!(_OrthancPluginConvertPixelFormat, targetFormat) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetFontInfo {
    pub fontIndex: u32,
    pub name: *mut *const ::std::os::raw::c_char,
    pub size: *mut u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetFontInfo"]
        [::std::mem::size_of::<_OrthancPluginGetFontInfo>() - 24usize];
    ["Alignment of _OrthancPluginGetFontInfo"]
        [::std::mem::align_of::<_OrthancPluginGetFontInfo>() - 8usize];
    ["Offset of field: _OrthancPluginGetFontInfo::fontIndex"]
        [::std::mem::offset_of!(_OrthancPluginGetFontInfo, fontIndex) - 0usize];
    ["Offset of field: _OrthancPluginGetFontInfo::name"]
        [::std::mem::offset_of!(_OrthancPluginGetFontInfo, name) - 8usize];
    ["Offset of field: _OrthancPluginGetFontInfo::size"]
        [::std::mem::offset_of!(_OrthancPluginGetFontInfo, size) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginDrawText {
    pub image: *mut OrthancPluginImage,
    pub fontIndex: u32,
    pub utf8Text: *const ::std::os::raw::c_char,
    pub x: i32,
    pub y: i32,
    pub r: u8,
    pub g: u8,
    pub b: u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginDrawText"][::std::mem::size_of::<_OrthancPluginDrawText>() - 40usize];
    ["Alignment of _OrthancPluginDrawText"]
        [::std::mem::align_of::<_OrthancPluginDrawText>() - 8usize];
    ["Offset of field: _OrthancPluginDrawText::image"]
        [::std::mem::offset_of!(_OrthancPluginDrawText, image) - 0usize];
    ["Offset of field: _OrthancPluginDrawText::fontIndex"]
        [::std::mem::offset_of!(_OrthancPluginDrawText, fontIndex) - 8usize];
    ["Offset of field: _OrthancPluginDrawText::utf8Text"]
        [::std::mem::offset_of!(_OrthancPluginDrawText, utf8Text) - 16usize];
    ["Offset of field: _OrthancPluginDrawText::x"]
        [::std::mem::offset_of!(_OrthancPluginDrawText, x) - 24usize];
    ["Offset of field: _OrthancPluginDrawText::y"]
        [::std::mem::offset_of!(_OrthancPluginDrawText, y) - 28usize];
    ["Offset of field: _OrthancPluginDrawText::r"]
        [::std::mem::offset_of!(_OrthancPluginDrawText, r) - 32usize];
    ["Offset of field: _OrthancPluginDrawText::g"]
        [::std::mem::offset_of!(_OrthancPluginDrawText, g) - 33usize];
    ["Offset of field: _OrthancPluginDrawText::b"]
        [::std::mem::offset_of!(_OrthancPluginDrawText, b) - 34usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginStorageAreaCreate {
    pub storageArea: *mut OrthancPluginStorageArea,
    pub uuid: *const ::std::os::raw::c_char,
    pub content: *const ::std::os::raw::c_void,
    pub size: u64,
    pub type_: OrthancPluginContentType,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginStorageAreaCreate"]
        [::std::mem::size_of::<_OrthancPluginStorageAreaCreate>() - 40usize];
    ["Alignment of _OrthancPluginStorageAreaCreate"]
        [::std::mem::align_of::<_OrthancPluginStorageAreaCreate>() - 8usize];
    ["Offset of field: _OrthancPluginStorageAreaCreate::storageArea"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaCreate, storageArea) - 0usize];
    ["Offset of field: _OrthancPluginStorageAreaCreate::uuid"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaCreate, uuid) - 8usize];
    ["Offset of field: _OrthancPluginStorageAreaCreate::content"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaCreate, content) - 16usize];
    ["Offset of field: _OrthancPluginStorageAreaCreate::size"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaCreate, size) - 24usize];
    ["Offset of field: _OrthancPluginStorageAreaCreate::type_"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaCreate, type_) - 32usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginStorageAreaRead {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub storageArea: *mut OrthancPluginStorageArea,
    pub uuid: *const ::std::os::raw::c_char,
    pub type_: OrthancPluginContentType,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginStorageAreaRead"]
        [::std::mem::size_of::<_OrthancPluginStorageAreaRead>() - 32usize];
    ["Alignment of _OrthancPluginStorageAreaRead"]
        [::std::mem::align_of::<_OrthancPluginStorageAreaRead>() - 8usize];
    ["Offset of field: _OrthancPluginStorageAreaRead::target"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaRead, target) - 0usize];
    ["Offset of field: _OrthancPluginStorageAreaRead::storageArea"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaRead, storageArea) - 8usize];
    ["Offset of field: _OrthancPluginStorageAreaRead::uuid"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaRead, uuid) - 16usize];
    ["Offset of field: _OrthancPluginStorageAreaRead::type_"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaRead, type_) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginStorageAreaRemove {
    pub storageArea: *mut OrthancPluginStorageArea,
    pub uuid: *const ::std::os::raw::c_char,
    pub type_: OrthancPluginContentType,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginStorageAreaRemove"]
        [::std::mem::size_of::<_OrthancPluginStorageAreaRemove>() - 24usize];
    ["Alignment of _OrthancPluginStorageAreaRemove"]
        [::std::mem::align_of::<_OrthancPluginStorageAreaRemove>() - 8usize];
    ["Offset of field: _OrthancPluginStorageAreaRemove::storageArea"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaRemove, storageArea) - 0usize];
    ["Offset of field: _OrthancPluginStorageAreaRemove::uuid"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaRemove, uuid) - 8usize];
    ["Offset of field: _OrthancPluginStorageAreaRemove::type_"]
        [::std::mem::offset_of!(_OrthancPluginStorageAreaRemove, type_) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterErrorCode {
    pub target: *mut OrthancPluginErrorCode,
    pub code: i32,
    pub httpStatus: u16,
    pub message: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterErrorCode"]
        [::std::mem::size_of::<_OrthancPluginRegisterErrorCode>() - 24usize];
    ["Alignment of _OrthancPluginRegisterErrorCode"]
        [::std::mem::align_of::<_OrthancPluginRegisterErrorCode>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterErrorCode::target"]
        [::std::mem::offset_of!(_OrthancPluginRegisterErrorCode, target) - 0usize];
    ["Offset of field: _OrthancPluginRegisterErrorCode::code"]
        [::std::mem::offset_of!(_OrthancPluginRegisterErrorCode, code) - 8usize];
    ["Offset of field: _OrthancPluginRegisterErrorCode::httpStatus"]
        [::std::mem::offset_of!(_OrthancPluginRegisterErrorCode, httpStatus) - 12usize];
    ["Offset of field: _OrthancPluginRegisterErrorCode::message"]
        [::std::mem::offset_of!(_OrthancPluginRegisterErrorCode, message) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterDictionaryTag {
    pub group: u16,
    pub element: u16,
    pub vr: OrthancPluginValueRepresentation,
    pub name: *const ::std::os::raw::c_char,
    pub minMultiplicity: u32,
    pub maxMultiplicity: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterDictionaryTag"]
        [::std::mem::size_of::<_OrthancPluginRegisterDictionaryTag>() - 24usize];
    ["Alignment of _OrthancPluginRegisterDictionaryTag"]
        [::std::mem::align_of::<_OrthancPluginRegisterDictionaryTag>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterDictionaryTag::group"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDictionaryTag, group) - 0usize];
    ["Offset of field: _OrthancPluginRegisterDictionaryTag::element"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDictionaryTag, element) - 2usize];
    ["Offset of field: _OrthancPluginRegisterDictionaryTag::vr"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDictionaryTag, vr) - 4usize];
    ["Offset of field: _OrthancPluginRegisterDictionaryTag::name"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDictionaryTag, name) - 8usize];
    ["Offset of field: _OrthancPluginRegisterDictionaryTag::minMultiplicity"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDictionaryTag, minMultiplicity) - 16usize];
    ["Offset of field: _OrthancPluginRegisterDictionaryTag::maxMultiplicity"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDictionaryTag, maxMultiplicity) - 20usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterPrivateDictionaryTag {
    pub group: u16,
    pub element: u16,
    pub vr: OrthancPluginValueRepresentation,
    pub name: *const ::std::os::raw::c_char,
    pub minMultiplicity: u32,
    pub maxMultiplicity: u32,
    pub privateCreator: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterPrivateDictionaryTag"]
        [::std::mem::size_of::<_OrthancPluginRegisterPrivateDictionaryTag>() - 32usize];
    ["Alignment of _OrthancPluginRegisterPrivateDictionaryTag"]
        [::std::mem::align_of::<_OrthancPluginRegisterPrivateDictionaryTag>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterPrivateDictionaryTag::group"]
        [::std::mem::offset_of!(_OrthancPluginRegisterPrivateDictionaryTag, group) - 0usize];
    ["Offset of field: _OrthancPluginRegisterPrivateDictionaryTag::element"]
        [::std::mem::offset_of!(_OrthancPluginRegisterPrivateDictionaryTag, element) - 2usize];
    ["Offset of field: _OrthancPluginRegisterPrivateDictionaryTag::vr"]
        [::std::mem::offset_of!(_OrthancPluginRegisterPrivateDictionaryTag, vr) - 4usize];
    ["Offset of field: _OrthancPluginRegisterPrivateDictionaryTag::name"]
        [::std::mem::offset_of!(_OrthancPluginRegisterPrivateDictionaryTag, name) - 8usize];
    ["Offset of field: _OrthancPluginRegisterPrivateDictionaryTag::minMultiplicity"][::std::mem::offset_of!(
        _OrthancPluginRegisterPrivateDictionaryTag,
        minMultiplicity
    ) - 16usize];
    ["Offset of field: _OrthancPluginRegisterPrivateDictionaryTag::maxMultiplicity"][::std::mem::offset_of!(
        _OrthancPluginRegisterPrivateDictionaryTag,
        maxMultiplicity
    ) - 20usize];
    ["Offset of field: _OrthancPluginRegisterPrivateDictionaryTag::privateCreator"][::std::mem::offset_of!(
        _OrthancPluginRegisterPrivateDictionaryTag,
        privateCreator
    ) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginReconstructMainDicomTags {
    pub storageArea: *mut OrthancPluginStorageArea,
    pub level: OrthancPluginResourceType,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginReconstructMainDicomTags"]
        [::std::mem::size_of::<_OrthancPluginReconstructMainDicomTags>() - 16usize];
    ["Alignment of _OrthancPluginReconstructMainDicomTags"]
        [::std::mem::align_of::<_OrthancPluginReconstructMainDicomTags>() - 8usize];
    ["Offset of field: _OrthancPluginReconstructMainDicomTags::storageArea"]
        [::std::mem::offset_of!(_OrthancPluginReconstructMainDicomTags, storageArea) - 0usize];
    ["Offset of field: _OrthancPluginReconstructMainDicomTags::level"]
        [::std::mem::offset_of!(_OrthancPluginReconstructMainDicomTags, level) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginDicomToJson {
    pub result: *mut *mut ::std::os::raw::c_char,
    pub instanceId: *const ::std::os::raw::c_char,
    pub buffer: *const ::std::os::raw::c_void,
    pub size: u32,
    pub format: OrthancPluginDicomToJsonFormat,
    pub flags: OrthancPluginDicomToJsonFlags,
    pub maxStringLength: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginDicomToJson"]
        [::std::mem::size_of::<_OrthancPluginDicomToJson>() - 40usize];
    ["Alignment of _OrthancPluginDicomToJson"]
        [::std::mem::align_of::<_OrthancPluginDicomToJson>() - 8usize];
    ["Offset of field: _OrthancPluginDicomToJson::result"]
        [::std::mem::offset_of!(_OrthancPluginDicomToJson, result) - 0usize];
    ["Offset of field: _OrthancPluginDicomToJson::instanceId"]
        [::std::mem::offset_of!(_OrthancPluginDicomToJson, instanceId) - 8usize];
    ["Offset of field: _OrthancPluginDicomToJson::buffer"]
        [::std::mem::offset_of!(_OrthancPluginDicomToJson, buffer) - 16usize];
    ["Offset of field: _OrthancPluginDicomToJson::size"]
        [::std::mem::offset_of!(_OrthancPluginDicomToJson, size) - 24usize];
    ["Offset of field: _OrthancPluginDicomToJson::format"]
        [::std::mem::offset_of!(_OrthancPluginDicomToJson, format) - 28usize];
    ["Offset of field: _OrthancPluginDicomToJson::flags"]
        [::std::mem::offset_of!(_OrthancPluginDicomToJson, flags) - 32usize];
    ["Offset of field: _OrthancPluginDicomToJson::maxStringLength"]
        [::std::mem::offset_of!(_OrthancPluginDicomToJson, maxStringLength) - 36usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRestApiGet2 {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub uri: *const ::std::os::raw::c_char,
    pub headersCount: u32,
    pub headersKeys: *const *const ::std::os::raw::c_char,
    pub headersValues: *const *const ::std::os::raw::c_char,
    pub afterPlugins: i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRestApiGet2"]
        [::std::mem::size_of::<_OrthancPluginRestApiGet2>() - 48usize];
    ["Alignment of _OrthancPluginRestApiGet2"]
        [::std::mem::align_of::<_OrthancPluginRestApiGet2>() - 8usize];
    ["Offset of field: _OrthancPluginRestApiGet2::target"]
        [::std::mem::offset_of!(_OrthancPluginRestApiGet2, target) - 0usize];
    ["Offset of field: _OrthancPluginRestApiGet2::uri"]
        [::std::mem::offset_of!(_OrthancPluginRestApiGet2, uri) - 8usize];
    ["Offset of field: _OrthancPluginRestApiGet2::headersCount"]
        [::std::mem::offset_of!(_OrthancPluginRestApiGet2, headersCount) - 16usize];
    ["Offset of field: _OrthancPluginRestApiGet2::headersKeys"]
        [::std::mem::offset_of!(_OrthancPluginRestApiGet2, headersKeys) - 24usize];
    ["Offset of field: _OrthancPluginRestApiGet2::headersValues"]
        [::std::mem::offset_of!(_OrthancPluginRestApiGet2, headersValues) - 32usize];
    ["Offset of field: _OrthancPluginRestApiGet2::afterPlugins"]
        [::std::mem::offset_of!(_OrthancPluginRestApiGet2, afterPlugins) - 40usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginWorklistCallback {
    pub callback: OrthancPluginWorklistCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginWorklistCallback"]
        [::std::mem::size_of::<_OrthancPluginWorklistCallback>() - 8usize];
    ["Alignment of _OrthancPluginWorklistCallback"]
        [::std::mem::align_of::<_OrthancPluginWorklistCallback>() - 8usize];
    ["Offset of field: _OrthancPluginWorklistCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginWorklistCallback, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginWorklistAnswersOperation {
    pub answers: *mut OrthancPluginWorklistAnswers,
    pub query: *const OrthancPluginWorklistQuery,
    pub dicom: *const ::std::os::raw::c_void,
    pub size: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginWorklistAnswersOperation"]
        [::std::mem::size_of::<_OrthancPluginWorklistAnswersOperation>() - 32usize];
    ["Alignment of _OrthancPluginWorklistAnswersOperation"]
        [::std::mem::align_of::<_OrthancPluginWorklistAnswersOperation>() - 8usize];
    ["Offset of field: _OrthancPluginWorklistAnswersOperation::answers"]
        [::std::mem::offset_of!(_OrthancPluginWorklistAnswersOperation, answers) - 0usize];
    ["Offset of field: _OrthancPluginWorklistAnswersOperation::query"]
        [::std::mem::offset_of!(_OrthancPluginWorklistAnswersOperation, query) - 8usize];
    ["Offset of field: _OrthancPluginWorklistAnswersOperation::dicom"]
        [::std::mem::offset_of!(_OrthancPluginWorklistAnswersOperation, dicom) - 16usize];
    ["Offset of field: _OrthancPluginWorklistAnswersOperation::size"]
        [::std::mem::offset_of!(_OrthancPluginWorklistAnswersOperation, size) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginWorklistQueryOperation {
    pub query: *const OrthancPluginWorklistQuery,
    pub dicom: *const ::std::os::raw::c_void,
    pub size: u32,
    pub isMatch: *mut i32,
    pub target: *mut OrthancPluginMemoryBuffer,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginWorklistQueryOperation"]
        [::std::mem::size_of::<_OrthancPluginWorklistQueryOperation>() - 40usize];
    ["Alignment of _OrthancPluginWorklistQueryOperation"]
        [::std::mem::align_of::<_OrthancPluginWorklistQueryOperation>() - 8usize];
    ["Offset of field: _OrthancPluginWorklistQueryOperation::query"]
        [::std::mem::offset_of!(_OrthancPluginWorklistQueryOperation, query) - 0usize];
    ["Offset of field: _OrthancPluginWorklistQueryOperation::dicom"]
        [::std::mem::offset_of!(_OrthancPluginWorklistQueryOperation, dicom) - 8usize];
    ["Offset of field: _OrthancPluginWorklistQueryOperation::size"]
        [::std::mem::offset_of!(_OrthancPluginWorklistQueryOperation, size) - 16usize];
    ["Offset of field: _OrthancPluginWorklistQueryOperation::isMatch"]
        [::std::mem::offset_of!(_OrthancPluginWorklistQueryOperation, isMatch) - 24usize];
    ["Offset of field: _OrthancPluginWorklistQueryOperation::target"]
        [::std::mem::offset_of!(_OrthancPluginWorklistQueryOperation, target) - 32usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateDicom {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub json: *const ::std::os::raw::c_char,
    pub pixelData: *const OrthancPluginImage,
    pub flags: OrthancPluginCreateDicomFlags,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateDicom"]
        [::std::mem::size_of::<_OrthancPluginCreateDicom>() - 32usize];
    ["Alignment of _OrthancPluginCreateDicom"]
        [::std::mem::align_of::<_OrthancPluginCreateDicom>() - 8usize];
    ["Offset of field: _OrthancPluginCreateDicom::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicom, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateDicom::json"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicom, json) - 8usize];
    ["Offset of field: _OrthancPluginCreateDicom::pixelData"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicom, pixelData) - 16usize];
    ["Offset of field: _OrthancPluginCreateDicom::flags"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicom, flags) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginDecodeImageCallback {
    pub callback: OrthancPluginDecodeImageCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginDecodeImageCallback"]
        [::std::mem::size_of::<_OrthancPluginDecodeImageCallback>() - 8usize];
    ["Alignment of _OrthancPluginDecodeImageCallback"]
        [::std::mem::align_of::<_OrthancPluginDecodeImageCallback>() - 8usize];
    ["Offset of field: _OrthancPluginDecodeImageCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginDecodeImageCallback, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateImage {
    pub target: *mut *mut OrthancPluginImage,
    pub format: OrthancPluginPixelFormat,
    pub width: u32,
    pub height: u32,
    pub pitch: u32,
    pub buffer: *mut ::std::os::raw::c_void,
    pub constBuffer: *const ::std::os::raw::c_void,
    pub bufferSize: u32,
    pub frameIndex: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateImage"]
        [::std::mem::size_of::<_OrthancPluginCreateImage>() - 48usize];
    ["Alignment of _OrthancPluginCreateImage"]
        [::std::mem::align_of::<_OrthancPluginCreateImage>() - 8usize];
    ["Offset of field: _OrthancPluginCreateImage::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateImage::format"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, format) - 8usize];
    ["Offset of field: _OrthancPluginCreateImage::width"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, width) - 12usize];
    ["Offset of field: _OrthancPluginCreateImage::height"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, height) - 16usize];
    ["Offset of field: _OrthancPluginCreateImage::pitch"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, pitch) - 20usize];
    ["Offset of field: _OrthancPluginCreateImage::buffer"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, buffer) - 24usize];
    ["Offset of field: _OrthancPluginCreateImage::constBuffer"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, constBuffer) - 32usize];
    ["Offset of field: _OrthancPluginCreateImage::bufferSize"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, bufferSize) - 40usize];
    ["Offset of field: _OrthancPluginCreateImage::frameIndex"]
        [::std::mem::offset_of!(_OrthancPluginCreateImage, frameIndex) - 44usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginComputeHash {
    pub result: *mut *mut ::std::os::raw::c_char,
    pub buffer: *const ::std::os::raw::c_void,
    pub size: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginComputeHash"]
        [::std::mem::size_of::<_OrthancPluginComputeHash>() - 24usize];
    ["Alignment of _OrthancPluginComputeHash"]
        [::std::mem::align_of::<_OrthancPluginComputeHash>() - 8usize];
    ["Offset of field: _OrthancPluginComputeHash::result"]
        [::std::mem::offset_of!(_OrthancPluginComputeHash, result) - 0usize];
    ["Offset of field: _OrthancPluginComputeHash::buffer"]
        [::std::mem::offset_of!(_OrthancPluginComputeHash, buffer) - 8usize];
    ["Offset of field: _OrthancPluginComputeHash::size"]
        [::std::mem::offset_of!(_OrthancPluginComputeHash, size) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginLookupDictionary {
    pub target: *mut OrthancPluginDictionaryEntry,
    pub name: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginLookupDictionary"]
        [::std::mem::size_of::<_OrthancPluginLookupDictionary>() - 16usize];
    ["Alignment of _OrthancPluginLookupDictionary"]
        [::std::mem::align_of::<_OrthancPluginLookupDictionary>() - 8usize];
    ["Offset of field: _OrthancPluginLookupDictionary::target"]
        [::std::mem::offset_of!(_OrthancPluginLookupDictionary, target) - 0usize];
    ["Offset of field: _OrthancPluginLookupDictionary::name"]
        [::std::mem::offset_of!(_OrthancPluginLookupDictionary, name) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSendMultipartItem2 {
    pub output: *mut OrthancPluginRestOutput,
    pub answer: *const ::std::os::raw::c_void,
    pub answerSize: u32,
    pub headersCount: u32,
    pub headersKeys: *const *const ::std::os::raw::c_char,
    pub headersValues: *const *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSendMultipartItem2"]
        [::std::mem::size_of::<_OrthancPluginSendMultipartItem2>() - 40usize];
    ["Alignment of _OrthancPluginSendMultipartItem2"]
        [::std::mem::align_of::<_OrthancPluginSendMultipartItem2>() - 8usize];
    ["Offset of field: _OrthancPluginSendMultipartItem2::output"]
        [::std::mem::offset_of!(_OrthancPluginSendMultipartItem2, output) - 0usize];
    ["Offset of field: _OrthancPluginSendMultipartItem2::answer"]
        [::std::mem::offset_of!(_OrthancPluginSendMultipartItem2, answer) - 8usize];
    ["Offset of field: _OrthancPluginSendMultipartItem2::answerSize"]
        [::std::mem::offset_of!(_OrthancPluginSendMultipartItem2, answerSize) - 16usize];
    ["Offset of field: _OrthancPluginSendMultipartItem2::headersCount"]
        [::std::mem::offset_of!(_OrthancPluginSendMultipartItem2, headersCount) - 20usize];
    ["Offset of field: _OrthancPluginSendMultipartItem2::headersKeys"]
        [::std::mem::offset_of!(_OrthancPluginSendMultipartItem2, headersKeys) - 24usize];
    ["Offset of field: _OrthancPluginSendMultipartItem2::headersValues"]
        [::std::mem::offset_of!(_OrthancPluginSendMultipartItem2, headersValues) - 32usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginIncomingHttpRequestFilter {
    pub callback: OrthancPluginIncomingHttpRequestFilter,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginIncomingHttpRequestFilter"]
        [::std::mem::size_of::<_OrthancPluginIncomingHttpRequestFilter>() - 8usize];
    ["Alignment of _OrthancPluginIncomingHttpRequestFilter"]
        [::std::mem::align_of::<_OrthancPluginIncomingHttpRequestFilter>() - 8usize];
    ["Offset of field: _OrthancPluginIncomingHttpRequestFilter::callback"]
        [::std::mem::offset_of!(_OrthancPluginIncomingHttpRequestFilter, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCallHttpClient2 {
    pub answerBody: *mut OrthancPluginMemoryBuffer,
    pub answerHeaders: *mut OrthancPluginMemoryBuffer,
    pub httpStatus: *mut u16,
    pub method: OrthancPluginHttpMethod,
    pub url: *const ::std::os::raw::c_char,
    pub headersCount: u32,
    pub headersKeys: *const *const ::std::os::raw::c_char,
    pub headersValues: *const *const ::std::os::raw::c_char,
    pub body: *const ::std::os::raw::c_void,
    pub bodySize: u32,
    pub username: *const ::std::os::raw::c_char,
    pub password: *const ::std::os::raw::c_char,
    pub timeout: u32,
    pub certificateFile: *const ::std::os::raw::c_char,
    pub certificateKeyFile: *const ::std::os::raw::c_char,
    pub certificateKeyPassword: *const ::std::os::raw::c_char,
    pub pkcs11: u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCallHttpClient2"]
        [::std::mem::size_of::<_OrthancPluginCallHttpClient2>() - 136usize];
    ["Alignment of _OrthancPluginCallHttpClient2"]
        [::std::mem::align_of::<_OrthancPluginCallHttpClient2>() - 8usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::answerBody"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, answerBody) - 0usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::answerHeaders"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, answerHeaders) - 8usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::httpStatus"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, httpStatus) - 16usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::method"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, method) - 24usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::url"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, url) - 32usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::headersCount"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, headersCount) - 40usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::headersKeys"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, headersKeys) - 48usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::headersValues"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, headersValues) - 56usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::body"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, body) - 64usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::bodySize"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, bodySize) - 72usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::username"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, username) - 80usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::password"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, password) - 88usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::timeout"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, timeout) - 96usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::certificateFile"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, certificateFile) - 104usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::certificateKeyFile"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, certificateKeyFile) - 112usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::certificateKeyPassword"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, certificateKeyPassword) - 120usize];
    ["Offset of field: _OrthancPluginCallHttpClient2::pkcs11"]
        [::std::mem::offset_of!(_OrthancPluginCallHttpClient2, pkcs11) - 128usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFindCallback {
    pub callback: OrthancPluginFindCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFindCallback"]
        [::std::mem::size_of::<_OrthancPluginFindCallback>() - 8usize];
    ["Alignment of _OrthancPluginFindCallback"]
        [::std::mem::align_of::<_OrthancPluginFindCallback>() - 8usize];
    ["Offset of field: _OrthancPluginFindCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginFindCallback, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFindOperation {
    pub answers: *mut OrthancPluginFindAnswers,
    pub query: *const OrthancPluginFindQuery,
    pub dicom: *const ::std::os::raw::c_void,
    pub size: u32,
    pub index: u32,
    pub resultUint32: *mut u32,
    pub resultGroup: *mut u16,
    pub resultElement: *mut u16,
    pub resultString: *mut *mut ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFindOperation"]
        [::std::mem::size_of::<_OrthancPluginFindOperation>() - 64usize];
    ["Alignment of _OrthancPluginFindOperation"]
        [::std::mem::align_of::<_OrthancPluginFindOperation>() - 8usize];
    ["Offset of field: _OrthancPluginFindOperation::answers"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, answers) - 0usize];
    ["Offset of field: _OrthancPluginFindOperation::query"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, query) - 8usize];
    ["Offset of field: _OrthancPluginFindOperation::dicom"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, dicom) - 16usize];
    ["Offset of field: _OrthancPluginFindOperation::size"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, size) - 24usize];
    ["Offset of field: _OrthancPluginFindOperation::index"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, index) - 28usize];
    ["Offset of field: _OrthancPluginFindOperation::resultUint32"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, resultUint32) - 32usize];
    ["Offset of field: _OrthancPluginFindOperation::resultGroup"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, resultGroup) - 40usize];
    ["Offset of field: _OrthancPluginFindOperation::resultElement"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, resultElement) - 48usize];
    ["Offset of field: _OrthancPluginFindOperation::resultString"]
        [::std::mem::offset_of!(_OrthancPluginFindOperation, resultString) - 56usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginMoveCallback {
    pub callback: OrthancPluginMoveCallback,
    pub getMoveSize: OrthancPluginGetMoveSize,
    pub applyMove: OrthancPluginApplyMove,
    pub freeMove: OrthancPluginFreeMove,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginMoveCallback"]
        [::std::mem::size_of::<_OrthancPluginMoveCallback>() - 32usize];
    ["Alignment of _OrthancPluginMoveCallback"]
        [::std::mem::align_of::<_OrthancPluginMoveCallback>() - 8usize];
    ["Offset of field: _OrthancPluginMoveCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginMoveCallback, callback) - 0usize];
    ["Offset of field: _OrthancPluginMoveCallback::getMoveSize"]
        [::std::mem::offset_of!(_OrthancPluginMoveCallback, getMoveSize) - 8usize];
    ["Offset of field: _OrthancPluginMoveCallback::applyMove"]
        [::std::mem::offset_of!(_OrthancPluginMoveCallback, applyMove) - 16usize];
    ["Offset of field: _OrthancPluginMoveCallback::freeMove"]
        [::std::mem::offset_of!(_OrthancPluginMoveCallback, freeMove) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateFindMatcher {
    pub target: *mut *mut OrthancPluginFindMatcher,
    pub query: *const ::std::os::raw::c_void,
    pub size: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateFindMatcher"]
        [::std::mem::size_of::<_OrthancPluginCreateFindMatcher>() - 24usize];
    ["Alignment of _OrthancPluginCreateFindMatcher"]
        [::std::mem::align_of::<_OrthancPluginCreateFindMatcher>() - 8usize];
    ["Offset of field: _OrthancPluginCreateFindMatcher::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateFindMatcher, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateFindMatcher::query"]
        [::std::mem::offset_of!(_OrthancPluginCreateFindMatcher, query) - 8usize];
    ["Offset of field: _OrthancPluginCreateFindMatcher::size"]
        [::std::mem::offset_of!(_OrthancPluginCreateFindMatcher, size) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFreeFindMatcher {
    pub matcher: *mut OrthancPluginFindMatcher,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFreeFindMatcher"]
        [::std::mem::size_of::<_OrthancPluginFreeFindMatcher>() - 8usize];
    ["Alignment of _OrthancPluginFreeFindMatcher"]
        [::std::mem::align_of::<_OrthancPluginFreeFindMatcher>() - 8usize];
    ["Offset of field: _OrthancPluginFreeFindMatcher::matcher"]
        [::std::mem::offset_of!(_OrthancPluginFreeFindMatcher, matcher) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFindMatcherIsMatch {
    pub matcher: *const OrthancPluginFindMatcher,
    pub dicom: *const ::std::os::raw::c_void,
    pub size: u32,
    pub isMatch: *mut i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFindMatcherIsMatch"]
        [::std::mem::size_of::<_OrthancPluginFindMatcherIsMatch>() - 32usize];
    ["Alignment of _OrthancPluginFindMatcherIsMatch"]
        [::std::mem::align_of::<_OrthancPluginFindMatcherIsMatch>() - 8usize];
    ["Offset of field: _OrthancPluginFindMatcherIsMatch::matcher"]
        [::std::mem::offset_of!(_OrthancPluginFindMatcherIsMatch, matcher) - 0usize];
    ["Offset of field: _OrthancPluginFindMatcherIsMatch::dicom"]
        [::std::mem::offset_of!(_OrthancPluginFindMatcherIsMatch, dicom) - 8usize];
    ["Offset of field: _OrthancPluginFindMatcherIsMatch::size"]
        [::std::mem::offset_of!(_OrthancPluginFindMatcherIsMatch, size) - 16usize];
    ["Offset of field: _OrthancPluginFindMatcherIsMatch::isMatch"]
        [::std::mem::offset_of!(_OrthancPluginFindMatcherIsMatch, isMatch) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginIncomingHttpRequestFilter2 {
    pub callback: OrthancPluginIncomingHttpRequestFilter2,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginIncomingHttpRequestFilter2"]
        [::std::mem::size_of::<_OrthancPluginIncomingHttpRequestFilter2>() - 8usize];
    ["Alignment of _OrthancPluginIncomingHttpRequestFilter2"]
        [::std::mem::align_of::<_OrthancPluginIncomingHttpRequestFilter2>() - 8usize];
    ["Offset of field: _OrthancPluginIncomingHttpRequestFilter2::callback"]
        [::std::mem::offset_of!(_OrthancPluginIncomingHttpRequestFilter2, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetPeers {
    pub peers: *mut *mut OrthancPluginPeers,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetPeers"][::std::mem::size_of::<_OrthancPluginGetPeers>() - 8usize];
    ["Alignment of _OrthancPluginGetPeers"]
        [::std::mem::align_of::<_OrthancPluginGetPeers>() - 8usize];
    ["Offset of field: _OrthancPluginGetPeers::peers"]
        [::std::mem::offset_of!(_OrthancPluginGetPeers, peers) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFreePeers {
    pub peers: *mut OrthancPluginPeers,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFreePeers"][::std::mem::size_of::<_OrthancPluginFreePeers>() - 8usize];
    ["Alignment of _OrthancPluginFreePeers"]
        [::std::mem::align_of::<_OrthancPluginFreePeers>() - 8usize];
    ["Offset of field: _OrthancPluginFreePeers::peers"]
        [::std::mem::offset_of!(_OrthancPluginFreePeers, peers) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetPeersCount {
    pub target: *mut u32,
    pub peers: *const OrthancPluginPeers,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetPeersCount"]
        [::std::mem::size_of::<_OrthancPluginGetPeersCount>() - 16usize];
    ["Alignment of _OrthancPluginGetPeersCount"]
        [::std::mem::align_of::<_OrthancPluginGetPeersCount>() - 8usize];
    ["Offset of field: _OrthancPluginGetPeersCount::target"]
        [::std::mem::offset_of!(_OrthancPluginGetPeersCount, target) - 0usize];
    ["Offset of field: _OrthancPluginGetPeersCount::peers"]
        [::std::mem::offset_of!(_OrthancPluginGetPeersCount, peers) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetPeerProperty {
    pub target: *mut *const ::std::os::raw::c_char,
    pub peers: *const OrthancPluginPeers,
    pub peerIndex: u32,
    pub userProperty: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetPeerProperty"]
        [::std::mem::size_of::<_OrthancPluginGetPeerProperty>() - 32usize];
    ["Alignment of _OrthancPluginGetPeerProperty"]
        [::std::mem::align_of::<_OrthancPluginGetPeerProperty>() - 8usize];
    ["Offset of field: _OrthancPluginGetPeerProperty::target"]
        [::std::mem::offset_of!(_OrthancPluginGetPeerProperty, target) - 0usize];
    ["Offset of field: _OrthancPluginGetPeerProperty::peers"]
        [::std::mem::offset_of!(_OrthancPluginGetPeerProperty, peers) - 8usize];
    ["Offset of field: _OrthancPluginGetPeerProperty::peerIndex"]
        [::std::mem::offset_of!(_OrthancPluginGetPeerProperty, peerIndex) - 16usize];
    ["Offset of field: _OrthancPluginGetPeerProperty::userProperty"]
        [::std::mem::offset_of!(_OrthancPluginGetPeerProperty, userProperty) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCallPeerApi {
    pub answerBody: *mut OrthancPluginMemoryBuffer,
    pub answerHeaders: *mut OrthancPluginMemoryBuffer,
    pub httpStatus: *mut u16,
    pub peers: *const OrthancPluginPeers,
    pub peerIndex: u32,
    pub method: OrthancPluginHttpMethod,
    pub uri: *const ::std::os::raw::c_char,
    pub additionalHeadersCount: u32,
    pub additionalHeadersKeys: *const *const ::std::os::raw::c_char,
    pub additionalHeadersValues: *const *const ::std::os::raw::c_char,
    pub body: *const ::std::os::raw::c_void,
    pub bodySize: u32,
    pub timeout: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCallPeerApi"]
        [::std::mem::size_of::<_OrthancPluginCallPeerApi>() - 88usize];
    ["Alignment of _OrthancPluginCallPeerApi"]
        [::std::mem::align_of::<_OrthancPluginCallPeerApi>() - 8usize];
    ["Offset of field: _OrthancPluginCallPeerApi::answerBody"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, answerBody) - 0usize];
    ["Offset of field: _OrthancPluginCallPeerApi::answerHeaders"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, answerHeaders) - 8usize];
    ["Offset of field: _OrthancPluginCallPeerApi::httpStatus"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, httpStatus) - 16usize];
    ["Offset of field: _OrthancPluginCallPeerApi::peers"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, peers) - 24usize];
    ["Offset of field: _OrthancPluginCallPeerApi::peerIndex"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, peerIndex) - 32usize];
    ["Offset of field: _OrthancPluginCallPeerApi::method"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, method) - 36usize];
    ["Offset of field: _OrthancPluginCallPeerApi::uri"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, uri) - 40usize];
    ["Offset of field: _OrthancPluginCallPeerApi::additionalHeadersCount"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, additionalHeadersCount) - 48usize];
    ["Offset of field: _OrthancPluginCallPeerApi::additionalHeadersKeys"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, additionalHeadersKeys) - 56usize];
    ["Offset of field: _OrthancPluginCallPeerApi::additionalHeadersValues"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, additionalHeadersValues) - 64usize];
    ["Offset of field: _OrthancPluginCallPeerApi::body"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, body) - 72usize];
    ["Offset of field: _OrthancPluginCallPeerApi::bodySize"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, bodySize) - 80usize];
    ["Offset of field: _OrthancPluginCallPeerApi::timeout"]
        [::std::mem::offset_of!(_OrthancPluginCallPeerApi, timeout) - 84usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateJob {
    pub target: *mut *mut OrthancPluginJob,
    pub job: *mut ::std::os::raw::c_void,
    pub finalize: OrthancPluginJobFinalize,
    pub type_: *const ::std::os::raw::c_char,
    pub getProgress: OrthancPluginJobGetProgress,
    pub getContent: OrthancPluginJobGetContent,
    pub getSerialized: OrthancPluginJobGetSerialized,
    pub step: OrthancPluginJobStep,
    pub stop: OrthancPluginJobStop,
    pub reset: OrthancPluginJobReset,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateJob"][::std::mem::size_of::<_OrthancPluginCreateJob>() - 80usize];
    ["Alignment of _OrthancPluginCreateJob"]
        [::std::mem::align_of::<_OrthancPluginCreateJob>() - 8usize];
    ["Offset of field: _OrthancPluginCreateJob::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateJob::job"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, job) - 8usize];
    ["Offset of field: _OrthancPluginCreateJob::finalize"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, finalize) - 16usize];
    ["Offset of field: _OrthancPluginCreateJob::type_"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, type_) - 24usize];
    ["Offset of field: _OrthancPluginCreateJob::getProgress"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, getProgress) - 32usize];
    ["Offset of field: _OrthancPluginCreateJob::getContent"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, getContent) - 40usize];
    ["Offset of field: _OrthancPluginCreateJob::getSerialized"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, getSerialized) - 48usize];
    ["Offset of field: _OrthancPluginCreateJob::step"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, step) - 56usize];
    ["Offset of field: _OrthancPluginCreateJob::stop"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, stop) - 64usize];
    ["Offset of field: _OrthancPluginCreateJob::reset"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob, reset) - 72usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateJob2 {
    pub target: *mut *mut OrthancPluginJob,
    pub job: *mut ::std::os::raw::c_void,
    pub finalize: OrthancPluginJobFinalize,
    pub type_: *const ::std::os::raw::c_char,
    pub getProgress: OrthancPluginJobGetProgress,
    pub getContent: OrthancPluginJobGetContent2,
    pub getSerialized: OrthancPluginJobGetSerialized2,
    pub step: OrthancPluginJobStep,
    pub stop: OrthancPluginJobStop,
    pub reset: OrthancPluginJobReset,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateJob2"]
        [::std::mem::size_of::<_OrthancPluginCreateJob2>() - 80usize];
    ["Alignment of _OrthancPluginCreateJob2"]
        [::std::mem::align_of::<_OrthancPluginCreateJob2>() - 8usize];
    ["Offset of field: _OrthancPluginCreateJob2::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateJob2::job"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, job) - 8usize];
    ["Offset of field: _OrthancPluginCreateJob2::finalize"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, finalize) - 16usize];
    ["Offset of field: _OrthancPluginCreateJob2::type_"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, type_) - 24usize];
    ["Offset of field: _OrthancPluginCreateJob2::getProgress"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, getProgress) - 32usize];
    ["Offset of field: _OrthancPluginCreateJob2::getContent"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, getContent) - 40usize];
    ["Offset of field: _OrthancPluginCreateJob2::getSerialized"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, getSerialized) - 48usize];
    ["Offset of field: _OrthancPluginCreateJob2::step"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, step) - 56usize];
    ["Offset of field: _OrthancPluginCreateJob2::stop"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, stop) - 64usize];
    ["Offset of field: _OrthancPluginCreateJob2::reset"]
        [::std::mem::offset_of!(_OrthancPluginCreateJob2, reset) - 72usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFreeJob {
    pub job: *mut OrthancPluginJob,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFreeJob"][::std::mem::size_of::<_OrthancPluginFreeJob>() - 8usize];
    ["Alignment of _OrthancPluginFreeJob"]
        [::std::mem::align_of::<_OrthancPluginFreeJob>() - 8usize];
    ["Offset of field: _OrthancPluginFreeJob::job"]
        [::std::mem::offset_of!(_OrthancPluginFreeJob, job) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSubmitJob {
    pub resultId: *mut *mut ::std::os::raw::c_char,
    pub job: *mut OrthancPluginJob,
    pub priority: i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSubmitJob"][::std::mem::size_of::<_OrthancPluginSubmitJob>() - 24usize];
    ["Alignment of _OrthancPluginSubmitJob"]
        [::std::mem::align_of::<_OrthancPluginSubmitJob>() - 8usize];
    ["Offset of field: _OrthancPluginSubmitJob::resultId"]
        [::std::mem::offset_of!(_OrthancPluginSubmitJob, resultId) - 0usize];
    ["Offset of field: _OrthancPluginSubmitJob::job"]
        [::std::mem::offset_of!(_OrthancPluginSubmitJob, job) - 8usize];
    ["Offset of field: _OrthancPluginSubmitJob::priority"]
        [::std::mem::offset_of!(_OrthancPluginSubmitJob, priority) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginJobsUnserializer {
    pub unserializer: OrthancPluginJobsUnserializer,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginJobsUnserializer"]
        [::std::mem::size_of::<_OrthancPluginJobsUnserializer>() - 8usize];
    ["Alignment of _OrthancPluginJobsUnserializer"]
        [::std::mem::align_of::<_OrthancPluginJobsUnserializer>() - 8usize];
    ["Offset of field: _OrthancPluginJobsUnserializer::unserializer"]
        [::std::mem::offset_of!(_OrthancPluginJobsUnserializer, unserializer) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSetHttpErrorDetails {
    pub output: *mut OrthancPluginRestOutput,
    pub details: *const ::std::os::raw::c_char,
    pub log: u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSetHttpErrorDetails"]
        [::std::mem::size_of::<_OrthancPluginSetHttpErrorDetails>() - 24usize];
    ["Alignment of _OrthancPluginSetHttpErrorDetails"]
        [::std::mem::align_of::<_OrthancPluginSetHttpErrorDetails>() - 8usize];
    ["Offset of field: _OrthancPluginSetHttpErrorDetails::output"]
        [::std::mem::offset_of!(_OrthancPluginSetHttpErrorDetails, output) - 0usize];
    ["Offset of field: _OrthancPluginSetHttpErrorDetails::details"]
        [::std::mem::offset_of!(_OrthancPluginSetHttpErrorDetails, details) - 8usize];
    ["Offset of field: _OrthancPluginSetHttpErrorDetails::log"]
        [::std::mem::offset_of!(_OrthancPluginSetHttpErrorDetails, log) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRetrieveStaticString {
    pub result: *mut *const ::std::os::raw::c_char,
    pub argument: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRetrieveStaticString"]
        [::std::mem::size_of::<_OrthancPluginRetrieveStaticString>() - 16usize];
    ["Alignment of _OrthancPluginRetrieveStaticString"]
        [::std::mem::align_of::<_OrthancPluginRetrieveStaticString>() - 8usize];
    ["Offset of field: _OrthancPluginRetrieveStaticString::result"]
        [::std::mem::offset_of!(_OrthancPluginRetrieveStaticString, result) - 0usize];
    ["Offset of field: _OrthancPluginRetrieveStaticString::argument"]
        [::std::mem::offset_of!(_OrthancPluginRetrieveStaticString, argument) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSetMetricsValue {
    pub name: *const ::std::os::raw::c_char,
    pub value: f32,
    pub type_: OrthancPluginMetricsType,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSetMetricsValue"]
        [::std::mem::size_of::<_OrthancPluginSetMetricsValue>() - 16usize];
    ["Alignment of _OrthancPluginSetMetricsValue"]
        [::std::mem::align_of::<_OrthancPluginSetMetricsValue>() - 8usize];
    ["Offset of field: _OrthancPluginSetMetricsValue::name"]
        [::std::mem::offset_of!(_OrthancPluginSetMetricsValue, name) - 0usize];
    ["Offset of field: _OrthancPluginSetMetricsValue::value"]
        [::std::mem::offset_of!(_OrthancPluginSetMetricsValue, value) - 8usize];
    ["Offset of field: _OrthancPluginSetMetricsValue::type_"]
        [::std::mem::offset_of!(_OrthancPluginSetMetricsValue, type_) - 12usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterRefreshMetricsCallback {
    pub callback: OrthancPluginRefreshMetricsCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterRefreshMetricsCallback"]
        [::std::mem::size_of::<_OrthancPluginRegisterRefreshMetricsCallback>() - 8usize];
    ["Alignment of _OrthancPluginRegisterRefreshMetricsCallback"]
        [::std::mem::align_of::<_OrthancPluginRegisterRefreshMetricsCallback>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterRefreshMetricsCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginRegisterRefreshMetricsCallback, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginEncodeDicomWeb {
    pub target: *mut *mut ::std::os::raw::c_char,
    pub dicom: *const ::std::os::raw::c_void,
    pub dicomSize: u32,
    pub callback: OrthancPluginDicomWebBinaryCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginEncodeDicomWeb"]
        [::std::mem::size_of::<_OrthancPluginEncodeDicomWeb>() - 32usize];
    ["Alignment of _OrthancPluginEncodeDicomWeb"]
        [::std::mem::align_of::<_OrthancPluginEncodeDicomWeb>() - 8usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb::target"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb, target) - 0usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb::dicom"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb, dicom) - 8usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb::dicomSize"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb, dicomSize) - 16usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb::callback"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb, callback) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginEncodeDicomWeb2 {
    pub target: *mut *mut ::std::os::raw::c_char,
    pub dicom: *const ::std::os::raw::c_void,
    pub dicomSize: u32,
    pub callback: OrthancPluginDicomWebBinaryCallback2,
    pub payload: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginEncodeDicomWeb2"]
        [::std::mem::size_of::<_OrthancPluginEncodeDicomWeb2>() - 40usize];
    ["Alignment of _OrthancPluginEncodeDicomWeb2"]
        [::std::mem::align_of::<_OrthancPluginEncodeDicomWeb2>() - 8usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb2::target"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb2, target) - 0usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb2::dicom"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb2, dicom) - 8usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb2::dicomSize"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb2, dicomSize) - 16usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb2::callback"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb2, callback) - 24usize];
    ["Offset of field: _OrthancPluginEncodeDicomWeb2::payload"]
        [::std::mem::offset_of!(_OrthancPluginEncodeDicomWeb2, payload) - 32usize];
};
#[doc = " @brief Callback executed when a HTTP header is received during a chunked transfer.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, as soon as it\n receives one HTTP header from the answer of the remote HTTP\n server.\n\n @see OrthancPluginChunkedHttpClient()\n @param answer The user payload, as provided by the calling plugin.\n @param key The key of the HTTP header.\n @param value The value of the HTTP header.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
pub type OrthancPluginChunkedClientAnswerAddHeader = ::std::option::Option<
    unsafe extern "C" fn(
        answer: *mut ::std::os::raw::c_void,
        key: *const ::std::os::raw::c_char,
        value: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback executed when an answer chunk is received during a chunked transfer.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, as soon as it\n receives one data chunk from the answer of the remote HTTP\n server.\n\n @see OrthancPluginChunkedHttpClient()\n @param answer The user payload, as provided by the calling plugin.\n @param data The content of the data chunk.\n @param size The size of the data chunk.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
pub type OrthancPluginChunkedClientAnswerAddChunk = ::std::option::Option<
    unsafe extern "C" fn(
        answer: *mut ::std::os::raw::c_void,
        data: *const ::std::os::raw::c_void,
        size: u32,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to know whether the request body is entirely read during a chunked transfer\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, while reading\n the body of a POST or PUT request. The plugin must answer \"1\" as\n soon as the body is entirely read: The \"request\" data structure\n must act as an iterator.\n\n @see OrthancPluginChunkedHttpClient()\n @param request The user payload, as provided by the calling plugin.\n @return \"1\" if the body is over, or \"0\" if there is still data to be read.\n @ingroup Toolbox"]
pub type OrthancPluginChunkedClientRequestIsDone =
    ::std::option::Option<unsafe extern "C" fn(request: *mut ::std::os::raw::c_void) -> u8>;
#[doc = " @brief Callback to advance in the request body during a chunked transfer\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, while reading\n the body of a POST or PUT request. This function asks the plugin\n to advance to the next chunk of data of the request body: The\n \"request\" data structure must act as an iterator.\n\n @see OrthancPluginChunkedHttpClient()\n @param request The user payload, as provided by the calling plugin.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
pub type OrthancPluginChunkedClientRequestNext = ::std::option::Option<
    unsafe extern "C" fn(request: *mut ::std::os::raw::c_void) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to read the current chunk of the request body during a chunked transfer\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, while reading\n the body of a POST or PUT request. The plugin must provide the\n content of the current chunk of data of the request body.\n\n @see OrthancPluginChunkedHttpClient()\n @param request The user payload, as provided by the calling plugin.\n @return The content of the current request chunk.\n @ingroup Toolbox"]
pub type OrthancPluginChunkedClientRequestGetChunkData = ::std::option::Option<
    unsafe extern "C" fn(request: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_void,
>;
#[doc = " @brief Callback to read the size of the current request chunk during a chunked transfer\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, while reading\n the body of a POST or PUT request. The plugin must provide the\n size of the current chunk of data of the request body.\n\n @see OrthancPluginChunkedHttpClient()\n @param request The user payload, as provided by the calling plugin.\n @return The size of the current request chunk.\n @ingroup Toolbox"]
pub type OrthancPluginChunkedClientRequestGetChunkSize =
    ::std::option::Option<unsafe extern "C" fn(request: *mut ::std::os::raw::c_void) -> u32>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginChunkedHttpClient {
    pub answer: *mut ::std::os::raw::c_void,
    pub answerAddChunk: OrthancPluginChunkedClientAnswerAddChunk,
    pub answerAddHeader: OrthancPluginChunkedClientAnswerAddHeader,
    pub httpStatus: *mut u16,
    pub method: OrthancPluginHttpMethod,
    pub url: *const ::std::os::raw::c_char,
    pub headersCount: u32,
    pub headersKeys: *const *const ::std::os::raw::c_char,
    pub headersValues: *const *const ::std::os::raw::c_char,
    pub request: *mut ::std::os::raw::c_void,
    pub requestIsDone: OrthancPluginChunkedClientRequestIsDone,
    pub requestChunkData: OrthancPluginChunkedClientRequestGetChunkData,
    pub requestChunkSize: OrthancPluginChunkedClientRequestGetChunkSize,
    pub requestNext: OrthancPluginChunkedClientRequestNext,
    pub username: *const ::std::os::raw::c_char,
    pub password: *const ::std::os::raw::c_char,
    pub timeout: u32,
    pub certificateFile: *const ::std::os::raw::c_char,
    pub certificateKeyFile: *const ::std::os::raw::c_char,
    pub certificateKeyPassword: *const ::std::os::raw::c_char,
    pub pkcs11: u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginChunkedHttpClient"]
        [::std::mem::size_of::<_OrthancPluginChunkedHttpClient>() - 168usize];
    ["Alignment of _OrthancPluginChunkedHttpClient"]
        [::std::mem::align_of::<_OrthancPluginChunkedHttpClient>() - 8usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::answer"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, answer) - 0usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::answerAddChunk"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, answerAddChunk) - 8usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::answerAddHeader"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, answerAddHeader) - 16usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::httpStatus"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, httpStatus) - 24usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::method"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, method) - 32usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::url"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, url) - 40usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::headersCount"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, headersCount) - 48usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::headersKeys"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, headersKeys) - 56usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::headersValues"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, headersValues) - 64usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::request"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, request) - 72usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::requestIsDone"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, requestIsDone) - 80usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::requestChunkData"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, requestChunkData) - 88usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::requestChunkSize"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, requestChunkSize) - 96usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::requestNext"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, requestNext) - 104usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::username"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, username) - 112usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::password"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, password) - 120usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::timeout"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, timeout) - 128usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::certificateFile"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, certificateFile) - 136usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::certificateKeyFile"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, certificateKeyFile) - 144usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::certificateKeyPassword"][::std::mem::offset_of!(
        _OrthancPluginChunkedHttpClient,
        certificateKeyPassword
    ) - 152usize];
    ["Offset of field: _OrthancPluginChunkedHttpClient::pkcs11"]
        [::std::mem::offset_of!(_OrthancPluginChunkedHttpClient, pkcs11) - 160usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginServerChunkedRequestReader_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure that reads the content of a HTTP request body during a chunked HTTP transfer.\n @ingroup Callbacks"]
pub type OrthancPluginServerChunkedRequestReader = _OrthancPluginServerChunkedRequestReader_t;
#[doc = " @brief Callback to create a reader to handle incoming chunked HTTP transfers.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP server that supports chunked HTTP transfers. This\n callback is only invoked if the HTTP method is POST or PUT. The\n callback must create an user-specific \"reader\" object that will\n be fed with the body of the incoming body.\n\n @see OrthancPluginRegisterChunkedRestCallback()\n @param reader Memory location that must be filled with the newly-created reader.\n @param url The URI that is accessed.\n @param request The body of the HTTP request. Note that \"body\" and \"bodySize\" are not used.\n @return 0 if success, or the error code if failure."]
pub type OrthancPluginServerChunkedRequestReaderFactory = ::std::option::Option<
    unsafe extern "C" fn(
        reader: *mut *mut OrthancPluginServerChunkedRequestReader,
        url: *const ::std::os::raw::c_char,
        request: *const OrthancPluginHttpRequest,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback invoked whenever a new data chunk is available during a chunked transfer.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP server that supports chunked HTTP transfers. This callback\n is invoked as soon as a new data chunk is available for the request body.\n\n @see OrthancPluginRegisterChunkedRestCallback()\n @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback.\n @param data The content of the data chunk.\n @param size The size of the data chunk.\n @return 0 if success, or the error code if failure."]
pub type OrthancPluginServerChunkedRequestReaderAddChunk = ::std::option::Option<
    unsafe extern "C" fn(
        reader: *mut OrthancPluginServerChunkedRequestReader,
        data: *const ::std::os::raw::c_void,
        size: u32,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback invoked whenever the request body is entirely received.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP server that supports chunked HTTP transfers. This\n callback is invoked as soon as the full body of the HTTP request\n is available. The plugin can then send its answer thanks to the\n provided \"output\" object.\n\n @see OrthancPluginRegisterChunkedRestCallback()\n @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback.\n @param output The HTTP connection to the client application.\n @return 0 if success, or the error code if failure."]
pub type OrthancPluginServerChunkedRequestReaderExecute = ::std::option::Option<
    unsafe extern "C" fn(
        reader: *mut OrthancPluginServerChunkedRequestReader,
        output: *mut OrthancPluginRestOutput,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback invoked to release the resources associated with an incoming HTTP chunked transfer.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP server that supports chunked HTTP transfers. This\n callback is invoked to release all the resources allocated by the\n given reader. Note that this function might be invoked even if\n the entire body was not read, to deal with client error or\n disconnection.\n\n @see OrthancPluginRegisterChunkedRestCallback()\n @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback."]
pub type OrthancPluginServerChunkedRequestReaderFinalize = ::std::option::Option<
    unsafe extern "C" fn(reader: *mut OrthancPluginServerChunkedRequestReader),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginChunkedRestCallback {
    pub pathRegularExpression: *const ::std::os::raw::c_char,
    pub getHandler: OrthancPluginRestCallback,
    pub postHandler: OrthancPluginServerChunkedRequestReaderFactory,
    pub deleteHandler: OrthancPluginRestCallback,
    pub putHandler: OrthancPluginServerChunkedRequestReaderFactory,
    pub addChunk: OrthancPluginServerChunkedRequestReaderAddChunk,
    pub execute: OrthancPluginServerChunkedRequestReaderExecute,
    pub finalize: OrthancPluginServerChunkedRequestReaderFinalize,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginChunkedRestCallback"]
        [::std::mem::size_of::<_OrthancPluginChunkedRestCallback>() - 64usize];
    ["Alignment of _OrthancPluginChunkedRestCallback"]
        [::std::mem::align_of::<_OrthancPluginChunkedRestCallback>() - 8usize];
    ["Offset of field: _OrthancPluginChunkedRestCallback::pathRegularExpression"]
        [::std::mem::offset_of!(_OrthancPluginChunkedRestCallback, pathRegularExpression) - 0usize];
    ["Offset of field: _OrthancPluginChunkedRestCallback::getHandler"]
        [::std::mem::offset_of!(_OrthancPluginChunkedRestCallback, getHandler) - 8usize];
    ["Offset of field: _OrthancPluginChunkedRestCallback::postHandler"]
        [::std::mem::offset_of!(_OrthancPluginChunkedRestCallback, postHandler) - 16usize];
    ["Offset of field: _OrthancPluginChunkedRestCallback::deleteHandler"]
        [::std::mem::offset_of!(_OrthancPluginChunkedRestCallback, deleteHandler) - 24usize];
    ["Offset of field: _OrthancPluginChunkedRestCallback::putHandler"]
        [::std::mem::offset_of!(_OrthancPluginChunkedRestCallback, putHandler) - 32usize];
    ["Offset of field: _OrthancPluginChunkedRestCallback::addChunk"]
        [::std::mem::offset_of!(_OrthancPluginChunkedRestCallback, addChunk) - 40usize];
    ["Offset of field: _OrthancPluginChunkedRestCallback::execute"]
        [::std::mem::offset_of!(_OrthancPluginChunkedRestCallback, execute) - 48usize];
    ["Offset of field: _OrthancPluginChunkedRestCallback::finalize"]
        [::std::mem::offset_of!(_OrthancPluginChunkedRestCallback, finalize) - 56usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetTagName {
    pub result: *mut *mut ::std::os::raw::c_char,
    pub group: u16,
    pub element: u16,
    pub privateCreator: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetTagName"]
        [::std::mem::size_of::<_OrthancPluginGetTagName>() - 24usize];
    ["Alignment of _OrthancPluginGetTagName"]
        [::std::mem::align_of::<_OrthancPluginGetTagName>() - 8usize];
    ["Offset of field: _OrthancPluginGetTagName::result"]
        [::std::mem::offset_of!(_OrthancPluginGetTagName, result) - 0usize];
    ["Offset of field: _OrthancPluginGetTagName::group"]
        [::std::mem::offset_of!(_OrthancPluginGetTagName, group) - 8usize];
    ["Offset of field: _OrthancPluginGetTagName::element"]
        [::std::mem::offset_of!(_OrthancPluginGetTagName, element) - 10usize];
    ["Offset of field: _OrthancPluginGetTagName::privateCreator"]
        [::std::mem::offset_of!(_OrthancPluginGetTagName, privateCreator) - 16usize];
};
#[doc = " @brief Callback executed by the storage commitment SCP.\n\n Signature of a factory function that creates an object to handle\n one incoming storage commitment request.\n\n @remark The factory receives the list of the SOP class/instance\n UIDs of interest to the remote storage commitment SCU. This gives\n the factory the possibility to start some prefetch process\n upfront in the background, before the handler object is actually\n queried about the status of these DICOM instances.\n\n @param handler Output variable where the factory puts the handler object it created.\n @param jobId ID of the Orthanc job that is responsible for handling\n the storage commitment request. This job will successively look for the\n status of all the individual queried DICOM instances.\n @param transactionUid UID of the storage commitment transaction\n provided by the storage commitment SCU. It contains the value of the\n (0008,1195) DICOM tag.\n @param sopClassUids Array of the SOP class UIDs (0008,0016) that are queried by the SCU.\n @param sopInstanceUids Array of the SOP instance UIDs (0008,0018) that are queried by the SCU.\n @param countInstances Number of DICOM instances that are queried. This is the size\n of the `sopClassUids` and `sopInstanceUids` arrays.\n @param remoteAet The AET of the storage commitment SCU.\n @param calledAet The AET used by the SCU to contact the storage commitment SCP (i.e. Orthanc).\n @return 0 if success, other value if error.\n @ingroup DicomCallbacks"]
pub type OrthancPluginStorageCommitmentFactory = ::std::option::Option<
    unsafe extern "C" fn(
        handler: *mut *mut ::std::os::raw::c_void,
        jobId: *const ::std::os::raw::c_char,
        transactionUid: *const ::std::os::raw::c_char,
        sopClassUids: *const *const ::std::os::raw::c_char,
        sopInstanceUids: *const *const ::std::os::raw::c_char,
        countInstances: u32,
        remoteAet: *const ::std::os::raw::c_char,
        calledAet: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to free one storage commitment SCP handler.\n\n Signature of a callback function that releases the resources\n allocated by the factory of the storage commitment SCP. The\n handler is the return value of a previous call to the\n OrthancPluginStorageCommitmentFactory() callback.\n\n @param handler The handler object to be destructed.\n @ingroup DicomCallbacks"]
pub type OrthancPluginStorageCommitmentDestructor =
    ::std::option::Option<unsafe extern "C" fn(handler: *mut ::std::os::raw::c_void)>;
#[doc = " @brief Callback to get the status of one DICOM instance in the\n storage commitment SCP.\n\n Signature of a callback function that is successively invoked for\n each DICOM instance that is queried by the remote storage\n commitment SCU.  The function must be tought of as a method of\n the handler object that was created by a previous call to the\n OrthancPluginStorageCommitmentFactory() callback. After each call\n to this method, the progress of the associated Orthanc job is\n updated.\n\n @param target Output variable where to put the status for the queried instance.\n @param handler The handler object associated with this storage commitment request.\n @param sopClassUid The SOP class UID (0008,0016) of interest.\n @param sopInstanceUid The SOP instance UID (0008,0018) of interest.\n @ingroup DicomCallbacks"]
pub type OrthancPluginStorageCommitmentLookup = ::std::option::Option<
    unsafe extern "C" fn(
        target: *mut OrthancPluginStorageCommitmentFailureReason,
        handler: *mut ::std::os::raw::c_void,
        sopClassUid: *const ::std::os::raw::c_char,
        sopInstanceUid: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterStorageCommitmentScpCallback {
    pub factory: OrthancPluginStorageCommitmentFactory,
    pub destructor: OrthancPluginStorageCommitmentDestructor,
    pub lookup: OrthancPluginStorageCommitmentLookup,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterStorageCommitmentScpCallback"]
        [::std::mem::size_of::<_OrthancPluginRegisterStorageCommitmentScpCallback>() - 24usize];
    ["Alignment of _OrthancPluginRegisterStorageCommitmentScpCallback"]
        [::std::mem::align_of::<_OrthancPluginRegisterStorageCommitmentScpCallback>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterStorageCommitmentScpCallback::factory"][::std::mem::offset_of!(
        _OrthancPluginRegisterStorageCommitmentScpCallback,
        factory
    ) - 0usize];
    ["Offset of field: _OrthancPluginRegisterStorageCommitmentScpCallback::destructor"][::std::mem::offset_of!(
        _OrthancPluginRegisterStorageCommitmentScpCallback,
        destructor
    ) - 8usize];
    ["Offset of field: _OrthancPluginRegisterStorageCommitmentScpCallback::lookup"][::std::mem::offset_of!(
        _OrthancPluginRegisterStorageCommitmentScpCallback,
        lookup
    ) - 16usize];
};
#[doc = " @brief Callback to filter incoming DICOM instances received by Orthanc.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a new DICOM instance (e.g. through REST API or\n DICOM protocol), and that answers whether this DICOM instance\n should be accepted or discarded by Orthanc.\n\n Note that the metadata information is not available\n (i.e. GetInstanceMetadata() should not be used on \"instance\").\n\n @warning Your callback function will be called synchronously with\n the core of Orthanc. This implies that deadlocks might emerge if\n you call other core primitives of Orthanc in your callback (such\n deadlocks are particularly visible in the presence of other plugins\n or Lua scripts). It is thus strongly advised to avoid any call to\n the REST API of Orthanc in the callback. If you have to call\n other primitives of Orthanc, you should make these calls in a\n separate thread, passing the pending events to be processed\n through a message queue.\n\n @param instance The received DICOM instance.\n @return 0 to discard the instance, 1 to store the instance, -1 if error.\n @ingroup Callbacks"]
pub type OrthancPluginIncomingDicomInstanceFilter =
    ::std::option::Option<unsafe extern "C" fn(instance: *const OrthancPluginDicomInstance) -> i32>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginIncomingDicomInstanceFilter {
    pub callback: OrthancPluginIncomingDicomInstanceFilter,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginIncomingDicomInstanceFilter"]
        [::std::mem::size_of::<_OrthancPluginIncomingDicomInstanceFilter>() - 8usize];
    ["Alignment of _OrthancPluginIncomingDicomInstanceFilter"]
        [::std::mem::align_of::<_OrthancPluginIncomingDicomInstanceFilter>() - 8usize];
    ["Offset of field: _OrthancPluginIncomingDicomInstanceFilter::callback"]
        [::std::mem::offset_of!(_OrthancPluginIncomingDicomInstanceFilter, callback) - 0usize];
};
#[doc = " @brief Callback to filter incoming DICOM instances received by\n Orthanc through C-STORE.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a new DICOM instance using DICOM C-STORE, and\n that answers whether this DICOM instance should be accepted or\n discarded by Orthanc. If the instance is discarded, the callback\n can specify the DIMSE error code answered by the Orthanc C-STORE\n SCP.\n\n Note that the metadata information is not available\n (i.e. GetInstanceMetadata() should not be used on \"instance\").\n\n @warning Your callback function will be called synchronously with\n the core of Orthanc. This implies that deadlocks might emerge if\n you call other core primitives of Orthanc in your callback (such\n deadlocks are particularly visible in the presence of other plugins\n or Lua scripts). It is thus strongly advised to avoid any call to\n the REST API of Orthanc in the callback. If you have to call\n other primitives of Orthanc, you should make these calls in a\n separate thread, passing the pending events to be processed\n through a message queue.\n\n @param dimseStatus If the DICOM instance is discarded,\n DIMSE status to be sent by the C-STORE SCP of Orthanc\n @param instance The received DICOM instance.\n @return 0 to discard the instance, 1 to store the instance, -1 if error.\n @ingroup Callbacks"]
pub type OrthancPluginIncomingCStoreInstanceFilter = ::std::option::Option<
    unsafe extern "C" fn(dimseStatus: *mut u16, instance: *const OrthancPluginDicomInstance) -> i32,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginIncomingCStoreInstanceFilter {
    pub callback: OrthancPluginIncomingCStoreInstanceFilter,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginIncomingCStoreInstanceFilter"]
        [::std::mem::size_of::<_OrthancPluginIncomingCStoreInstanceFilter>() - 8usize];
    ["Alignment of _OrthancPluginIncomingCStoreInstanceFilter"]
        [::std::mem::align_of::<_OrthancPluginIncomingCStoreInstanceFilter>() - 8usize];
    ["Offset of field: _OrthancPluginIncomingCStoreInstanceFilter::callback"]
        [::std::mem::offset_of!(_OrthancPluginIncomingCStoreInstanceFilter, callback) - 0usize];
};
#[doc = " @brief Callback to keep/discard/modify a DICOM instance received\n by Orthanc from any source (C-STORE or REST API)\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a new DICOM instance (through DICOM protocol or\n REST API), and that specifies an action to be applied to this\n newly received instance. The instance can be kept as it is, can\n be modified by the plugin, or can be discarded.\n\n This callback is invoked immediately after reception, i.e. before\n transcoding and before filtering\n (cf. OrthancPluginRegisterIncomingDicomInstanceFilter()).\n\n @warning Your callback function will be called synchronously with\n the core of Orthanc. This implies that deadlocks might emerge if\n you call other core primitives of Orthanc in your callback (such\n deadlocks are particularly visible in the presence of other plugins\n or Lua scripts). It is thus strongly advised to avoid any call to\n the REST API of Orthanc in the callback. If you have to call\n other primitives of Orthanc, you should make these calls in a\n separate thread, passing the pending events to be processed\n through a message queue.\n\n @param modifiedDicomBuffer A buffer containing the modified DICOM (output).\n This buffer must be allocated using OrthancPluginCreateMemoryBuffer64()\n and will be freed by the Orthanc core.\n @param receivedDicomBuffer A buffer containing the received DICOM (input).\n @param receivedDicomBufferSize The size of the received DICOM (input).\n @param origin The origin of the DICOM instance (input).\n @return `OrthancPluginReceivedInstanceAction_KeepAsIs` to accept the instance as is,<br/>\n         `OrthancPluginReceivedInstanceAction_Modify` to store the modified DICOM contained in `modifiedDicomBuffer`,<br/>\n         `OrthancPluginReceivedInstanceAction_Discard` to tell Orthanc to discard the instance.\n @ingroup Callbacks"]
pub type OrthancPluginReceivedInstanceCallback = ::std::option::Option<
    unsafe extern "C" fn(
        modifiedDicomBuffer: *mut OrthancPluginMemoryBuffer64,
        receivedDicomBuffer: *const ::std::os::raw::c_void,
        receivedDicomBufferSize: u64,
        origin: OrthancPluginInstanceOrigin,
    ) -> OrthancPluginReceivedInstanceAction,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginReceivedInstanceCallback {
    pub callback: OrthancPluginReceivedInstanceCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginReceivedInstanceCallback"]
        [::std::mem::size_of::<_OrthancPluginReceivedInstanceCallback>() - 8usize];
    ["Alignment of _OrthancPluginReceivedInstanceCallback"]
        [::std::mem::align_of::<_OrthancPluginReceivedInstanceCallback>() - 8usize];
    ["Offset of field: _OrthancPluginReceivedInstanceCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginReceivedInstanceCallback, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateDicomInstance {
    pub target: *mut *mut OrthancPluginDicomInstance,
    pub buffer: *const ::std::os::raw::c_void,
    pub size: u32,
    pub transferSyntax: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateDicomInstance"]
        [::std::mem::size_of::<_OrthancPluginCreateDicomInstance>() - 32usize];
    ["Alignment of _OrthancPluginCreateDicomInstance"]
        [::std::mem::align_of::<_OrthancPluginCreateDicomInstance>() - 8usize];
    ["Offset of field: _OrthancPluginCreateDicomInstance::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicomInstance, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateDicomInstance::buffer"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicomInstance, buffer) - 8usize];
    ["Offset of field: _OrthancPluginCreateDicomInstance::size"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicomInstance, size) - 16usize];
    ["Offset of field: _OrthancPluginCreateDicomInstance::transferSyntax"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicomInstance, transferSyntax) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFreeDicomInstance {
    pub dicom: *mut OrthancPluginDicomInstance,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFreeDicomInstance"]
        [::std::mem::size_of::<_OrthancPluginFreeDicomInstance>() - 8usize];
    ["Alignment of _OrthancPluginFreeDicomInstance"]
        [::std::mem::align_of::<_OrthancPluginFreeDicomInstance>() - 8usize];
    ["Offset of field: _OrthancPluginFreeDicomInstance::dicom"]
        [::std::mem::offset_of!(_OrthancPluginFreeDicomInstance, dicom) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginAccessDicomInstance2 {
    pub targetUint32: *mut u32,
    pub targetBuffer: *mut OrthancPluginMemoryBuffer,
    pub targetImage: *mut *mut OrthancPluginImage,
    pub targetStringToFree: *mut *mut ::std::os::raw::c_char,
    pub instance: *const OrthancPluginDicomInstance,
    pub frameIndex: u32,
    pub format: OrthancPluginDicomToJsonFormat,
    pub flags: OrthancPluginDicomToJsonFlags,
    pub maxStringLength: u32,
    pub dicomWebCallback: OrthancPluginDicomWebBinaryCallback2,
    pub dicomWebPayload: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginAccessDicomInstance2"]
        [::std::mem::size_of::<_OrthancPluginAccessDicomInstance2>() - 72usize];
    ["Alignment of _OrthancPluginAccessDicomInstance2"]
        [::std::mem::align_of::<_OrthancPluginAccessDicomInstance2>() - 8usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::targetUint32"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, targetUint32) - 0usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::targetBuffer"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, targetBuffer) - 8usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::targetImage"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, targetImage) - 16usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::targetStringToFree"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, targetStringToFree) - 24usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::instance"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, instance) - 32usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::frameIndex"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, frameIndex) - 40usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::format"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, format) - 44usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::flags"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, flags) - 48usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::maxStringLength"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, maxStringLength) - 52usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::dicomWebCallback"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, dicomWebCallback) - 56usize];
    ["Offset of field: _OrthancPluginAccessDicomInstance2::dicomWebPayload"]
        [::std::mem::offset_of!(_OrthancPluginAccessDicomInstance2, dicomWebPayload) - 64usize];
};
#[doc = " @brief Signature of a callback function to transcode a DICOM instance.\n @param transcoded Target memory buffer. It must be allocated by the\n plugin using OrthancPluginCreateMemoryBuffer().\n @param buffer Memory buffer containing the source DICOM instance.\n @param size Size of the source memory buffer.\n @param allowedSyntaxes A C array of possible transfer syntaxes UIDs for the\n result of the transcoding. The plugin must choose by itself the\n transfer syntax that will be used for the resulting DICOM image.\n @param countSyntaxes The number of transfer syntaxes that are contained\n in the \"allowedSyntaxes\" array.\n @param allowNewSopInstanceUid Whether the transcoding plugin can select\n a transfer syntax that will change the SOP instance UID (or, in other\n terms, whether the plugin can transcode using lossy compression).\n @return 0 if success (i.e. image successfully transcoded and stored into\n \"transcoded\"), or the error code if failure.\n @ingroup Callbacks"]
pub type OrthancPluginTranscoderCallback = ::std::option::Option<
    unsafe extern "C" fn(
        transcoded: *mut OrthancPluginMemoryBuffer,
        buffer: *const ::std::os::raw::c_void,
        size: u64,
        allowedSyntaxes: *const *const ::std::os::raw::c_char,
        countSyntaxes: u32,
        allowNewSopInstanceUid: u8,
    ) -> OrthancPluginErrorCode,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginTranscoderCallback {
    pub callback: OrthancPluginTranscoderCallback,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginTranscoderCallback"]
        [::std::mem::size_of::<_OrthancPluginTranscoderCallback>() - 8usize];
    ["Alignment of _OrthancPluginTranscoderCallback"]
        [::std::mem::align_of::<_OrthancPluginTranscoderCallback>() - 8usize];
    ["Offset of field: _OrthancPluginTranscoderCallback::callback"]
        [::std::mem::offset_of!(_OrthancPluginTranscoderCallback, callback) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateMemoryBuffer {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub size: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateMemoryBuffer"]
        [::std::mem::size_of::<_OrthancPluginCreateMemoryBuffer>() - 16usize];
    ["Alignment of _OrthancPluginCreateMemoryBuffer"]
        [::std::mem::align_of::<_OrthancPluginCreateMemoryBuffer>() - 8usize];
    ["Offset of field: _OrthancPluginCreateMemoryBuffer::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateMemoryBuffer, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateMemoryBuffer::size"]
        [::std::mem::offset_of!(_OrthancPluginCreateMemoryBuffer, size) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateMemoryBuffer64 {
    pub target: *mut OrthancPluginMemoryBuffer64,
    pub size: u64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateMemoryBuffer64"]
        [::std::mem::size_of::<_OrthancPluginCreateMemoryBuffer64>() - 16usize];
    ["Alignment of _OrthancPluginCreateMemoryBuffer64"]
        [::std::mem::align_of::<_OrthancPluginCreateMemoryBuffer64>() - 8usize];
    ["Offset of field: _OrthancPluginCreateMemoryBuffer64::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateMemoryBuffer64, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateMemoryBuffer64::size"]
        [::std::mem::offset_of!(_OrthancPluginCreateMemoryBuffer64, size) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterStorageArea2 {
    pub create: OrthancPluginStorageCreate,
    pub readWhole: OrthancPluginStorageReadWhole,
    pub readRange: OrthancPluginStorageReadRange,
    pub remove: OrthancPluginStorageRemove,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterStorageArea2"]
        [::std::mem::size_of::<_OrthancPluginRegisterStorageArea2>() - 32usize];
    ["Alignment of _OrthancPluginRegisterStorageArea2"]
        [::std::mem::align_of::<_OrthancPluginRegisterStorageArea2>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea2::create"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea2, create) - 0usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea2::readWhole"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea2, readWhole) - 8usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea2::readRange"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea2, readRange) - 16usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea2::remove"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea2, remove) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateDicom2 {
    pub createDicom: _OrthancPluginCreateDicom,
    pub privateCreator: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateDicom2"]
        [::std::mem::size_of::<_OrthancPluginCreateDicom2>() - 40usize];
    ["Alignment of _OrthancPluginCreateDicom2"]
        [::std::mem::align_of::<_OrthancPluginCreateDicom2>() - 8usize];
    ["Offset of field: _OrthancPluginCreateDicom2::createDicom"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicom2, createDicom) - 0usize];
    ["Offset of field: _OrthancPluginCreateDicom2::privateCreator"]
        [::std::mem::offset_of!(_OrthancPluginCreateDicom2, privateCreator) - 32usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCallRestApi {
    pub answerBody: *mut OrthancPluginMemoryBuffer,
    pub answerHeaders: *mut OrthancPluginMemoryBuffer,
    pub httpStatus: *mut u16,
    pub method: OrthancPluginHttpMethod,
    pub uri: *const ::std::os::raw::c_char,
    pub headersCount: u32,
    pub headersKeys: *const *const ::std::os::raw::c_char,
    pub headersValues: *const *const ::std::os::raw::c_char,
    pub body: *const ::std::os::raw::c_void,
    pub bodySize: u32,
    pub afterPlugins: u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCallRestApi"]
        [::std::mem::size_of::<_OrthancPluginCallRestApi>() - 80usize];
    ["Alignment of _OrthancPluginCallRestApi"]
        [::std::mem::align_of::<_OrthancPluginCallRestApi>() - 8usize];
    ["Offset of field: _OrthancPluginCallRestApi::answerBody"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, answerBody) - 0usize];
    ["Offset of field: _OrthancPluginCallRestApi::answerHeaders"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, answerHeaders) - 8usize];
    ["Offset of field: _OrthancPluginCallRestApi::httpStatus"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, httpStatus) - 16usize];
    ["Offset of field: _OrthancPluginCallRestApi::method"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, method) - 24usize];
    ["Offset of field: _OrthancPluginCallRestApi::uri"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, uri) - 32usize];
    ["Offset of field: _OrthancPluginCallRestApi::headersCount"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, headersCount) - 40usize];
    ["Offset of field: _OrthancPluginCallRestApi::headersKeys"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, headersKeys) - 48usize];
    ["Offset of field: _OrthancPluginCallRestApi::headersValues"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, headersValues) - 56usize];
    ["Offset of field: _OrthancPluginCallRestApi::body"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, body) - 64usize];
    ["Offset of field: _OrthancPluginCallRestApi::bodySize"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, bodySize) - 72usize];
    ["Offset of field: _OrthancPluginCallRestApi::afterPlugins"]
        [::std::mem::offset_of!(_OrthancPluginCallRestApi, afterPlugins) - 76usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginWebDavCollection_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure that represents a WebDAV collection.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavCollection = _OrthancPluginWebDavCollection_t;
#[doc = " @brief Declare a file while returning the content of a folder.\n\n This function declares a file while returning the content of a\n WebDAV folder.\n\n @param collection Context of the collection.\n @param name Base name of the file.\n @param dateTime The date and time of creation of the file.\n Check out the documentation of OrthancPluginWebDavRetrieveFile() for more information.\n @param size Size of the file.\n @param mimeType The MIME type of the file. If empty or set to `NULL`,\n Orthanc will do a best guess depending on the file extension.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavAddFile = ::std::option::Option<
    unsafe extern "C" fn(
        collection: *mut OrthancPluginWebDavCollection,
        name: *const ::std::os::raw::c_char,
        size: u64,
        mimeType: *const ::std::os::raw::c_char,
        dateTime: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Declare a subfolder while returning the content of a folder.\n\n This function declares a subfolder while returning the content of a\n WebDAV folder.\n\n @param collection Context of the collection.\n @param name Base name of the subfolder.\n @param dateTime The date and time of creation of the subfolder.\n Check out the documentation of OrthancPluginWebDavRetrieveFile() for more information.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavAddFolder = ::std::option::Option<
    unsafe extern "C" fn(
        collection: *mut OrthancPluginWebDavCollection,
        name: *const ::std::os::raw::c_char,
        dateTime: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Retrieve the content of a file.\n\n This function is used to forward the content of a file from a\n WebDAV collection, to the core of Orthanc.\n\n @param collection Context of the collection.\n @param data Content of the file.\n @param size Size of the file.\n @param mimeType The MIME type of the file. If empty or set to `NULL`,\n Orthanc will do a best guess depending on the file extension.\n @param dateTime The date and time of creation of the file.\n It must be formatted as an ISO string of form\n `YYYYMMDDTHHMMSS,fffffffff` where T is the date-time\n separator. It must be expressed in UTC (it is the responsibility\n of the plugin to do the possible timezone\n conversions). Internally, this string will be parsed using\n `boost::posix_time::from_iso_string()`.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavRetrieveFile = ::std::option::Option<
    unsafe extern "C" fn(
        collection: *mut OrthancPluginWebDavCollection,
        data: *const ::std::os::raw::c_void,
        size: u64,
        mimeType: *const ::std::os::raw::c_char,
        dateTime: *const ::std::os::raw::c_char,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for testing the existence of a folder.\n\n Signature of a callback function that tests whether the given\n path in the WebDAV collection exists and corresponds to a folder.\n\n @param isExisting Pointer to a Boolean that must be set to `1` if the folder exists, or `0` otherwise.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavIsExistingFolderCallback = ::std::option::Option<
    unsafe extern "C" fn(
        isExisting: *mut u8,
        pathSize: u32,
        pathItems: *const *const ::std::os::raw::c_char,
        payload: *mut ::std::os::raw::c_void,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for listing the content of a folder.\n\n Signature of a callback function that lists the content of a\n folder in the WebDAV collection. The callback must call the\n provided `addFile()` and `addFolder()` functions to emit the\n content of the folder.\n\n @param isExisting Pointer to a Boolean that must be set to `1` if the folder exists, or `0` otherwise.\n @param collection Context to be provided to `addFile()` and `addFolder()` functions.\n @param addFile Function to add a file to the list.\n @param addFolder Function to add a folder to the list.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavListFolderCallback = ::std::option::Option<
    unsafe extern "C" fn(
        isExisting: *mut u8,
        collection: *mut OrthancPluginWebDavCollection,
        addFile: OrthancPluginWebDavAddFile,
        addFolder: OrthancPluginWebDavAddFolder,
        pathSize: u32,
        pathItems: *const *const ::std::os::raw::c_char,
        payload: *mut ::std::os::raw::c_void,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback for retrieving the content of a file.\n\n Signature of a callback function that retrieves the content of a\n file in the WebDAV collection. The callback must call the\n provided `retrieveFile()` function to emit the actual content of\n the file.\n\n @param collection Context to be provided to `retrieveFile()` function.\n @param retrieveFile Function to return the content of the file.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavRetrieveFileCallback = ::std::option::Option<
    unsafe extern "C" fn(
        collection: *mut OrthancPluginWebDavCollection,
        retrieveFile: OrthancPluginWebDavRetrieveFile,
        pathSize: u32,
        pathItems: *const *const ::std::os::raw::c_char,
        payload: *mut ::std::os::raw::c_void,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to store a file.\n\n Signature of a callback function that stores a file into the\n WebDAV collection.\n\n @param isReadOnly Pointer to a Boolean that must be set to `1` if the collection is read-only, or `0` otherwise.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param data Content of the file to be stored.\n @param size Size of the file to be stored.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavStoreFileCallback = ::std::option::Option<
    unsafe extern "C" fn(
        isReadOnly: *mut u8,
        pathSize: u32,
        pathItems: *const *const ::std::os::raw::c_char,
        data: *const ::std::os::raw::c_void,
        size: u64,
        payload: *mut ::std::os::raw::c_void,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to create a folder.\n\n Signature of a callback function that creates a folder in the\n WebDAV collection.\n\n @param isReadOnly Pointer to a Boolean that must be set to `1` if the collection is read-only, or `0` otherwise.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavCreateFolderCallback = ::std::option::Option<
    unsafe extern "C" fn(
        isReadOnly: *mut u8,
        pathSize: u32,
        pathItems: *const *const ::std::os::raw::c_char,
        payload: *mut ::std::os::raw::c_void,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Callback to remove a file or a folder.\n\n Signature of a callback function that removes a file or a folder\n from the WebDAV collection.\n\n @param isReadOnly Pointer to a Boolean that must be set to `1` if the collection is read-only, or `0` otherwise.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
pub type OrthancPluginWebDavDeleteItemCallback = ::std::option::Option<
    unsafe extern "C" fn(
        isReadOnly: *mut u8,
        pathSize: u32,
        pathItems: *const *const ::std::os::raw::c_char,
        payload: *mut ::std::os::raw::c_void,
    ) -> OrthancPluginErrorCode,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterWebDavCollection {
    pub uri: *const ::std::os::raw::c_char,
    pub isExistingFolder: OrthancPluginWebDavIsExistingFolderCallback,
    pub listFolder: OrthancPluginWebDavListFolderCallback,
    pub retrieveFile: OrthancPluginWebDavRetrieveFileCallback,
    pub storeFile: OrthancPluginWebDavStoreFileCallback,
    pub createFolder: OrthancPluginWebDavCreateFolderCallback,
    pub deleteItem: OrthancPluginWebDavDeleteItemCallback,
    pub payload: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterWebDavCollection"]
        [::std::mem::size_of::<_OrthancPluginRegisterWebDavCollection>() - 64usize];
    ["Alignment of _OrthancPluginRegisterWebDavCollection"]
        [::std::mem::align_of::<_OrthancPluginRegisterWebDavCollection>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterWebDavCollection::uri"]
        [::std::mem::offset_of!(_OrthancPluginRegisterWebDavCollection, uri) - 0usize];
    ["Offset of field: _OrthancPluginRegisterWebDavCollection::isExistingFolder"]
        [::std::mem::offset_of!(_OrthancPluginRegisterWebDavCollection, isExistingFolder) - 8usize];
    ["Offset of field: _OrthancPluginRegisterWebDavCollection::listFolder"]
        [::std::mem::offset_of!(_OrthancPluginRegisterWebDavCollection, listFolder) - 16usize];
    ["Offset of field: _OrthancPluginRegisterWebDavCollection::retrieveFile"]
        [::std::mem::offset_of!(_OrthancPluginRegisterWebDavCollection, retrieveFile) - 24usize];
    ["Offset of field: _OrthancPluginRegisterWebDavCollection::storeFile"]
        [::std::mem::offset_of!(_OrthancPluginRegisterWebDavCollection, storeFile) - 32usize];
    ["Offset of field: _OrthancPluginRegisterWebDavCollection::createFolder"]
        [::std::mem::offset_of!(_OrthancPluginRegisterWebDavCollection, createFolder) - 40usize];
    ["Offset of field: _OrthancPluginRegisterWebDavCollection::deleteItem"]
        [::std::mem::offset_of!(_OrthancPluginRegisterWebDavCollection, deleteItem) - 48usize];
    ["Offset of field: _OrthancPluginRegisterWebDavCollection::payload"]
        [::std::mem::offset_of!(_OrthancPluginRegisterWebDavCollection, payload) - 56usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterStorageArea3 {
    pub create: OrthancPluginStorageCreate2,
    pub readRange: OrthancPluginStorageReadRange2,
    pub remove: OrthancPluginStorageRemove2,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterStorageArea3"]
        [::std::mem::size_of::<_OrthancPluginRegisterStorageArea3>() - 24usize];
    ["Alignment of _OrthancPluginRegisterStorageArea3"]
        [::std::mem::align_of::<_OrthancPluginRegisterStorageArea3>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea3::create"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea3, create) - 0usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea3::readRange"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea3, readRange) - 8usize];
    ["Offset of field: _OrthancPluginRegisterStorageArea3::remove"]
        [::std::mem::offset_of!(_OrthancPluginRegisterStorageArea3, remove) - 16usize];
};
#[doc = " @brief Signature of a callback function that is triggered when\n the Orthanc core requests an operation from the database plugin.\n Both request and response are encoded as protobuf buffers.\n @ingroup Callbacks"]
pub type OrthancPluginCallDatabaseBackendV4 = ::std::option::Option<
    unsafe extern "C" fn(
        response: *mut OrthancPluginMemoryBuffer64,
        backend: *mut ::std::os::raw::c_void,
        request: *const ::std::os::raw::c_void,
        requestSize: u64,
    ) -> OrthancPluginErrorCode,
>;
#[doc = " @brief Signature of a callback function that is triggered when\n the database plugin must be finalized.\n @ingroup Callbacks"]
pub type OrthancPluginFinalizeDatabaseBackendV4 =
    ::std::option::Option<unsafe extern "C" fn(backend: *mut ::std::os::raw::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginRegisterDatabaseBackendV4 {
    pub backend: *mut ::std::os::raw::c_void,
    pub maxDatabaseRetries: u32,
    pub operations: OrthancPluginCallDatabaseBackendV4,
    pub finalize: OrthancPluginFinalizeDatabaseBackendV4,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginRegisterDatabaseBackendV4"]
        [::std::mem::size_of::<_OrthancPluginRegisterDatabaseBackendV4>() - 32usize];
    ["Alignment of _OrthancPluginRegisterDatabaseBackendV4"]
        [::std::mem::align_of::<_OrthancPluginRegisterDatabaseBackendV4>() - 8usize];
    ["Offset of field: _OrthancPluginRegisterDatabaseBackendV4::backend"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDatabaseBackendV4, backend) - 0usize];
    ["Offset of field: _OrthancPluginRegisterDatabaseBackendV4::maxDatabaseRetries"][::std::mem::offset_of!(
        _OrthancPluginRegisterDatabaseBackendV4,
        maxDatabaseRetries
    ) - 8usize];
    ["Offset of field: _OrthancPluginRegisterDatabaseBackendV4::operations"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDatabaseBackendV4, operations) - 16usize];
    ["Offset of field: _OrthancPluginRegisterDatabaseBackendV4::finalize"]
        [::std::mem::offset_of!(_OrthancPluginRegisterDatabaseBackendV4, finalize) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginLoadDicomInstance {
    pub target: *mut *mut OrthancPluginDicomInstance,
    pub instanceId: *const ::std::os::raw::c_char,
    pub mode: OrthancPluginLoadDicomInstanceMode,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginLoadDicomInstance"]
        [::std::mem::size_of::<_OrthancPluginLoadDicomInstance>() - 24usize];
    ["Alignment of _OrthancPluginLoadDicomInstance"]
        [::std::mem::align_of::<_OrthancPluginLoadDicomInstance>() - 8usize];
    ["Offset of field: _OrthancPluginLoadDicomInstance::target"]
        [::std::mem::offset_of!(_OrthancPluginLoadDicomInstance, target) - 0usize];
    ["Offset of field: _OrthancPluginLoadDicomInstance::instanceId"]
        [::std::mem::offset_of!(_OrthancPluginLoadDicomInstance, instanceId) - 8usize];
    ["Offset of field: _OrthancPluginLoadDicomInstance::mode"]
        [::std::mem::offset_of!(_OrthancPluginLoadDicomInstance, mode) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSetMetricsIntegerValue {
    pub name: *const ::std::os::raw::c_char,
    pub value: i64,
    pub type_: OrthancPluginMetricsType,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSetMetricsIntegerValue"]
        [::std::mem::size_of::<_OrthancPluginSetMetricsIntegerValue>() - 24usize];
    ["Alignment of _OrthancPluginSetMetricsIntegerValue"]
        [::std::mem::align_of::<_OrthancPluginSetMetricsIntegerValue>() - 8usize];
    ["Offset of field: _OrthancPluginSetMetricsIntegerValue::name"]
        [::std::mem::offset_of!(_OrthancPluginSetMetricsIntegerValue, name) - 0usize];
    ["Offset of field: _OrthancPluginSetMetricsIntegerValue::value"]
        [::std::mem::offset_of!(_OrthancPluginSetMetricsIntegerValue, value) - 8usize];
    ["Offset of field: _OrthancPluginSetMetricsIntegerValue::type_"]
        [::std::mem::offset_of!(_OrthancPluginSetMetricsIntegerValue, type_) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginLogMessage {
    pub message: *const ::std::os::raw::c_char,
    pub plugin: *const ::std::os::raw::c_char,
    pub file: *const ::std::os::raw::c_char,
    pub line: u32,
    pub category: OrthancPluginLogCategory,
    pub level: OrthancPluginLogLevel,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginLogMessage"]
        [::std::mem::size_of::<_OrthancPluginLogMessage>() - 40usize];
    ["Alignment of _OrthancPluginLogMessage"]
        [::std::mem::align_of::<_OrthancPluginLogMessage>() - 8usize];
    ["Offset of field: _OrthancPluginLogMessage::message"]
        [::std::mem::offset_of!(_OrthancPluginLogMessage, message) - 0usize];
    ["Offset of field: _OrthancPluginLogMessage::plugin"]
        [::std::mem::offset_of!(_OrthancPluginLogMessage, plugin) - 8usize];
    ["Offset of field: _OrthancPluginLogMessage::file"]
        [::std::mem::offset_of!(_OrthancPluginLogMessage, file) - 16usize];
    ["Offset of field: _OrthancPluginLogMessage::line"]
        [::std::mem::offset_of!(_OrthancPluginLogMessage, line) - 24usize];
    ["Offset of field: _OrthancPluginLogMessage::category"]
        [::std::mem::offset_of!(_OrthancPluginLogMessage, category) - 28usize];
    ["Offset of field: _OrthancPluginLogMessage::level"]
        [::std::mem::offset_of!(_OrthancPluginLogMessage, level) - 32usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginStartStreamAnswer {
    pub output: *mut OrthancPluginRestOutput,
    pub contentType: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginStartStreamAnswer"]
        [::std::mem::size_of::<_OrthancPluginStartStreamAnswer>() - 16usize];
    ["Alignment of _OrthancPluginStartStreamAnswer"]
        [::std::mem::align_of::<_OrthancPluginStartStreamAnswer>() - 8usize];
    ["Offset of field: _OrthancPluginStartStreamAnswer::output"]
        [::std::mem::offset_of!(_OrthancPluginStartStreamAnswer, output) - 0usize];
    ["Offset of field: _OrthancPluginStartStreamAnswer::contentType"]
        [::std::mem::offset_of!(_OrthancPluginStartStreamAnswer, contentType) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginAdoptDicomInstance {
    pub instanceId: *mut OrthancPluginMemoryBuffer,
    pub attachmentUuid: *mut OrthancPluginMemoryBuffer,
    pub storeStatus: *mut OrthancPluginStoreStatus,
    pub dicom: *const ::std::os::raw::c_void,
    pub dicomSize: u64,
    pub customData: *const ::std::os::raw::c_void,
    pub customDataSize: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginAdoptDicomInstance"]
        [::std::mem::size_of::<_OrthancPluginAdoptDicomInstance>() - 56usize];
    ["Alignment of _OrthancPluginAdoptDicomInstance"]
        [::std::mem::align_of::<_OrthancPluginAdoptDicomInstance>() - 8usize];
    ["Offset of field: _OrthancPluginAdoptDicomInstance::instanceId"]
        [::std::mem::offset_of!(_OrthancPluginAdoptDicomInstance, instanceId) - 0usize];
    ["Offset of field: _OrthancPluginAdoptDicomInstance::attachmentUuid"]
        [::std::mem::offset_of!(_OrthancPluginAdoptDicomInstance, attachmentUuid) - 8usize];
    ["Offset of field: _OrthancPluginAdoptDicomInstance::storeStatus"]
        [::std::mem::offset_of!(_OrthancPluginAdoptDicomInstance, storeStatus) - 16usize];
    ["Offset of field: _OrthancPluginAdoptDicomInstance::dicom"]
        [::std::mem::offset_of!(_OrthancPluginAdoptDicomInstance, dicom) - 24usize];
    ["Offset of field: _OrthancPluginAdoptDicomInstance::dicomSize"]
        [::std::mem::offset_of!(_OrthancPluginAdoptDicomInstance, dicomSize) - 32usize];
    ["Offset of field: _OrthancPluginAdoptDicomInstance::customData"]
        [::std::mem::offset_of!(_OrthancPluginAdoptDicomInstance, customData) - 40usize];
    ["Offset of field: _OrthancPluginAdoptDicomInstance::customDataSize"]
        [::std::mem::offset_of!(_OrthancPluginAdoptDicomInstance, customDataSize) - 48usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetAttachmentCustomData {
    pub customData: *mut OrthancPluginMemoryBuffer,
    pub attachmentUuid: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetAttachmentCustomData"]
        [::std::mem::size_of::<_OrthancPluginGetAttachmentCustomData>() - 16usize];
    ["Alignment of _OrthancPluginGetAttachmentCustomData"]
        [::std::mem::align_of::<_OrthancPluginGetAttachmentCustomData>() - 8usize];
    ["Offset of field: _OrthancPluginGetAttachmentCustomData::customData"]
        [::std::mem::offset_of!(_OrthancPluginGetAttachmentCustomData, customData) - 0usize];
    ["Offset of field: _OrthancPluginGetAttachmentCustomData::attachmentUuid"]
        [::std::mem::offset_of!(_OrthancPluginGetAttachmentCustomData, attachmentUuid) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginSetAttachmentCustomData {
    pub attachmentUuid: *const ::std::os::raw::c_char,
    pub customData: *const ::std::os::raw::c_void,
    pub customDataSize: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginSetAttachmentCustomData"]
        [::std::mem::size_of::<_OrthancPluginSetAttachmentCustomData>() - 24usize];
    ["Alignment of _OrthancPluginSetAttachmentCustomData"]
        [::std::mem::align_of::<_OrthancPluginSetAttachmentCustomData>() - 8usize];
    ["Offset of field: _OrthancPluginSetAttachmentCustomData::attachmentUuid"]
        [::std::mem::offset_of!(_OrthancPluginSetAttachmentCustomData, attachmentUuid) - 0usize];
    ["Offset of field: _OrthancPluginSetAttachmentCustomData::customData"]
        [::std::mem::offset_of!(_OrthancPluginSetAttachmentCustomData, customData) - 8usize];
    ["Offset of field: _OrthancPluginSetAttachmentCustomData::customDataSize"]
        [::std::mem::offset_of!(_OrthancPluginSetAttachmentCustomData, customDataSize) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginStoreKeyValue {
    pub storeId: *const ::std::os::raw::c_char,
    pub key: *const ::std::os::raw::c_char,
    pub value: *const ::std::os::raw::c_void,
    pub valueSize: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginStoreKeyValue"]
        [::std::mem::size_of::<_OrthancPluginStoreKeyValue>() - 32usize];
    ["Alignment of _OrthancPluginStoreKeyValue"]
        [::std::mem::align_of::<_OrthancPluginStoreKeyValue>() - 8usize];
    ["Offset of field: _OrthancPluginStoreKeyValue::storeId"]
        [::std::mem::offset_of!(_OrthancPluginStoreKeyValue, storeId) - 0usize];
    ["Offset of field: _OrthancPluginStoreKeyValue::key"]
        [::std::mem::offset_of!(_OrthancPluginStoreKeyValue, key) - 8usize];
    ["Offset of field: _OrthancPluginStoreKeyValue::value"]
        [::std::mem::offset_of!(_OrthancPluginStoreKeyValue, value) - 16usize];
    ["Offset of field: _OrthancPluginStoreKeyValue::valueSize"]
        [::std::mem::offset_of!(_OrthancPluginStoreKeyValue, valueSize) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginDeleteKeyValue {
    pub storeId: *const ::std::os::raw::c_char,
    pub key: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginDeleteKeyValue"]
        [::std::mem::size_of::<_OrthancPluginDeleteKeyValue>() - 16usize];
    ["Alignment of _OrthancPluginDeleteKeyValue"]
        [::std::mem::align_of::<_OrthancPluginDeleteKeyValue>() - 8usize];
    ["Offset of field: _OrthancPluginDeleteKeyValue::storeId"]
        [::std::mem::offset_of!(_OrthancPluginDeleteKeyValue, storeId) - 0usize];
    ["Offset of field: _OrthancPluginDeleteKeyValue::key"]
        [::std::mem::offset_of!(_OrthancPluginDeleteKeyValue, key) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetKeyValue {
    pub found: *mut u8,
    pub target: *mut OrthancPluginMemoryBuffer,
    pub storeId: *const ::std::os::raw::c_char,
    pub key: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetKeyValue"]
        [::std::mem::size_of::<_OrthancPluginGetKeyValue>() - 32usize];
    ["Alignment of _OrthancPluginGetKeyValue"]
        [::std::mem::align_of::<_OrthancPluginGetKeyValue>() - 8usize];
    ["Offset of field: _OrthancPluginGetKeyValue::found"]
        [::std::mem::offset_of!(_OrthancPluginGetKeyValue, found) - 0usize];
    ["Offset of field: _OrthancPluginGetKeyValue::target"]
        [::std::mem::offset_of!(_OrthancPluginGetKeyValue, target) - 8usize];
    ["Offset of field: _OrthancPluginGetKeyValue::storeId"]
        [::std::mem::offset_of!(_OrthancPluginGetKeyValue, storeId) - 16usize];
    ["Offset of field: _OrthancPluginGetKeyValue::key"]
        [::std::mem::offset_of!(_OrthancPluginGetKeyValue, key) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginKeysValuesIterator_t {
    _unused: [u8; 0],
}
#[doc = " @brief Opaque structure that represents an iterator over the keys and values of\n a key-value store.\n @ingroup Callbacks"]
pub type OrthancPluginKeysValuesIterator = _OrthancPluginKeysValuesIterator_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginCreateKeysValuesIterator {
    pub target: *mut *mut OrthancPluginKeysValuesIterator,
    pub storeId: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginCreateKeysValuesIterator"]
        [::std::mem::size_of::<_OrthancPluginCreateKeysValuesIterator>() - 16usize];
    ["Alignment of _OrthancPluginCreateKeysValuesIterator"]
        [::std::mem::align_of::<_OrthancPluginCreateKeysValuesIterator>() - 8usize];
    ["Offset of field: _OrthancPluginCreateKeysValuesIterator::target"]
        [::std::mem::offset_of!(_OrthancPluginCreateKeysValuesIterator, target) - 0usize];
    ["Offset of field: _OrthancPluginCreateKeysValuesIterator::storeId"]
        [::std::mem::offset_of!(_OrthancPluginCreateKeysValuesIterator, storeId) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginFreeKeysValuesIterator {
    pub iterator: *mut OrthancPluginKeysValuesIterator,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginFreeKeysValuesIterator"]
        [::std::mem::size_of::<_OrthancPluginFreeKeysValuesIterator>() - 8usize];
    ["Alignment of _OrthancPluginFreeKeysValuesIterator"]
        [::std::mem::align_of::<_OrthancPluginFreeKeysValuesIterator>() - 8usize];
    ["Offset of field: _OrthancPluginFreeKeysValuesIterator::iterator"]
        [::std::mem::offset_of!(_OrthancPluginFreeKeysValuesIterator, iterator) - 0usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginKeysValuesIteratorNext {
    pub done: *mut u8,
    pub iterator: *mut OrthancPluginKeysValuesIterator,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginKeysValuesIteratorNext"]
        [::std::mem::size_of::<_OrthancPluginKeysValuesIteratorNext>() - 16usize];
    ["Alignment of _OrthancPluginKeysValuesIteratorNext"]
        [::std::mem::align_of::<_OrthancPluginKeysValuesIteratorNext>() - 8usize];
    ["Offset of field: _OrthancPluginKeysValuesIteratorNext::done"]
        [::std::mem::offset_of!(_OrthancPluginKeysValuesIteratorNext, done) - 0usize];
    ["Offset of field: _OrthancPluginKeysValuesIteratorNext::iterator"]
        [::std::mem::offset_of!(_OrthancPluginKeysValuesIteratorNext, iterator) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginKeysValuesIteratorGetKey {
    pub target: *mut *const ::std::os::raw::c_char,
    pub iterator: *mut OrthancPluginKeysValuesIterator,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginKeysValuesIteratorGetKey"]
        [::std::mem::size_of::<_OrthancPluginKeysValuesIteratorGetKey>() - 16usize];
    ["Alignment of _OrthancPluginKeysValuesIteratorGetKey"]
        [::std::mem::align_of::<_OrthancPluginKeysValuesIteratorGetKey>() - 8usize];
    ["Offset of field: _OrthancPluginKeysValuesIteratorGetKey::target"]
        [::std::mem::offset_of!(_OrthancPluginKeysValuesIteratorGetKey, target) - 0usize];
    ["Offset of field: _OrthancPluginKeysValuesIteratorGetKey::iterator"]
        [::std::mem::offset_of!(_OrthancPluginKeysValuesIteratorGetKey, iterator) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginKeysValuesIteratorGetValue {
    pub target: *mut OrthancPluginMemoryBuffer,
    pub iterator: *mut OrthancPluginKeysValuesIterator,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginKeysValuesIteratorGetValue"]
        [::std::mem::size_of::<_OrthancPluginKeysValuesIteratorGetValue>() - 16usize];
    ["Alignment of _OrthancPluginKeysValuesIteratorGetValue"]
        [::std::mem::align_of::<_OrthancPluginKeysValuesIteratorGetValue>() - 8usize];
    ["Offset of field: _OrthancPluginKeysValuesIteratorGetValue::target"]
        [::std::mem::offset_of!(_OrthancPluginKeysValuesIteratorGetValue, target) - 0usize];
    ["Offset of field: _OrthancPluginKeysValuesIteratorGetValue::iterator"]
        [::std::mem::offset_of!(_OrthancPluginKeysValuesIteratorGetValue, iterator) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginEnqueueValue {
    pub queueId: *const ::std::os::raw::c_char,
    pub value: *const ::std::os::raw::c_void,
    pub valueSize: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginEnqueueValue"]
        [::std::mem::size_of::<_OrthancPluginEnqueueValue>() - 24usize];
    ["Alignment of _OrthancPluginEnqueueValue"]
        [::std::mem::align_of::<_OrthancPluginEnqueueValue>() - 8usize];
    ["Offset of field: _OrthancPluginEnqueueValue::queueId"]
        [::std::mem::offset_of!(_OrthancPluginEnqueueValue, queueId) - 0usize];
    ["Offset of field: _OrthancPluginEnqueueValue::value"]
        [::std::mem::offset_of!(_OrthancPluginEnqueueValue, value) - 8usize];
    ["Offset of field: _OrthancPluginEnqueueValue::valueSize"]
        [::std::mem::offset_of!(_OrthancPluginEnqueueValue, valueSize) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginDequeueValue {
    pub found: *mut u8,
    pub target: *mut OrthancPluginMemoryBuffer,
    pub queueId: *const ::std::os::raw::c_char,
    pub origin: OrthancPluginQueueOrigin,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginDequeueValue"]
        [::std::mem::size_of::<_OrthancPluginDequeueValue>() - 32usize];
    ["Alignment of _OrthancPluginDequeueValue"]
        [::std::mem::align_of::<_OrthancPluginDequeueValue>() - 8usize];
    ["Offset of field: _OrthancPluginDequeueValue::found"]
        [::std::mem::offset_of!(_OrthancPluginDequeueValue, found) - 0usize];
    ["Offset of field: _OrthancPluginDequeueValue::target"]
        [::std::mem::offset_of!(_OrthancPluginDequeueValue, target) - 8usize];
    ["Offset of field: _OrthancPluginDequeueValue::queueId"]
        [::std::mem::offset_of!(_OrthancPluginDequeueValue, queueId) - 16usize];
    ["Offset of field: _OrthancPluginDequeueValue::origin"]
        [::std::mem::offset_of!(_OrthancPluginDequeueValue, origin) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _OrthancPluginGetQueueSize {
    pub queueId: *const ::std::os::raw::c_char,
    pub size: *mut u64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of _OrthancPluginGetQueueSize"]
        [::std::mem::size_of::<_OrthancPluginGetQueueSize>() - 16usize];
    ["Alignment of _OrthancPluginGetQueueSize"]
        [::std::mem::align_of::<_OrthancPluginGetQueueSize>() - 8usize];
    ["Offset of field: _OrthancPluginGetQueueSize::queueId"]
        [::std::mem::offset_of!(_OrthancPluginGetQueueSize, queueId) - 0usize];
    ["Offset of field: _OrthancPluginGetQueueSize::size"]
        [::std::mem::offset_of!(_OrthancPluginGetQueueSize, size) - 8usize];
};
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list_tag {
    pub gp_offset: ::std::os::raw::c_uint,
    pub fp_offset: ::std::os::raw::c_uint,
    pub overflow_arg_area: *mut ::std::os::raw::c_void,
    pub reg_save_area: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __va_list_tag"][::std::mem::size_of::<__va_list_tag>() - 24usize];
    ["Alignment of __va_list_tag"][::std::mem::align_of::<__va_list_tag>() - 8usize];
    ["Offset of field: __va_list_tag::gp_offset"]
        [::std::mem::offset_of!(__va_list_tag, gp_offset) - 0usize];
    ["Offset of field: __va_list_tag::fp_offset"]
        [::std::mem::offset_of!(__va_list_tag, fp_offset) - 4usize];
    ["Offset of field: __va_list_tag::overflow_arg_area"]
        [::std::mem::offset_of!(__va_list_tag, overflow_arg_area) - 8usize];
    ["Offset of field: __va_list_tag::reg_save_area"]
        [::std::mem::offset_of!(__va_list_tag, reg_save_area) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_data {
    pub _address: u8,
}
