⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hash_conv.c

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 C
字号:
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 1996-2002 *	Sleepycat Software.  All rights reserved. */#include "db_config.h"#ifndef lintstatic const char revid[] = "$Id: hash_conv.c,v 11.13 2002/08/06 05:34:35 bostic Exp $";#endif /* not lint */#ifndef NO_SYSTEM_INCLUDES#include <sys/types.h>#endif#include "db_int.h"#include "dbinc/db_page.h"#include "dbinc/db_swap.h"#include "dbinc/hash.h"/* * __ham_pgin -- *	Convert host-specific page layout from the host-independent format *	stored on disk. * * PUBLIC: int __ham_pgin __P((DB_ENV *, DB *, db_pgno_t, void *, DBT *)); */int__ham_pgin(dbenv, dummydbp, pg, pp, cookie)	DB_ENV *dbenv;	DB *dummydbp;	db_pgno_t pg;	void *pp;	DBT *cookie;{	DB_PGINFO *pginfo;	PAGE *h;	h = pp;	pginfo = (DB_PGINFO *)cookie->data;	/*	 * The hash access method does blind reads of pages, causing them	 * to be created.  If the type field isn't set it's one of them,	 * initialize the rest of the page and return.	 */	if (h->type != P_HASHMETA && h->pgno == PGNO_INVALID) {		P_INIT(pp, (db_indx_t)pginfo->db_pagesize,		    pg, PGNO_INVALID, PGNO_INVALID, 0, P_HASH);		return (0);	}	if (!F_ISSET(pginfo, DB_AM_SWAP))		return (0);	return (h->type == P_HASHMETA ?  __ham_mswap(pp) :	    __db_byteswap(dbenv, dummydbp, pg, pp, pginfo->db_pagesize, 1));}/* * __ham_pgout -- *	Convert host-specific page layout to the host-independent format *	stored on disk. * * PUBLIC: int __ham_pgout __P((DB_ENV *, DB *, db_pgno_t, void *, DBT *)); */int__ham_pgout(dbenv, dummydbp, pg, pp, cookie)	DB_ENV *dbenv;	DB *dummydbp;	db_pgno_t pg;	void *pp;	DBT *cookie;{	DB_PGINFO *pginfo;	PAGE *h;	pginfo = (DB_PGINFO *)cookie->data;	if (!F_ISSET(pginfo, DB_AM_SWAP))		return (0);	h = pp;	return (h->type == P_HASHMETA ?  __ham_mswap(pp) :	    __db_byteswap(dbenv, dummydbp, pg, pp, pginfo->db_pagesize, 0));}/* * __ham_mswap -- *	Swap the bytes on the hash metadata page. * * PUBLIC: int __ham_mswap __P((void *)); */int__ham_mswap(pg)	void *pg;{	u_int8_t *p;	int i;	__db_metaswap(pg);	p = (u_int8_t *)pg + sizeof(DBMETA);	SWAP32(p);		/* max_bucket */	SWAP32(p);		/* high_mask */	SWAP32(p);		/* low_mask */	SWAP32(p);		/* ffactor */	SWAP32(p);		/* nelem */	SWAP32(p);		/* h_charkey */	for (i = 0; i < NCACHED; ++i)		SWAP32(p);	/* spares */	p += 59 * sizeof(u_int32_t); /* unusued */	SWAP32(p);		/* crypto_magic */	return (0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -