/* * Roo/E, the Kangaroo Punch Portable GUI Toolkit * Copyright (C) 2022 Scott Duensing * * http://kangaroopunch.com * * * This file is part of Roo/E. * * Roo/E is free software: you can redistribute it and/or modify it under the * terms of the GNU Affero General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) * any later version. * * Roo/E is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License * along with Roo/E. If not, see . * */ #ifndef MACROS_H #define MACROS_H // Should be after system headers in this file. #define MEMORY_CHECK_ENABLED #include "memory.h" // Allocation helpers. #define NEW(t,v) (v)=(t*)malloc(sizeof(t)) // Add check for NULL and die here. #define DEL(v) {if(v) {free(v); v=NULL;}} // Some helper defines. #define DIVISIBLE_BY_EIGHT(x) ((((x) >> 3) << 3) == (x)) #define HIGH_BYTE(b) ((uint8_t)(((b) & 0xFF00) >> 8)) #define LOW_BYTE(b) ((uint8_t)((b) & 0x00FF)) // Return codes. #define SUCCESS 0 #define FAIL 1 #endif // MACROS_H