xref: /onnv-gate/usr/src/lib/libbsm/common/devices.h (revision 4514:0ba804e879d8)
10Sstevel@tonic-gate /*
20Sstevel@tonic-gate  * CDDL HEADER START
30Sstevel@tonic-gate  *
40Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
51676Sjpk  * Common Development and Distribution License (the "License").
61676Sjpk  * You may not use this file except in compliance with the License.
70Sstevel@tonic-gate  *
80Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate  * See the License for the specific language governing permissions
110Sstevel@tonic-gate  * and limitations under the License.
120Sstevel@tonic-gate  *
130Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate  *
190Sstevel@tonic-gate  * CDDL HEADER END
200Sstevel@tonic-gate  */
210Sstevel@tonic-gate /*
22*4514Saj  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
230Sstevel@tonic-gate  * Use is subject to license terms.
240Sstevel@tonic-gate  */
250Sstevel@tonic-gate 
260Sstevel@tonic-gate #ifndef	_BSM_DEVICES_H
270Sstevel@tonic-gate #define	_BSM_DEVICES_H
280Sstevel@tonic-gate 
290Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
300Sstevel@tonic-gate 
310Sstevel@tonic-gate #ifdef	__cplusplus
320Sstevel@tonic-gate extern "C" {
330Sstevel@tonic-gate #endif
340Sstevel@tonic-gate 
351676Sjpk #include <stdio.h>
361676Sjpk #include <secdb.h>
371676Sjpk 
38*4514Saj 
39*4514Saj #define	DAOPT_AUTHS	"auths"
40*4514Saj #define	DAOPT_CLASS	"class"
41*4514Saj #define	DAOPT_CSCRIPT	"cleanscript"
42*4514Saj #define	DAOPT_MINLABEL	"minlabel"
43*4514Saj #define	DAOPT_MAXLABEL	"maxlabel"
44*4514Saj #define	DAOPT_XDISPLAY	"xdpy"
45*4514Saj #define	DAOPT_ZONE	"zone"
46*4514Saj #define	DA_RESERVED	"reserved"
47*4514Saj 
481676Sjpk /*
491676Sjpk  * These are unsupported, SUN-private interfaces.
501676Sjpk  */
511676Sjpk 
521676Sjpk typedef struct {
531676Sjpk 	char	*da_devname;
541676Sjpk 	char	*da_devtype;
551676Sjpk 	char	*da_devauth;
561676Sjpk 	char	*da_devexec;
571676Sjpk 	kva_t	*da_devopts;
581676Sjpk } devalloc_t;
591676Sjpk 
601676Sjpk typedef struct {
611676Sjpk 	char	*dmap_devname;
621676Sjpk 	char	*dmap_devtype;
631676Sjpk 	char	*dmap_devlist;
641676Sjpk 	char	**dmap_devarray;
650Sstevel@tonic-gate } devmap_t;
660Sstevel@tonic-gate 
671676Sjpk int		getdadmline(char *, int, FILE *);
681676Sjpk 
691676Sjpk devalloc_t	*getdaent(void);
701676Sjpk devalloc_t	*getdatype(char *);
711676Sjpk devalloc_t	*getdanam(char *);
721676Sjpk void		setdaent(void);
731676Sjpk void		enddaent(void);
741676Sjpk void		freedaent(devalloc_t *);
751676Sjpk void		setdafile(char *);
760Sstevel@tonic-gate 
771676Sjpk devmap_t	*getdmapent(void);
781676Sjpk devmap_t	*getdmaptype(char *);
791676Sjpk devmap_t	*getdmapnam(char *);
801676Sjpk devmap_t	*getdmapdev(char *);
811676Sjpk void		setdmapent(void);
821676Sjpk void		enddmapent(void);
831676Sjpk void		freedmapent(devmap_t *);
841676Sjpk void		setdmapfile(char *);
851676Sjpk char		*getdmapfield(char *);
861676Sjpk char		*getdmapdfield(char *);
870Sstevel@tonic-gate 
880Sstevel@tonic-gate #ifdef	__cplusplus
890Sstevel@tonic-gate }
900Sstevel@tonic-gate #endif
910Sstevel@tonic-gate 
920Sstevel@tonic-gate #endif	/* _BSM_DEVICES_H */
93