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

📄 dblist_dir.c

📁 busybox最新版的源码:学习和应用的好东东,多的不说了,大家看后再说吧
💻 C
字号:
/* vi: set sw=4 ts=4: *//* * dblist_dir.c --- iterate by directory entry * * Copyright 1997 by Theodore Ts'o * * %Begin-Header% * This file may be redistributed under the terms of the GNU Public * License. * %End-Header% * */#include <stdio.h>#if HAVE_UNISTD_H#include <unistd.h>#endif#include <string.h>#include <time.h>#include "ext2_fs.h"#include "ext2fsP.h"static int db_dir_proc(ext2_filsys fs, struct ext2_db_entry *db_info,		       void *priv_data);errcode_t ext2fs_dblist_dir_iterate(ext2_dblist dblist,				    int	flags,				    char	*block_buf,				    int (*func)(ext2_ino_t dir,						int	entry,						struct ext2_dir_entry *dirent,						int	offset,						int	blocksize,						char	*buf,						void	*priv_data),				    void *priv_data){	errcode_t		retval;	struct dir_context	ctx;	EXT2_CHECK_MAGIC(dblist, EXT2_ET_MAGIC_DBLIST);	ctx.dir = 0;	ctx.flags = flags;	if (block_buf)		ctx.buf = block_buf;	else {		retval = ext2fs_get_mem(dblist->fs->blocksize, &ctx.buf);		if (retval)			return retval;	}	ctx.func = func;	ctx.priv_data = priv_data;	ctx.errcode = 0;	retval = ext2fs_dblist_iterate(dblist, db_dir_proc, &ctx);	if (!block_buf)		ext2fs_free_mem(&ctx.buf);	if (retval)		return retval;	return ctx.errcode;}static int db_dir_proc(ext2_filsys fs, struct ext2_db_entry *db_info,		       void *priv_data){	struct dir_context	*ctx;	ctx = (struct dir_context *) priv_data;	ctx->dir = db_info->ino;	return ext2fs_process_dir_block(fs, &db_info->blk,					db_info->blockcnt, 0, 0, priv_data);}

⌨️ 快捷键说明

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