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, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  */
22 
23 /*
24  * Copyright 2005 Sun Microsystems, Inc.   All rights reserved.
25  * Use is subject to license terms.
26  */
27 
28 /*
29  * This file contains functions that implement the fdisk menu commands.
30  */
31 #include "global.h"
32 #include <sys/time.h>
33 #include <sys/resource.h>
34 #include <sys/wait.h>
35 #include <signal.h>
36 #include <string.h>
37 #include <sys/fcntl.h>
38 #include <sys/stat.h>
39 
40 #include <sys/dklabel.h>
41 
42 #include "main.h"
43 #include "analyze.h"
44 #include "menu.h"
45 #include "menu_developer.h"
46 #include "param.h"
47 #include "misc.h"
48 #include "label.h"
49 #include "startup.h"
50 #include "partition.h"
51 #include "prompts.h"
52 #include "checkdev.h"
53 #include "io.h"
54 #include "ctlr_scsi.h"
55 #include "auto_sense.h"
56 #include "hardware_structs.h"
57 
58 extern	struct menu_item menu_developer[];
59 
60 
61 int
c_developer(void)62 c_developer(void)
63 {
64 
65 	cur_menu++;
66 	last_menu = cur_menu;
67 
68 	/*
69 	 * Run the menu.
70 	 */
71 	run_menu(menu_developer, "DEVELOPER", "developer", 0);
72 	cur_menu--;
73 	return (0);
74 }
75 
76 int
dv_disk(void)77 dv_disk(void)
78 {
79 	struct disk_info *diskp;
80 
81 	diskp = disk_list;
82 	while (diskp != NULL) {
83 
84 		(void) printf("\ndisk_name %s  ", diskp->disk_name);
85 		(void) printf("disk_path %s\n", diskp->disk_path);
86 		(void) printf("ctlr_cname = %s  ",
87 		    diskp->disk_ctlr->ctlr_cname);
88 		(void) printf("cltr_dname = %s  ",
89 		    diskp->disk_ctlr->ctlr_dname);
90 		(void) printf("ctype_name = %s\n",
91 		    diskp->disk_ctlr->ctlr_ctype->ctype_name);
92 		(void) printf("ctype_ctype = %d\n",
93 		    diskp->disk_ctlr->ctlr_ctype->ctype_ctype);
94 		(void) printf("devfsname = %s\n", diskp->devfs_name);
95 		diskp = diskp->disk_next;
96 	}
97 	return (0);
98 }
99 
100 int
dv_cont(void)101 dv_cont(void)
102 {
103 	struct ctlr_info *contp;
104 
105 	contp = ctlr_list;
106 	while (contp != NULL) {
107 
108 		(void) printf("\nctype_name = %s ",
109 		    contp->ctlr_ctype->ctype_name);
110 		(void) printf("cname = %s dname =  %s ",
111 		    contp->ctlr_cname, contp->ctlr_dname);
112 		(void) printf("ctype_ctype = %d\n",
113 		    contp->ctlr_ctype->ctype_ctype);
114 		contp = contp->ctlr_next;
115 	}
116 	return (0);
117 }
118 
119 int
dv_cont_chain(void)120 dv_cont_chain(void)
121 {
122 	struct mctlr_list *ctlrp;
123 
124 	ctlrp = controlp;
125 
126 	if (ctlrp == NULL)
127 		(void) printf("ctlrp is NULL!!\n");
128 
129 	while (ctlrp != NULL) {
130 		(void) printf("ctlrp->ctlr_type->ctype_name = %s\n",
131 		    ctlrp->ctlr_type->ctype_name);
132 		ctlrp = ctlrp->next;
133 	}
134 	return (0);
135 }
136 
137 int
dv_params(void)138 dv_params(void)
139 {
140 	(void) printf("ncyl = %d\n", ncyl);
141 	(void) printf("acyl = %d\n", acyl);
142 	(void) printf("pcyl = %d\n", pcyl);
143 	(void) printf("nhead = %d\n", nhead);
144 	(void) printf("nsect = %d\n", nsect);
145 
146 	return (0);
147 }
148