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

📄 sdext_unix.c

📁 reiser4progs ReiserFS V4 ReiserFs官方已经关闭 这个是1.0.6 2006-02-22发布的 给需要的朋友
💻 C
字号:
/* Copyright 2001-2005 by Hans Reiser, licensing governed by   reiser4progs/COPYING.      sdext_unix.c -- stat data exception plugin, that implements unix    stat data fields. */#include "sdext_unix.h"#include "sys/stat.h"reiser4_core_t *sdext_unix_core = NULL;static uint32_t sdext_unix_length(stat_entity_t *stat, void *hint) {	return sizeof(sdext_unix_t);}#ifndef ENABLE_MINIMALstatic errno_t sdext_unix_open(stat_entity_t *stat, void *hint) {	sdext_unix_t *ext;	sdhint_unix_t *unixh;    	aal_assert("umka-886", stat != NULL);	aal_assert("umka-887", hint != NULL);	ext = (sdext_unix_t *)stat_body(stat);	unixh = (sdhint_unix_t *)hint;    	unixh->uid = sdext_unix_get_uid(ext);	unixh->gid = sdext_unix_get_gid(ext);	unixh->atime = sdext_unix_get_atime(ext);	unixh->mtime = sdext_unix_get_mtime(ext);	unixh->ctime = sdext_unix_get_ctime(ext);	if (S_ISBLK(stat->info.mode) || S_ISCHR(stat->info.mode)) {		unixh->rdev = sdext_unix_get_rdev(ext);		unixh->bytes = 0;	} else {		unixh->rdev = 0;		unixh->bytes = sdext_unix_get_rdev(ext);	}	return 0;}static errno_t sdext_unix_init(stat_entity_t *stat, void *hint) {	sdext_unix_t *ext;	sdhint_unix_t *unixh;    	aal_assert("umka-884", stat != NULL);	aal_assert("umka-885", hint != NULL);		ext = (sdext_unix_t *)stat_body(stat);	unixh = (sdhint_unix_t *)hint;    	sdext_unix_set_uid(ext, unixh->uid);	sdext_unix_set_gid(ext, unixh->gid);	sdext_unix_set_atime(ext, unixh->atime);	sdext_unix_set_mtime(ext, unixh->mtime);	sdext_unix_set_ctime(ext, unixh->ctime);	if (S_ISBLK(stat->info.mode) || S_ISCHR(stat->info.mode)) {		sdext_unix_set_rdev(ext, unixh->rdev);	} else {		sdext_unix_set_bytes(ext, unixh->bytes);	}		return 0;}extern errno_t sdext_unix_check_struct(stat_entity_t *stat, 				       repair_hint_t *hint);extern void sdext_unix_print(stat_entity_t *stat, 			     aal_stream_t *stream, 			     uint16_t options);#endifreiser4_sdext_plug_t sdext_unix_plug = {	.p = {		.id    = {SDEXT_UNIX_ID, 0, SDEXT_PLUG_TYPE},#ifndef ENABLE_MINIMAL		.label = "sdext_unix",		.desc  = "Unix stat data extension plugin.",#endif	},	#ifndef ENABLE_MINIMAL	.open	   	= sdext_unix_open,	.init	   	= sdext_unix_init,	.print     	= sdext_unix_print,	.check_struct	= sdext_unix_check_struct,#else	.open	   	= NULL,#endif	.info		= NULL,	.length	   	= sdext_unix_length};

⌨️ 快捷键说明

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