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