forsyth20121205-174063a80cc13 years agoHistory
101 lines · 1.7 KB · C
RawDownload
#include "logfsos.h"#include "logfs.h"#include "nandfs.h"#include "local.h" shortnandfsgettag(Nandfs *nandfs, long block){	if (nandfs->blockdata)		return nandfs->blockdata[block].tag;	return 0;} voidnandfssettag(Nandfs *nandfs, long block, short tag){	if (nandfs->blockdata) {		nandfs->blockdata[block].tag = tag;		if (tag == LogfsTworse)			nandfs->worseblocks = 1;		return;	}} longnandfsgetpath(Nandfs *nandfs, long block){	if (nandfs->blockdata)		return nandfs->blockdata[block].path;	return 0;} voidnandfssetpath(Nandfs *nandfs, long block, ulong path){	if (nandfs->blockdata) {		nandfs->blockdata[block].path = path;		return;	}} longnandfsgetnerase(Nandfs *nandfs, long block){	if (nandfs->blockdata)		return nandfs->blockdata[block].nerase;	return 0;} voidnandfssetnerase(Nandfs *nandfs, long block, ulong nerase){	if (nandfs->blockdata) {		nandfs->blockdata[block].nerase = nerase;		return;	}} intnandfsgetblockpartialformatstatus(Nandfs *nandfs, long block){	if (nandfs->blockdata)		return nandfs->blockdata[block].partial;	return 0;} voidnandfssetblockpartialformatstatus(Nandfs *nandfs, long block, int partial){	if (nandfs->blockdata) {		nandfs->blockdata[block].partial = partial;		return;	}} longnandfsgetbaseblock(Nandfs *nandfs){	return nandfs->baseblock;} intnandfsgetblocksize(Nandfs *nandfs){	return 1 << (nandfs->ll.l2pagesperblock + NandfsL2PageSize);} ulongnandfscalcrawaddress(Nandfs *nandfs, long pblock, int dataoffset){	int lpage, pageoffset;	lpage = dataoffset / NandfsPageSize;	pageoffset = dataoffset % NandfsPageSize;	return nandfs->rawblocksize * pblock + lpage * NandfsFullSize + pageoffset;} intnandfsgetopenstatus(Nandfs *nandfs){	return nandfs->blockdata != nil;}