trivial_memmove_user ( dest, dest_off, src, src_off, len );
}
+static inline __always_inline int
+UACCESS_INLINE ( librm, memcmp_user ) ( userptr_t first, off_t first_off,
+ userptr_t second, off_t second_off,
+ size_t len ) {
+ return trivial_memcmp_user ( first, first_off, second, second_off, len);
+}
+
static inline __always_inline void
UACCESS_INLINE ( librm, memset_user ) ( userptr_t buffer, off_t offset,
int c, size_t len ) {
trivial_memmove_user ( dest, dest_off, src, src_off, len );
}
+static inline __always_inline int
+UACCESS_INLINE ( efi, memcmp_user ) ( userptr_t first, off_t first_off,
+ userptr_t second, off_t second_off,
+ size_t len ) {
+ return trivial_memcmp_user ( first, first_off, second, second_off, len);
+}
+
static inline __always_inline void
UACCESS_INLINE ( efi, memset_user ) ( userptr_t buffer, off_t offset,
int c, size_t len ) {
trivial_memmove_user(dest, dest_off, src, src_off, len);
}
+static inline __always_inline int
+UACCESS_INLINE(linux, memcmp_user)(userptr_t first, off_t first_off, userptr_t second, off_t second_off, size_t len)
+{
+ return trivial_memcmp_user(first, first_off, second, second_off, len);
+}
+
static inline __always_inline void
UACCESS_INLINE(linux, memset_user)(userptr_t buffer, off_t offset, int c, size_t len)
{
( ( void * ) src + src_off ), len );
}
+/**
+ * Compare data between user buffers
+ *
+ * @v first First buffer
+ * @v first_off First buffer offset
+ * @v second Second buffer
+ * @v second_off Second buffer offset
+ * @v len Length
+ * @ret diff Difference
+ */
+static inline __always_inline int
+trivial_memcmp_user ( userptr_t first, off_t first_off,
+ userptr_t second, off_t second_off, size_t len ) {
+ return memcmp ( ( ( void * ) first + first_off ),
+ ( ( void * ) second + second_off ), len );
+}
+
/**
* Fill user buffer with a constant byte
*
void memmove_user ( userptr_t dest, off_t dest_off,
userptr_t src, off_t src_off, size_t len );
+/**
+ * Compare data between user buffers
+ *
+ * @v first First buffer
+ * @v first_off First buffer offset
+ * @v second Second buffer
+ * @v second_off Second buffer offset
+ * @v len Length
+ * @ret diff Difference
+ */
+int memcmp_user ( userptr_t first, off_t first_off,
+ userptr_t second, off_t second_off, size_t len );
+
/**
* Fill user buffer with a constant byte
*