コード例 #1
0
ファイル: fdbuf.c プロジェクト: bazil/tra
int
treadn(Fd *f, void *av, int n)
{
	char *a;
	long m, t;

//fprint(2, "%s: treadn %p %d\n", argv0, f, n);
	qlock(&f->lk);
//fprint(2, "%s: got treadn lock\n", argv0);
	assert(f->mode == OREAD);
	a = av;
	t = 0;
	while(t < n){
		m = _tread(f, a+t, n-t);
		if(m <= 0){
			if(t == 0){
				qunlock(&f->lk);
				return m;
			}
			break;
		}
		t += m;
	}
	qunlock(&f->lk);
	return t;
}
コード例 #2
0
ファイル: READLIB.C プロジェクト: fabioandrec/fivedos
 int ReadName(LPBYTE lpBuffer){
    WORD wLen=ReadByte();
    if ((wLen=_tread(wLib,lpBuffer,wLen))==wLen){
       lpBuffer[wLen]=0x0;
       return TRUE;
    }
    return FALSE;
 }
コード例 #3
0
ファイル: fdbuf.c プロジェクト: bazil/tra
int
tread(Fd *f, void *v, int n)
{
	int r;
	
	qlock(&f->lk);
	dbg(DbgFdbuf, "tread fd=%d n=%d\n", f->fd, n);
	r = _tread(f, v, n);
	qunlock(&f->lk);
	return r;
}
コード例 #4
0
ファイル: READLIB.C プロジェクト: fabioandrec/fivedos
 WORD ReadWord( void ){
    WORD wLen;
    if (_tread(wLib,(LPBYTE)&wLen,2)==2){
       return wLen;
    }else return 0xffff;
 }
コード例 #5
0
ファイル: READLIB.C プロジェクト: fabioandrec/fivedos
 BYTE ReadByte( void ){
    char c;
    _tread(wLib,(LPBYTE)&c,1);
    return c;
 }