typedef struct SwapType {
const char *name;
- uint16_t (^swap16)(uint16_t);
- uint32_t (^swap32)(uint32_t);
- uint64_t (^swap64)(uint64_t);
+ uint16_t (*swap16)(uint16_t);
+ uint32_t (*swap32)(uint32_t);
+ uint64_t (*swap64)(uint64_t);
} swapper_t;
+uint16_t ident16(uint16_t x) { return x; }
+uint32_t ident32(uint32_t x) { return x; }
+uint64_t ident64(uint64_t x) { return x; }
+
static swapper_t nativeEndian = {
"native endian",
- ^(uint16_t x) { return x; },
- ^(uint32_t x) { return x; },
- ^(uint64_t x) { return x; }
+ &ident16,
+ &ident32,
+ &ident64,
};
static swapper_t swappedEndian = {
"swapped endian",
- ^(uint16_t x) { return OSSwapInt16(x); },
- ^(uint32_t x) { return OSSwapInt32(x); },
- ^(uint64_t x) { return OSSwapInt64(x); }
+ &_OSSwapInt16,
+ &_OSSwapInt32,
+ &_OSSwapInt64,
};
typedef int (__lambda_ journal_write_block_t)(off_t, void *, size_t);