|
@ -1,4 +1,4 @@ |
|
|
/* $OpenBSD: db.h,v 1.11 2015/09/05 11:28:35 guenther Exp $ */ |
|
|
|
|
|
|
|
|
/* $OpenBSD: db.h,v 1.12 2015/10/17 21:48:42 guenther Exp $ */ |
|
|
/* $NetBSD: db.h,v 1.13 1994/10/26 00:55:48 cgd Exp $ */ |
|
|
/* $NetBSD: db.h,v 1.13 1994/10/26 00:55:48 cgd Exp $ */ |
|
|
|
|
|
|
|
|
/*- |
|
|
/*- |
|
@ -155,56 +155,6 @@ typedef struct { |
|
|
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 |
|
|