Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

ix_macros.h

00001 
00054 #if !defined(__IX_MACROS_H__)
00055 #define __IX_MACROS_H__
00056 
00057 
00058 #if defined(__cplusplus)
00059 extern "C"
00060 {
00061 #endif /* end defined(__cplusplus) */
00062 
00063 
00076 #define IX_BIT_FIELD_MASK16( \
00077                              arg_FieldLSBBit, \
00078                              arg_FieldMSBBit \
00079                             ) \
00080                             ((ix_bit_mask16)((((ix_uint16)1 << (arg_FieldMSBBit + 1 - arg_FieldLSBBit)) - \
00081                             (ix_uint16)1) << arg_FieldLSBBit))
00082 
00083 
00084 
00100 #define IX_GET_BIT_FIELD16( \
00101                             arg_PackedData16, \
00102                             arg_FieldLSBBit, \
00103                             arg_FieldMSBBit \
00104                           ) \
00105                           (((ix_uint16)(arg_PackedData16) & IX_BIT_FIELD_MASK16(arg_FieldLSBBit, arg_FieldMSBBit)) >> \
00106                              arg_FieldLSBBit)
00107 
00108 
00124 #define IX_MAKE_BIT_FIELD16( \
00125                              arg_BitFieldValue, \
00126                              arg_FieldLSBBit, \
00127                              arg_FieldMSBBit \
00128                            ) \
00129                            (((ix_uint16)(arg_BitFieldValue) << arg_FieldLSBBit) & \
00130                            IX_BIT_FIELD_MASK16(arg_FieldLSBBit, arg_FieldMSBBit))
00131                                  
00147 #define IX_SET_BIT_FIELD16( \
00148                             arg_PackedData16, \
00149                             arg_BitFieldValue, \
00150                             arg_FieldLSBBit, \
00151                             arg_FieldMSBBit \
00152                           ) \
00153                           (arg_PackedData16 = (((ix_uint16)(arg_PackedData16) & \
00154                           ~(IX_BIT_FIELD_MASK16(arg_FieldLSBBit, arg_FieldMSBBit))) | \
00155                           IX_MAKE_BIT_FIELD16(arg_BitFieldValue, arg_FieldLSBBit, arg_FieldMSBBit))) 
00156 
00157 
00170 #define IX_BIT_FIELD_MASK32( \
00171                              arg_FieldLSBBit, \
00172                              arg_FieldMSBBit \
00173                            ) \
00174                            ((ix_bit_mask32)((((ix_uint32)1 << (arg_FieldMSBBit + 1 - arg_FieldLSBBit)) - \
00175                            (ix_uint32)1) << arg_FieldLSBBit))
00176 
00177 
00178 
00194 #define IX_GET_BIT_FIELD32( \
00195                             arg_PackedData32, \
00196                             arg_FieldLSBBit, \
00197                             arg_FieldMSBBit \
00198                           ) \
00199                           (((ix_uint32)(arg_PackedData32) & IX_BIT_FIELD_MASK32(arg_FieldLSBBit, arg_FieldMSBBit)) >> \
00200                              arg_FieldLSBBit)
00201 
00202 
00203 
00204 
00220 #define IX_MAKE_BIT_FIELD32( \
00221                              arg_BitFieldValue, \
00222                              arg_FieldLSBBit, \
00223                              arg_FieldMSBBit \
00224                            ) \
00225                            (((ix_uint32)(arg_BitFieldValue) << arg_FieldLSBBit) & \
00226                            IX_BIT_FIELD_MASK32(arg_FieldLSBBit, arg_FieldMSBBit))
00227                             
00228                                 
00244 #define IX_SET_BIT_FIELD32( \
00245                             arg_PackedData32, \
00246                             arg_BitFieldValue, \
00247                             arg_FieldLSBBit, \
00248                             arg_FieldMSBBit \
00249                           ) \
00250                           (arg_PackedData32 = (((ix_uint32)(arg_PackedData32) & \
00251                           ~(IX_BIT_FIELD_MASK32(arg_FieldLSBBit, arg_FieldMSBBit))) | \
00252                           IX_MAKE_BIT_FIELD32(arg_BitFieldValue, arg_FieldLSBBit, arg_FieldMSBBit))) 
00253 
00254 
00255 
00256 #if defined(__cplusplus)
00257 }
00258 #endif /* end defined(__cplusplus) */
00259 
00260 #endif /* end !defined(__IX_MACROS_H__) */
Automatically generated from sources. © Intel Corp. 2003