#ifndef _DATA_H #define _DATA_H // custom types (mostly for shortening typing) // typedef struct node Node; // because we deserve nice things typedef unsigned long long int code_t; // status code data type typedef unsigned long long int ulli; typedef signed long long int slli; // Status codes for the doubly linked node implementation // #define DLN_SUCCESS 1 // 0x01, 0001, 00000001 #define DLN_MALLOC_FAIL 2 // 0x02, 0002, 00000010 #define DLN_ALREADY_ALLOC 4 // 0x04, 0004, 00000100 #define DLN_NULL 8 // 0x08, 0010, 00001000 #define DLN_ERROR 16 // 0x10, 0020, 00010000 #define DLN_DEFAULT_FAIL 32 // 0x20, 0040, 00100000 #define DLN_INVALID 64 // 0x40, 0100, 01000000 #define DLN_RESERVED_CODE 128 // 0x80, 0200, 10000000 // Function prototypes // void lscodes(code_t); #endif