summaryrefslogblamecommitdiffstats
path: root/cpukit/libmisc/mouse/serial_mouse.h
blob: 8cb966ec7b7d46ea3a0489ffd496ea9d0faa1265 (plain) (tree)


















                                                                 






































































































































                                                                            
/**
 * @file rtems/serial_mouse.h
 *
 *  This file describes the Serial Mouse Driver for all boards.
 *  This driver assumes that the BSP or application will provide
 *  an implementation of the method bsp_get_serial_mouse_device()
 *  which tells the driver what serial port device to open() and
 *  what type of mouse is connected.
 *
 *  This driver relies on the Mouse Parser Engine.
 */

/*
 *  COPYRIGHT (c) 1989-2011.
 *  On-Line Applications Research Corporation (OAR).
 *
 *  The license and distribution terms for this file may be
 *  found in the file LICENSE in this distribution or at
 *  http://www.rtems.com/license/LICENSE.
 */

#ifndef __SERIAL_MOUSE_h__
#define __SERIAL_MOUSE_h__

/* functions */
#ifdef __cplusplus
extern "C" {
#endif

/**
 *  This macro defines the serial mouse device driver entry points.
 */
#define SERIAL_MOUSE_DRIVER_TABLE_ENTRY \
  { serial_mouse_initialize, serial_mouse_open, serial_mouse_close, \
    serial_mouse_read, serial_mouse_write, serial_mouse_control }

/**
 *  @brief Serial Mouse Driver Initialization
 *
 *  This method initializes the serial mouse driver.
 *
 *  @param[in] major is the mouse device major number
 *  @param[in] minor is the mouse device minor number
 *  @param[in] arguments points to device driver arguments
 */
rtems_device_driver serial_mouse_initialize(
  rtems_device_major_number  major,
  rtems_device_minor_number  minor,
  void                      *arg
);

/**
 *  @brief Serial Mouse Driver Open
 *
 *  This method implements the Open device driver entry
 *  point for the serial mouse driver.
 *
 *  @param[in] major is the mouse device major number
 *  @param[in] minor is the mouse device minor number
 *  @param[in] arguments points to device driver arguments
 */
rtems_device_driver serial_mouse_open(
  rtems_device_major_number  major,
  rtems_device_minor_number  minor,
  void                      *arg
);

/**
 *  @brief Serial Mouse Driver Close
 *
 *  This method implements the Close device driver entry
 *  point for the serial mouse driver.
 *
 *  @param[in] major is the mouse device major number
 *  @param[in] minor is the mouse device minor number
 *  @param[in] arguments points to device driver arguments
 */
rtems_device_driver serial_mouse_close(
  rtems_device_major_number  major,
  rtems_device_minor_number  minor,
  void                      *arg
);

/**
 *  @brief Serial Mouse Driver Read
 *
 *  This method implements the Read device driver entry
 *  point for the serial mouse driver.
 *
 *  @param[in] major is the mouse device major number
 *  @param[in] minor is the mouse device minor number
 *  @param[in] arguments points to device driver arguments
 */
rtems_device_driver serial_mouse_read(
  rtems_device_major_number  major,
  rtems_device_minor_number  minor,
  void                      *arg
);

/**
 *  @brief Serial Mouse Driver Write
 *
 *  This method implements the Write device driver entry
 *  point for the serial mouse driver.
 *
 *  @param[in] major is the mouse device major number
 *  @param[in] minor is the mouse device minor number
 *  @param[in] arguments points to device driver arguments
 */
rtems_device_driver serial_mouse_write(
  rtems_device_major_number  major,
  rtems_device_minor_number  minor,
  void                      *arg
);

/**
 *  @brief Serial Mouse Driver IO Control
 *
 *  This method implements the IO Control device driver entry
 *  point for the serial mouse driver.
 *
 *  @param[in] major is the mouse device major number
 *  @param[in] minor is the mouse device minor number
 *  @param[in] arguments points to device driver arguments
 */
rtems_device_driver serial_mouse_control(
  rtems_device_major_number  major,
  rtems_device_minor_number  minor,
  void                      *arg
);

/**
 *  @brief Obtain Serial Mouse Configuration Information
 *
 *  This method is implemented by the BSP or application and
 *  tells the driver what device to open() and what type of
 *  mouse is connected.
 *
 *  @param[in] name will point to a string with the device name
 *             of the serial port with the mouse connected.
 *  @param[in] type will point to a string with the type of mouse connected.
 *
 *  @return This method returns true on success and false on error.
 */
bool bsp_get_serial_mouse_device(
  const char **name,
  const char **type
);

#ifdef __cplusplus
}
#endif

#endif  /* __tty_drv__  */