#include #include #include "datasource.h" static unsigned char last_rd_char[1024]; static unsigned char last_wt_char[1024]; int sopen_rd( ) { static int last_rd_id = 0; last_rd_char[last_rd_id] = 0; return last_rd_id++; } int sread( void* buf, int n, int fd ) { int i; if( n <= 0 ) return -1; for( i = 0; i < n; i++ ) ((unsigned char*)buf)[i] = last_rd_char[fd]++; return n; } int sopen_wt( ) { static int last_wt_id = 0; last_wt_char[last_wt_id] = 0; return last_wt_id++; } int swrite( void* buf, int n, int fd ) { int i; int r = 0; if ( n <= 0 ) return -1; for( i = 0; i < n; i++ ) if( ((unsigned char*)buf)[i] != last_wt_char[fd]++ ) r = -1; if( r == -1 ) fprintf( stderr, "Data Error!\n"); return n; }