X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=include%2Fcommon.h;h=8988ed01debc6ec5224ef7b17e823a34fcceba63;hb=0f6e9afb06b03647c4c5f2499ddab12f42b4340e;hp=0d493c5ed72882a50822d99ac8c9f8a6047cbed9;hpb=f3a053a46bbb4ba460bcff0920b93dfc8263e02e;p=nbds diff --git a/include/common.h b/include/common.h index 0d493c5..8988ed0 100644 --- a/include/common.h +++ b/include/common.h @@ -11,10 +11,6 @@ #include #include -#define malloc "DON'T USE MALLOC" // use nbd_malloc() instead -#define calloc "DON'T USE CALLOC" // use nbd_malloc() instead -#define free "DON'T USE FREE" // use nbd_free() instead - #define MAX_NUM_THREADS 4 // make this whatever you want, but make it a power of 2 #define CACHE_LINE_SIZE 64 @@ -32,21 +28,30 @@ #define TRUE 1 #define FALSE 0 +#ifdef NBD32 +#define TAG1 (1U << 31) +#define TAG2 (1U << 30) +#else #define TAG1 (1ULL << 63) #define TAG2 (1ULL << 62) -#define TAG_VALUE(v, tag) ((uint64_t)(v) | tag) -#define IS_TAGGED(v, tag) ((uint64_t)(v) & tag) -#define STRIP_TAG(v, tag) ((uint64_t)(v) & ~tag) +#endif +#define TAG_VALUE(v, tag) ((v) | tag) +#define IS_TAGGED(v, tag) ((v) & tag) +#define STRIP_TAG(v, tag) ((v) & ~tag) #define DOES_NOT_EXIST 0 -#define ERROR_INVALID_OPTION (-1) -#define ERROR_INVALID_ARGUMENT (-2) +#define ERROR_INVALID_OPTION (-1) +#define ERROR_INVALID_ARGUMENT (-2) #define ERROR_UNSUPPORTED_FEATURE (-3) -#define ERROR_TXN_NOT_RUNNING (-4) +#define ERROR_TXN_NOT_RUNNING (-4) + +#define VOLATILE(x) *((volatile typeof(x) *)&x) typedef unsigned long long uint64_t; typedef unsigned int uint32_t; typedef unsigned char uint8_t; +typedef size_t markable_t; + #include "lwt.h" #endif //COMMON_H