示例#1
0
// Desliga um determinado bit do bitmap
void setBitOff(unsigned int block)
{

	// bit alterado
	int bitOffset = block%BITS_PER_WORD;
	// caracter alterado
	int wordOffset = block/BITS_PER_WORD;

	if(block < 0)
		return;

	if(bitmap == NULL)
		loadBitmap();

	bitmap[wordOffset] &= ~(1 << bitOffset);

	writeBitMap();
}
示例#2
0
文件: superBlock.cpp 项目: xzblh/fs
int setFreeBlockNumber(SUPER_BLOCK * superBlockP, int pos)
{
	setZero(superBlockP->bBitMap, getBlockBitMapByteCount(superBlockP), pos);
	writeBitMap(superBlockP, dataFp);
	return 0;
}
示例#3
0
文件: superBlock.cpp 项目: xzblh/fs
unsigned int getFreeInodeNumber(SUPER_BLOCK * superBlockP)
{
	unsigned int offset = findZero(superBlockP->iBitMap, getInodeBitMapByteCount(superBlockP));
	writeBitMap(superBlockP, dataFp);
	return offset;
}