xref: /onnv-gate/usr/src/cmd/sgs/elfdump/common/struct_layout_i386.c (revision 6635:8de60a34b2e5)
1*6635Sab196087 /*
2*6635Sab196087  * CDDL HEADER START
3*6635Sab196087  *
4*6635Sab196087  * The contents of this file are subject to the terms of the
5*6635Sab196087  * Common Development and Distribution License (the "License").
6*6635Sab196087  * You may not use this file except in compliance with the License.
7*6635Sab196087  *
8*6635Sab196087  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*6635Sab196087  * or http://www.opensolaris.org/os/licensing.
10*6635Sab196087  * See the License for the specific language governing permissions
11*6635Sab196087  * and limitations under the License.
12*6635Sab196087  *
13*6635Sab196087  * When distributing Covered Code, include this CDDL HEADER in each
14*6635Sab196087  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*6635Sab196087  * If applicable, add the following below this CDDL HEADER, with the
16*6635Sab196087  * fields enclosed by brackets "[]" replaced with your own identifying
17*6635Sab196087  * information: Portions Copyright [yyyy] [name of copyright owner]
18*6635Sab196087  *
19*6635Sab196087  * CDDL HEADER END
20*6635Sab196087  */
21*6635Sab196087 
22*6635Sab196087 /*
23*6635Sab196087  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24*6635Sab196087  * Use is subject to license terms.
25*6635Sab196087  */
26*6635Sab196087 #pragma ident	"%Z%%M%	%I%	%E% SMI"
27*6635Sab196087 
28*6635Sab196087 #include <struct_layout.h>
29*6635Sab196087 
30*6635Sab196087 
31*6635Sab196087 static const sl_auxv_layout_t auxv_layout = {
32*6635Sab196087 	{ 0,	8,	0,	0 },		/* sizeof (auxv_t) */
33*6635Sab196087 	{ 0,	4,	0,	1 },		/* a_type */
34*6635Sab196087 	{ 4,	4,	0,	1 },		/* a_un.a_val */
35*6635Sab196087 	{ 4,	4,	0,	0 },		/* a_un.a_ptr */
36*6635Sab196087 	{ 4,	4,	0,	0 },		/* a_un.a_fcn */
37*6635Sab196087 };
38*6635Sab196087 
39*6635Sab196087 
40*6635Sab196087 static const sl_prgregset_layout_t prgregset_layout = {
41*6635Sab196087 	{ 0,	76,	0,	0 },		/* sizeof (prgregset_t) */
42*6635Sab196087 	{ 0,	4,	19,	0 },		/* elt0 */
43*6635Sab196087 };
44*6635Sab196087 
45*6635Sab196087 
46*6635Sab196087 static const sl_lwpstatus_layout_t lwpstatus_layout = {
47*6635Sab196087 	{ 0,	800,	0,	0 },		/* sizeof (lwpstatus_t) */
48*6635Sab196087 	{ 0,	4,	0,	0 },		/* pr_flags */
49*6635Sab196087 	{ 4,	4,	0,	0 },		/* pr_lwpid */
50*6635Sab196087 	{ 8,	2,	0,	0 },		/* pr_why */
51*6635Sab196087 	{ 10,	2,	0,	0 },		/* pr_what */
52*6635Sab196087 	{ 12,	2,	0,	0 },		/* pr_cursig */
53*6635Sab196087 	{ 16,	128,	0,	0 },		/* pr_info */
54*6635Sab196087 	{ 144,	16,	0,	0 },		/* pr_lwppend */
55*6635Sab196087 	{ 160,	16,	0,	0 },		/* pr_lwphold */
56*6635Sab196087 	{ 176,	32,	0,	0 },		/* pr_action */
57*6635Sab196087 	{ 208,	12,	0,	0 },		/* pr_altstack */
58*6635Sab196087 	{ 220,	4,	0,	0 },		/* pr_oldcontext */
59*6635Sab196087 	{ 224,	2,	0,	0 },		/* pr_syscall */
60*6635Sab196087 	{ 226,	2,	0,	0 },		/* pr_nsysarg */
61*6635Sab196087 	{ 228,	4,	0,	0 },		/* pr_errno */
62*6635Sab196087 	{ 232,	4,	8,	0 },		/* pr_sysarg[] */
63*6635Sab196087 	{ 264,	4,	0,	0 },		/* pr_rval1 */
64*6635Sab196087 	{ 268,	4,	0,	0 },		/* pr_rval2 */
65*6635Sab196087 	{ 272,	1,	8,	0 },		/* pr_clname[] */
66*6635Sab196087 	{ 280,	8,	0,	0 },		/* pr_tstamp */
67*6635Sab196087 	{ 288,	8,	0,	0 },		/* pr_utime */
68*6635Sab196087 	{ 296,	8,	0,	0 },		/* pr_stime */
69*6635Sab196087 	{ 332,	4,	0,	0 },		/* pr_errpriv */
70*6635Sab196087 	{ 336,	4,	0,	0 },		/* pr_ustack */
71*6635Sab196087 	{ 340,	4,	0,	0 },		/* pr_instr */
72*6635Sab196087 	{ 344,	76,	0,	0 },		/* pr_reg */
73*6635Sab196087 	{ 420,	380,	0,	0 },		/* pr_fpreg */
74*6635Sab196087 };
75*6635Sab196087 
76*6635Sab196087 
77*6635Sab196087 static const sl_pstatus_layout_t pstatus_layout = {
78*6635Sab196087 	{ 0,	1136,	0,	0 },		/* sizeof (pstatus_t) */
79*6635Sab196087 	{ 0,	4,	0,	1 },		/* pr_flags */
80*6635Sab196087 	{ 4,	4,	0,	1 },		/* pr_nlwp */
81*6635Sab196087 	{ 8,	4,	0,	0 },		/* pr_pid */
82*6635Sab196087 	{ 12,	4,	0,	0 },		/* pr_ppid */
83*6635Sab196087 	{ 16,	4,	0,	0 },		/* pr_pgid */
84*6635Sab196087 	{ 20,	4,	0,	0 },		/* pr_sid */
85*6635Sab196087 	{ 24,	4,	0,	1 },		/* pr_aslwpid */
86*6635Sab196087 	{ 28,	4,	0,	1 },		/* pr_agentid */
87*6635Sab196087 	{ 32,	16,	0,	0 },		/* pr_sigpend */
88*6635Sab196087 	{ 48,	4,	0,	0 },		/* pr_brkbase */
89*6635Sab196087 	{ 52,	4,	0,	0 },		/* pr_brksize */
90*6635Sab196087 	{ 56,	4,	0,	0 },		/* pr_stkbase */
91*6635Sab196087 	{ 60,	4,	0,	0 },		/* pr_stksize */
92*6635Sab196087 	{ 64,	8,	0,	0 },		/* pr_utime */
93*6635Sab196087 	{ 72,	8,	0,	0 },		/* pr_stime */
94*6635Sab196087 	{ 80,	8,	0,	0 },		/* pr_cutime */
95*6635Sab196087 	{ 88,	8,	0,	0 },		/* pr_cstime */
96*6635Sab196087 	{ 96,	16,	0,	0 },		/* pr_sigtrace */
97*6635Sab196087 	{ 112,	16,	0,	0 },		/* pr_flttrace */
98*6635Sab196087 	{ 128,	64,	0,	0 },		/* pr_sysentry */
99*6635Sab196087 	{ 192,	64,	0,	0 },		/* pr_sysexit */
100*6635Sab196087 	{ 256,	1,	0,	0 },		/* pr_dmodel */
101*6635Sab196087 	{ 260,	4,	0,	1 },		/* pr_taskid */
102*6635Sab196087 	{ 264,	4,	0,	1 },		/* pr_projid */
103*6635Sab196087 	{ 268,	4,	0,	1 },		/* pr_nzomb */
104*6635Sab196087 	{ 272,	4,	0,	1 },		/* pr_zoneid */
105*6635Sab196087 	{ 336,	800,	0,	0 },		/* pr_lwp */
106*6635Sab196087 };
107*6635Sab196087 
108*6635Sab196087 
109*6635Sab196087 static const sl_prstatus_layout_t prstatus_layout = {
110*6635Sab196087 	{ 0,	432,	0,	0 },		/* sizeof (prstatus_t) */
111*6635Sab196087 	{ 0,	4,	0,	1 },		/* pr_flags */
112*6635Sab196087 	{ 4,	2,	0,	1 },		/* pr_why */
113*6635Sab196087 	{ 6,	2,	0,	1 },		/* pr_what */
114*6635Sab196087 	{ 8,	128,	0,	0 },		/* pr_info */
115*6635Sab196087 	{ 136,	2,	0,	1 },		/* pr_cursig */
116*6635Sab196087 	{ 138,	2,	0,	0 },		/* pr_nlwp */
117*6635Sab196087 	{ 140,	16,	0,	0 },		/* pr_sigpend */
118*6635Sab196087 	{ 156,	16,	0,	0 },		/* pr_sighold */
119*6635Sab196087 	{ 172,	12,	0,	0 },		/* pr_altstack */
120*6635Sab196087 	{ 184,	32,	0,	0 },		/* pr_action */
121*6635Sab196087 	{ 216,	4,	0,	0 },		/* pr_pid */
122*6635Sab196087 	{ 220,	4,	0,	0 },		/* pr_ppid */
123*6635Sab196087 	{ 224,	4,	0,	0 },		/* pr_pgrp */
124*6635Sab196087 	{ 228,	4,	0,	0 },		/* pr_sid */
125*6635Sab196087 	{ 232,	8,	0,	0 },		/* pr_utime */
126*6635Sab196087 	{ 240,	8,	0,	0 },		/* pr_stime */
127*6635Sab196087 	{ 248,	8,	0,	0 },		/* pr_cutime */
128*6635Sab196087 	{ 256,	8,	0,	0 },		/* pr_cstime */
129*6635Sab196087 	{ 264,	1,	8,	0 },		/* pr_clname[] */
130*6635Sab196087 	{ 272,	2,	0,	1 },		/* pr_syscall */
131*6635Sab196087 	{ 274,	2,	0,	1 },		/* pr_nsysarg */
132*6635Sab196087 	{ 276,	4,	8,	1 },		/* pr_sysarg[] */
133*6635Sab196087 	{ 308,	4,	0,	0 },		/* pr_who */
134*6635Sab196087 	{ 312,	16,	0,	0 },		/* pr_lwppend */
135*6635Sab196087 	{ 328,	4,	0,	0 },		/* pr_oldcontext */
136*6635Sab196087 	{ 332,	4,	0,	0 },		/* pr_brkbase */
137*6635Sab196087 	{ 336,	4,	0,	0 },		/* pr_brksize */
138*6635Sab196087 	{ 340,	4,	0,	0 },		/* pr_stkbase */
139*6635Sab196087 	{ 344,	4,	0,	0 },		/* pr_stksize */
140*6635Sab196087 	{ 348,	2,	0,	1 },		/* pr_processor */
141*6635Sab196087 	{ 350,	2,	0,	1 },		/* pr_bind */
142*6635Sab196087 	{ 352,	4,	0,	1 },		/* pr_instr */
143*6635Sab196087 	{ 356,	76,	0,	0 },		/* pr_reg */
144*6635Sab196087 };
145*6635Sab196087 
146*6635Sab196087 
147*6635Sab196087 static const sl_psinfo_layout_t psinfo_layout = {
148*6635Sab196087 	{ 0,	336,	0,	0 },		/* sizeof (psinfo_t) */
149*6635Sab196087 	{ 0,	4,	0,	1 },		/* pr_flag */
150*6635Sab196087 	{ 4,	4,	0,	1 },		/* pr_nlwp */
151*6635Sab196087 	{ 8,	4,	0,	0 },		/* pr_pid */
152*6635Sab196087 	{ 12,	4,	0,	0 },		/* pr_ppid */
153*6635Sab196087 	{ 16,	4,	0,	0 },		/* pr_pgid */
154*6635Sab196087 	{ 20,	4,	0,	0 },		/* pr_sid */
155*6635Sab196087 	{ 24,	4,	0,	0 },		/* pr_uid */
156*6635Sab196087 	{ 28,	4,	0,	0 },		/* pr_euid */
157*6635Sab196087 	{ 32,	4,	0,	0 },		/* pr_gid */
158*6635Sab196087 	{ 36,	4,	0,	0 },		/* pr_egid */
159*6635Sab196087 	{ 40,	4,	0,	0 },		/* pr_addr */
160*6635Sab196087 	{ 44,	4,	0,	0 },		/* pr_size */
161*6635Sab196087 	{ 48,	4,	0,	0 },		/* pr_rssize */
162*6635Sab196087 	{ 56,	4,	0,	0 },		/* pr_ttydev */
163*6635Sab196087 	{ 60,	2,	0,	0 },		/* pr_pctcpu */
164*6635Sab196087 	{ 62,	2,	0,	0 },		/* pr_pctmem */
165*6635Sab196087 	{ 64,	8,	0,	0 },		/* pr_start */
166*6635Sab196087 	{ 72,	8,	0,	0 },		/* pr_time */
167*6635Sab196087 	{ 80,	8,	0,	0 },		/* pr_ctime */
168*6635Sab196087 	{ 88,	1,	16,	0 },		/* pr_fname[] */
169*6635Sab196087 	{ 104,	1,	80,	0 },		/* pr_psargs[] */
170*6635Sab196087 	{ 184,	4,	0,	1 },		/* pr_wstat */
171*6635Sab196087 	{ 188,	4,	0,	1 },		/* pr_argc */
172*6635Sab196087 	{ 192,	4,	0,	0 },		/* pr_argv */
173*6635Sab196087 	{ 196,	4,	0,	0 },		/* pr_envp */
174*6635Sab196087 	{ 200,	1,	0,	0 },		/* pr_dmodel */
175*6635Sab196087 	{ 204,	4,	0,	0 },		/* pr_taskid */
176*6635Sab196087 	{ 208,	4,	0,	0 },		/* pr_projid */
177*6635Sab196087 	{ 212,	4,	0,	1 },		/* pr_nzomb */
178*6635Sab196087 	{ 216,	4,	0,	0 },		/* pr_poolid */
179*6635Sab196087 	{ 220,	4,	0,	0 },		/* pr_zoneid */
180*6635Sab196087 	{ 224,	4,	0,	0 },		/* pr_contract */
181*6635Sab196087 	{ 232,	104,	0,	0 },		/* pr_lwp */
182*6635Sab196087 };
183*6635Sab196087 
184*6635Sab196087 
185*6635Sab196087 static const sl_prpsinfo_layout_t prpsinfo_layout = {
186*6635Sab196087 	{ 0,	260,	0,	0 },		/* sizeof (prpsinfo_t) */
187*6635Sab196087 	{ 0,	1,	0,	0 },		/* pr_state */
188*6635Sab196087 	{ 1,	1,	0,	0 },		/* pr_sname */
189*6635Sab196087 	{ 2,	1,	0,	0 },		/* pr_zomb */
190*6635Sab196087 	{ 3,	1,	0,	0 },		/* pr_nice */
191*6635Sab196087 	{ 4,	4,	0,	0 },		/* pr_flag */
192*6635Sab196087 	{ 8,	4,	0,	0 },		/* pr_uid */
193*6635Sab196087 	{ 12,	4,	0,	0 },		/* pr_gid */
194*6635Sab196087 	{ 16,	4,	0,	0 },		/* pr_pid */
195*6635Sab196087 	{ 20,	4,	0,	0 },		/* pr_ppid */
196*6635Sab196087 	{ 24,	4,	0,	0 },		/* pr_pgrp */
197*6635Sab196087 	{ 28,	4,	0,	0 },		/* pr_sid */
198*6635Sab196087 	{ 32,	4,	0,	0 },		/* pr_addr */
199*6635Sab196087 	{ 36,	4,	0,	0 },		/* pr_size */
200*6635Sab196087 	{ 40,	4,	0,	0 },		/* pr_rssize */
201*6635Sab196087 	{ 44,	4,	0,	0 },		/* pr_wchan */
202*6635Sab196087 	{ 48,	8,	0,	0 },		/* pr_start */
203*6635Sab196087 	{ 56,	8,	0,	0 },		/* pr_time */
204*6635Sab196087 	{ 64,	4,	0,	1 },		/* pr_pri */
205*6635Sab196087 	{ 68,	1,	0,	0 },		/* pr_oldpri */
206*6635Sab196087 	{ 69,	1,	0,	0 },		/* pr_cpu */
207*6635Sab196087 	{ 70,	2,	0,	0 },		/* pr_ottydev */
208*6635Sab196087 	{ 72,	4,	0,	0 },		/* pr_lttydev */
209*6635Sab196087 	{ 76,	1,	8,	0 },		/* pr_clname[] */
210*6635Sab196087 	{ 84,	1,	16,	0 },		/* pr_fname[] */
211*6635Sab196087 	{ 100,	1,	80,	0 },		/* pr_psargs[] */
212*6635Sab196087 	{ 180,	2,	0,	1 },		/* pr_syscall */
213*6635Sab196087 	{ 184,	8,	0,	0 },		/* pr_ctime */
214*6635Sab196087 	{ 192,	4,	0,	0 },		/* pr_bysize */
215*6635Sab196087 	{ 196,	4,	0,	0 },		/* pr_byrssize */
216*6635Sab196087 	{ 200,	4,	0,	1 },		/* pr_argc */
217*6635Sab196087 	{ 204,	4,	0,	0 },		/* pr_argv */
218*6635Sab196087 	{ 208,	4,	0,	0 },		/* pr_envp */
219*6635Sab196087 	{ 212,	4,	0,	1 },		/* pr_wstat */
220*6635Sab196087 	{ 216,	2,	0,	0 },		/* pr_pctcpu */
221*6635Sab196087 	{ 218,	2,	0,	0 },		/* pr_pctmem */
222*6635Sab196087 	{ 220,	4,	0,	0 },		/* pr_euid */
223*6635Sab196087 	{ 224,	4,	0,	0 },		/* pr_egid */
224*6635Sab196087 	{ 228,	4,	0,	0 },		/* pr_aslwpid */
225*6635Sab196087 	{ 232,	1,	0,	0 },		/* pr_dmodel */
226*6635Sab196087 };
227*6635Sab196087 
228*6635Sab196087 
229*6635Sab196087 static const sl_lwpsinfo_layout_t lwpsinfo_layout = {
230*6635Sab196087 	{ 0,	104,	0,	0 },		/* sizeof (lwpsinfo_t) */
231*6635Sab196087 	{ 0,	4,	0,	1 },		/* pr_flag */
232*6635Sab196087 	{ 4,	4,	0,	0 },		/* pr_lwpid */
233*6635Sab196087 	{ 8,	4,	0,	0 },		/* pr_addr */
234*6635Sab196087 	{ 12,	4,	0,	0 },		/* pr_wchan */
235*6635Sab196087 	{ 16,	1,	0,	0 },		/* pr_stype */
236*6635Sab196087 	{ 17,	1,	0,	0 },		/* pr_state */
237*6635Sab196087 	{ 18,	1,	0,	0 },		/* pr_sname */
238*6635Sab196087 	{ 19,	1,	0,	0 },		/* pr_nice */
239*6635Sab196087 	{ 20,	2,	0,	0 },		/* pr_syscall */
240*6635Sab196087 	{ 22,	1,	0,	0 },		/* pr_oldpri */
241*6635Sab196087 	{ 23,	1,	0,	0 },		/* pr_cpu */
242*6635Sab196087 	{ 24,	4,	0,	1 },		/* pr_pri */
243*6635Sab196087 	{ 28,	2,	0,	0 },		/* pr_pctcpu */
244*6635Sab196087 	{ 32,	8,	0,	0 },		/* pr_start */
245*6635Sab196087 	{ 40,	8,	0,	0 },		/* pr_time */
246*6635Sab196087 	{ 48,	1,	8,	0 },		/* pr_clname[] */
247*6635Sab196087 	{ 56,	1,	16,	0 },		/* pr_name[] */
248*6635Sab196087 	{ 72,	4,	0,	1 },		/* pr_onpro */
249*6635Sab196087 	{ 76,	4,	0,	1 },		/* pr_bindpro */
250*6635Sab196087 	{ 80,	4,	0,	1 },		/* pr_bindpset */
251*6635Sab196087 	{ 84,	4,	0,	1 },		/* pr_lgrp */
252*6635Sab196087 };
253*6635Sab196087 
254*6635Sab196087 
255*6635Sab196087 static const sl_prcred_layout_t prcred_layout = {
256*6635Sab196087 	{ 0,	32,	0,	0 },		/* sizeof (prcred_t) */
257*6635Sab196087 	{ 0,	4,	0,	0 },		/* pr_euid */
258*6635Sab196087 	{ 4,	4,	0,	0 },		/* pr_ruid */
259*6635Sab196087 	{ 8,	4,	0,	0 },		/* pr_suid */
260*6635Sab196087 	{ 12,	4,	0,	0 },		/* pr_egid */
261*6635Sab196087 	{ 16,	4,	0,	0 },		/* pr_rgid */
262*6635Sab196087 	{ 20,	4,	0,	0 },		/* pr_sgid */
263*6635Sab196087 	{ 24,	4,	0,	1 },		/* pr_ngroups */
264*6635Sab196087 	{ 28,	4,	1,	0 },		/* pr_groups[] */
265*6635Sab196087 };
266*6635Sab196087 
267*6635Sab196087 
268*6635Sab196087 static const sl_prpriv_layout_t prpriv_layout = {
269*6635Sab196087 	{ 0,	16,	0,	0 },		/* sizeof (prpriv_t) */
270*6635Sab196087 	{ 0,	4,	0,	0 },		/* pr_nsets */
271*6635Sab196087 	{ 4,	4,	0,	0 },		/* pr_setsize */
272*6635Sab196087 	{ 8,	4,	0,	0 },		/* pr_infosize */
273*6635Sab196087 	{ 12,	4,	1,	0 },		/* pr_sets[] */
274*6635Sab196087 };
275*6635Sab196087 
276*6635Sab196087 
277*6635Sab196087 static const sl_priv_impl_info_layout_t priv_impl_info_layout = {
278*6635Sab196087 	{ 0,	28,	0,	0 },		/* sizeof (priv_impl_info_t) */
279*6635Sab196087 	{ 0,	4,	0,	0 },		/* priv_headersize */
280*6635Sab196087 	{ 4,	4,	0,	0 },		/* priv_flags */
281*6635Sab196087 	{ 8,	4,	0,	0 },		/* priv_nsets */
282*6635Sab196087 	{ 12,	4,	0,	0 },		/* priv_setsize */
283*6635Sab196087 	{ 16,	4,	0,	0 },		/* priv_max */
284*6635Sab196087 	{ 20,	4,	0,	0 },		/* priv_infosize */
285*6635Sab196087 	{ 24,	4,	0,	0 },		/* priv_globalinfosize */
286*6635Sab196087 };
287*6635Sab196087 
288*6635Sab196087 
289*6635Sab196087 static const sl_fltset_layout_t fltset_layout = {
290*6635Sab196087 	{ 0,	16,	0,	0 },		/* sizeof (fltset_t) */
291*6635Sab196087 	{ 0,	4,	4,	0 },		/* word[] */
292*6635Sab196087 };
293*6635Sab196087 
294*6635Sab196087 
295*6635Sab196087 static const sl_siginfo_layout_t siginfo_layout = {
296*6635Sab196087 	{ 0,	128,	0,	0 },		/* sizeof (siginfo_t) */
297*6635Sab196087 	{ 0,	4,	0,	0 },		/* si_signo */
298*6635Sab196087 	{ 8,	4,	0,	0 },		/* si_errno */
299*6635Sab196087 	{ 4,	4,	0,	1 },		/* si_code */
300*6635Sab196087 	{ 20,	4,	0,	0 },		/* si_value.sival_int */
301*6635Sab196087 	{ 20,	4,	0,	0 },		/* si_value.sival_ptr */
302*6635Sab196087 	{ 12,	4,	0,	0 },		/* si_pid */
303*6635Sab196087 	{ 16,	4,	0,	0 },		/* si_uid */
304*6635Sab196087 	{ 28,	4,	0,	0 },		/* si_ctid */
305*6635Sab196087 	{ 32,	4,	0,	0 },		/* si_zoneid */
306*6635Sab196087 	{ 12,	4,	0,	0 },		/* si_entity */
307*6635Sab196087 	{ 12,	4,	0,	0 },		/* si_addr */
308*6635Sab196087 	{ 20,	4,	0,	0 },		/* si_status */
309*6635Sab196087 	{ 16,	4,	0,	0 },		/* si_band */
310*6635Sab196087 };
311*6635Sab196087 
312*6635Sab196087 
313*6635Sab196087 static const sl_sigset_layout_t sigset_layout = {
314*6635Sab196087 	{ 0,	16,	0,	0 },		/* sizeof (sigset_t) */
315*6635Sab196087 	{ 0,	4,	4,	0 },		/* __sigbits[] */
316*6635Sab196087 };
317*6635Sab196087 
318*6635Sab196087 
319*6635Sab196087 static const sl_sigaction_layout_t sigaction_layout = {
320*6635Sab196087 	{ 0,	32,	0,	0 },		/* sizeof (struct sigaction) */
321*6635Sab196087 	{ 0,	4,	0,	0 },		/* sa_flags */
322*6635Sab196087 	{ 4,	4,	0,	0 },		/* sa_handler */
323*6635Sab196087 	{ 4,	4,	0,	0 },		/* sa_sigaction */
324*6635Sab196087 	{ 8,	16,	0,	0 },		/* sa_mask */
325*6635Sab196087 };
326*6635Sab196087 
327*6635Sab196087 
328*6635Sab196087 static const sl_stack_layout_t stack_layout = {
329*6635Sab196087 	{ 0,	12,	0,	0 },		/* sizeof (stack_t) */
330*6635Sab196087 	{ 0,	4,	0,	0 },		/* ss_sp */
331*6635Sab196087 	{ 4,	4,	0,	0 },		/* ss_size */
332*6635Sab196087 	{ 8,	4,	0,	0 },		/* ss_flags */
333*6635Sab196087 };
334*6635Sab196087 
335*6635Sab196087 
336*6635Sab196087 static const sl_sysset_layout_t sysset_layout = {
337*6635Sab196087 	{ 0,	64,	0,	0 },		/* sizeof (sysset_t) */
338*6635Sab196087 	{ 0,	4,	16,	0 },		/* word[] */
339*6635Sab196087 };
340*6635Sab196087 
341*6635Sab196087 
342*6635Sab196087 static const sl_timestruc_layout_t timestruc_layout = {
343*6635Sab196087 	{ 0,	8,	0,	0 },		/* sizeof (timestruc_t) */
344*6635Sab196087 	{ 0,	4,	0,	0 },		/* tv_sec */
345*6635Sab196087 	{ 4,	4,	0,	0 },		/* tv_nsec */
346*6635Sab196087 };
347*6635Sab196087 
348*6635Sab196087 
349*6635Sab196087 static const sl_utsname_layout_t utsname_layout = {
350*6635Sab196087 	{ 0,	1285,	0,	0 },		/* sizeof (struct utsname) */
351*6635Sab196087 	{ 0,	1,	257,	0 },		/* sysname[] */
352*6635Sab196087 	{ 257,	1,	257,	0 },		/* nodename[] */
353*6635Sab196087 	{ 514,	1,	257,	0 },		/* release[] */
354*6635Sab196087 	{ 771,	1,	257,	0 },		/* version[] */
355*6635Sab196087 	{ 1028,	1,	257,	0 },		/* machine[] */
356*6635Sab196087 };
357*6635Sab196087 
358*6635Sab196087 
359*6635Sab196087 
360*6635Sab196087 
361*6635Sab196087 static const sl_arch_layout_t layout_i386 = {
362*6635Sab196087 	&auxv_layout,
363*6635Sab196087 	&fltset_layout,
364*6635Sab196087 	&lwpsinfo_layout,
365*6635Sab196087 	&lwpstatus_layout,
366*6635Sab196087 	&prcred_layout,
367*6635Sab196087 	&priv_impl_info_layout,
368*6635Sab196087 	&prpriv_layout,
369*6635Sab196087 	&psinfo_layout,
370*6635Sab196087 	&pstatus_layout,
371*6635Sab196087 	&prgregset_layout,
372*6635Sab196087 	&prpsinfo_layout,
373*6635Sab196087 	&prstatus_layout,
374*6635Sab196087 	&sigaction_layout,
375*6635Sab196087 	&siginfo_layout,
376*6635Sab196087 	&sigset_layout,
377*6635Sab196087 	&stack_layout,
378*6635Sab196087 	&sysset_layout,
379*6635Sab196087 	&timestruc_layout,
380*6635Sab196087 	&utsname_layout,
381*6635Sab196087 };
382*6635Sab196087 
383*6635Sab196087 
384*6635Sab196087 const sl_arch_layout_t *
struct_layout_i386(void)385*6635Sab196087 struct_layout_i386(void)
386*6635Sab196087 {
387*6635Sab196087 	return (&layout_i386);
388*6635Sab196087 }
389