+++ /dev/null
-/* macros.h
- *
- * Copyright (C) 2000-2002 Simone Piccardi
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * Endianess conversion for int and short types
- */
-#define BE32_TO_LE32(val) ({typeof (val) v= (val); \
- (v>>24) | ((v>>8)&0xFF00) | (v<<24) | ((v<<8)&0xFF0000); } )
-#define BE16_TO_LE16(val) ({typeof (val) v= (val); (v>>8) | (v<<8); } )
-/*
- * Define a protected, right typed, no side effects macro for min
- */
-#define min(x, y) ({typeof (x) x_ = (x); typeof (y) y_ = (y); \
- x_ < y_ ? x_ : y_;})
-/*
- * debugging print definition
- */
-#ifdef IS_DAEMON
-#define report(fmt, args...) UserNotify(fmt,##args)
-#else
-#define report(fmt, args...) printf(fmt,##args)
-#endif /* IS_DAEMON */
-
-#ifdef DEBUG /* done only on debugging */
-#define debug report
-#else
-#define debug(fmt, arg...)
-#endif /* DEBUG */
-
-
-/*
- * Just to print an hex dump of a buffer,
- * ptr is the address, m is how many word per line
- * and l how many lines
- */
-#define PRINT_BUF(ptr, l, m) ({ \
- int _i, _j; \
- unsigned short *_ptr= (unsigned short *)(ptr); \
- for (_i = 0; _i< (int) l; _i++) { \
- printf("Val[%d]=", m * _i); \
- for (_j = 0; _j < (int) m; _j++) { \
- printf("%x ", *_ptr);\
- _ptr++;\
- }\
- printf("\n"); \
- }\
-})