Mercurial > hg > th-libs
view th_endian.h @ 0:bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
here, because it's cluttered and commit messages are mostly crap.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 26 Mar 2008 04:41:58 +0200 |
parents | |
children | 8552edc844a7 |
line wrap: on
line source
/* * Endianess handling * Programmed and designed by Matti 'ccr' Hamalainen * (C) Copyright 2002-2007 Tecnic Software productions (TNSP) * * Please read file 'COPYING' for information on license and distribution. */ #ifndef _TH_ENDIAN_H #define _TH_ENDIAN_H #ifdef __cplusplus extern "C" { #endif #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <stdio.h> #include "th_types.h" /* * Data endianess conversion routines */ #ifdef TH_BIGENDIAN void TH_NE16(uint16_t *); void TH_NE32(uint32_t *); uint16_t TH_LE16(uint16_t); uint32_t TH_LE32(uint32_t); #else #define TH_NE16(X) #define TH_NE32(X) #define TH_LE16(X) X #define TH_LE32(X) X #endif /* * Endian-handling file read/write routines */ BOOL TH_READ_STR(FILE *f, uint8_t *s, size_t l); uint16_t TH_READ_BE16(FILE *f); uint32_t TH_READ_BE32(FILE *f); uint16_t TH_READ_LE16(FILE *f); uint32_t TH_READ_LE32(FILE *f); BOOL TH_WRITE_STR(FILE *f, uint8_t *s, size_t l); void TH_WRITE_BE16(FILE *f, uint16_t v); void TH_WRITE_BE32(FILE *f, uint32_t v); void TH_WRITE_LE16(FILE *f, uint16_t v); void TH_WRITE_LE32(FILE *f, uint32_t v); #ifdef __cplusplus } #endif #endif /* _TH_ENDIAN_H */