/* Support - Provides some big and little endian abstraction functions. Copyright (C) 1998 Caolan McNamara This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program 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 General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* Caolan McNamara Real Life: Caolan McNamara * Doing: MSc in HCI Work: Caolan.McNamara@ul.ie * Phone: +353-61-202699 URL: http://www.csn.ul.ie/~caolan * Sig: an oblique strategy */ #define fil_sreadU8 sread_8ubit #define fil_sreadU16 sread_16ubit #define fil_sreadU32 sread_32ubit #define test(t,retval,func) \ { \ if (!(t)) { \ func; \ return retval; \ } \ } #ifdef VERBOSE #define verbose(s) { printf (s); printf ("\n"); } #else #define verbose(s) #endif #ifdef VERBOSE #define verboseU32(expr) { printf (#expr " = 0x%08lx\n", expr); } #else #define verboseU32(expr) #endif #ifdef VERBOSE #define verboseS(expr) { printf (#expr " = %s\n", expr); } #else #define verboseS(expr) #endif #ifdef VERBOSE #define verboseU32Array(array,len) \ { \ U32 temp; \ for (temp = 0; temp <= len; temp++) \ printf (#array "[%lu] = 0x%08lx\n", temp, array [temp]); \ } #else #define verboseU32Array(array,len) #endif #ifdef VERBOSE #ifdef SHOWCHAR #define verboseU8Array(arr,len,sblock) \ { \ U32 temp1, temp2; \ for (temp1 = 0; temp1 < len; temp1++) \ { \ printf ("\n***%08lx***\n", temp1); \ for (temp2 = 0; temp2 < sblock; temp2++) \ { \ printf ("%02x ", *(arr + (temp1 * 0x0200 + temp2))); \ if (!((temp2+1) % 0x10)) printf ("\n"); \ } \ } \ } #else /* show caracters */ #define verboseU8Array(arr,len,sblock) \ { \ U32 temp1, temp2; \ for (temp1 = 0; temp1 < len; temp1++) \ { \ printf ("\n***%08lx***\n", temp1); \ for (temp2 = 0; temp2 < sblock; temp2++) \ { \ if (isprint (*(arr + (temp1 * 0x0200 + temp2)))) \ printf ("%c ", *(arr + (temp1 * 0x0200 + temp2))); \ else \ printf ("- "); \ if (!(temp2 % 0xF)) printf ("\n"); \ } \ } \ } #endif #else #define verboseU8Array(arr,len,sblock) #endif