linux/include/asm-generic/unaligned.h
<<
>>
Prefs
   1#ifndef __ASM_GENERIC_UNALIGNED_H
   2#define __ASM_GENERIC_UNALIGNED_H
   3
   4/*
   5 * This is the most generic implementation of unaligned accesses
   6 * and should work almost anywhere.
   7 *
   8 * If an architecture can handle unaligned accesses in hardware,
   9 * it may want to use the linux/unaligned/access_ok.h implementation
  10 * instead.
  11 */
  12#include <asm/byteorder.h>
  13
  14#if defined(__LITTLE_ENDIAN)
  15# include <linux/unaligned/le_struct.h>
  16# include <linux/unaligned/be_byteshift.h>
  17# include <linux/unaligned/generic.h>
  18# define get_unaligned  __get_unaligned_le
  19# define put_unaligned  __put_unaligned_le
  20#elif defined(__BIG_ENDIAN)
  21# include <linux/unaligned/be_struct.h>
  22# include <linux/unaligned/le_byteshift.h>
  23# include <linux/unaligned/generic.h>
  24# define get_unaligned  __get_unaligned_be
  25# define put_unaligned  __put_unaligned_be
  26#else
  27# error need to define endianess
  28#endif
  29
  30#endif /* __ASM_GENERIC_UNALIGNED_H */
  31