// SCSIキャッシュ

#include <scsi.h>
#include "ascsi.h"

#define	DEBUG	0

int S_CacheFlush(S_CACHE_BUFF *scb)
// キャッシュを掃き出す
{
	switch (scb->mode&(S_CACHE_READ|S_CACHE_WRITE)) {
	case S_CACHE_WRITE:
		if (scb->nextblock>0) { // 残りがある
			int ret;
			#if DEBUG
			printf("Flush:");
			#endif
			ret=_S_CacheWriteSub(scb);
			if (ret) return(ret);
	case S_CACHE_READ:
			_S_CacheInit(scb); // 初期化
		}
		break;
	}
	return(0);
}
