connectivitylayer/isce/isirouter_dll/inc/isihelpers.h
author mikaruus
Tue, 19 Oct 2010 13:16:20 +0300
changeset 9 8486d82aef45
parent 0 63b37f68c1ce
permissions -rw-r--r--
modemadaptation release 2010wk40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     1
/*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     3
* All rights reserved.
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     8
*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     9
* Initial Contributors:
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    11
*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    12
* Contributors:
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    13
* 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    14
* Description: 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    15
*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    16
*/
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    17
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    18
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    19
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    20
#ifndef ISI_HELPERS_H
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    21
#define ISI_HELPERS_H
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    22
//  INCLUDES
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    23
#include <pn_const.h>                   // For PN_HEADER_SIZE
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    24
#include <commisi.h>                    // For SIZE_COMMON_MESSAGE_COMM_ISA_ENTITY_NOT_REACHABLE_RESP
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    25
#include <phonetisi.h>                  // For ISI_HEADER_SIZE
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    26
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    27
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    28
#ifndef PN_DEV_OWN
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    29
#define PN_DEV_OWN 0 // PN_DEV_HOST
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    30
#endif // PN_DEV_OWN
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    31
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    32
#ifndef PN_OBJ_ROUTING_REQ
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    33
#define PN_OBJ_ROUTING_REQ 0x00
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    34
#endif // PN_OBJ_ROUTING_REQ
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    35
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    36
#ifndef PN_MEDIA_ROUTING_REQ
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    37
#define PN_MEDIA_ROUTING_REQ 0x00
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    38
#endif // PN_MEDIA_ROUTING_REQ
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    39
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    40
#ifndef PN_OBJ_ROUTER
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    41
#define PN_OBJ_ROUTER PN_OBJ_ROUTING_REQ
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    42
#endif // PN_OBJ_ROUTER
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    43
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    44
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    45
#ifndef PN_DEV_MODEM
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    46
#define PN_DEV_MODEM        0x60
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    47
#endif // PN_DEV_MODEM
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    48
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    49
#ifndef PN_MEDIA_MODEM_HOST_IF
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    50
#define PN_MEDIA_MODEM_HOST_IF  0x26 // Media to/from PN_DEV_MODEM
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    51
#endif // PN_MEDIA_MODEM_HOST_IF
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    52
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    53
#ifndef PN_DEV_PC
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    54
#define PN_DEV_PC       0x10
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    55
#endif // PN_MEDIA_TEST
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    56
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    57
// not real only for testing
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    58
#ifndef PN_DEV_DUMMYIST
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    59
// SET equla to PN_DEV_TEST 0x3c
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    60
#define PN_DEV_DUMMYIST     0x3c 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    61
#endif // PN_DEV_DUMMYIST
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    62
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    63
#ifndef PN_MEDIA_TEST
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    64
#define PN_MEDIA_TEST       0xBB
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    65
#endif // PN_MEDIA_TEST
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    66
// not real
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    67
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    68
// <- end 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    69
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    70
// MACROS
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    71
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    72
#if defined ( __WINS__ )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    73
#define MESSAGELENGTH_LSB 5
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    74
#define MESSAGELENGTH_MSB 4
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    75
#else // __WINS__
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    76
#ifndef ISI_LENGTH_BIG_ENDIAN
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    77
#define MESSAGELENGTH_LSB 4
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    78
#define MESSAGELENGTH_MSB 5
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    79
#else  //ISI_LENGTH_BIG_ENDIAN
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    80
#define MESSAGELENGTH_LSB 5
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    81
#define MESSAGELENGTH_MSB 4
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    82
#endif // ISI_LENGTH_BIG_ENDIAN
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
    83
#endif // __WINS__
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    84
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    85
#define IS_DEV_HOST( dev )            ( ( dev & 0xF0 ) == 0 )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    86
#define GET_RECEIVER_DEV( msg )       ( msg[ ISI_HEADER_OFFSET_RECEIVERDEVICE ] & 0xFC )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    87
#define GET_SENDER_DEV( msg )         ( msg[ ISI_HEADER_OFFSET_SENDERDEVICE ] & 0xFC )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    88
//OK (WINS?)
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    89
#define GET_RECEIVER_OBJ( msg )       ( IS_DEV_HOST( msg[ ISI_HEADER_OFFSET_RECEIVERDEVICE ] ) ? \
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    90
                                      ( ( TUint16 )msg[ ISI_HEADER_OFFSET_RECEIVEROBJECT ] + ( ( msg [ ISI_HEADER_OFFSET_RECEIVERDEVICE ] & 0x0F ) << 8 ) ) : \
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    91
                                      ( ( TUint16 )msg[ ISI_HEADER_OFFSET_RECEIVEROBJECT ] + ( ( msg [ ISI_HEADER_OFFSET_RECEIVERDEVICE ] & 0x03 ) << 8 ) ) )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    92
//OK (WINS?)
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    93
#define GET_SENDER_OBJ( msg )         ( IS_DEV_HOST( msg[ ISI_HEADER_OFFSET_SENDERDEVICE ] ) ? \
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    94
                                      ( ( TUint16 )msg[ ISI_HEADER_OFFSET_SENDEROBJECT ] + ( ( msg[ ISI_HEADER_OFFSET_SENDERDEVICE ] & 0x0F ) << 8 ) ) : \
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    95
                                      ( ( TUint16 )msg[ ISI_HEADER_OFFSET_SENDEROBJECT ] + ( ( msg[ ISI_HEADER_OFFSET_SENDERDEVICE ] & 0x03 ) << 8 ) ) )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    96
