.\"
.\" $XConsortium: p139,v 5.2 94/04/17 20:56:03 rws Exp $
.\"
.\" 
$XMCOPY
.\" Copyright (c) 1990, 1991 by Sun Microsystems, Inc. and the X Consortium.
.\" 
.\"                         All Rights Reserved
.\" 
.\" Permission to use, copy, modify, and distribute this software and its 
.\" documentation for any purpose and without fee is hereby granted, 
.\" provided that the above copyright notice appear in all copies and that
.\" both that copyright notice and this permission notice appear in 
.\" supporting documentation, and that the names of Sun Microsystems,
.\" and the X Consortium not be used in advertising or publicity 
.\" pertaining to distribution of the software without specific, written 
.\" prior permission.  
.\" 
.\" SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
.\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
.\" EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
.\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
.\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.TH "INQUIRE HIGHLIGHTING FILTER" 3P "29 February 1991"
.SH NAME
INQUIRE HIGHLIGHTING FILTER \- inquire inclusion and exclusion name sets for a
workstation's highlighting filter
.IX "Highlighting" "INQUIRE HIGHLIGHTING FILTER"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pinq_highl_filter ( ws, store, error_ind, highl_filter )
Pint	ws;	\fIworkstation identifier\fP
Pstore	store;	\fIhandle to Store object\fP
Pint	*error_ind;	\fI\s-2OUT\s+2 error indicator\fP
Pfilter	**highl_filter;	\fI\s-2OUT\s+2 highlighting filter\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, WSOP, *, *)
.SH DESCRIPTION
.SS Purpose
Use \s-2INQUIRE HIGHLIGHTING FILTER\s+2 to obtain the \fIhighlighting filter\fP
from a specified PHIGS workstation state list.  This is the filter that is
compared to the traversal-time \fIcurrent name set\fP of each primitive
to determine if the primitive is highlighted.
.LP
The filter contains an \fIinclusion set\fP and an \fIexclusion set\fP of names.
During traversal, a primitive is eligible for highlighting
.\" "eligible for highlighting" because the workstation may never highlight.
if at least one name in the \fIcurrent name set\fP is in the \fIinclusion set\fP
and no name in the \fIcurrent name set\fP is in the \fIexclusion set\fP.
Each name in the \fIname set\fP, \fIinclusion set\fP, and \fIexclusion set\fP
is a small positive integer.
.SS C Input Parameters
Applications using the \s-2C\s+2 binding must create a buffer to be used by this
function as memory space for storing data associated with the device state.
This buffer is passed as the \fIstore\fP argument.  
.LP
The store buffer is a data area managed by \s-2PHIGS\s+2. While the application 
is responsible for creating the inital buffer through a call to \s-2\CREATE STORE\s+2, 
\s-2PHIGS\s+2 manages this area such that there is sufficient memory for the 
specific inquiry. The data record within the store buffer is accessed 
by the pointer pointed to by \fIhighl_filter\fR.
.IP \fIws\fP
The \fIworkstation identifier\fP of the workstation whose highlighting filter is
to be returned.
.IP \fIstore\fP
The memory buffer \s-2PHIGS\s+2 is to use for storing the information
returned.  
This buffer must exist prior to calling this function (see
\s-2CREATE STORE (3P)\s+2).
.SS C Output Parameters
.IP \fIerror_ind\fP
A pointer to the location to store the error number of any error
detected by this function.
.IP \fIhighl_filter\fP
A pointer to a pointer to a list of highlighting filters.
Pfilter is defined in phigs.h as follows:
.nf
.ta .5i  +\w'Pint_list	  'u +\w'excl_set		  'u
.sp .4
typedef struct {
.sp .2
    Pint_list	incl_set;	/* inclusion set */
    Pint_list	excl_set;	/* exclusion set */
.sp .2
} Pfilter;
.fi
.IP
Pint_list is defined in phigs.h as follows:
.nf
.ta .5i +1i +1.25i
.sp .4
typedef struct {
.sp .2
	Pint	num_ints;	/* number of Pints in list */
	Pint	*ints;	/* list of integers        */
.sp .2
} Pint_list;
.fi
.SH ERRORS
.IP 003
Ignoring function, function requires state (\s-2PHOP, WSOP, *, *\s+2)
.IP 054
Ignoring function, the specified workstation is not open
.IP 059
Ignoring function, the specified workstation does not have output capability
(in other words, the workstation category is neither \s-2OUTPUT\s+2,
\s-2OUTIN\s+2, nor \s-2MO\s+2)
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "SET HIGHLIGHTING FILTER (3P)"
.SM "CREATE STORE (3P)"
.SM "DELETE STORE (3P)"
.fi
