资源简介
实现一个具有创建文件,删除文件,创建目录,删除目录,读文件,写文件功能的fuse文件系统。

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “ufs.h“
int main(void)
{
FILE *fp = NULL;
int total = (MAX_BITMAP_BLOCK_NUM - 1) * BLOCK_BYTES;
char a = 0xFF;
char *c = &a;
char b[511];
char rest[total];
struct super_block *super_block_record;
struct u_fs_data_block *root;
int err = 0;
super_block_record = malloc(sizeof(struct super_block));
root = malloc(sizeof(struct u_fs_data_block));
if (!super_block_record || !root) {
printf(“Malloc failed!\n“);
err = -ENOMEM;
goto out;
}
fp = fopen(DISK “r+“);
if (fp == NULL) {
fprintf(stderr “open diskimg unsuccessful!\n“);
err = -1;
goto out;
}
if (fseek(fp 0 SEEK_END) != 0) {
err = -1;
goto out;
}
super_block_record->fs_size = ftell(fp)/BLOCK_BYTES;
super_block_record->first_blk = 1 + MAX_BITMAP_BLOCK_NUM;
super_block_record->bitmap = MAX_BITMAP_BLOCK_NUM;
if (fseek(fp 0 SEEK_SET) != 0) {
err = -1;
goto out;
}
fwrite(super_block_record sizeof(struct super_block) 1 fp);
if (fseek(fp 512 SEEK_SET) != 0) {
err = -1;
goto out;
}
fwrite(c sizeof(char) 1 fp);
memset(b 0 511);
fwrite(b 511 1 fp);
memset(rest 0 total);
fwrite(rest total 1 fp);
if (fseek(fp BLOCK_BYTES * (MAX_BITMAP_BLOCK_NUM + 1) SEEK_SET) != 0) {
err = -1;
goto out;
}
root->size = 0;
root->nNextBlock = -1;
root->data[0] = ‘\0‘;
fwrite(root sizeof(struct u_fs_data_block) 1 fp);
fclose(fp);
printf(“initialize successful!\n“);
out:
if (super_block_record) {
free(super_block_record);
}
if (root) {
free(root);
}
return err;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1715 2011-11-15 15:20 ufs\init.c
文件 392 2011-11-09 17:57 ufs\makefile
文件 13147 2011-11-15 15:16 ufs\op.c
文件 1015 2011-11-14 11:51 ufs\op.h
文件 9972 2011-11-15 15:20 ufs\ufs.c
文件 1193 2011-11-14 15:38 ufs\ufs.h
目录 0 2011-11-15 18:03 ufs
----------- --------- ---------- ----- ----
27434 7
- 上一篇:ENVI二次开发指南pdf版
- 下一篇:银行业务系统的数据库设计
相关资源
- STM32基于rt_thread操作系统的SDHC卡文件
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- 广东工业大学操作系统实验四文件系
- 二级文件系统(操作系统)
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- linux系统的二级文件系统(QT实现了简
- 为linux系统设计一个简单的二级文件系
- Fuse_Drivers_x64.
- ConfuserEx脱壳工具合集
- fuse-2.8.4
- linux2.6.11.12内核源码注释
- zedboard ubuntu16.04文件系统
- linux环境下课程设计《二级文件系统》
- MooseFS 分布式文件系统源码分析202页,
- 多用户多级目录文件系统的实现
- 模拟Unix文件系统,操作系统课程设计
- linux文件系统设计
- 基于STM32平台的智能药箱系统包含文件
- stm32f103的sdio方式读sd卡,带fatfs文件系
- prefuse API doc
- Stm32驱动SDCard移植FATFS文件系统
- FS4412文件系统镜像文件
- 文件系统模拟 windows资源管理器模拟
- fuse文件系统课程设计源代码和设计文
- 操作系统课程设计报告-单用户多级文
- 模拟Linux文件系统含源码及报告
- 数据结构课设文件系统模拟器
- 混淆工具ConfuserEx_bin
- stm32 SD卡 fat系统 串口控制台
- 并行文件系统简介
评论
共有 条评论