Ejemplo n.º 1
0
int SampWrite( void FAR_PTR *buff, unsigned len )
{
    unsigned    written;
    int         handle;
    int         rc;

    _fstrcpy( SampName, SharedMemory->SampName );
    if( SharedMemory->SampleHandle == 0 ) {
        handle = SysCreate( SampName );
        SharedMemory->SampleHandle = 1;
    } else {
        handle = SysOpen( SampName );
        if( handle >= 0 ) SysSeek( handle, SharedMemory->SampOffset );
    }
    if( handle == -1 ) {
        SharedMemory->FarWriteProblem = 1;
        return( -1 );
    }

    written = SysWrite( handle, buff, len );
    if( written == len ) {
        SharedMemory->SampOffset += len;
        rc = 0;
    } else {
        SysSeek( handle, SharedMemory->SampOffset );
        SysWrite( handle, "", 0 );
        SharedMemory->FarWriteProblem = 1;
        rc = -1;
    }
    SysClose( handle );
    return( rc );

} /* SampWrite */
Ejemplo n.º 2
0
Archivo: file.c Proyecto: d33tah/whitix
struct File* FileOpen(char* name, int flags)
{
	int fd;
	struct File* ret;
	
	if (!name)
		return NULL;
		
	int openFlags=0;
	
	if (flags & FILE_READ)
		openFlags |= _SYS_FILE_READ | _SYS_FILE_FORCE_OPEN;
		
	if (flags & FILE_WRITE)
		openFlags |= _SYS_FILE_CREATE_OPEN | _SYS_FILE_WRITE | _SYS_FILE_READ;
		
	fd=SysOpen(name, openFlags, 0);
	
	if (fd < 0)
		return NULL;
		
	ret=(struct File*)malloc(sizeof(struct File));
	
	ret->fd=fd;
	
	return ret;
}
Ejemplo n.º 3
0
int s_video_null_mouse_init (s_server_conf_t *cfg)
{
	mouseFd=SysOpen("/System/Devices/Input/Ps2Mouse", _SYS_FILE_READ, 0);

	if (mouseFd < 0)
		return -1;

	/* TODO: Set file to no delay when reading. */

	return mouseFd;
}
Ejemplo n.º 4
0
int s_video_vga_server_init (s_server_conf_t *cfg)
{
	printf("Loading VGA driver.\n");
	server->window->surface->width=320;
	server->window->surface->height=200;
	server->window->surface->bytesperpixel=1;
	server->window->surface->bitsperpixel=8;
	server->window->surface->colors = 256;
	server->window->surface->blueoffset = 0;
	server->window->surface->greenoffset = 3;
	server->window->surface->redoffset = 6;
	server->window->surface->bluelength = 3;
	server->window->surface->greenlength = 3;
	server->window->surface->redlength = 2;

	SysIoAccess(1);

	int memFd=SysOpen("/System/Devices/Special/Memory", _SYS_FILE_READ | _SYS_FILE_WRITE, 0);

	if (memFd < 0)
		printf("Could not open memory device\n");

	server->window->surface->linear_buf=
		server->window->surface->vbuf=
			(unsigned char*)SysMemoryMap(0, VGA_SIZE, 7, memFd, VGA_BASE, _SYS_MMAP_PRIVATE);

	SysClose(memFd);

	if (!server->window->surface->vbuf)
		return -1;

	server->window->surface->linear_mem_base=0xA0000;
	server->window->surface->linear_mem_size=VGA_SIZE;

	if (!noGraphics)
		VgaInit();

	return 0;
}
Ejemplo n.º 5
0
Archivo: file.c Proyecto: d33tah/whitix
int open(const char* path,int oflag,...)
{
	if (!path)
	{
		errno = EFAULT;
		return -1;
	}

	if (oflag & O_EXCL)
	{
		oflag &= ~_SYS_FILE_CREATE_OPEN;
		oflag |= _SYS_FILE_FORCE_CREATE;
		oflag &= ~O_EXCL;
	}

	int fd=SysOpen((char*)path, oflag, 0);
 
	if (fd < 0)
	{
		errno=-fd;
		return -1;
	}

	if (oflag & O_TRUNC)
	{
		int err = SysTruncate(fd, 0);

		if (err < 0)
		{
			SysClose(fd);
			errno = err;
			return -1;
		}
	}
		
	return fd;
}
Ejemplo n.º 6
0
int main( void ) {
    SysInit();
    EeepromInit();
    TimerInit();
    ComInit();
    Ds1302Init();
    HtlcdInit();
    BottonInit();
    LedInit();
    MenuInit();
    INTEN
    while(1) {
        u8 botton_bit = 0;
        if(TimerGetSec() > 20) {
            TimerSetSec(0);
            SysSleep();
        }
        if(TimerGetTimeFlag() > 0x01) {
            TimerSetTimeFlag(0);
            MenuRefreshTime();
        }
        MenuFlickerServerTime();
        botton_bit = BottonRead();
        if(botton_bit > 0x01) {
            TimerSetSec(0);
            SysOpen();
        }
        switch(botton_bit) {
            case 0x01:
                MenuSetFeatures(7);
            break;//后减档
            case 0x02:
                MenuSetFeatures(5);
            break;//后加档
            case 0x03:
                MenuSetFeatures(4);
            break;//前换挡
            case 0x11:
                MenuSetFeatures(1);
            break;//区域3
            case 0x12:
                MenuSetFeatures(6);//1
            break;//区域2
            case 0x13:
                MenuSetFeatures(8);
            break;//区域1
            case 0x14:
                MenuSetFeatures(2);
            break;//区域1
            case 0x15:
                MenuSetFeatures(3);
            break;//放开信号
        }
        
        if(ComGetFlag() == 0x80) {
            ComClearFlag();
            LedSet(0);
            switch(ComGetData(0)) {
                case front:
                    switch(ComGetData(1)) {
                        case dce_gear:
                            MenuSetStalls(front,ComGetData(2)+1);
                            MenuSetBattery(ComGetData(3));
                        break;
                    }
                break;
                case behind: 
                    switch(ComGetData(1)) {
                        case dce_gear:
                            MenuSetStalls(behind,ComGetData(2));
                            MenuSetBattery(ComGetData(3));
                        break;
                    }
                break;
                case dce_powe:
                    MenuSetBattery(ComGetData(1));
                break;
            }
        }
    }
}