Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
STREAMS Modulesvuidmice(7M)


NAME

 vuidmice, vuidm3p, vuidm4p, vuidm5p, vuid2ps2, vuid3ps2 - converts mouse protocol to Firm Events

SYNOPSIS

 
#include <sys/stream.h>
 
#include <sys/vuid_event.h>
 
int ioctl(fd, I_PUSH, vuidm3p);
 
int ioctl(fd, I_PUSH, vuidm4p);
 
int ioctl(fd, I_PUSH, vuidm5p);
 
int ioctl(fd, I_PUSH, vuid2ps2);
 
int ioctl(fd, I_PUSH, vuid3ps2);

DESCRIPTION

 

The STREAMS modules vuidm3p, vuidm4p, vuidm5p, vuid2ps2, and vuid3ps2 convert mouse protocols to Firm events. The Firm event structure is described in <sys/vuid_event.h>. Pushing a STREAMS module does not automatically enable mouse protocol conversion to Firm events. The STREAMS module state is initially set to raw or VUID_NATIVE mode which performs no message processing. The user will need to change the state to VUID_FIRM_EVENT mode in order to initiate mouse protocol conversion to Firm events. This can be accomplished by the following code:

 
int format;
format = VUID_FIRM_EVENT;
ioctl(fd, VUIDSFORMAT, &format);

The user can also query the state of the STREAMS module by using the VUIDGFORMAT option.

 
int format;
int fd;	/* file descriptor */
ioctl(fd, VUIDGFORMAT, &format);
if ( format == VUID_NATIVE );
	/* The state of the module is in raw mode.
	 * Message processing is not enabled.
	 */
if ( format == VUID_FIRM_EVENT );
	/* Message processing is enabled.
	 * Mouse protocol conversion to Firm events 
	 * are performed.

The remainder of this section describes the processing of STREAMS messages on the read- and write-side.

Read Side Behavior

 
M_DATA
The messages coming in are queued and converted to Firm events.
M_FLUSH
The read queue of the module is flushed of all its data messages and all data in the record being accumulated are also flushed. The message is passed upstream.

Write Side Behavior

 
M_IOCTL
Messages sent downstream as a result of an ioctl(2) system call. There are two valid ioctl options processed by the vuidmice modules VUIDGFORMAT and VUIDSFORMAT.

VUIDGFORMAT
This option returns the current state of the STREAMS module. The state of the vuidmice STREAMS module may either be VUID_NATIVE (no message processing) or VUID_FIRM_EVENT (convert to Firm events).
VUIDSFORMAT
This option sets the state of the STREAMS module to VUID_FIRM_EVENT. If the state of the STREAMS module is already in VUID_FIRM_EVENT then this option is non-operational. It is not possible to set the state back to VUID_NATIVE once the state becomes VUID_FIRM_EVENT. To disable message processing, pop the STREAMS module out by calling ioctl(fd, 1I_POP, vuid*).

M_FLUSH
The write queue of the module is flushed of all its data messages and the message is passed downstream.

Mouse Configurations

 

ModuleProtocol TypeDevice
vuidm3p3-Byte Protocol Microsoft 2 Button Serial Mouse/dev/tty*
vuidm4p4-Byte Protocol Logitech 3 Button Mouseman/dev/tty*
vuidm5pLogitech 3 Button Bus Mouse Microsoft Bus Mouse/dev/logi/ dev/msm
vuid2ps2PS/2 Protocol 2 Button PS/2 Compatible Mouse/dev/kdmouse
vuid3ps2PS/2 Protocol 3 Button PS/2 Compatible Mouse/dev/kdmouse

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
ArchitectureIA

SEE ALSO

 

attributes(5)

STREAMS Programming Guide


SunOS 5.9Go To TopLast Changed 1 Jan 1997

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.