Print this page
    
Use onbld mandoc.
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/exception_lists/packaging
          +++ new/exception_lists/packaging
   1    1  #
   2    2  # CDDL HEADER START
   3    3  #
   4    4  # The contents of this file are subject to the terms of the
   5    5  # Common Development and Distribution License (the "License").
   6    6  # You may not use this file except in compliance with the License.
   7    7  #
   8    8  # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9  # or http://www.opensolaris.org/os/licensing.
  10   10  # See the License for the specific language governing permissions
  11   11  # and limitations under the License.
  12   12  #
  13   13  # When distributing Covered Code, include this CDDL HEADER in each
  14   14  # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  
  22   22  #
  23   23  # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
  24   24  # Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  25   25  # Copyright 2012 OmniTI Computer Consulting, Inc.  All rights reserved.
  26   26  #
  27   27  
  28   28  #
  29   29  # Exception List for validate_pkg
  30   30  #
  31   31  
  32   32  #
  33   33  # The following entries are built in the /proto area
  34   34  # but not included in any packages - this is intentional.
  35   35  #
  36   36  usr/include/auth_list.h
  37   37  usr/include/bsm/audit_door_infc.h
  38   38  usr/include/bsm/audit_private.h
  39   39  usr/include/bsm/devalloc.h
  40   40  usr/include/getxby_door.h
  41   41  usr/include/passwdutil.h
  42   42  usr/include/priv_utils.h
  43   43  usr/include/rpcsvc/daemon_utils.h
  44   44  usr/include/rpcsvc/svc_dg_priv.h
  45   45  usr/include/security/pam_impl.h
  46   46  usr/include/sys/clock_impl.h
  47   47  usr/include/sys/ieeefp.h
  48   48  usr/include/sys/winlockio.h
  49   49  usr/include/scsi/plugins/ses/vendor/sun_impl.h
  50   50  #
  51   51  # Private/Internal libraries of the Cryptographic Framework.
  52   52  #
  53   53  lib/libkcfd.so
  54   54  lib/llib-lelfsign
  55   55  lib/llib-lelfsign.ln
  56   56  lib/llib-lkcfd
  57   57  lib/llib-lkcfd.ln
  58   58  usr/include/libelfsign.h
  59   59  usr/lib/llib-lsoftcrypto
  60   60  usr/lib/llib-lsoftcrypto.ln
  61   61  usr/lib/amd64/llib-lsoftcrypto.ln       i386
  62   62  usr/lib/sparcv9/llib-lsoftcrypto.ln     sparc
  63   63  
  64   64  #
  65   65  # The following files are used by the DHCP service, the
  66   66  # standalone's DHCP implementation, and the kernel (nfs_dlboot).
  67   67  # They contain interfaces which are currently private.
  68   68  #
  69   69  usr/include/dhcp_svc_confkey.h
  70   70  usr/include/dhcp_svc_confopt.h
  71   71  usr/include/dhcp_svc_private.h
  72   72  usr/include/dhcp_symbol.h
  73   73  usr/include/sys/sunos_dhcp_class.h
  74   74  usr/lib/libdhcpsvc.so
  75   75  usr/lib/llib-ldhcpsvc
  76   76  usr/lib/llib-ldhcpsvc.ln
  77   77  #
  78   78  # Private MAC driver header files
  79   79  #
  80   80  usr/include/inet/iptun.h
  81   81  usr/include/sys/aggr_impl.h
  82   82  usr/include/sys/aggr.h
  83   83  usr/include/sys/dld_impl.h
  84   84  usr/include/sys/dld_ioc.h
  85   85  usr/include/sys/dls_impl.h
  86   86  usr/include/sys/dls.h
  87   87  usr/include/sys/mac_client_impl.h
  88   88  usr/include/sys/mac_client.h
  89   89  usr/include/sys/mac_flow_impl.h
  90   90  usr/include/sys/mac_impl.h
  91   91  usr/include/sys/mac_soft_ring.h
  92   92  usr/include/sys/mac_stat.h
  93   93  #
  94   94  # Private GLDv3 userland libraries and headers
  95   95  #
  96   96  usr/include/libdladm_impl.h
  97   97  usr/include/libdlaggr.h
  98   98  usr/include/libdlether.h
  99   99  usr/include/libdlflow_impl.h
 100  100  usr/include/libdlflow.h
 101  101  usr/include/libdliptun.h
 102  102  usr/include/libdlmgmt.h
 103  103  usr/include/libdlsim.h
 104  104  usr/include/libdlstat.h
 105  105  usr/include/libdlvnic.h
 106  106  usr/include/libdlwlan_impl.h
 107  107  usr/include/libdlwlan.h
 108  108  #
 109  109  # Virtual Network Interface Card (VNIC)
 110  110  #
 111  111  usr/include/sys/vnic.h
 112  112  usr/include/sys/vnic_impl.h
 113  113  #
 114  114  # Private libipadm lint library and header files
 115  115  #
 116  116  usr/include/ipadm_ipmgmt.h
 117  117  usr/include/ipadm_ndpd.h
 118  118  usr/include/libipadm.h
 119  119  lib/llib-lipadm
 120  120  lib/llib-lipadm.ln
 121  121  lib/libipadm.so
 122  122  #
 123  123  # Private libsocket header file
 124  124  #
 125  125  usr/include/libsocket_priv.h
 126  126  #
 127  127  # IKE and IPsec support library exceptions.  The IKE support
 128  128  # library contains exclusively private interfaces, as does
 129  129  # libipsecutil.  My apologies for the glut of header files here.
 130  130  #
 131  131  usr/include/errfp.h
 132  132  usr/include/ikedoor.h
 133  133  usr/include/ipsec_util.h
 134  134  usr/lib/libike.so
 135  135  usr/lib/amd64/libike.so                 i386
 136  136  usr/lib/sparcv9/libike.so               sparc
 137  137  usr/lib/libipsecutil.so
 138  138  usr/lib/amd64/libipsecutil.so           i386
 139  139  usr/lib/sparcv9/libipsecutil.so         sparc
 140  140  usr/lib/llib-like
 141  141  usr/lib/llib-like.ln
 142  142  usr/lib/amd64/llib-like.ln              i386
 143  143  usr/lib/sparcv9/llib-like.ln            sparc
 144  144  usr/lib/llib-lipsecutil
 145  145  usr/lib/llib-lipsecutil.ln
 146  146  usr/lib/amd64/llib-lipsecutil.ln        i386
 147  147  usr/lib/sparcv9/llib-lipsecutil.ln      sparc
 148  148  #
 149  149  usr/include/inet/ip_impl.h
 150  150  usr/include/inet/ip_ndp.h
 151  151  usr/include/inet/ip2mac_impl.h
 152  152  usr/include/inet/ip2mac.h
 153  153  usr/include/inet/rawip_impl.h
 154  154  usr/include/inet/tcp_impl.h
 155  155  usr/include/inet/udp_impl.h
 156  156  usr/include/libmail.h
 157  157  usr/include/libnwam_priv.h
 158  158  usr/include/protocols/ripngd.h
 159  159  usr/include/s_string.h
 160  160  usr/include/sys/logindmux_impl.h
 161  161  usr/include/sys/vgareg.h
 162  162  #
 163  163  # Some IPsec headers can't be shipped lest we hit export controls...
 164  164  #
 165  165  usr/include/inet/ipsec_impl.h
 166  166  usr/include/inet/ipsec_info.h
 167  167  usr/include/inet/ipsecah.h
 168  168  usr/include/inet/ipsecesp.h
 169  169  usr/include/inet/keysock.h
 170  170  usr/include/inet/sadb.h
 171  171  usr/include/sys/sha1_consts.h
 172  172  usr/include/sys/sha2_consts.h
 173  173  #
 174  174  #
 175  175  # Filtering out directories not shipped
 176  176  #
 177  177  usr/4lib                                i386
 178  178  #
 179  179  # These files contain definitions shared privately between the kernel
 180  180  # and libc.  There is no reason for them to be part of a package that
 181  181  # a customer should ever see.  They are installed in the proto area by
 182  182  # the uts build because libc and and other components, like truss, are
 183  183  # dependent upon their contents and should not have their own copies.
 184  184  #
 185  185  usr/include/sys/libc_kernel.h
 186  186  usr/include/sys/synch32.h
 187  187  #
 188  188  # These files are installed in the proto area by the build of libproc for
 189  189  # the benefit of the builds of cmd/truss, cmd/gcore and cmd/ptools, which
 190  190  # use libproc as their common process-control library.  These are not
 191  191  # interfaces for customer use, so the files are excluded from packaging.
 192  192  #
 193  193  lib/llib-lproc
 194  194  lib/llib-lproc.ln
 195  195  lib/amd64/llib-lproc.ln         i386
 196  196  lib/sparcv9/llib-lproc.ln       sparc
 197  197  usr/include/libproc.h
 198  198  #
 199  199  # Private interfaces for libdisasm
 200  200  #
 201  201  usr/include/libdisasm.h
 202  202  usr/lib/llib-ldisasm
 203  203  usr/lib/llib-ldisasm.ln
 204  204  usr/lib/amd64/llib-ldisasm.ln           i386
 205  205  usr/lib/sparcv9/llib-ldisasm.ln         sparc
 206  206  #
 207  207  # Private interfaces for libraidcfg
 208  208  #
 209  209  usr/include/raidcfg_spi.h
 210  210  usr/include/raidcfg.h
 211  211  usr/lib/libraidcfg.so
 212  212  usr/lib/amd64/libraidcfg.so             i386
 213  213  usr/lib/sparcv9/libraidcfg.so           sparc
 214  214  usr/lib/llib-lraidcfg
 215  215  usr/lib/llib-lraidcfg.ln
 216  216  usr/lib/amd64/llib-lraidcfg.ln          i386
 217  217  usr/lib/sparcv9/llib-lraidcfg.ln        sparc
 218  218  #
 219  219  # This file is used for private communication between mdb, drv/kmdb, and
 220  220  # misc/kmdb.  The interfaces described herein are not intended for customer
 221  221  # use, and are thus excluded from packaging.
 222  222  #
 223  223  usr/include/sys/kmdb.h
 224  224  #
 225  225  # These files are installed in the proto area by the build of libdhcpagent
 226  226  # and libdhcputil for the benefit of DHCP-related networking commands such
 227  227  # as dhcpagent, dhcpinfo, ifconfig, and netstat.  These are not interfaces
 228  228  # for customer use, so the files are excluded from packaging.
 229  229  #
 230  230  lib/libdhcpagent.so
 231  231  lib/libdhcputil.so
 232  232  lib/amd64/libdhcputil.so                i386
 233  233  lib/sparcv9/libdhcputil.so              sparc
 234  234  lib/llib-ldhcpagent
 235  235  lib/llib-ldhcpagent.ln
 236  236  lib/llib-ldhcputil
 237  237  lib/llib-ldhcputil.ln
 238  238  lib/amd64/llib-ldhcputil.ln             i386
 239  239  lib/sparcv9/llib-ldhcputil.ln           sparc
 240  240  usr/include/dhcp_hostconf.h
 241  241  usr/include/dhcp_impl.h
 242  242  usr/include/dhcp_inittab.h
 243  243  usr/include/dhcp_stable.h
 244  244  usr/include/dhcp_symbol_common.h
 245  245  usr/include/dhcpagent_ipc.h
 246  246  usr/include/dhcpagent_util.h
 247  247  usr/include/dhcpmsg.h
 248  248  usr/lib/libdhcpagent.so
 249  249  usr/lib/libdhcputil.so
 250  250  usr/lib/amd64/libdhcputil.so            i386
 251  251  usr/lib/sparcv9/libdhcputil.so          sparc
 252  252  usr/lib/llib-ldhcpagent
 253  253  usr/lib/llib-ldhcpagent.ln
 254  254  usr/lib/llib-ldhcputil
 255  255  usr/lib/llib-ldhcputil.ln
 256  256  usr/lib/amd64/llib-ldhcputil.ln         i386
 257  257  usr/lib/sparcv9/llib-ldhcputil.ln       sparc
 258  258  #
 259  259  # These files are installed in the proto area by the build of libinstzones
 260  260  # and libpkg
 261  261  #
 262  262  usr/lib/llib-linstzones
 263  263  usr/lib/llib-linstzones.ln
 264  264  usr/lib/amd64/llib-linstzones.ln        i386
 265  265  usr/lib/sparcv9/llib-linstzones.ln      sparc
 266  266  usr/lib/llib-lpkg
 267  267  usr/lib/llib-lpkg.ln
 268  268  #
 269  269  # Don't ship header files private to libipmp and in.mpathd
 270  270  #
 271  271  usr/include/ipmp_query_impl.h
 272  272  #
 273  273  # These files are installed in the proto area by the build of libinetsvc,
 274  274  # an inetd-specific library shared by inetd, inetadm and inetconv. Only
 275  275  # the shared object is shipped.
 276  276  #
 277  277  usr/include/inetsvc.h
 278  278  usr/lib/libinetsvc.so
 279  279  usr/lib/llib-linetsvc
 280  280  usr/lib/llib-linetsvc.ln
 281  281  #
 282  282  # These files are installed in the proto area by the build of libinetutil,
 283  283  # a general purpose library for the benefit of internet utilities. Only
 284  284  # the shared object is shipped.
 285  285  #
 286  286  lib/libinetutil.so
 287  287  lib/amd64/libinetutil.so                i386
 288  288  lib/sparcv9/libinetutil.so              sparc
 289  289  lib/llib-linetutil
 290  290  lib/llib-linetutil.ln
 291  291  lib/amd64/llib-linetutil.ln             i386
 292  292  lib/sparcv9/llib-linetutil.ln           sparc
 293  293  usr/include/libinetutil.h
 294  294  usr/include/netinet/inetutil.h
 295  295  usr/include/ofmt.h
 296  296  usr/lib/libinetutil.so
 297  297  usr/lib/amd64/libinetutil.so            i386
 298  298  usr/lib/sparcv9/libinetutil.so          sparc
 299  299  usr/lib/llib-linetutil
 300  300  usr/lib/llib-linetutil.ln
 301  301  usr/lib/amd64/llib-linetutil.ln         i386
 302  302  usr/lib/sparcv9/llib-linetutil.ln       sparc
 303  303  #
 304  304  # Miscellaneous kernel interfaces or kernel<->user interfaces that are
 305  305  # consolidation private and we do not want to export at this time.
 306  306  #
 307  307  usr/include/sys/cryptmod.h
 308  308  usr/include/sys/dumpadm.h
 309  309  usr/include/sys/ontrap.h
 310  310  usr/include/sys/sysmsg_impl.h
 311  311  usr/include/sys/vlan.h
 312  312  #
 313  313  # These files are installed in the proto area so lvm can use
 314  314  # them during the build process.
 315  315  #
 316  316  lib/llib-lmeta
 317  317  lib/llib-lmeta.ln
 318  318  usr/include/sdssc.h
 319  319  usr/lib/llib-lmeta
 320  320  usr/lib/llib-lmeta.ln
 321  321  #
 322  322  # non-public pci header
 323  323  #
 324  324  usr/include/sys/pci_impl.h
 325  325  usr/include/sys/pci_tools.h
 326  326  #
 327  327  # Exception list for RCM project, included by librcm and rcm_daemon
 328  328  #
 329  329  usr/include/librcm_event.h
 330  330  usr/include/librcm_impl.h
 331  331  #
 332  332  # MDB deliverables that are not yet public
 333  333  #
 334  334  usr/lib/mdb/proc/mdb_test.so
 335  335  usr/lib/mdb/proc/sparcv9/mdb_test.so    sparc
 336  336  #
 337  337  # SNCA project exception list
 338  338  #
 339  339  usr/include/inet/kssl/kssl.h
 340  340  usr/include/inet/kssl/ksslimpl.h
 341  341  usr/include/inet/kssl/ksslproto.h
 342  342  usr/include/inet/nca
 343  343  #
 344  344  # these are "removed" from the source product build because the only
 345  345  # packages that currently deliver them are removed.
 346  346  # they really should't be in here.
 347  347  #
 348  348  etc/sfw
 349  349  #
 350  350  # Entries for the libmech_krb5 symlink, which has been included
 351  351  # for build purposes only, not delivered to customers.
 352  352  #
 353  353  usr/lib/gss/libmech_krb5.so
 354  354  usr/lib/amd64/gss/libmech_krb5.so       i386
 355  355  usr/lib/sparcv9/gss/libmech_krb5.so     sparc
 356  356  usr/lib/libmech_krb5.so
 357  357  usr/lib/amd64/libmech_krb5.so           i386
 358  358  usr/lib/sparcv9/libmech_krb5.so         sparc
 359  359  #
 360  360  # Entries for headers from efcode project which user does not need to see
 361  361  #
 362  362  usr/platform/sun4u/include/sys/fc_plat.h                        sparc
 363  363  usr/platform/sun4u/include/sys/fcode.h                          sparc
 364  364  #
 365  365  # Private net80211 headers
 366  366  #
 367  367  usr/include/sys/net80211_crypto.h
 368  368  usr/include/sys/net80211_ht.h
 369  369  usr/include/sys/net80211_proto.h
 370  370  usr/include/sys/net80211.h
 371  371  #
 372  372  usr/include/net/wpa.h
 373  373  #
 374  374  # PPPoE files not delivered to customers.
 375  375  #
 376  376  usr/include/net/pppoe.h
 377  377  usr/include/net/sppptun.h
 378  378  #
 379  379  # Simnet
 380  380  #
 381  381  usr/include/net/simnet.h
 382  382  #
 383  383  # Bridging internal data structures
 384  384  #
 385  385  usr/include/net/bridge_impl.h
 386  386  #
 387  387  # User<->kernel interface used by cfgadm/USB only
 388  388  #
 389  389  usr/include/sys/usb/hubd/hubd_impl.h
 390  390  #
 391  391  # User<->kernel interface used by cfgadm/SATA only
 392  392  #
 393  393  usr/include/sys/sata/sata_cfgadm.h                      i386
 394  394  #
 395  395  # Private ucred kernel header
 396  396  #
 397  397  usr/include/sys/ucred.h
 398  398  #
 399  399  # Private and/or platform-specific smf(5) files
 400  400  #
 401  401  lib/librestart.so
 402  402  lib/llib-lrestart
 403  403  lib/llib-lrestart.ln
 404  404  lib/amd64/llib-lrestart.ln                                      i386
 405  405  lib/sparcv9/llib-lrestart.ln                                    sparc
 406  406  usr/include/libcontract_priv.h
 407  407  usr/include/librestart_priv.h
 408  408  usr/include/librestart.h
 409  409  usr/lib/librestart.so
 410  410  usr/lib/sparcv9/librestart.so                                   sparc
 411  411  lib/svc/manifest/platform/sun4u                                 i386
 412  412  lib/svc/manifest/platform/sun4v                                 i386
 413  413  var/svc/manifest/platform/sun4u                                 i386
 414  414  var/svc/manifest/platform/sun4v                                 i386
 415  415  etc/svc/profile/platform_sun4v.xml                              i386
 416  416  etc/svc/profile/platform_SUNW,SPARC-Enterprise.xml              i386
 417  417  etc/svc/profile/platform_SUNW,Sun-Fire-15000.xml                i386
 418  418  etc/svc/profile/platform_SUNW,Sun-Fire-880.xml                  i386
 419  419  etc/svc/profile/platform_SUNW,Sun-Fire-V890.xml                 i386
 420  420  etc/svc/profile/platform_SUNW,Sun-Fire.xml                      i386
 421  421  etc/svc/profile/platform_SUNW,Ultra-Enterprise-10000.xml        i386
 422  422  etc/svc/profile/platform_SUNW,UltraSPARC-IIe-NetraCT-40.xml     i386
 423  423  etc/svc/profile/platform_SUNW,UltraSPARC-IIe-NetraCT-60.xml     i386
 424  424  etc/svc/profile/platform_SUNW,UltraSPARC-IIi-Netract.xml        i386
 425  425  #
 426  426  # Private libuutil files
 427  427  #
 428  428  lib/libuutil.so
 429  429  lib/llib-luutil
 430  430  lib/llib-luutil.ln
 431  431  lib/sparcv9/llib-luutil.ln              sparc
 432  432  usr/include/libuutil_impl.h
 433  433  usr/lib/libuutil.so
 434  434  usr/lib/sparcv9/libuutil.so             sparc
 435  435  #
 436  436  # Private Multidata file.
 437  437  #
 438  438  usr/include/sys/multidata_impl.h
 439  439  #
 440  440  # The following files are used by wanboot.
 441  441  # They contain interfaces which are currently private.
 442  442  #
 443  443  usr/include/sys/wanboot_impl.h
 444  444  usr/include/wanboot
 445  445  usr/include/wanbootutil.h
 446  446  #
 447  447  # Even though all the objects built under usr/src/stand are later glommed
 448  448  # together into a couple of second-stage boot loaders, we dump the static
 449  449  # archives and lint libraries into $(ROOT)/stand for intermediate use
 450  450  # (e.g., for lint, linking the second-stage boot loaders, ...).  Since
 451  451  # these are merely intermediate objects, they do not need to be packaged.
 452  452  #
 453  453  stand                                   sparc
 454  454  #
 455  455  # Private KCF header files
 456  456  #
 457  457  usr/include/sys/crypto/elfsign.h
 458  458  usr/include/sys/crypto/impl.h
 459  459  usr/include/sys/crypto/ops_impl.h
 460  460  usr/include/sys/crypto/sched_impl.h
 461  461  #
 462  462  # The following files are installed in the proto area
 463  463  # by the build of libavl (AVL Tree Interface Library).
 464  464  # libavl contains interfaces which are all private interfaces.
 465  465  #
 466  466  lib/libavl.so
 467  467  lib/amd64/libavl.so             i386
 468  468  lib/sparcv9/libavl.so           sparc
 469  469  lib/llib-lavl
 470  470  lib/llib-lavl.ln
 471  471  lib/amd64/llib-lavl.ln          i386
 472  472  lib/sparcv9/llib-lavl.ln        sparc
 473  473  usr/lib/libavl.so
 474  474  usr/lib/amd64/libavl.so         i386
 475  475  usr/lib/sparcv9/libavl.so       sparc
 476  476  usr/lib/llib-lavl
 477  477  usr/lib/llib-lavl.ln
 478  478  usr/lib/amd64/llib-lavl.ln      i386
 479  479  usr/lib/sparcv9/llib-lavl.ln    sparc
 480  480  #
 481  481  # The following files are installed in the proto area
 482  482  # by the build of libcmdutils (Command Utilities Library).
 483  483  # libcmdutils contains interfaces which are all private interfaces.
 484  484  #
 485  485  lib/libcmdutils.so
 486  486  lib/amd64/libcmdutils.so                i386
 487  487  lib/sparcv9/libcmdutils.so              sparc
 488  488  lib/llib-lcmdutils
 489  489  lib/llib-lcmdutils.ln
 490  490  lib/amd64/llib-lcmdutils.ln             i386
 491  491  lib/sparcv9/llib-lcmdutils.ln           sparc
 492  492  usr/include/libcmdutils.h
 493  493  usr/lib/libcmdutils.so
 494  494  usr/lib/amd64/libcmdutils.so            i386
 495  495  usr/lib/sparcv9/libcmdutils.so          sparc
 496  496  usr/lib/llib-lcmdutils
 497  497  usr/lib/llib-lcmdutils.ln
 498  498  usr/lib/amd64/llib-lcmdutils.ln         i386
 499  499  usr/lib/sparcv9/llib-lcmdutils.ln       sparc
 500  500  #
 501  501  # Private interfaces in libsec
 502  502  #
 503  503  usr/include/aclutils.h
 504  504  #
 505  505  # USB skeleton driver stays in sync with the rest of USB but doesn't ship.
 506  506  #
 507  507  kernel/drv/usbskel              i386
 508  508  kernel/drv/amd64/usbskel        i386
 509  509  kernel/drv/sparcv9/usbskel      sparc
 510  510  kernel/drv/usbskel.conf
 511  511  #
 512  512  # Consolidation and Sun private libdevid interfaces
 513  513  # Public libdevid interfaces provided by devid.h
 514  514  #
 515  515  usr/include/sys/libdevid.h
 516  516  #
 517  517  # The following files are installed in the proto area by the build of
 518  518  # libprtdiag.  libprtdiag contains interfaces which are all private.
 519  519  # Only the shared object is shipped.
 520  520  #
 521  521  usr/platform/sun4u/lib/llib-lprtdiag                            sparc
 522  522  usr/platform/sun4u/lib/llib-lprtdiag.ln                         sparc
 523  523  usr/platform/sun4v/lib/llib-lprtdiag.ln                         sparc
 524  524  #
 525  525  # The following files are installed in the proto area by the build of
 526  526  # mdesc driver in sun4v. These header files are used on in the build
 527  527  # and do not need to be shipped to customers.
 528  528  #
 529  529  usr/include/sys/mdesc.h                                 sparc
 530  530  usr/include/sys/mdesc_impl.h                            sparc
 531  531  usr/platform/sun4v/include/sys/mach_descrip.h           sparc
 532  532  #
 533  533  # The following files are installed in the proto area by the build of
 534  534  # libpcp.  libpcp contains interfaces which are all private.
 535  535  # Only the shared object is shipped.
 536  536  #
 537  537  usr/platform/sun4v/lib/llib-lpcp.ln                             sparc
 538  538  usr/platform/SUNW,Netra-CP3060/lib/llib-lpcp.ln                 sparc
 539  539  usr/platform/SUNW,Netra-CP3260/lib/llib-lpcp.ln                 sparc
 540  540  usr/platform/SUNW,Netra-T5220/lib/llib-lpcp.ln                  sparc
 541  541  usr/platform/SUNW,Netra-T5440/lib/llib-lpcp.ln                  sparc
 542  542  usr/platform/SUNW,SPARC-Enterprise-T5120/lib/llib-lpcp.ln       sparc
 543  543  usr/platform/SUNW,Sun-Blade-T6300/lib/llib-lpcp.ln              sparc
 544  544  usr/platform/SUNW,Sun-Blade-T6320/lib/llib-lpcp.ln              sparc
 545  545  usr/platform/SUNW,Sun-Fire-T200/lib/llib-lpcp.ln                sparc
 546  546  usr/platform/SUNW,T5140/lib/llib-lpcp.ln                        sparc
 547  547  usr/platform/SUNW,USBRDT-5240/lib/llib-lpcp.ln                  sparc
 548  548  #
 549  549  # ZFS internal tools and lint libraries
 550  550  #
 551  551  usr/lib/llib-lzfs_jni
 552  552  usr/lib/llib-lzfs_jni.ln
 553  553  usr/lib/amd64/llib-lzfs_jni.ln          i386
 554  554  usr/lib/sparcv9/llib-lzfs_jni.ln        sparc
 555  555  usr/lib/llib-lzpool
 556  556  usr/lib/llib-lzpool.ln                  i386
 557  557  usr/lib/amd64/llib-lzpool.ln            i386
 558  558  usr/lib/sparcv9/llib-lzpool.ln          sparc
 559  559  #
 560  560  # ZFS JNI headers
 561  561  #
 562  562  usr/include/libzfs_jni_dataset.h
 563  563  usr/include/libzfs_jni_disk.h
 564  564  usr/include/libzfs_jni_diskmgt.h
 565  565  usr/include/libzfs_jni_ipool.h
 566  566  usr/include/libzfs_jni_main.h
 567  567  usr/include/libzfs_jni_pool.h
 568  568  usr/include/libzfs_jni_property.h
 569  569  usr/include/libzfs_jni_util.h
 570  570  #
 571  571  # These files are installed in the proto area for Solaris scsi_vhci driver
 572  572  # (for MPAPI support) and should not be shipped
 573  573  #
 574  574  usr/include/sys/scsi/adapters/mpapi_impl.h
 575  575  usr/include/sys/scsi/adapters/mpapi_scsi_vhci.h
 576  576  #
 577  577  # This library is installed in the proto area by the build of libdisasm, and is
 578  578  # only used when building the KMDB disasm module.
 579  579  #
 580  580  usr/lib/libstanddisasm.so
 581  581  usr/lib/amd64/libstanddisasm.so         i386
 582  582  usr/lib/sparcv9/libstanddisasm.so       sparc
 583  583  #
 584  584  # TSol: tsol doesn't ship lint source, and tsnet isn't for customers at all.
 585  585  #
 586  586  lib/libtsnet.so
 587  587  usr/lib/llib-ltsnet
 588  588  usr/lib/llib-ltsol
 589  589  #
 590  590  # nss interfaces shared between libnsl and other ON libraries.
 591  591  #
 592  592  usr/include/nss.h
 593  593  #
 594  594  # AT&T AST (ksh93) files which are currently needed only to build OS/Net
 595  595  # (msgcc&co.)
 596  596  # libast
 597  597  usr/lib/libast.so
 598  598  usr/lib/amd64/libast.so                 i386
 599  599  usr/lib/sparcv9/libast.so               sparc
 600  600  usr/lib/llib-last
 601  601  usr/lib/llib-last.ln
 602  602  usr/lib/amd64/llib-last.ln              i386
 603  603  usr/lib/sparcv9/llib-last.ln            sparc
 604  604  # libcmd
 605  605  usr/lib/llib-lcmd
 606  606  usr/lib/llib-lcmd.ln
 607  607  usr/lib/amd64/llib-lcmd.ln              i386
 608  608  usr/lib/sparcv9/llib-lcmd.ln            sparc
 609  609  # libdll
 610  610  usr/lib/libdll.so
 611  611  usr/lib/amd64/libdll.so                 i386
 612  612  usr/lib/sparcv9/libdll.so               sparc
 613  613  usr/lib/llib-ldll
 614  614  usr/lib/llib-ldll.ln
 615  615  usr/lib/amd64/llib-ldll.ln              i386
 616  616  usr/lib/sparcv9/llib-ldll.ln            sparc
 617  617  # libpp (a helper library needed by AST's msgcc)
 618  618  usr/lib/libpp.so
 619  619  usr/lib/llib-lpp
 620  620  usr/lib/llib-lpp.ln
 621  621  usr/lib/locale/C/LC_MESSAGES/libpp
 622  622  # libshell
 623  623  usr/lib/libshell.so
 624  624  usr/lib/amd64/libshell.so               i386
 625  625  usr/lib/sparcv9/libshell.so             sparc
 626  626  usr/lib/llib-lshell
 627  627  usr/lib/llib-lshell.ln
 628  628  usr/lib/amd64/llib-lshell.ln            i386
 629  629  usr/lib/sparcv9/llib-lshell.ln          sparc
 630  630  # libsum
 631  631  usr/lib/libsum.so
 632  632  usr/lib/amd64/libsum.so                 i386
 633  633  usr/lib/sparcv9/libsum.so               sparc
 634  634  usr/lib/llib-lsum
 635  635  usr/lib/llib-lsum.ln
 636  636  usr/lib/amd64/llib-lsum.ln              i386
 637  637  usr/lib/sparcv9/llib-lsum.ln            sparc
 638  638  #
 639  639  # This file is used in ON to build DSCP clients.  It is not for customers.
 640  640  #
 641  641  usr/include/libdscp.h           sparc
 642  642  #
 643  643  # These files are used by the iSCSI Target and the iSCSI Initiator
 644  644  #
 645  645  usr/include/sys/iscsi_protocol.h
 646  646  usr/include/sys/iscsi_authclient.h
 647  647  usr/include/sys/iscsi_authclientglue.h
 648  648  #
 649  649  # These files are used by the COMSTAR iSCSI target port provider
 650  650  #
 651  651  usr/include/sys/idm
 652  652  usr/include/sys/iscsit/chap.h
 653  653  usr/include/sys/iscsit/iscsi_if.h
 654  654  usr/include/sys/iscsit/isns_protocol.h
 655  655  usr/include/sys/iscsit/radius_packet.h
 656  656  usr/include/sys/iscsit/radius_protocol.h
 657  657  #
 658  658  # libshare is private and the 64-bit sharemgr is not delivered.
 659  659  #
 660  660  usr/lib/libshare.so
 661  661  usr/lib/amd64/libshare.so               i386
 662  662  usr/lib/sparcv9/libshare.so             sparc
 663  663  usr/lib/fs/autofs/libshare_autofs.so
 664  664  usr/lib/fs/autofs/amd64/libshare_autofs.so              i386
 665  665  usr/lib/fs/autofs/sparcv9/libshare_autofs.so            sparc
 666  666  usr/lib/fs/nfs/libshare_nfs.so
 667  667  usr/lib/fs/nfs/amd64/libshare_nfs.so            i386
 668  668  usr/lib/fs/nfs/sparcv9/libshare_nfs.so          sparc
 669  669  usr/lib/fs/smb/libshare_smb.so
 670  670  usr/lib/fs/smb/amd64/libshare_smb.so            i386
 671  671  usr/lib/fs/smb/sparcv9/libshare_smb.so          sparc
 672  672  usr/lib/fs/smbfs/libshare_smbfs.so
 673  673  usr/lib/fs/smbfs/amd64/libshare_smbfs.so        i386
 674  674  usr/lib/fs/smbfs/sparcv9/libshare_smbfs.so      sparc
 675  675  usr/include/libshare_impl.h
 676  676  usr/include/scfutil.h
 677  677  #
 678  678  # These files are installed in the proto area by the build of libpri for
 679  679  # the benefit of the builds of FMA libldom, Zeus, picld plugins, and/or
 680  680  # other libpri consumers. However, the libpri interfaces are private to
 681  681  # Sun (Consolidation Private) and not intended for customer use. So these
 682  682  # files (the symlink and the lint library) are excluded from packaging.
 683  683  #
 684  684  usr/lib/libpri.so               sparc
 685  685  usr/lib/llib-lpri               sparc
 686  686  usr/lib/llib-lpri.ln            sparc
 687  687  usr/lib/sparcv9/libpri.so       sparc
 688  688  usr/lib/sparcv9/llib-lpri.ln    sparc
 689  689  #
 690  690  # These files are installed in the proto area by the build of libds for
 691  691  # the benefit of the builds of sun4v IO FMA and/or other libds
 692  692  # consumers.  However, the libds interfaces are private to Sun
 693  693  # (Consolidation Private) and not intended for customer use. So these
 694  694  # files (the symlink and the lint library) are excluded from packaging.
 695  695  #
 696  696  usr/lib/libds.so                        sparc
 697  697  usr/lib/sparcv9/libds.so                sparc
 698  698  usr/lib/llib-lds                        sparc
 699  699  usr/lib/llib-lds.ln                     sparc
 700  700  usr/lib/sparcv9/llib-lds.ln             sparc
 701  701  usr/lib/libdscfg.so
 702  702  usr/lib/llib-ldscfg.ln
 703  703  usr/platform/sun4v/include/sys/libds.h  sparc
 704  704  usr/platform/sun4v/include/sys/vlds.h   sparc
 705  705  #
 706  706  # Private/Internal u8_textprep header file. Do not ship.
 707  707  #
 708  708  usr/include/sys/u8_textprep_data.h
 709  709  #
 710  710  # SQLite is private, used by SMF (svc.configd), idmapd and libsmb.
 711  711  #
 712  712  usr/include/sqlite
 713  713  usr/lib/libsqlite-native.o
 714  714  usr/lib/libsqlite.o
 715  715  usr/lib/llib-lsqlite.ln
 716  716  usr/lib/smbsrv/libsqlite.so
 717  717  #
 718  718  # Private/Internal kiconv header files. Do not ship.
 719  719  #
 720  720  usr/include/sys/kiconv_big5_utf8.h
 721  721  usr/include/sys/kiconv_cck_common.h
 722  722  usr/include/sys/kiconv_cp950hkscs_utf8.h
 723  723  usr/include/sys/kiconv_emea1.h
 724  724  usr/include/sys/kiconv_emea2.h
 725  725  usr/include/sys/kiconv_euckr_utf8.h
 726  726  usr/include/sys/kiconv_euctw_utf8.h
 727  727  usr/include/sys/kiconv_gb18030_utf8.h
 728  728  usr/include/sys/kiconv_gb2312_utf8.h
 729  729  usr/include/sys/kiconv_hkscs_utf8.h
 730  730  usr/include/sys/kiconv_ja_jis_to_unicode.h
 731  731  usr/include/sys/kiconv_ja_unicode_to_jis.h
 732  732  usr/include/sys/kiconv_ja.h
 733  733  usr/include/sys/kiconv_ko.h
 734  734  usr/include/sys/kiconv_latin1.h
 735  735  usr/include/sys/kiconv_sc.h
 736  736  usr/include/sys/kiconv_tc.h
 737  737  usr/include/sys/kiconv_uhc_utf8.h
 738  738  usr/include/sys/kiconv_utf8_big5.h
 739  739  usr/include/sys/kiconv_utf8_cp950hkscs.h
 740  740  usr/include/sys/kiconv_utf8_euckr.h
 741  741  usr/include/sys/kiconv_utf8_euctw.h
 742  742  usr/include/sys/kiconv_utf8_gb18030.h
 743  743  usr/include/sys/kiconv_utf8_gb2312.h
 744  744  usr/include/sys/kiconv_utf8_hkscs.h
 745  745  usr/include/sys/kiconv_utf8_uhc.h
 746  746  #
 747  747  # At this time, the ttydefs.cleanup file is only useful on sun4u systems
 748  748  #
 749  749  etc/flash/postdeployment/ttydefs.cleanup        i386
 750  750  #
 751  751  # This header file is shared only between the power commands and
 752  752  # ppm/srn modules # and should not be in any package
 753  753  #
 754  754  usr/include/sys/srn.h
 755  755  #
 756  756  # Private/Internal header files of smbsrv. Do not ship.
 757  757  #
 758  758  usr/include/smb
 759  759  usr/include/smbsrv
 760  760  #
 761  761  # Private/Internal dtrace scripts of smbsrv. Do not ship.
 762  762  #
 763  763  usr/lib/smbsrv/dtrace
 764  764  #
 765  765  # Private/Internal (lint) libraries of smbsrv. Do not ship.
 766  766  #
 767  767  usr/lib/reparse/llib-lreparse_smb
 768  768  usr/lib/reparse/llib-lreparse_smb.ln
 769  769  usr/lib/smbsrv/llib-lmlrpc
 770  770  usr/lib/smbsrv/llib-lmlrpc.ln
 771  771  usr/lib/smbsrv/llib-lmlsvc
 772  772  usr/lib/smbsrv/llib-lmlsvc.ln
 773  773  usr/lib/smbsrv/llib-lsmb
 774  774  usr/lib/smbsrv/llib-lsmb.ln
 775  775  usr/lib/smbsrv/llib-lsmbns
 776  776  usr/lib/smbsrv/llib-lsmbns.ln
 777  777  #
 778  778  #
 779  779  # Private/Internal 64-bit libraries of smbsrv. Do not ship.
 780  780  #
 781  781  usr/lib/smbsrv/amd64                            i386
 782  782  usr/lib/smbsrv/sparcv9                          sparc
 783  783  
 784  784  usr/lib/reparse/amd64/libreparse_smb.so         i386
 785  785  usr/lib/reparse/amd64/libreparse_smb.so.1       i386
 786  786  usr/lib/reparse/amd64/llib-lreparse_smb.ln      i386
 787  787  usr/lib/reparse/sparcv9/libreparse_smb.so       sparc
 788  788  usr/lib/reparse/sparcv9/libreparse_smb.so.1     sparc
 789  789  usr/lib/reparse/sparcv9/llib-lreparse_smb.ln    sparc
 790  790  #
 791  791  # Private dirent, extended to include flags, for use by SMB server
 792  792  #
 793  793  usr/include/sys/extdirent.h
 794  794  #
 795  795  # Private header files for vscan service
 796  796  #
 797  797  usr/include/libvscan.h
 798  798  usr/include/sys/vscan.h
 799  799  #
 800  800  # libvscan is private
 801  801  #
 802  802  usr/lib/vscan/llib-lvscan
 803  803  usr/lib/vscan/llib-lvscan.ln
 804  804  #
 805  805  # i86hvm is not a full platform.  It is just a home for paravirtualized
 806  806  # drivers.  There is no usr/ component to this sub-platform, but the
 807  807  # directory is created in the proto area to keep other tools happy.
 808  808  #
 809  809  usr/platform/i86hvm                                             i386
 810  810  #
 811  811  # Private sdcard framework headers
 812  812  #
 813  813  usr/include/sys/sdcard
 814  814  #
 815  815  # libsmbfs is private
 816  816  #
 817  817  usr/include/netsmb
 818  818  usr/lib/libsmbfs.so
 819  819  usr/lib/amd64/libsmbfs.so               i386
 820  820  usr/lib/sparcv9/libsmbfs.so             sparc
 821  821  usr/lib/llib-lsmbfs
 822  822  usr/lib/llib-lsmbfs.ln
 823  823  usr/lib/amd64/llib-lsmbfs.ln            i386
 824  824  usr/lib/sparcv9/llib-lsmbfs.ln          sparc
 825  825  #
 826  826  # demo & test program for smbfs (private) ACL support
 827  827  #
 828  828  usr/lib/fs/smbfs/chacl
 829  829  usr/lib/fs/smbfs/lsacl
 830  830  usr/lib/fs/smbfs/testnp
 831  831  #
 832  832  # FC related files
 833  833  kernel/kmdb/fcip                i386
 834  834  kernel/kmdb/amd64/fcip          i386
 835  835  kernel/kmdb/sparcv9/fcip        sparc
 836  836  kernel/kmdb/fcp                 i386
 837  837  kernel/kmdb/amd64/fcp           i386
 838  838  kernel/kmdb/sparcv9/fcp         sparc
 839  839  kernel/kmdb/fctl                i386
 840  840  kernel/kmdb/amd64/fctl          i386
 841  841  kernel/kmdb/sparcv9/fctl        sparc
 842  842  kernel/kmdb/qlc                 i386
 843  843  kernel/kmdb/amd64/qlc           i386
 844  844  kernel/kmdb/sparcv9/qlc         sparc
 845  845  lib/llib-la5k                   sparc
 846  846  lib/llib-la5k.ln                sparc
 847  847  lib/sparcv9/llib-la5k.ln        sparc
 848  848  lib/llib-lg_fc                  sparc
 849  849  lib/llib-lg_fc.ln               sparc
 850  850  lib/sparcv9/llib-lg_fc.ln       sparc
 851  851  usr/include/a_state.h           sparc
 852  852  usr/include/a5k.h               sparc
 853  853  usr/include/exec.h              sparc
 854  854  usr/include/g_scsi.h            sparc
 855  855  usr/include/g_state.h           sparc
 856  856  usr/include/gfc.h               sparc
 857  857  usr/include/l_common.h          sparc
 858  858  usr/include/l_error.h           sparc
 859  859  usr/include/rom.h               sparc
 860  860  usr/include/stgcom.h            sparc
 861  861  usr/include/sys/fibre-channel
 862  862  usr/lib/llib-lHBAAPI
 863  863  usr/lib/llib-lHBAAPI.ln
 864  864  usr/lib/amd64/llib-lHBAAPI.ln   i386
 865  865  usr/lib/sparcv9/llib-lHBAAPI.ln sparc
 866  866  #
 867  867  usr/bin/dscfgcli
 868  868  usr/bin/sd_diag
 869  869  usr/bin/sd_stats
 870  870  usr/include/nsctl.h
 871  871  usr/include/sys/ncall
 872  872  usr/include/sys/nsc_ddi.h
 873  873  usr/include/sys/nsc_thread.h
 874  874  usr/include/sys/nsctl
 875  875  usr/include/sys/nskernd.h
 876  876  usr/include/sys/unistat
 877  877  usr/lib/libnsctl.so
 878  878  usr/lib/librdc.so
 879  879  usr/lib/libunistat.so
 880  880  usr/lib/llib-lnsctl.ln
 881  881  usr/lib/llib-lrdc.ln
 882  882  usr/lib/llib-lunistat.ln
 883  883  #
 884  884  # These files are used by the iSCSI initiator only.
 885  885  # No reason to ship them.
 886  886  #
 887  887  usr/include/sys/scsi/adapters/iscsi_door.h
 888  888  usr/include/sys/scsi/adapters/iscsi_if.h
 889  889  #
 890  890  # sbd ioctl hdr
 891  891  #
 892  892  usr/include/sys/stmf_sbd_ioctl.h
 893  893  #
 894  894  # proxy port provider interface
 895  895  #
 896  896  usr/include/sys/pppt_ic_if.h
 897  897  usr/include/sys/pppt_ioctl.h
 898  898  #
 899  899  # proxy daemon lint library
 900  900  #
 901  901  usr/lib/llib-lstmfproxy
 902  902  usr/lib/llib-lstmfproxy.ln
 903  903  usr/lib/amd64/llib-lstmfproxy.ln        i386
 904  904  usr/lib/sparcv9/llib-lstmfproxy.ln      sparc
 905  905  #
 906  906  # portable object file and dictionary used by libfmd_msg test
 907  907  #
 908  908  usr/lib/fm/dict/TEST.dict
 909  909  usr/lib/locale/C/LC_MESSAGES/TEST.mo
 910  910  usr/lib/locale/C/LC_MESSAGES/TEST.po
 911  911  #
 912  912  # Private idmap RPC protocol
 913  913  #
 914  914  usr/include/rpcsvc/idmap_prot.h
 915  915  usr/include/rpcsvc/idmap_prot.x
 916  916  #
 917  917  # Private idmap directory API
 918  918  #
 919  919  usr/include/directory.h
 920  920  #
 921  921  # librstp is private for bridging
 922  922  #
 923  923  usr/include/stp_bpdu.h
 924  924  usr/include/stp_in.h
 925  925  usr/include/stp_vectors.h
 926  926  usr/lib/librstp.so
 927  927  usr/lib/llib-lrstp
 928  928  usr/lib/llib-lrstp.ln
 929  929  #
 930  930  # Private nvfru API
 931  931  #
 932  932  usr/include/nvfru.h
 933  933  #
 934  934  # vrrp
 935  935  #
 936  936  usr/include/libvrrpadm.h
 937  937  usr/lib/libvrrpadm.so
 938  938  usr/lib/amd64/libvrrpadm.so             i386
  
    | 
      ↓ open down ↓ | 
    938 lines elided | 
    
      ↑ open up ↑ | 
  
 939  939  usr/lib/sparcv9/libvrrpadm.so           sparc
 940  940  usr/lib/llib-lvrrpadm
 941  941  usr/lib/llib-lvrrpadm.ln
 942  942  usr/lib/amd64/llib-lvrrpadm.ln          i386
 943  943  usr/lib/sparcv9/llib-lvrrpadm.ln        sparc
 944  944  #
 945  945  # This is only used during the -t tools build
 946  946  #
 947  947  opt/onbld/bin/i386/elfsign      i386
 948  948  opt/onbld/bin/sparc/elfsign     sparc
      949 +opt/onbld/bin/i386/mandoc       i386
      950 +opt/onbld/bin/sparc/mandoc      sparc
 949  951  
 950  952  #
 951  953  # Private libdwarf
 952  954  #
 953  955  opt/onbld/lib/i386/libdwarf.so  i386
 954  956  opt/onbld/lib/sparc/libdwarf.so sparc
 955  957  
 956  958  #
 957  959  # Private socket filter API
 958  960  #
 959  961  usr/include/sys/sockfilter.h
 960  962  #
 961  963  # We don't actually validate license action payloads, and the license
 962  964  # staging area is provided as a separate basedir for package
 963  965  # publication.  The net result is that everything therein should be
 964  966  # ignored for packaging validation.
 965  967  #
 966  968  licenses
 967  969  #
 968  970  # Libbe is private
 969  971  #
 970  972  usr/include/libbe_priv.h
 971  973  #
 972  974  # ipmi is at present only useful on i386, but for historical reasons is
 973  975  # delivered on SPARC and used by the build.
 974  976  #
 975  977  usr/include/sys/ipmi.h  sparc
 976  978  
 977  979  #
 978  980  # libsaveargs is private
 979  981  #
 980  982  usr/include/saveargs.h                  i386
 981  983  usr/lib/amd64/libsaveargs.so            i386
 982  984  usr/lib/amd64/libstandsaveargs.so       i386
 983  985  usr/lib/amd64/llib-lsaveargs.ln         i386
 984  986  
 985  987  #
 986  988  # libpcidb is private
 987  989  #
 988  990  usr/include/pcidb.h
 989  991  usr/lib/amd64/libpcidb.so               i386
 990  992  usr/lib/amd64/llib-lpcidb.ln            i386
 991  993  usr/lib/sparcv9/libpcidb.so             sparc
 992  994  usr/lib/sparcv9/llib-lpcidb.ln          sparc
 993  995  usr/lib/libpcidb.so
 994  996  usr/lib/llib-lpcidb
 995  997  usr/lib/llib-lpcidb.ln
  
    | 
      ↓ open down ↓ | 
    37 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX