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

📄 epoch.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include "stdinc.h"#include "dat.h"#include "fns.h"uchar buf[65536];voidusage(void){	fprint(2, "usage: fossil/epoch fs [new-low-epoch]\n");	exits("usage");}voidmain(int argc, char **argv){	int fd;	Header h;	Super s;	ARGBEGIN{	default:		usage();	}ARGEND	if(argc == 0 || argc > 2)		usage();	if((fd = open(argv[0], argc==2 ? ORDWR : OREAD)) < 0)		sysfatal("open %s: %r", argv[0]);	if(pread(fd, buf, HeaderSize, HeaderOffset) != HeaderSize)		sysfatal("reading header: %r");	if(!headerUnpack(&h, buf))		sysfatal("unpacking header: %r");	if(pread(fd, buf, h.blockSize, (vlong)h.super*h.blockSize) != h.blockSize)		sysfatal("reading super block: %r");	if(!superUnpack(&s, buf))		sysfatal("unpacking super block: %r");	print("epoch %d\n", s.epochLow);	if(argc == 2){		s.epochLow = strtoul(argv[1], 0, 0);		superPack(&s, buf);		if(pwrite(fd, buf, h.blockSize, (vlong)h.super*h.blockSize) != h.blockSize)			sysfatal("writing super block: %r");	}	exits(0);}

⌨️ 快捷键说明

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