|
Packit Service |
a31ea6 |
/*
|
|
Packit Service |
a31ea6 |
* wincecompat.c : wince compatiblity module
|
|
Packit Service |
a31ea6 |
*
|
|
Packit Service |
a31ea6 |
* See Copyright for the status of this software.
|
|
Packit Service |
a31ea6 |
*
|
|
Packit Service |
a31ea6 |
* javier@tiresiassoft.com
|
|
Packit Service |
a31ea6 |
*
|
|
Packit Service |
a31ea6 |
* 17 Sep 2002 created
|
|
Packit Service |
a31ea6 |
*/
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
#include "wincecompat.h"
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
char *strError[]= {"Error 0","","No such file or directory","","","","","Arg list too long",
|
|
Packit Service |
a31ea6 |
"Exec format error","Bad file number","","","Not enough core","Permission denied","","",
|
|
Packit Service |
a31ea6 |
"","File exists","Cross-device link","","","","Invalid argument","","Too many open files",
|
|
Packit Service |
a31ea6 |
"","","","No space left on device","","","","","Math argument","Result too large","",
|
|
Packit Service |
a31ea6 |
"Resource deadlock would occur", "Unknown error under wince"};
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
int errno=0;
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
int read(int handle, char *buffer, unsigned int len)
|
|
Packit Service |
a31ea6 |
{
|
|
Packit Service |
a31ea6 |
return(fread(&buffer[0], len, 1, (FILE *) handle));
|
|
Packit Service |
a31ea6 |
}
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
int write(int handle, const char *buffer, unsigned int len)
|
|
Packit Service |
a31ea6 |
{
|
|
Packit Service |
a31ea6 |
return(fwrite(&buffer[0], len,1,(FILE *) handle));
|
|
Packit Service |
a31ea6 |
}
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
int open(const char *filename,int oflag, ...)
|
|
Packit Service |
a31ea6 |
{
|
|
Packit Service |
a31ea6 |
char mode[3]; /* mode[0] ="w/r/a" mode[1]="+" */
|
|
Packit Service |
a31ea6 |
mode[2]=0;
|
|
Packit Service |
a31ea6 |
if ( oflag==(O_WRONLY|O_CREAT) )
|
|
Packit Service |
a31ea6 |
mode[0]='w';
|
|
Packit Service |
a31ea6 |
else if (oflag==O_RDONLY)
|
|
Packit Service |
a31ea6 |
mode[0]='r';
|
|
Packit Service |
a31ea6 |
return (int) fopen(filename, mode);
|
|
Packit Service |
a31ea6 |
}
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
int close(int handle)
|
|
Packit Service |
a31ea6 |
{
|
|
Packit Service |
a31ea6 |
return ( fclose((FILE *) handle) );
|
|
Packit Service |
a31ea6 |
}
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
char *getcwd( char *buffer, unsigned int size)
|
|
Packit Service |
a31ea6 |
{
|
|
Packit Service |
a31ea6 |
/* Windows CE don't have the concept of a current directory
|
|
Packit Service |
a31ea6 |
* so we just return NULL to indicate an error
|
|
Packit Service |
a31ea6 |
*/
|
|
Packit Service |
a31ea6 |
return NULL;
|
|
Packit Service |
a31ea6 |
}
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
char *getenv( const char *varname )
|
|
Packit Service |
a31ea6 |
{
|
|
Packit Service |
a31ea6 |
return NULL;
|
|
Packit Service |
a31ea6 |
}
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
char *strerror(int errnum)
|
|
Packit Service |
a31ea6 |
{
|
|
Packit Service |
a31ea6 |
if (errnum>MAX_STRERROR)
|
|
Packit Service |
a31ea6 |
return strError[MAX_STRERROR];
|
|
Packit Service |
a31ea6 |
else
|
|
Packit Service |
a31ea6 |
return strError[errnum];
|
|
Packit Service |
a31ea6 |
}
|