1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 * Copyright (c) 2012 Joyent, Inc. All rights reserved. 25 * Copyright (c) 2019 Peter Tribble. 26 */ 27 28 #ifndef _PRT_CONF_H 29 #define _PRT_CONF_H 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 #include <libdevinfo.h> 36 #include <pcidb.h> 37 #include <sys/utsname.h> 38 39 extern void init_priv_data(struct di_priv_data *); 40 extern void dump_priv_data(int, di_node_t); 41 extern void print_pciid(const char *, uint16_t, uint16_t, pcidb_hdl_t *); 42 extern void indent_to_level(int); 43 extern void prtconf_devinfo(); 44 extern int do_fbname(); 45 extern int do_promversion(); 46 extern int do_prominfo(); 47 void indent_to_level(int); 48 extern int do_productinfo(); 49 50 extern void dprintf(const char *, ...); 51 52 struct prt_opts { 53 int o_verbose; 54 int o_drv_name; 55 int o_pseudodevs; 56 int o_fbname; 57 int o_memory; 58 int o_noheader; 59 int o_prominfo; 60 int o_productinfo; 61 int o_promversion; 62 int o_prom_ready64; 63 int o_forcecache; 64 char *o_devices_path; 65 dev_t o_devt; 66 int o_target; 67 int o_ancestors; 68 int o_children; 69 int o_pciid; 70 const char *o_promdev; 71 const char *o_progname; 72 struct utsname o_uts; 73 pcidb_hdl_t *o_pcidb; 74 }; 75 76 struct prt_dbg { 77 int d_debug; 78 int d_bydriver; 79 int d_forceload; 80 char *d_drivername; 81 }; 82 83 extern struct prt_opts opts; 84 extern struct prt_dbg dbg; 85 86 #ifdef __cplusplus 87 } 88 #endif 89 90 #endif /* _PRT_CONF_H */ 91