home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BURKS 2
/
BURKS_AUG97.ISO
/
BURKS
/
SOFTWARE
/
LIBS
/
PMC101.ZIP
/
LIBSRC.ZIP
/
FILECOPY.C
(
.txt
)
< prev
next >
Wrap
C/C++ Source or Header
|
1994-06-30
|
855b
|
48 lines
#include "pmc.h"
long __pascal filecopy (WORD dst, WORD src, long size)
{
REGSTRUCT rs;
WORD len;
long sizeout = 0;
int r;
rs.w.FLAGS = rs.d.SSSP = 0;
rs.w.DS = (DWORD)_lowbufptr + database >> 4;
rs.w.DX = (DWORD)_lowbufptr + database & 15;
while (size)
{
rs.w.CX = len = min (size, _lowbuflen);
rs.w.BX = src;
rs.b.AH = 0x3f;
if ((r = xlt_simrmint (0x21, &rs, 0)) < 0)
return r;
if (rs.w.FLAGS & fCF)
return rs.d.EAX | 0xffff0000;
if (!(rs.w.CX = rs.w.AX))
break;
rs.w.BX = dst;
rs.b.AH = 0x40;
if ((r = xlt_simrmint (0x21, &rs, 0)) < 0)
return r;
if (rs.w.FLAGS & fCF)
return rs.d.EAX | 0xffff0000;
sizeout += rs.w.AX;
size -= rs.w.AX;
if (rs.w.AX != len)
break;
}
return sizeout;
}