|
|
#define ptszDelimiter L"="
//-----------------------------------------------------------------------------
// Macros to faciltate address list (DWORD list) access
//-----------------------------------------------------------------------------
#define GET_SERVER_INDEX( list, count, addr, index ) \
{ \ DWORD __dwInd = 0; \ for ( ; __dwInd < count; __dwInd++ ) \ if ( list[ __dwInd ] == addr ) { break; } \ index = __dwInd; \ }
#define DELETE_SERVER_ADDR( list1, list2, count, index ) \
{ \ DWORD __dwInd1 = 0, __dwInd2 = 0; \ for ( ; __dwInd1 < count; __dwInd1++ ) \ { \ if ( __dwInd1 == index ) { continue; } \ list2[ __dwInd2++ ] = list1[ __dwInd1 ]; \ } \ }
//-----------------------------------------------------------------------------
// Macros to faciltate RIP filter list access
//-----------------------------------------------------------------------------
#define GET_FILTER_INDEX( list, count, filt, index ) \
{ \ DWORD __dwInd = 0; \ for ( ; __dwInd < count; __dwInd++ ) \ if ( ( list[ __dwInd ].RF_LoAddress == filt.RF_LoAddress ) && \ ( list[ __dwInd ].RF_HiAddress == filt.RF_HiAddress ) ) \ { \ break; \ } \ index = __dwInd; \ }
#define DELETE_FILTER( list1, list2, count, index ) \
DELETE_SERVER_ADDR( list1, list2, count, index )
#define IsHelpToken(pwszToken)\
(MatchToken(pwszToken, CMD_HELP1) \ || MatchToken(pwszToken, CMD_HELP2))
#define GetDispString(gModule, val, str, count, table) \
{ \ DWORD __dwInd = 0; \ for( ; __dwInd < (count); __dwInd += 2 ) \ { \ if ( (val) != (table)[ __dwInd ] ) { continue; } \ (str) = MakeString( (gModule), (table)[ __dwInd + 1 ] ); \ break; \ } \ if ( __dwInd >= (count) ) { (str) = MakeString( (gModule), STRING_UNKNOWN ); } \ }
//
// mcast addr: 224.0.0.0 < group <240.0.0.0
//
#define IS_MCAST_ADDR(Group) \
( (0x000000E0!=(Group)) \ && (0x000000E0 <= ((Group)&0x000000FF) ) \ && (0x000000F0 > ((Group)&0x000000FF) ) )
#define HEAP_FREE_NOT_NULL(ptr) {\
if (ptr) HeapFree(GetProcessHeap(), 0, (ptr));}
#define HEAP_FREE(ptr) { \
HeapFree(GetProcessHeap(), 0, ptr);}
#define GET_TOKEN_PRESENT(tokenMask) (dwBitVector & tokenMask)
#define SET_TOKEN_PRESENT(tokenMask) (dwBitVector |= tokenMask)
#define MAX_NUM_INDICES 6
|