diff options
Diffstat (limited to 'contrib/syslinux/latest/libfat/ulint.h')
-rw-r--r-- | contrib/syslinux/latest/libfat/ulint.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/contrib/syslinux/latest/libfat/ulint.h b/contrib/syslinux/latest/libfat/ulint.h deleted file mode 100644 index c2fadb7..0000000 --- a/contrib/syslinux/latest/libfat/ulint.h +++ /dev/null @@ -1,112 +0,0 @@ -/* ----------------------------------------------------------------------- * - * - * Copyright 2001-2008 H. Peter Anvin - All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, - * USA; either version 2 of the License, or (at your option) any later - * version; incorporated herein by reference. - * - * ----------------------------------------------------------------------- */ - -/* - * ulint.h - * - * Basic operations on unaligned, littleendian integers - */ - -#ifndef ULINT_H -#define ULINT_H - -#include <inttypes.h> - -/* These are unaligned, littleendian integer types */ - -typedef uint8_t le8_t; /* 8-bit byte */ -typedef uint8_t le16_t[2]; /* 16-bit word */ -typedef uint8_t le32_t[4]; /* 32-bit dword */ - -/* Read/write these quantities */ - -static inline unsigned char read8(le8_t * _p) -{ - return *_p; -} - -static inline void write8(le8_t * _p, uint8_t _v) -{ - *_p = _v; -} - -#if defined(__i386__) || defined(__x86_64__) - -/* Littleendian architectures which support unaligned memory accesses */ - -static inline unsigned short read16(le16_t * _p) -{ - return *((const uint16_t *)_p); -} - -static inline void write16(le16_t * _p, unsigned short _v) -{ - *((uint16_t *) _p) = _v; -} - -static inline unsigned int read32(le32_t * _p) -{ - return *((const uint32_t *)_p); -} - -static inline void write32(le32_t * _p, uint32_t _v) -{ - *((uint32_t *) _p) = _v; -} - -#else - -/* Generic, mostly portable versions */ - -static inline unsigned short read16(le16_t * _pp) -{ - uint8_t *_p = *_pp; - uint16_t _v; - - _v = _p[0]; - _v |= _p[1] << 8; - return _v; -} - -static inline void write16(le16_t * _pp, uint16_t _v) -{ - uint8_t *_p = *_pp; - - _p[0] = _v & 0xFF; - _p[1] = (_v >> 8) & 0xFF; -} - -static inline unsigned int read32(le32_t * _pp) -{ - uint8_t *_p = *_pp; - uint32_t _v; - - _v = _p[0]; - _v |= _p[1] << 8; - _v |= _p[2] << 16; - _v |= _p[3] << 24; - return _v; -} - -static inline void write32(le32_t * _pp, uint32_t _v) -{ - uint8_t *_p = *_pp; - - _p[0] = _v & 0xFF; - _p[1] = (_v >> 8) & 0xFF; - _p[2] = (_v >> 16) & 0xFF; - _p[3] = (_v >> 24) & 0xFF; -} - -#endif - -#endif /* ULINT_H */ |