10Sduke/* $FreeBSD$	*/
22362Sohair
30Sduke/*-
40Sduke * Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com>
50Sduke * All rights reserved.
60Sduke *
70Sduke * Redistribution and use in source and binary forms, with or without
80Sduke * modification, are permitted provided that the following conditions
90Sduke * are met:
100Sduke * 1. Redistributions of source code must retain the above copyright
110Sduke *    notice, this list of conditions and the following disclaimer.
120Sduke * 2. Redistributions in binary form must reproduce the above copyright
130Sduke *    notice, this list of conditions and the following disclaimer in the
140Sduke *    documentation and/or other materials provided with the distribution.
150Sduke * 3. All advertising materials mentioning features or use of this software
160Sduke *    must display the following acknowledgements:
170Sduke *	This product includes software developed by Jason R. Thorpe
180Sduke *	for And Communications, http://www.and.com/
192362Sohair * 4. The name of the author may not be used to endorse or promote products
202362Sohair *    derived from this software without specific prior written permission.
212362Sohair *
220Sduke * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
230Sduke * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
240Sduke * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
250Sduke * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
260Sduke * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
270Sduke * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
280Sduke * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
299567Schegar * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
300Sduke * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
310Sduke * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
329567Schegar * SUCH DAMAGE.
339567Schegar */
349567Schegar
350Sdukestruct element_type {
369567Schegar	const	char *et_name;	/* name; i.e. "picker, "slot", etc. */
379567Schegar	int	et_type;	/* type number */
380Sduke};
390Sduke
409567Schegarstruct changer_command {
410Sduke	const	char *cc_name;	/* command name */
429567Schegar				/* command handler */
439567Schegar	int	(*cc_handler)(const char *, int, char **);
440Sduke};
450Sduke
460Sdukestruct special_word {
479567Schegar	const	char *sw_name;	/* special word */
480Sduke	int	sw_value;	/* token value */
490Sduke};
500Sduke
510Sduke/* sw_value */
520Sduke#define SW_INVERT	1	/* set "invert media" flag */
530Sduke#define SW_INVERT1	2	/* set "invert media 1" flag */
540Sduke#define SW_INVERT2	3	/* set "invert media 2" flag */
550Sduke
560Sduke/* Environment variable to check for default changer. */
579567Schegar#define CHANGER_ENV_VAR		"CHANGER"
580Sduke