summaryrefslogtreecommitdiff
path: root/source/kit/array_ref.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/kit/array_ref.h')
-rw-r--r--source/kit/array_ref.h30
1 files changed, 12 insertions, 18 deletions
diff --git a/source/kit/array_ref.h b/source/kit/array_ref.h
index 02f7370..20851f9 100644
--- a/source/kit/array_ref.h
+++ b/source/kit/array_ref.h
@@ -1,38 +1,32 @@
#ifndef KIT_ARRAY_REF_H
#define KIT_ARRAY_REF_H
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-
-#include <stddef.h>
-#include <stdint.h>
+#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
-typedef int (*kit_ar_compare_fn)(void *left, void *right);
+typedef i8 (*kit_ar_compare_fn)(void *left, void *right);
-int kit_ar_equal_bytes(ptrdiff_t left_element_size,
- ptrdiff_t left_size, void *left_data,
- ptrdiff_t right_element_size,
- ptrdiff_t right_size, void *right_data);
+i8 kit_ar_equal_bytes(i64 left_element_size, i64 left_size,
+ void *left_data, i64 right_element_size,
+ i64 right_size, void *right_data);
-int kit_ar_compare(ptrdiff_t left_element_size, ptrdiff_t left_size,
- void *left_data, ptrdiff_t right_element_size,
- ptrdiff_t right_size, void *right_data,
- kit_ar_compare_fn compare);
+i8 kit_ar_compare(i64 left_element_size, i64 left_size,
+ void *left_data, i64 right_element_size,
+ i64 right_size, void *right_data,
+ kit_ar_compare_fn compare);
#define KIT_AR(type_) \
struct { \
- ptrdiff_t size; \
- type_ *values; \
+ i64 size; \
+ type_ *values; \
}
#define KIT_AR_WRAP(name_, element_type_, array_) \
struct { \
- ptrdiff_t size; \
+ i64 size; \
element_type_ *values; \
} name_ = { .size = (sizeof(array_) / sizeof((array_)[0])), \
.values = (array_) }