bf3fe05dfb
This needs some more testing before it's on by default. If the card is otherwise functioning, these messages may be confusing to the user. If the card is not functioning, the driver can be reloaded with debug to check for this condition. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9205 a0bf4364-ded3-4de4-8d8a-66a801d63aff
99 lines
3.4 KiB
C
99 lines
3.4 KiB
C
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
|
|
|
|
File: octmac.h
|
|
|
|
Copyright (c) 2001-2007 Octasic Inc.
|
|
|
|
Description:
|
|
|
|
Common macro definitions.
|
|
|
|
This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API 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.
|
|
|
|
The OCT6100 GPL API 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 the OCT6100 GPL API; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
$Octasic_Release: OCT612xAPI-01.00-PR49 $
|
|
|
|
$Octasic_Revision: 14 $
|
|
|
|
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
|
|
#ifndef __OCTMAC_H__
|
|
#define __OCTMAC_H__
|
|
|
|
/*--------------------------------------------------------------------------
|
|
C language
|
|
----------------------------------------------------------------------------*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/***************************** DEFINES *************************************/
|
|
|
|
/* Combine l & h to form a 32 bit quantity. */
|
|
#define mMAKEULONG(l, h) ((ULONG)(((USHORT)(l)) | (((ULONG)((USHORT)(h))) << 16)))
|
|
|
|
#define mLOUCHAR(w) ((UCHAR)(w))
|
|
#define mHIUCHAR(w) ((UCHAR)(((USHORT)(w) >> 8) & 0xff))
|
|
#define mLOUSHORT(l) ((USHORT)((ULONG)l))
|
|
#define mHIUSHORT(l) ((USHORT)(((ULONG)(l) >> 16) & 0xffff))
|
|
#define mLOSHORT(l) ((SHORT)((ULONG)l))
|
|
#define mHISHORT(l) ((SHORT)(((ULONG)(l) >> 16) & 0xffff))
|
|
|
|
/* Combine l & h to form a 16 bit quantity. */
|
|
#define mMAKEUSHORT(l, h) (((USHORT)(l)) | ((USHORT)(h)) << 8)
|
|
#define mMAKESHORT(l, h) ((SHORT)mMAKEUSHORT(l, h))
|
|
|
|
/* Extract high and low order parts of 16 and 32 bit quantity */
|
|
#define mLOBYTE(w) mLOUCHAR(w)
|
|
#define mHIBYTE(w) mHIUCHAR(w)
|
|
#define mMAKELONG(l, h) ((LONG)mMAKEULONG(l, h))
|
|
|
|
/*--------------------------------------------------------------------------
|
|
Bite conversion macro
|
|
----------------------------------------------------------------------------*/
|
|
#define mSWAP_INT16(x) mMAKEUSHORT( mHIBYTE(x), mLOBYTE(x) )
|
|
#define mSWAP_INT32(x) mMAKEULONG( mSWAP_INT16(mHIUSHORT(x)), mSWAP_INT16(mLOUSHORT(x)) )
|
|
|
|
|
|
/* Cast any variable to an instance of the specified type. */
|
|
#define mMAKETYPE(v, type) (*((type *)&v))
|
|
|
|
/* Calculate the byte offset of a field in a structure of type type. */
|
|
#define mFIELDOFFSET(type, field) ((UINT32)&(((type *)0)->field))
|
|
#define mCOUNTOF(array) (sizeof(array)/sizeof(array[0]))
|
|
|
|
#define mMAX(a,b) (((a) > (b)) ? (a) : (b))
|
|
#define mMIN(a,b) (((a) < (b)) ? (a) : (b))
|
|
|
|
#define mDIM(x) (sizeof(x) / sizeof(x[0]))
|
|
|
|
#define mFROMDIGIT(ch) ((ch) - 0x30) /* digit to char */
|
|
#define mTODIGIT(ch) ((ch) + 0x30) /* int to char */
|
|
|
|
#define mISLEAP(a) ( !( a % 400 ) || ( ( a % 100 ) && !( a % 4 ) ) )
|
|
|
|
#define mFOREVER for( ;; )
|
|
|
|
#define mROUND_TO_NEXT_4( a ) ( ((a) % 4) ? ( (a) + 4 - ((a)%4) ) : (a) )
|
|
|
|
/*--------------------------------------------------------------------------
|
|
C language
|
|
----------------------------------------------------------------------------*/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __OCTMAC_H__ */
|