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 
  30 #include <struct_layout.h>
  31 
  32 
  33 static const sl_auxv_layout_t auxv_layout = {
  34         { 0,    16,     0,      0 },            /* sizeof (auxv_t) */
  35         { 0,    4,      0,      1 },            /* a_type */
  36         { 8,    8,      0,      1 },            /* a_un.a_val */
  37         { 8,    8,      0,      0 },            /* a_un.a_ptr */
  38         { 8,    8,      0,      0 },            /* a_un.a_fcn */
  39 };
  40 
  41 
  42 static const sl_prgregset_layout_t prgregset_layout = {
  43         { 0,    304,    0,      0 },            /* sizeof (prgregset_t) */
  44         { 0,    8,      38,     0 },            /* elt0 */
  45 };
  46 
  47 


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





 390 
 391 


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

 414 };
 415 
 416 
 417 const sl_arch_layout_t *
 418 struct_layout_sparcv9(void)
 419 {
 420         return (&layout_sparcv9);
 421 }


   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,    16,     0,      0 },            /* sizeof (auxv_t) */
  36         { 0,    4,      0,      1 },            /* a_type */
  37         { 8,    8,      0,      1 },            /* a_un.a_val */
  38         { 8,    8,      0,      0 },            /* a_un.a_ptr */
  39         { 8,    8,      0,      0 },            /* a_un.a_fcn */
  40 };
  41 
  42 
  43 static const sl_prgregset_layout_t prgregset_layout = {
  44         { 0,    304,    0,      0 },            /* sizeof (prgregset_t) */
  45         { 0,    8,      38,     0 },            /* elt0 */
  46 };
  47 
  48 


 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_sparcv9 = {
 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_sparcv9(void)
 428 {
 429         return (&layout_sparcv9);
 430 }