Files
rtems/cpukit/libmisc/mouse/mouse_parser.h
Joel Sherrill 21242c252a 2011-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>
* include/rtems/bspIo.h, include/rtems/concat.h,
	include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h,
	include/rtems/pci.h, include/rtems/userenv.h,
	libblock/include/rtems/flashdisk.h,
	libblock/include/rtems/nvdisk-sram.h,
	libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h,
	libcsupport/include/console.h, libcsupport/include/iosupp.h,
	libcsupport/include/spurious.h,
	libcsupport/include/motorola/mc68230.h,
	libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h,
	libcsupport/include/rtems/framebuffer.h,
	libcsupport/include/rtems/gxx_wrappers.h,
	libcsupport/include/rtems/libcsupport.h,
	libcsupport/include/rtems/libio_.h,
	libcsupport/include/rtems/malloc.h,
	libcsupport/include/rtems/termiostypes.h,
	libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h,
	libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h,
	libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h,
	libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h,
	libmisc/capture/capture-cli.h, libmisc/capture/capture.h,
	libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h,
	libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h,
	libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h,
	libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h,
	libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h,
	posix/include/mqueue.h, posix/include/semaphore.h,
	posix/include/rtems/posix/aio_misc.h,
	posix/include/rtems/posix/barrier.h,
	posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h,
	posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h,
	posix/include/rtems/posix/mutex.h,
	posix/include/rtems/posix/posixapi.h,
	posix/include/rtems/posix/priority.h,
	posix/include/rtems/posix/psignal.h,
	posix/include/rtems/posix/pthread.h,
	posix/include/rtems/posix/ptimer.h,
	posix/include/rtems/posix/rwlock.h,
	posix/include/rtems/posix/semaphore.h,
	posix/include/rtems/posix/sigset.h,
	posix/include/rtems/posix/spinlock.h,
	posix/include/rtems/posix/threadsup.h,
	posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h,
	posix/inline/rtems/posix/barrier.inl,
	posix/inline/rtems/posix/cond.inl,
	posix/inline/rtems/posix/mqueue.inl,
	posix/inline/rtems/posix/mutex.inl,
	posix/inline/rtems/posix/priority.inl,
	posix/inline/rtems/posix/pthread.inl,
	posix/inline/rtems/posix/rwlock.inl,
	posix/inline/rtems/posix/semaphore.inl,
	posix/inline/rtems/posix/spinlock.inl,
	posix/inline/rtems/posix/timer.inl, rtems/mainpage.h,
	rtems/include/rtems/rtems/barrier.h,
	rtems/include/rtems/rtems/object.h,
	rtems/include/rtems/rtems/timer.h,
	rtems/inline/rtems/rtems/barrier.inl,
	rtems/inline/rtems/rtems/timer.inl,
	rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h,
	sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h,
	score/include/rtems/score/object.h,
	score/include/rtems/score/priority.h,
	score/inline/rtems/score/object.inl,
	score/inline/rtems/score/priority.inl: Add @file Doxygen directives
	and descriptions to files which originated with RTEMS. This improves
	the file list page generated by Doxygen.
2011-06-24 17:52:58 +00:00

114 lines
2.8 KiB
C

/**
* @file rtems/mouse_parser.h
*
* This file is the header file for the Mouse Parser Engine.
*/
/*
* This file is derived from a UNIX Serial Port Mouse Driver with the
* following notice:
*
* ==================================================================
* Copyright (c) 1999 Greg Haerr <greg@censoft.com>
* Portions Copyright (c) 1991 David I. Bell
* Permission is granted to use, distribute, or modify this source,
* provided that this copyright notice remains intact.
*
* UNIX Serial Port Mouse Driver
*
* This driver opens a serial port directly, and interprets serial data.
* Microsoft, PC, Logitech and PS/2 mice are supported. The PS/2 mouse
* is only supported if the OS runs the mouse byte codes through the
* serial port.
*
* Mouse Types Supported: pc ms, logi, ps2
* ==================================================================
*
* It has been modified to support the concept of being just a parser
* fed data from an arbitrary source. It is independent of either
* a PS/2 driver or a serial port.
*
* It was moved to cpukit/libmisc/mouse by Joel Sherrill.
*
* $Id$
*/
#ifndef __MOUSE_PARSER_h__
#define __MOUSE_PARSER_h__
#include <rtems/mw_uid.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* This is the mask for the right button.
*
* @note Use the same definitions as the user interface.
*/
#define RBUTTON MV_BUTTON_RIGHT
/**
* This is the mask for the center button.
*
* @note Use the same definitions as the user interface.
*/
#define MBUTTON MV_BUTTON_CENTER
/**
* This is the mask for the left button.
*
* @note Use the same definitions as the user interface.
*/
#define LBUTTON MV_BUTTON_LEFT
/**
* This type is the device coordinates.
*/
typedef int COORD;
/**
* This type is the mouse button mask.
*/
typedef unsigned int BUTTON;
/**
* This type defines a pointer to the enqueue method. It is
* available since some device drivers keep pointers to the method
* to know when to enqueue or not.
*/
typedef void (*mouse_parser_enqueue_handler)(unsigned char *, size_t);
/**
* @brief Initialize the Mouse Parser Engine
*
* This method initializes the Mouse Parser Engine for the mouse
* of @a type. The @a type should be one of the following strings:
* pc ms, logi, ps2.
*
* @a param[in] type indicates the type of mouse.
*
* @return This method returns 0 on success and -1 on error.
*/
int mouse_parser_initialize(const char *type);
/**
* @brief Enqueue Input to the Mouse Parser Engine
*
* This method is used to pass mouse input to the Mouse Parser Engine.
*
* @a param[in] buffer is the data to enqueue
* @a param[in] size is the amount of data to enqueue
*/
void mouse_parser_enqueue(
unsigned char *buffer,
size_t size
);
#ifdef __cplusplus
}
#endif
#endif