[BACK]Return to db.h CVS log [TXT][DIR] Up to [local] / src / include

Diff for /src/include/db.h between version 1.11 and 1.12

version 1.11, 2015/09/05 11:28:35 version 1.12, 2015/10/17 21:48:42
Line 155 
Line 155 
         char    *bfname;                /* btree file name */          char    *bfname;                /* btree file name */
 } RECNOINFO;  } RECNOINFO;
   
 #ifdef __DBINTERFACE_PRIVATE  
 /*  
  * Little endian <==> big endian 32-bit swap macros.  
  *      M_32_SWAP       swap a memory location  
  *      P_32_SWAP       swap a referenced memory location  
  *      P_32_COPY       swap from one location to another  
  */  
 #define M_32_SWAP(a) {                                                  \  
         u_int32_t _tmp = a;                                             \  
         ((char *)&a)[0] = ((char *)&_tmp)[3];                           \  
         ((char *)&a)[1] = ((char *)&_tmp)[2];                           \  
         ((char *)&a)[2] = ((char *)&_tmp)[1];                           \  
         ((char *)&a)[3] = ((char *)&_tmp)[0];                           \  
 }  
 #define P_32_SWAP(a) {                                                  \  
         u_int32_t _tmp = *(u_int32_t *)a;                               \  
         ((char *)a)[0] = ((char *)&_tmp)[3];                            \  
         ((char *)a)[1] = ((char *)&_tmp)[2];                            \  
         ((char *)a)[2] = ((char *)&_tmp)[1];                            \  
         ((char *)a)[3] = ((char *)&_tmp)[0];                            \  
 }  
 #define P_32_COPY(a, b) {                                               \  
         ((char *)&(b))[0] = ((char *)&(a))[3];                          \  
         ((char *)&(b))[1] = ((char *)&(a))[2];                          \  
         ((char *)&(b))[2] = ((char *)&(a))[1];                          \  
         ((char *)&(b))[3] = ((char *)&(a))[0];                          \  
 }  
   
 /*  
  * Little endian <==> big endian 16-bit swap macros.  
  *      M_16_SWAP       swap a memory location  
  *      P_16_SWAP       swap a referenced memory location  
  *      P_16_COPY       swap from one location to another  
  */  
 #define M_16_SWAP(a) {                                                  \  
         u_int16_t _tmp = a;                                             \  
         ((char *)&a)[0] = ((char *)&_tmp)[1];                           \  
         ((char *)&a)[1] = ((char *)&_tmp)[0];                           \  
 }  
 #define P_16_SWAP(a) {                                                  \  
         u_int16_t _tmp = *(u_int16_t *)a;                               \  
         ((char *)a)[0] = ((char *)&_tmp)[1];                            \  
         ((char *)a)[1] = ((char *)&_tmp)[0];                            \  
 }  
 #define P_16_COPY(a, b) {                                               \  
         ((char *)&(b))[0] = ((char *)&(a))[1];                          \  
         ((char *)&(b))[1] = ((char *)&(a))[0];                          \  
 }  
 #endif  
   
 __BEGIN_DECLS  __BEGIN_DECLS
 DB *dbopen(const char *, int, int, DBTYPE, const void *);  DB *dbopen(const char *, int, int, DBTYPE, const void *);
 __END_DECLS  __END_DECLS

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12