// // common.h // // This file contains the OS dependant definition and function. // Every OS has this file individual. // #define DebugUsbdStatusInformation( _A ) #ifndef COMMON_DEF #define COMMON_DEF #include #include #include //need for kernel alert #include #include #include #include //memory allocate #include #include #include #include //need for init and exit modules marco #include #include #include #include #include #include #include #include //#define DEBUG_ENABLED 1 //=============================================================== // Common type definition //=============================================================== typedef u8* PUCHAR; typedef s8* PCHAR; typedef u8* PBOOLEAN; typedef u16* PUSHORT; typedef u32* PULONG; typedef s16* PSHORT; //=========================================== #define IGNORE 2 #define SUCCESS 1 #define FAILURE 0 #ifndef true #define true 1 #endif #ifndef false #define false 0 #endif // PD43 20021108 #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif #define STATUS_MEDIA_CONNECT 1 #define STATUS_MEDIA_DISCONNECT 0 #ifndef BIT #define BIT(x) (1 << (x)) #endif typedef struct urb * PURB; //================================================================================================== // Common function definition //================================================================================================== #ifndef abs #define abs(_T) ((_T) < 0 ? -_T : _T) #endif #define DEBUG_ENABLED #define ETH_LENGTH_OF_ADDRESS 6 #ifdef DEBUG_ENABLED #define WBDEBUG( _M ) printk _M #else #define WBDEBUG( _M ) 0 #endif #define OS_DISCONNECTED 0 #define OS_CONNECTED 1 #define OS_EVENT_INDICATE( _A, _B, _F ) #define OS_PMKID_STATUS_EVENT( _A ) /* Uff, no, longs are not atomic on all architectures Linux * supports. This should really use atomic_t */ #define OS_ATOMIC u32 #define OS_ATOMIC_READ( _A, _V ) _V #define OS_ATOMIC_INC( _A, _V ) EncapAtomicInc( _A, (void*)_V ) #define OS_ATOMIC_DEC( _A, _V ) EncapAtomicDec( _A, (void*)_V ) #define OS_MEMORY_CLEAR( _A, _S ) memset( (PUCHAR)_A,0,_S) #define OS_MEMORY_COMPARE( _A, _B, _S ) (memcmp(_A,_B,_S)? 0 : 1) // Definition is reverse with Ndis 1: the same 0: different #define OS_SPIN_LOCK spinlock_t #define OS_SPIN_LOCK_ALLOCATE( _S ) spin_lock_init( _S ); #define OS_SPIN_LOCK_FREE( _S ) #define OS_SPIN_LOCK_ACQUIRED( _S ) spin_lock_irq( _S ) #define OS_SPIN_LOCK_RELEASED( _S ) spin_unlock_irq( _S ); #define OS_TIMER struct timer_list #define OS_TIMER_INITIAL( _T, _F, _P ) \ { \ init_timer( _T ); \ (_T)->function = (void *)_F##_1a; \ (_T)->data = (unsigned long)_P; \ } // _S : Millisecond // 20060420 At least 1 large than jiffies #define OS_TIMER_SET( _T, _S ) \ { \ (_T)->expires = jiffies + ((_S*HZ+999)/1000);\ add_timer( _T ); \ } #define OS_TIMER_CANCEL( _T, _B ) del_timer_sync( _T ) #define OS_TIMER_GET_SYS_TIME( _T ) (*_T=jiffies) #endif // COMMON_DEF