// SPDX-License-Identifier: CC0-1.0 OR Unlicense

#ifndef _FWRITE_LE_H
#define _FWRITE_LE_H

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define FWRITE_LE_NO_MODIFICATION 0

#define DETECTED_LITTLE_ENDIAN 0
#define DETECTED_BIG_ENDIAN 1
#define UNSUPPORTED_ENDIANNESS -1

int detect_endianness(void);
size_t fwrite_le(
#if FWRITE_LE_NO_MODIFICATION
	const
#endif
	void* ptr, size_t size, size_t count, FILE* stream);
void reorder_le_be(
#if FWRITE_LE_NO_MODIFICATION
	uint8_t* dest, uint8_t* src,
#else
	uint8_t* bytes,
#endif
	size_t count, size_t step);

#endif /* _FWRITE_LE_H */