//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use objc2::__framework_prelude::*;

use crate::*;

// TODO: pub fn NSHostByteOrder() -> c_long;

// TODO: pub fn NSSwapShort(inv: c_ushort,) -> c_ushort;

// TODO: pub fn NSSwapInt(inv: c_uint,) -> c_uint;

// TODO: pub fn NSSwapLong(inv: c_ulong,) -> c_ulong;

// TODO: pub fn NSSwapLongLong(inv: c_ulonglong,) -> c_ulonglong;

// TODO: pub fn NSSwapBigShortToHost(x: c_ushort,) -> c_ushort;

// TODO: pub fn NSSwapBigIntToHost(x: c_uint,) -> c_uint;

// TODO: pub fn NSSwapBigLongToHost(x: c_ulong,) -> c_ulong;

// TODO: pub fn NSSwapBigLongLongToHost(x: c_ulonglong,) -> c_ulonglong;

// TODO: pub fn NSSwapHostShortToBig(x: c_ushort,) -> c_ushort;

// TODO: pub fn NSSwapHostIntToBig(x: c_uint,) -> c_uint;

// TODO: pub fn NSSwapHostLongToBig(x: c_ulong,) -> c_ulong;

// TODO: pub fn NSSwapHostLongLongToBig(x: c_ulonglong,) -> c_ulonglong;

// TODO: pub fn NSSwapLittleShortToHost(x: c_ushort,) -> c_ushort;

// TODO: pub fn NSSwapLittleIntToHost(x: c_uint,) -> c_uint;

// TODO: pub fn NSSwapLittleLongToHost(x: c_ulong,) -> c_ulong;

// TODO: pub fn NSSwapLittleLongLongToHost(x: c_ulonglong,) -> c_ulonglong;

// TODO: pub fn NSSwapHostShortToLittle(x: c_ushort,) -> c_ushort;

// TODO: pub fn NSSwapHostIntToLittle(x: c_uint,) -> c_uint;

// TODO: pub fn NSSwapHostLongToLittle(x: c_ulong,) -> c_ulong;

// TODO: pub fn NSSwapHostLongLongToLittle(x: c_ulonglong,) -> c_ulonglong;

/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsswappedfloat?language=objc)
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct NSSwappedFloat {
    pub v: c_uint,
}

unsafe impl Encode for NSSwappedFloat {
    const ENCODING: Encoding = Encoding::Struct("?", &[<c_uint>::ENCODING]);
}

unsafe impl RefEncode for NSSwappedFloat {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}

unsafe impl Send for NSSwappedFloat {}

unsafe impl Sync for NSSwappedFloat {}

/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsswappeddouble?language=objc)
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct NSSwappedDouble {
    pub v: c_ulonglong,
}

unsafe impl Encode for NSSwappedDouble {
    const ENCODING: Encoding = Encoding::Struct("?", &[<c_ulonglong>::ENCODING]);
}

unsafe impl RefEncode for NSSwappedDouble {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}

unsafe impl Send for NSSwappedDouble {}

unsafe impl Sync for NSSwappedDouble {}

// TODO: pub fn NSConvertHostFloatToSwapped(x: c_float,) -> NSSwappedFloat;

// TODO: pub fn NSConvertSwappedFloatToHost(x: NSSwappedFloat,) -> c_float;

// TODO: pub fn NSConvertHostDoubleToSwapped(x: c_double,) -> NSSwappedDouble;

// TODO: pub fn NSConvertSwappedDoubleToHost(x: NSSwappedDouble,) -> c_double;

// TODO: pub fn NSSwapFloat(x: NSSwappedFloat,) -> NSSwappedFloat;

// TODO: pub fn NSSwapDouble(x: NSSwappedDouble,) -> NSSwappedDouble;
