home *** CD-ROM | disk | FTP | other *** search
- #include "defines.h"
- #if OS == MSDOS
- # include <dos.h>
- # include <string.h>
- #else
- # include OSBIND
- #endif
-
- #define MAX_A_WRITE 0xFFF0
-
- unsigned long x_write( stream, buffer, size)
- int stream;
- char huge *buffer;
- unsigned long size;
- {
- unsigned long written = 0;
- int tmp;
-
- while( size >= MAX_A_WRITE)
- {
- if( (tmp = _write( stream, (void *) buffer, MAX_A_WRITE)) == -1)
- return( written);
- written += (unsigned) tmp;
- buffer += MAX_A_WRITE;
- size -= MAX_A_WRITE;
- }
- if( size)
- {
- if( (tmp = _write( stream, (void *) buffer, (unsigned) size)) != -1)
- written += (unsigned) tmp;
- }
- return( written);
- }
-
-
- #define MAX_A_READ 0xFFF0
-
- unsigned long x_read( stream, buffer, size)
- int stream;
- char huge *buffer;
- unsigned long size;
- {
- unsigned long read = 0;
- int tmp;
-
- while( size >= MAX_A_READ)
- {
- if( (tmp = _read( stream, (void *) buffer, MAX_A_READ)) == -1)
- return( read);
- read += (unsigned) tmp;
- buffer += MAX_A_READ;
- size -= MAX_A_READ;
- }
- if( size)
- {
- if( (tmp = _read( stream, (void *) buffer, (unsigned) size)) != -1)
- read += (unsigned) tmp;
- }
- return( read);
- }
-
- void x_memset( p, val, size)
- char huge *p;
- int val;
- long size;
- {
- while( size >= MAX_A_READ)
- {
- memset( (void *) p, val, MAX_A_READ);
- p += MAX_A_READ;
- size -= MAX_A_READ;
- }
- if( size)
- memset( (void *) p, val, (unsigned) size);
- }
-
-
- void x_memcpy( dst, src, size)
- char huge *dst;
- char huge *src;
- long size;
- {
- while( size >= MAX_A_READ)
- {
- memcpy( (void *) dst, (void *) src, MAX_A_READ);
- src += MAX_A_READ;
- dst += MAX_A_READ;
- size -= MAX_A_READ;
- }
- if( size)
- memcpy( (void *) dst, (void *) src, (size_t) size);
- }
-
-