#define SET_RECEIVER_DEV( msg, dev )  ( msg[ ISI_HEADER_OFFSET_RECEIVERDEVICE] = ( ( msg[ ISI_HEADER_OFFSET_RECEIVERDEVICE ] & 0x03 ) | ( ( dev ) & 0xFC ) ) )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    97
#define SET_SENDER_DEV( msg, dev )    ( msg[ ISI_HEADER_OFFSET_SENDERDEVICE] = ( ( msg[ ISI_HEADER_OFFSET_SENDERDEVICE ] & 0x03 ) | ( ( dev ) & 0xFC ) ) )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    98
#define SET_RECEIVER_OBJ( msg, o )    msg[ ISI_HEADER_OFFSET_RECEIVERDEVICE ] = ( IS_DEV_HOST( msg[ ISI_HEADER_OFFSET_RECEIVERDEVICE ] ) ) ? \
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    99
                                      GET_RECEIVER_DEV( msg ) | ( ( ( o ) >> 8 ) & 0x0F ) : GET_RECEIVER_DEV( msg ) | ( ( ( o ) >> 8 ) & 0x03 ), \
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   100
                                      msg[ ISI_HEADER_OFFSET_RECEIVEROBJECT ] = ( TUint8 )( ( o ) & 0x00FF )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   101
#define SET_SENDER_OBJ( msg, o )      msg[ ISI_HEADER_OFFSET_SENDERDEVICE ] = ( IS_DEV_HOST( msg[ ISI_HEADER_OFFSET_SENDERDEVICE ] ) ) ? \
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   102
                                      GET_SENDER_DEV( msg ) | ( ( ( o ) >> 8 ) & 0x0F ) : GET_SENDER_DEV( msg ) | ( ( ( o ) >> 8 ) & 0x03 ), \
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   103
                                      msg[ ISI_HEADER_OFFSET_SENDEROBJECT ] = ( TUint8 )( ( o ) & 0x00FF )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   104
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   105
#define SET_LENGTH( msg,len )         msg[ MESSAGELENGTH_MSB ] = ( TUint8 )( ( len ) >> 8 );msg[ MESSAGELENGTH_LSB ] = ( TUint8 )( len );
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   106
#define GET_LENGTH( msg )             ( ( ( TUint16 )( ( msg[ MESSAGELENGTH_MSB ] ) << 8 ) ) | msg[ MESSAGELENGTH_LSB ] )
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   107
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   108
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   109
/* PUTB8 macro writes byte value to given address.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   110
 * This macro is used mainly by other PUTBXX macros.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   111
 */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   112
#define PUTB8(p,v) \
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   113
    {(*(TUint8 *)(p)) = ((TUint8)(v));}
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   114
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   115
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   116
/* PUTB16 macro writes 16-bit value in Big Endian format
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   117
 * to given address. 16-bit value is written as two separate
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   118
 * bytes, and so this macro can write 16-bit value to whatever
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   119
 * address, regardless of the processor alignment restrictions
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   120
 */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   121
#define PUTB16(p,v) \
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   122
    {PUTB8((p),(TUint16)(v)>>8); PUTB8((TUint8*)(p)+1,v);}
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   123
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   124
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   125
/* PUTB32 macro writes 32-bit value in Big Endian format
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   126
 * to given address. 32-bit value is written as four separate
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   127
 * bytes, and so this macro can write 32-bit value to whatever
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   128
 * address, regardless of the processor alignment restrictions
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   129
 */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   130
#define PUTB32(p,v) \
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   131
    {PUTB16((p),(TUint32)(v)>>16); PUTB16((TUint8*)(p)+2,(TUint32)(v));}
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   132
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   133
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   134
/**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   135
 *    Big Endian to local endian type
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   136
 */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   137
 /* GETB8 macro returns byte value from given address.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   138
 * This macro is used mainly by other GETBXX macros.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   139
 */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   140
#define GETB8(p) \
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   141
    (*(TUint8 *)(p))
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   142
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   143
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   144
/* GETB16 macro reads 16-bit value in Big Endian format
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   145
 * from given address. 16-bit value is read as two separate
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   146
 * bytes, and so this macro can read 16-bit value from whatever
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   147
 * address, regardless of the processor alignment restrictions
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   148
 */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   149
#define GETB16(p) \
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   150
    (((TUint16) GETB8(p)<<8) | (TUint16) GETB8((TUint8 *)(p)+1))
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   151
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   152
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   153
/* GETB32 macro reads 32-bit value in Big Endian format
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   154
 * from given address. 32-bit value is read as four separate
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   155
 * bytes, and so this macro can read 32-bit value from whatever
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   156
 * address, regardless of the processor alignment restrictions
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   157
 */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   158
#define GETB32(p) \
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   159
    (((TUint32) GETB16(p)<<16) | (TUint32) GETB16((TUint8 *)(p)+2))
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   160
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 0
diff changeset
   161
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   162
// FUNCTION PROTOTYPES
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   163
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   164
// FORWARD DECLARATIONS
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   165
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   166
#endif // ISI_HELPERS_H
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   167
// End of File