1 #ifndef haskell_primitive_memops_h 2 #define haskell_primitive_memops_h 3 4 #include <stdlib.h> 5 #include <stddef.h> 6 #include <HsFFI.h> 7 8 void hsprimitive_memcpy( void *dst, ptrdiff_t doff, void *src, ptrdiff_t soff, size_t len ); 9 void hsprimitive_memmove( void *dst, ptrdiff_t doff, void *src, ptrdiff_t soff, size_t len ); 10 int hsprimitive_memcmp( HsWord8 *s1, HsWord8 *s2, size_t n ); 11 12 void hsprimitive_memset_Word8 (HsWord8 *, ptrdiff_t, size_t, HsWord); 13 void hsprimitive_memset_Word16 (HsWord16 *, ptrdiff_t, size_t, HsWord); 14 void hsprimitive_memset_Word32 (HsWord32 *, ptrdiff_t, size_t, HsWord); 15 void hsprimitive_memset_Word64 (HsWord64 *, ptrdiff_t, size_t, HsWord64); 16 void hsprimitive_memset_Word (HsWord *, ptrdiff_t, size_t, HsWord); 17 void hsprimitive_memset_Ptr (HsPtr *, ptrdiff_t, size_t, HsPtr); 18 void hsprimitive_memset_Float (HsFloat *, ptrdiff_t, size_t, HsFloat); 19 void hsprimitive_memset_Double (HsDouble *, ptrdiff_t, size_t, HsDouble); 20 void hsprimitive_memset_Char (HsChar *, ptrdiff_t, size_t, HsChar); 21 22 #endif 23 24