Print this page
8158 Want named threads API
9857 proc manpages should have LIBRARY section


   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 /*
  23  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  24  * Use is subject to license terms.
  25  */
  26 /*
  27  * Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.

  28  */

  29 #include <struct_layout.h>
  30 
  31 
  32 static const sl_auxv_layout_t auxv_layout = {
  33         { 0,    8,      0,      0 },            /* sizeof (auxv_t) */
  34         { 0,    4,      0,      1 },            /* a_type */
  35         { 4,    4,      0,      1 },            /* a_un.a_val */
  36         { 4,    4,      0,      0 },            /* a_un.a_ptr */
  37         { 4,    4,      0,      0 },            /* a_un.a_fcn */
  38 };
  39 
  40 
  41 static const sl_prgregset_layout_t prgregset_layout = {
  42         { 0,    152,    0,      0 },            /* sizeof (prgregset_t) */
  43         { 0,    4,      38,     0 },            /* elt0 */
  44 };
  45 
  46 
  47 static const sl_lwpstatus_layout_t lwpstatus_layout = {
  48         { 0,    896,    0,      0 },            /* sizeof (lwpstatus_t) */


 369         { 28,   4,      0,      0 },            /* pr_rminor */
 370         { 32,   8,      0,      0 },            /* pr_ino */
 371         { 40,   8,      0,      0 },            /* pr_offset */
 372         { 48,   8,      0,      0 },            /* pr_size */
 373         { 56,   4,      0,      0 },            /* pr_fileflags */
 374         { 60,   4,      0,      0 },            /* pr_fdflags */
 375         { 64,   1,      1024,   0 },            /* pr_path[] */
 376 };
 377 
 378 
 379 static const sl_prsecflags_layout_t prsecflags_layout = {
 380         { 0,    40,     0,      0 },            /* sizeof (prsecflags_t) */
 381         { 0,    4,      0,      0 },            /* pr_version */
 382         { 8,    8,      0,      0 },            /* pr_effective */
 383         { 16,   8,      0,      0 },            /* pr_inherit */
 384         { 24,   8,      0,      0 },            /* pr_lower */
 385         { 32,   8,      0,      0 },            /* pr_upper */
 386 };
 387 
 388 





 389 
 390 


 391 static const sl_arch_layout_t layout_sparc = {
 392         &auxv_layout,
 393         &fltset_layout,
 394         &lwpsinfo_layout,
 395         &lwpstatus_layout,
 396         &prcred_layout,
 397         &priv_impl_info_layout,
 398         &prpriv_layout,
 399         &psinfo_layout,
 400         &pstatus_layout,
 401         &prgregset_layout,
 402         &prpsinfo_layout,
 403         &prstatus_layout,
 404         &sigaction_layout,
 405         &siginfo_layout,
 406         &sigset_layout,
 407         &stack_layout,
 408         &sysset_layout,
 409         &timestruc_layout,
 410         &utsname_layout,
 411         &prfdinfo_layout,
 412         &prsecflags_layout,

 413 };
 414 
 415 
 416 const sl_arch_layout_t *
 417 struct_layout_sparc(void)
 418 {
 419         return (&layout_sparc);
 420 }


   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 /*
  23  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  24  * Use is subject to license terms.
  25  */
  26 /*
  27  * Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.
  28  * Copyright 2018 Joyent, Inc.
  29  */
  30 
  31 #include <struct_layout.h>
  32 
  33 
  34 static const sl_auxv_layout_t auxv_layout = {
  35         { 0,    8,      0,      0 },            /* sizeof (auxv_t) */
  36         { 0,    4,      0,      1 },            /* a_type */
  37         { 4,    4,      0,      1 },            /* a_un.a_val */
  38         { 4,    4,      0,      0 },            /* a_un.a_ptr */
  39         { 4,    4,      0,      0 },            /* a_un.a_fcn */
  40 };
  41 
  42 
  43 static const sl_prgregset_layout_t prgregset_layout = {
  44         { 0,    152,    0,      0 },            /* sizeof (prgregset_t) */
  45         { 0,    4,      38,     0 },            /* elt0 */
  46 };
  47 
  48 
  49 static const sl_lwpstatus_layout_t lwpstatus_layout = {
  50         { 0,    896,    0,      0 },            /* sizeof (lwpstatus_t) */


 371         { 28,   4,      0,      0 },            /* pr_rminor */
 372         { 32,   8,      0,      0 },            /* pr_ino */
 373         { 40,   8,      0,      0 },            /* pr_offset */
 374         { 48,   8,      0,      0 },            /* pr_size */
 375         { 56,   4,      0,      0 },            /* pr_fileflags */
 376         { 60,   4,      0,      0 },            /* pr_fdflags */
 377         { 64,   1,      1024,   0 },            /* pr_path[] */
 378 };
 379 
 380 
 381 static const sl_prsecflags_layout_t prsecflags_layout = {
 382         { 0,    40,     0,      0 },            /* sizeof (prsecflags_t) */
 383         { 0,    4,      0,      0 },            /* pr_version */
 384         { 8,    8,      0,      0 },            /* pr_effective */
 385         { 16,   8,      0,      0 },            /* pr_inherit */
 386         { 24,   8,      0,      0 },            /* pr_lower */
 387         { 32,   8,      0,      0 },            /* pr_upper */
 388 };
 389 
 390 
 391 static const sl_prlwpname_layout_t prlwpname_layout = {
 392         { 0,    40,     0,      0 },            /* sizeof (prlwpname_t) */
 393         { 0,    8,      0,      0 },            /* pr_lwpid */
 394         { 8,    1,      32,     0 },            /* pr_lwpname[] */
 395 };
 396 
 397 
 398 
 399 
 400 static const sl_arch_layout_t layout_sparc = {
 401         &auxv_layout,
 402         &fltset_layout,
 403         &lwpsinfo_layout,
 404         &lwpstatus_layout,
 405         &prcred_layout,
 406         &priv_impl_info_layout,
 407         &prpriv_layout,
 408         &psinfo_layout,
 409         &pstatus_layout,
 410         &prgregset_layout,
 411         &prpsinfo_layout,
 412         &prstatus_layout,
 413         &sigaction_layout,
 414         &siginfo_layout,
 415         &sigset_layout,
 416         &stack_layout,
 417         &sysset_layout,
 418         &timestruc_layout,
 419         &utsname_layout,
 420         &prfdinfo_layout,
 421         &prsecflags_layout,
 422         &prlwpname_layout,
 423 };
 424 
 425 
 426 const sl_arch_layout_t *
 427 struct_layout_sparc(void)
 428 {
 429         return (&layout_sparc);
 430 }