diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2002-12-12 03:59:25 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2002-12-12 03:59:25 +0000 |
commit | 7fe03217c8facf2fd90b29c31928e6d090f4e19c (patch) | |
tree | e7dfd9e9146944f1529dc5edab5b25dc4c22cd9f /c/src/libmisc/mw-fb/mw_uid.c | |
parent | 2002-12-12 Ralf Corsepius <corsepius@faw.uni-ulm.de> (diff) | |
download | rtems-7fe03217c8facf2fd90b29c31928e6d090f4e19c.tar.bz2 |
2002-12-12 Ralf Corsepius <corsepius@faw.uni-ulm.de>
* .cvsignore: Moved to rtems/cpukit/libmisc.
* ChangeLog: Moved to rtems/cpukit/libmisc.
* Makefile.am: Moved to rtems/cpukit/libmisc.
* README: Moved to rtems/cpukit/libmisc.
* configure.ac: Moved to rtems/cpukit/libmisc.
* capture/Makefile.am: Moved to rtems/cpukit/libmisc.
* capture/README: Moved to rtems/cpukit/libmisc.
* capture/capture-cli.c: Moved to rtems/cpukit/libmisc.
* capture/capture-cli.h: Moved to rtems/cpukit/libmisc.
* capture/capture.c: Moved to rtems/cpukit/libmisc.
* capture/capture.h: Moved to rtems/cpukit/libmisc.
* cpuuse/Makefile.am: Moved to rtems/cpukit/libmisc.
* cpuuse/README: Moved to rtems/cpukit/libmisc.
* cpuuse/cpuuse.c: Moved to rtems/cpukit/libmisc.
* cpuuse/cpuuse.h: Moved to rtems/cpukit/libmisc.
* devnull/.cvsignore: Moved to rtems/cpukit/libmisc.
* devnull/Makefile.am: Moved to rtems/cpukit/libmisc.
* devnull/devnull.c: Moved to rtems/cpukit/libmisc.
* devnull/devnull.h: Moved to rtems/cpukit/libmisc.
* dummy/.cvsignore: Moved to rtems/cpukit/libmisc.
* dummy/Makefile.am: Moved to rtems/cpukit/libmisc.
* dummy/README: Moved to rtems/cpukit/libmisc.
* dummy/dummy.c: Moved to rtems/cpukit/libmisc.
* dumpbuf/.cvsignore: Moved to rtems/cpukit/libmisc.
* dumpbuf/Makefile.am: Moved to rtems/cpukit/libmisc.
* dumpbuf/dumpbuf.c: Moved to rtems/cpukit/libmisc.
* dumpbuf/dumpbuf.h: Moved to rtems/cpukit/libmisc.
* monitor/.cvsignore: Moved to rtems/cpukit/libmisc.
* monitor/Makefile.am: Moved to rtems/cpukit/libmisc.
* monitor/README: Moved to rtems/cpukit/libmisc.
* monitor/mon-command.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-config.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-dname.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-driver.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-extension.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-itask.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-manager.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-monitor.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-mpci.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-object.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-prmisc.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-queue.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-server.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-symbols.c: Moved to rtems/cpukit/libmisc.
* monitor/mon-task.c: Moved to rtems/cpukit/libmisc.
* monitor/monitor.h: Moved to rtems/cpukit/libmisc.
* monitor/symbols.h: Moved to rtems/cpukit/libmisc.
* mw-fb/.cvsignore: Moved to rtems/cpukit/libmisc.
* mw-fb/Makefile.am: Moved to rtems/cpukit/libmisc.
* mw-fb/mw_fb.c: Moved to rtems/cpukit/libmisc.
* mw-fb/mw_fb.h: Moved to rtems/cpukit/libmisc.
* mw-fb/mw_uid.c: Moved to rtems/cpukit/libmisc.
* mw-fb/mw_uid.h: Moved to rtems/cpukit/libmisc.
* rtmonuse/.cvsignore: Moved to rtems/cpukit/libmisc.
* rtmonuse/Makefile.am: Moved to rtems/cpukit/libmisc.
* rtmonuse/rtmonuse.c: Moved to rtems/cpukit/libmisc.
* rtmonuse/rtmonuse.h: Moved to rtems/cpukit/libmisc.
* serdbg/.cvsignore: Moved to rtems/cpukit/libmisc.
* serdbg/Makefile.am: Moved to rtems/cpukit/libmisc.
* serdbg/README: Moved to rtems/cpukit/libmisc.
* serdbg/serdbg.c: Moved to rtems/cpukit/libmisc.
* serdbg/serdbg.h: Moved to rtems/cpukit/libmisc.
* serdbg/serdbgcnf.h: Moved to rtems/cpukit/libmisc.
* serdbg/serdbgio.c: Moved to rtems/cpukit/libmisc.
* serdbg/termios_printk.c: Moved to rtems/cpukit/libmisc.
* serdbg/termios_printk.h: Moved to rtems/cpukit/libmisc.
* serdbg/termios_printk_cnf.h: Moved to rtems/cpukit/libmisc.
* shell/.cvsignore: Moved to rtems/cpukit/libmisc.
* shell/Makefile.am: Moved to rtems/cpukit/libmisc.
* shell/README: Moved to rtems/cpukit/libmisc.
* shell/cmds.c: Moved to rtems/cpukit/libmisc.
* shell/shell.c: Moved to rtems/cpukit/libmisc.
* shell/shell.h: Moved to rtems/cpukit/libmisc.
* stackchk/.cvsignore: Moved to rtems/cpukit/libmisc.
* stackchk/Makefile.am: Moved to rtems/cpukit/libmisc.
* stackchk/README: Moved to rtems/cpukit/libmisc.
* stackchk/check.c: Moved to rtems/cpukit/libmisc.
* stackchk/internal.h: Moved to rtems/cpukit/libmisc.
* stackchk/stackchk.h: Moved to rtems/cpukit/libmisc.
* untar/.cvsignore: Moved to rtems/cpukit/libmisc.
* untar/Makefile.am: Moved to rtems/cpukit/libmisc.
* untar/README: Moved to rtems/cpukit/libmisc.
* untar/untar.c: Moved to rtems/cpukit/libmisc.
* untar/untar.h: Moved to rtems/cpukit/libmisc.
* wrapup/.cvsignore: Moved to rtems/cpukit/libmisc.
* wrapup/Makefile.am: Moved to rtems/cpukit/libmisc.
Diffstat (limited to 'c/src/libmisc/mw-fb/mw_uid.c')
-rw-r--r-- | c/src/libmisc/mw-fb/mw_uid.c | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/c/src/libmisc/mw-fb/mw_uid.c b/c/src/libmisc/mw-fb/mw_uid.c deleted file mode 100644 index 3ffec06314..0000000000 --- a/c/src/libmisc/mw-fb/mw_uid.c +++ /dev/null @@ -1,185 +0,0 @@ -/* -///////////////////////////////////////////////////////////////////////////// -// $Header$ -// -// Copyright (c) 2000 - Rosimildo da Silva -// -// MODULE DESCRIPTION: -// This module implements the input devices interface used by MicroWindows -// in an embedded system environment. -// It uses the RTEMS message queue as the repository for the messages posted -// by the devices registered. -// -// MODIFICATION/HISTORY: -// -// $Log$ -// Revision 1.3 2000/11/30 14:36:46 joel -// 2000-11-30 Joel Sherrill <joel@OARcorp.com> -// -// * mw-fb/mw_uid.c: Removed unnecessary dependency on <bsp.h>. -// -// Revision 1.2 2000/08/30 17:12:55 joel -// 2000-08-30 Joel Sherrill <joel@OARcorp.com> -// -// * Many files: Moved posix/include/rtems/posix/seterr.h to -// score/include/rtems/seterr.h so it would be available within -// all APIs. -// -// Revision 1.1 2000/08/30 08:21:24 joel -// 2000-08-26 Rosimildo da Silva <rdasilva@connecttel.com> -// -// * Added generic Micro FrameBuffer interface for MicroWindows. -// This interface allows MicroWindows to under RTEMS. A sample -// driver has been developed for the pc386 BSP. See -// pc386/fb_vga.c as a sample. -// * Added Uniform Input Device interface for MicroWindows. -// See PC386 bsp for sample drivers for mouse and keyboard (console). -// * mw-bf: New directory. -// * Makefile.am, configure.in, wrapup/Makefile.am: Account for mw-fb. -// * mw-fb/Makefile.am: New file. -// * mw-fb/mw_fb.c: New file. -// * mw-fb/mw_fb.h: New file. -// * mw-fb/mw_uid.c: New file. -// * mw-fb/mw_uid.h: New file. -// -// -///////////////////////////////////////////////////////////////////////////// -*/ -#include <stdio.h> -#include <fcntl.h> -#include <sys/ioctl.h> -#include <errno.h> -#include <rtems.h> - -#include <rtems/mw_uid.h> -#include <rtems/seterr.h> - -static rtems_id queue_id = 0; -static int open_count = 0; - -/* -#define MW_DEBUG_ON 1 -*/ - -/* open a message queue with the kernel */ -int uid_open_queue( const char *q_name, int flags, size_t max_msgs ) -{ - static rtems_name queue_name; - - /* - * For the first device calling this function we would create the queue. - * It is assumed that this call is done at initialization, and no concerns - * regarding multi-threading is taken in consideration here. - */ - if( !open_count ) - { - rtems_status_code status; - queue_name = rtems_build_name( q_name[0], - q_name[1], - q_name[2], - q_name[3] ); - status = rtems_message_queue_create( queue_name, - max_msgs, - sizeof( struct MW_UID_MESSAGE ), - RTEMS_FIFO | RTEMS_LOCAL, - &queue_id ); - if( status != RTEMS_SUCCESSFUL ) - { -#ifdef MW_DEBUG_ON - printk( "UID_Queue: error creating queue: %d\n", status ); -#endif - return -1; - } -#ifdef MW_DEBUG_ON - printk( "UID_Queue: id=%X\n", queue_id ); -#endif - } - open_count++; - return 0; -} - - -/* close message queue */ -int uid_close_queue( void ) -{ - if( open_count == 1 ) - { - rtems_message_queue_delete( queue_id ); - queue_id = 0; - } - open_count--; - return 0; -} - -/* reads for a message from the device */ -int uid_read_message( struct MW_UID_MESSAGE *m, unsigned long timeout ) -{ - rtems_status_code status; - rtems_unsigned32 size = 0; - unsigned long micro_secs = timeout*1000; - int wait = ( timeout != 0 ); - - status = rtems_message_queue_receive( queue_id, - (void*)m, - &size, - wait ? RTEMS_WAIT : RTEMS_NO_WAIT, - TOD_MICROSECONDS_TO_TICKS(micro_secs ) ); - - if( status == RTEMS_SUCCESSFUL ) - { - return size; - } - else if( ( status == RTEMS_UNSATISFIED ) || ( status == RTEMS_TIMEOUT ) ) - { - /* this macro returns -1 */ - rtems_set_errno_and_return_minus_one( ETIMEDOUT ); - } - /* Here we have one error condition */ -#ifdef MW_DEBUG_ON - printk( "UID_Queue: error reading queue: %d\n", status ); -#endif - return -1; -} - - -/* - * add a message to the queue of events. This method cna be used to - * simulate hardware events, and it can be very handy during development - * a new interface. - */ -int uid_send_message( struct MW_UID_MESSAGE *m ) -{ - rtems_status_code status; - status = rtems_message_queue_send( queue_id, ( void * )m, - sizeof( struct MW_UID_MESSAGE ) ); - return status == RTEMS_SUCCESSFUL ? 0 : -1; -} - -/* - * register the device to insert events to the message - * queue named as the value passed in q_name - */ -int uid_register_device( int fd, const char *q_name ) -{ - return ioctl( fd, MW_UID_REGISTER_DEVICE, q_name ); -} - -/* tell this device to stop adding events to the queue */ -int uid_unregister_device( int fd ) -{ - return ioctl( fd, MW_UID_UNREGISTER_DEVICE, NULL ); -} - -/* set the keyboard */ -int uid_set_kbd_mode( int fd, int mode, int *old_mode ) -{ - if (ioctl( fd, MV_KDGKBMODE, old_mode) < 0) - { - return -1; - } - if (ioctl(fd, MV_KDSKBMODE, mode ) < 0 ) - { - return -1; - } - return 0; -} |