# 1 "common/apptrace.c" # 1 "" # 1 "" # 1 "common/apptrace.c" /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1988 AT&T * All Rights Reserved * * Copyright 2014 Garrett D'Amore * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2015 EveryCity Ltd. All rights reserved. */ /* * This file contains definitions designed to enable different compilers * to be used harmoniously on Solaris systems. */ /* * Allow for version tests for compiler bugs and features. */ # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" /* * analogous to lint's PRINTFLIKEn */ /* * Handle the kernel printf routines that can take '%b' too */ # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" /* * This one's pretty obvious -- the function never returns */ /* * The function is 'extern inline' and expects GNU C89 behaviour, not C99 * behaviour. * * Should only be used on 'extern inline' definitions for GCC. */ /* * The function has control flow such that it may return multiple times (in * the manner of setjmp or vfork) */ /* * This is an appropriate label for functions that do not * modify their arguments, e.g. strlen() */ /* * This is a stronger form of __pure__. Can be used for functions * that do not modify their arguments and don't depend on global * memory. */ /* * This attribute, attached to a variable, means that the variable is meant to * be possibly unused. GCC will not produce a warning for this variable. */ # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" /* * Shorthand versions for readability */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ /* * This header file serves to group a set of well known defines and to * set these for each instruction set architecture. These defines may * be divided into two groups; characteristics of the processor and * implementation choices for Solaris on a processor. * * Processor Characteristics: * * _LITTLE_ENDIAN / _BIG_ENDIAN: * The natural byte order of the processor. A pointer to an int points * to the least/most significant byte of that int. * * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD: * The processor specific direction of stack growth. A push onto the * stack increases/decreases the stack pointer, so it stores data at * successively higher/lower addresses. (Stackless machines ignored * without regrets). * * _LONG_LONG_HTOL / _LONG_LONG_LTOH: * A pointer to a long long points to the most/least significant long * within that long long. * * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH: * The C compiler assigns bit fields from the high/low to the low/high end * of an int (most to least significant vs. least to most significant). * * _IEEE_754: * The processor (or supported implementations of the processor) * supports the ieee-754 floating point standard. No other floating * point standards are supported (or significant). Any other supported * floating point formats are expected to be cased on the ISA processor * symbol. * * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED: * The C Compiler implements objects of type `char' as `unsigned' or * `signed' respectively. This is really an implementation choice of * the compiler writer, but it is specified in the ABI and tends to * be uniform across compilers for an instruction set architecture. * Hence, it has the properties of a processor characteristic. * * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT / * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT / * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT: * The ABI defines alignment requirements of each of the primitive * object types. Some, if not all, may be hardware requirements as * well. The values are expressed in "byte-alignment" units. * * _MAX_ALIGNMENT: * The most stringent alignment requirement as specified by the ABI. * Equal to the maximum of all the above _XXX_ALIGNMENT values. * * _MAX_ALIGNMENT_TYPE: * The name of the C type that has the value descried in _MAX_ALIGNMENT. * * _ALIGNMENT_REQUIRED: * True or false (1 or 0) whether or not the hardware requires the ABI * alignment. * * _LONG_LONG_ALIGNMENT_32 * The 32-bit ABI supported by a 64-bit kernel may have different * alignment requirements for primitive object types. The value of this * identifier is expressed in "byte-alignment" units. * * _HAVE_CPUID_INSN * This indicates that the architecture supports the 'cpuid' * instruction as defined by Intel. (Intel allows other vendors * to extend the instruction for their own purposes.) * * * Implementation Choices: * * _ILP32 / _LP64: * This specifies the compiler data type implementation as specified in * the relevant ABI. The choice between these is strongly influenced * by the underlying hardware, but is not absolutely tied to it. * Currently only two data type models are supported: * * _ILP32: * Int/Long/Pointer are 32 bits. This is the historical UNIX * and Solaris implementation. Due to its historical standing, * this is the default case. * * _LP64: * Long/Pointer are 64 bits, Int is 32 bits. This is the chosen * implementation for 64-bit ABIs such as SPARC V9. * * _I32LPx: * A compilation environment where 'int' is 32-bit, and * longs and pointers are simply the same size. * * In all cases, Char is 8 bits and Short is 16 bits. * * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16: * This specifies the form of the disk VTOC (or label): * * _SUNOS_VTOC_8: * This is a VTOC form which is upwardly compatible with the * SunOS 4.x disk label and allows 8 partitions per disk. * * _SUNOS_VTOC_16: * In this format the incore vtoc image matches the ondisk * version. It allows 16 slices per disk, and is not * compatible with the SunOS 4.x disk label. * * Note that these are not the only two VTOC forms possible and * additional forms may be added. One possible form would be the * SVr4 VTOC form. The symbol for that is reserved now, although * it is not implemented. * * _SVR4_VTOC_16: * This VTOC form is compatible with the System V Release 4 * VTOC (as implemented on the SVr4 Intel and 3b ports) with * 16 partitions per disk. * * * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR * This describes the type of addresses used by system DMA: * * _DMA_USES_PHYSADDR: * This type of DMA, used in the x86 implementation, * requires physical addresses for DMA buffers. The 24-bit * addresses used by some legacy boards is the source of the * "low-memory" (<16MB) requirement for some devices using DMA. * * _DMA_USES_VIRTADDR: * This method of DMA allows the use of virtual addresses for * DMA transfers. * * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT * This indicates the presence/absence of an fdisk table. * * _FIRMWARE_NEEDS_FDISK * The fdisk table is required by system firmware. If present, * it allows a disk to be subdivided into multiple fdisk * partitions, each of which is equivalent to a separate, * virtual disk. This enables the co-existence of multiple * operating systems on a shared hard disk. * * _NO_FDISK_PRESENT * If the fdisk table is absent, it is assumed that the entire * media is allocated for a single operating system. * * _HAVE_TEM_FIRMWARE * Defined if this architecture has the (fallback) option of * using prom_* calls for doing I/O if a suitable kernel driver * is not available to do it. * * _DONT_USE_1275_GENERIC_NAMES * Controls whether or not device tree node names should * comply with the IEEE 1275 "Generic Names" Recommended * Practice. With _DONT_USE_GENERIC_NAMES, device-specific * names identifying the particular device will be used. * * __i386_COMPAT * This indicates whether the i386 ABI is supported as a *non-native* * mode for the platform. When this symbol is defined: * - 32-bit xstat-style system calls are enabled * - 32-bit xmknod-style system calls are enabled * - 32-bit system calls use i386 sizes -and- alignments * * Note that this is NOT defined for the i386 native environment! * * __x86 * This is ONLY a synonym for defined(__i386) || defined(__amd64) * which is useful only insofar as these two architectures share * common attributes. Analogous to __sparc. * * _PSM_MODULES * This indicates whether or not the implementation uses PSM * modules for processor support, reading /etc/mach from inside * the kernel to extract a list. * * _RTC_CONFIG * This indicates whether or not the implementation uses /etc/rtc_config * to configure the real-time clock in the kernel. * * _UNIX_KRTLD * This indicates that the implementation uses a dynamically * linked unix + krtld to form the core kernel image at boot * time, or (in the absence of this symbol) a prelinked kernel image. * * _OBP * This indicates the firmware interface is OBP. * * _SOFT_HOSTID * This indicates that the implementation obtains the hostid * from the file /etc/hostid, rather than from hardware. */ /* * The following set of definitions characterize Solaris on AMD's * 64-bit systems. */ # 305 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" /* * Define the appropriate "processor characteristics" */ # 333 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" /* * Define the appropriate "implementation choices". */ # 351 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" /* * The following set of definitions characterize the Solaris on SPARC systems. * * The symbol __sparc indicates any of the SPARC family of processor * architectures. This includes SPARC V7, SPARC V8 and SPARC V9. * * The symbol __sparcv8 indicates the 32-bit SPARC V8 architecture as defined * by Version 8 of the SPARC Architecture Manual. (SPARC V7 is close enough * to SPARC V8 for the former to be subsumed into the latter definition.) * * The symbol __sparcv9 indicates the 64-bit SPARC V9 architecture as defined * by Version 9 of the SPARC Architecture Manual. * * The symbols __sparcv8 and __sparcv9 are mutually exclusive, and are only * relevant when the symbol __sparc is defined. */ /* * XXX Due to the existence of 5110166, "defined(__sparcv9)" needs to be added * to support backwards builds. This workaround should be removed in s10_71. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 /* * Values of _POSIX_C_SOURCE * * undefined not a POSIX compilation * 1 POSIX.1-1990 compilation * 2 POSIX.2-1992 compilation * 199309L POSIX.1b-1993 compilation (Real Time) * 199506L POSIX.1c-1995 compilation (POSIX Threads) * 200112L POSIX.1-2001 compilation (Austin Group Revision) * 200809L POSIX.1-2008 compilation */ /* * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS, * and _STDC_C99 are Sun implementation specific macros created in order to * compress common standards specified feature test macros for easier reading. * These macros should not be used by the application developer as * unexpected results may occur. Instead, the user should reference * standards(5) for correct usage of the standards feature test macros. * * __XOPEN_OR_POSIX Used in cases where a symbol is defined by both * X/Open or POSIX or in the negative, when neither * X/Open or POSIX defines a symbol. * * _STRICT_STDC __STDC__ is specified by the C Standards and defined * by the compiler. For Sun compilers the value of * __STDC__ is either 1, 0, or not defined based on the * compilation mode (see cc(1)). When the value of * __STDC__ is 1 and in the absence of any other feature * test macros, the namespace available to the application * is limited to only those symbols defined by the C * Standard. _STRICT_STDC provides a more readable means * of identifying symbols defined by the standard, or in * the negative, symbols that are extensions to the C * Standard. See additional comments for GNU C differences. * * _STDC_C99 __STDC_VERSION__ is specified by the C standards and * defined by the compiler and indicates the version of * the C standard. A value of 199901L indicates a * compiler that complies with ISO/IEC 9899:1999, other- * wise known as the C99 standard. * * _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__ * is 201112L indicating a compiler that compiles with * ISO/IEXC 9899:2011, otherwise known as the C11 standard. * * _STRICT_SYMBOLS Used in cases where symbol visibility is restricted * by the standards, and the user has not explicitly * relaxed the strictness via __EXTENSIONS__. */ /* * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC * 99899:2011 specify the following predefined macro name: * * __STDC__ The integer constant 1, intended to indicate a conforming * implementation. * * Furthermore, a strictly conforming program shall use only those features * of the language and library specified in these standards. A conforming * implementation shall accept any strictly conforming program. * * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for * strictly conforming environments and __STDC__ to 0 for environments that * use ANSI C semantics but allow extensions to the C standard. For non-ANSI * C semantics, Sun's C compiler does not define __STDC__. * * The GNU C project interpretation is that __STDC__ should always be defined * to 1 for compilation modes that accept ANSI C syntax regardless of whether * or not extensions to the C standard are used. Violations of conforming * behavior are conditionally flagged as warnings via the use of the * -pedantic option. In addition to defining __STDC__ to 1, the GNU C * compiler also defines __STRICT_ANSI__ as a means of specifying strictly * conforming environments using the -ansi or -std= options. * * In the absence of any other compiler options, Sun and GNU set the value * of __STDC__ as follows when using the following options: * * Value of __STDC__ __STRICT_ANSI__ * * cc -Xa (default) 0 undefined * cc -Xt (transitional) 0 undefined * cc -Xc (strictly conforming) 1 undefined * cc -Xs (K&R C) undefined undefined * * gcc (default) 1 undefined * gcc -ansi, -std={c89, c99,...) 1 defined * gcc -traditional (K&R) undefined undefined * * The default compilation modes for Sun C compilers versus GNU C compilers * results in a differing value for __STDC__ which results in a more * restricted namespace when using Sun compilers. To allow both GNU and Sun * interpretations to peacefully co-exist, we use the following Sun * implementation _STRICT_STDC_ macro: */ # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" /* * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011 */ # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" /* * Use strict symbol visibility. */ /* * Large file interfaces: * * _LARGEFILE_SOURCE * 1 large file-related additions to POSIX * interfaces requested (fseeko, etc.) * _LARGEFILE64_SOURCE * 1 transitional large-file-related interfaces * requested (seek64, stat64, etc.) * * The corresponding announcement macros are respectively: * _LFS_LARGEFILE * _LFS64_LARGEFILE * (These are set in .) * * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as * well. * * The large file interfaces are made visible regardless of the initial values * of the feature test macros under certain circumstances: * - If no explicit standards-conforming environment is requested (neither * of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of * __STDC__ does not imply standards conformance). * - Extended system interfaces are explicitly requested (__EXTENSIONS__ * is defined). * - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is * defined). (Note that this dependency is an artifact of the current * kernel implementation and may change in future releases.) */ # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" /* * Large file compilation environment control: * * The setting of _FILE_OFFSET_BITS controls the size of various file-related * types and governs the mapping between file-related source function symbol * names and the corresponding binary entry points. * * In the 32-bit environment, the default value is 32; if not set, set it to * the default here, to simplify tests in other headers. * * In the 64-bit compilation environment, the only value allowed is 64. */ # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" /* * Use of _XOPEN_SOURCE * * The following X/Open specifications are supported: * * X/Open Portability Guide, Issue 3 (XPG3) * X/Open CAE Specification, Issue 4 (XPG4) * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2) * X/Open CAE Specification, Issue 5 (XPG5) * Open Group Technical Standard, Issue 6 (XPG6), also referred to as * IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002. * Open Group Technical Standard, Issue 7 (XPG7), also referred to as * IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009. * * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1). * XPG5 is also referred to as UNIX 98 or the Single Unix Specification, * Version 2 (SUSv2) * XPG6 is the result of a merge of the X/Open and POSIX specifications * and as such is also referred to as IEEE Std. 1003.1-2001 in * addition to UNIX 03 and SUSv3. * XPG7 is also referred to as UNIX 08 and SUSv4. * * When writing a conforming X/Open application, as per the specification * requirements, the appropriate feature test macros must be defined at * compile time. These are as follows. For more info, see standards(5). * * Feature Test Macro Specification * ------------------------------------------------ ------------- * _XOPEN_SOURCE XPG3 * _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 * _XOPEN_SOURCE = 500 XPG5 * _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6 * _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7 * * In order to simplify the guards within the headers, the following * implementation private test macros have been created. Applications * must NOT use these private test macros as unexpected results will * occur. * * Note that in general, the use of these private macros is cumulative. * For example, the use of _XPG3 with no other restrictions on the X/Open * namespace will make the symbols visible for XPG3 through XPG6 * compilation environments. The use of _XPG4_2 with no other X/Open * namespace restrictions indicates that the symbols were introduced in * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation * environments, but not for XPG3 or XPG4 compilation environments. * * _XPG3 X/Open Portability Guide, Issue 3 (XPG3) * _XPG4 X/Open CAE Specification, Issue 4 (XPG4) * _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS) * _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2) * _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3) * _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4) */ /* X/Open Portability Guide, Issue 3 */ # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" /* * _XOPEN_VERSION is defined by the X/Open specifications and is not * normally defined by the application, except in the case of an XPG4 * application. On the implementation side, _XOPEN_VERSION defined with * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application. * _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98) * application and with a value of 600 indicates an XPG6 (UNIX 03) * application and with a value of 700 indicates an XPG7 (UNIX 08). * The appropriate version is determined by the use of the * feature test macros described earlier. The value of _XOPEN_VERSION * defaults to 3 otherwise indicating support for XPG3 applications. */ # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" /* * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly * conforming environments. ISO 9899:1999 says it does. * * The presence of _LONGLONG_TYPE says "long long exists" which is therefore * defined in all but strictly conforming environments that disallow it. */ # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" /* * The following macro defines a value for the ISO C99 restrict * keyword so that _RESTRICT_KYWD resolves to "restrict" if * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string) * if any other compiler is used. This allows for the use of single * prototype declarations regardless of compiler version. */ # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" /* * The following macro defines a value for the ISO C11 _Noreturn * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if * an ISO C11 compiler is used and "" (null string) if any other * compiler is used. This allows for the use of single prototype * declarations regardless of compiler version. */ /* * The following macro indicates header support for the ANSI C++ * standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882. */ /* * The following macro indicates header support for the C99 standard, * ISO/IEC 9899:1999, Programming Languages - C. */ /* * The following macro indicates header support for the C99 standard, * ISO/IEC 9899:2011, Programming Languages - C. */ /* * The following macro indicates header support for DTrace. The value is an * integer that corresponds to the major version number for DTrace. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 /* * Machine dependent definitions moved to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * Machine dependent types: * * intel ia32 Version */ # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" typedef struct _label_t { long val[6]; } label_t; typedef unsigned char lock_t; /* lock work for busy wait */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 /* * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C * committee's working draft for the revision of the current ISO C standard, * ISO/IEC 9899:1990 Programming language - C. These are not currently * required by any standard but constitute a useful, general purpose set * of type definitions which is namespace clean with respect to all standards. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * This file, , is part of the Sun Microsystems implementation * of defined in the ISO C standard, ISO/IEC 9899:1999 * Programming language - C. * * Programs/Modules should not directly include this file. Access to the * types defined in this file should be through the inclusion of one of the * following files: * * Provides only the "_t" types defined in this * file which is a subset of the contents of * . (This can be appropriate for * all programs/modules except those claiming * ANSI-C conformance.) * * Provides the Kernel and Driver appropriate * components of . * * For use by applications. * * See these files for more details. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2 /* * Basic / Extended integer types * * The following defines the basic fixed-size integer types. * * Implementations are free to typedef them to Standard C integer types or * extensions that they support. If an implementation does not support one * of the particular integer data types below, then it should not define the * typedefs and macros corresponding to that data type. Note that int8_t * is not defined in -Xs mode on ISAs for which the ABI specifies "char" * as an unsigned entity because there is no way to define an eight bit * signed integral. */ typedef char int8_t; typedef short int16_t; typedef int int32_t; typedef long long int64_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t; /* * intmax_t and uintmax_t are to be the longest (in number of bits) signed * and unsigned integer types supported by the implementation. */ typedef int64_t intmax_t; typedef uint64_t uintmax_t; /* * intptr_t and uintptr_t are signed and unsigned integer types large enough * to hold any data pointer; that is, data pointers can be assigned into or * from these integer types without losing precision. */ typedef int intptr_t; typedef unsigned int uintptr_t; /* * The following define the fastest integer types that can hold the * specified number of bits. */ typedef char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; typedef long long int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; typedef unsigned long long uint_fast64_t; /* * The following define the smallest integer types that can hold the * specified number of bits. */ typedef char int_least8_t; typedef short int_least16_t; typedef int int_least32_t; typedef long long int_least64_t; /* * If these are changed, please update char16_t and char32_t in head/uchar.h. */ typedef unsigned char uint_least8_t; typedef unsigned short uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned long long uint_least64_t; # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" /* * Strictly conforming ANSI C environments prior to the 1999 * revision of the C Standard (ISO/IEC 9899:1999) do not have * the long long data type. */ typedef long long longlong_t; typedef unsigned long long u_longlong_t; # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" /* * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had * to use them instead of int32_t and uint32_t because DEC had * shipped 64-bit wide. */ typedef long t_scalar_t; /* historical versions */ typedef unsigned long t_uscalar_t; /* * POSIX Extensions */ typedef unsigned char uchar_t; typedef unsigned short ushort_t; typedef unsigned int uint_t; typedef unsigned long ulong_t; typedef char *caddr_t; /* ? type */ typedef long daddr_t; /* type */ typedef short cnt_t; /* ? type */ typedef int ptrdiff_t; /* (historical version) */ /* * VM-related types */ typedef ulong_t pfn_t; /* page frame number */ typedef ulong_t pgcnt_t; /* number of pages */ typedef long spgcnt_t; /* signed number of pages */ typedef uchar_t use_t; /* use count for swap. */ typedef short sysid_t; typedef short index_t; typedef void *timeout_id_t; /* opaque handle from timeout(9F) */ typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */ /* * The size of off_t and related types depends on the setting of * _FILE_OFFSET_BITS. (Note that other system headers define other types * related to those defined here.) * * If _LARGEFILE64_SOURCE is defined, variants of these types that are * explicitly 64 bits wide become available. */ typedef long off_t; /* offsets within files */ # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" typedef longlong_t off64_t; /* offsets within files */ typedef ulong_t ino_t; /* expanded inode type */ typedef long blkcnt_t; /* count of file blocks */ typedef ulong_t fsblkcnt_t; /* count of file system blocks */ typedef ulong_t fsfilcnt_t; /* count of files */ # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" typedef u_longlong_t ino64_t; /* expanded inode type */ typedef longlong_t blkcnt64_t; /* count of file blocks */ typedef u_longlong_t fsblkcnt64_t; /* count of file system blocks */ typedef u_longlong_t fsfilcnt64_t; /* count of files */ typedef long blksize_t; /* used for block sizes */ typedef enum { B_FALSE, B_TRUE } boolean_t; # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" /* * The {u,}pad64_t types can be used in structures such that those structures * may be accessed by code produced by compilation environments which don't * support a 64 bit integral datatype. The intention is not to allow * use of these fields in such environments, but to maintain the alignment * and offsets of the structure. * * Similar comments for {u,}pad128_t. * * Note that these types do NOT generate any stronger alignment constraints * than those available in the underlying ABI. See */ typedef int64_t pad64_t; typedef uint64_t upad64_t; # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" typedef union { long double _q; int32_t _l[4]; } pad128_t; typedef union { long double _q; uint32_t _l[4]; } upad128_t; typedef longlong_t offset_t; typedef u_longlong_t u_offset_t; typedef u_longlong_t len_t; typedef u_longlong_t diskaddr_t; /* * Definitions remaining from previous partial support for 64-bit file * offsets. This partial support for devices greater than 2gb requires * compiler support for long long. */ typedef union { offset_t _f; /* Full 64 bit offset value */ struct { int32_t _l; /* lower 32 bits of offset value */ int32_t _u; /* upper 32 bits of offset value */ } _p; } lloff_t; # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" typedef union { longlong_t _f; /* Full 64 bit disk address value */ struct { int32_t _l; /* lower 32 bits of disk address value */ int32_t _u; /* upper 32 bits of disk address value */ } _p; } lldaddr_t; # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" typedef uint_t k_fltset_t; /* kernel fault set type */ /* * The following type is for various kinds of identifiers. The * actual type must be the same for all since some system calls * (such as sigsend) take arguments that may be any of these * types. The enumeration type idtype_t defined in sys/procset.h * is used to indicate what type of id is being specified -- * a process id, process group id, session id, scheduling class id, * user id, group id, project id, task id or zone id. */ typedef long id_t; /* (historical version) */ typedef id_t lgrp_id_t; /* lgroup ID */ /* * Type useconds_t is an unsigned integral type capable of storing * values at least in the range of zero to 1,000,000. */ typedef uint_t useconds_t; /* Time, in microseconds */ typedef long suseconds_t; /* signed # of microseconds */ /* * Typedefs for dev_t components. */ typedef ulong_t major_t; /* (historical version) */ typedef ulong_t minor_t; /* (historical version) */ /* * The data type of a thread priority. */ typedef short pri_t; /* * The data type for a CPU flags field. (Can be extended to larger unsigned * types, if needed, limited by ability to update atomically.) */ typedef ushort_t cpu_flag_t; /* * For compatibility reasons the following typedefs (prefixed o_) * can't grow regardless of the EFT definition. Although, * applications should not explicitly use these typedefs * they may be included via a system header definition. * WARNING: These typedefs may be removed in a future * release. * ex. the definitions in s5inode.h (now obsoleted) * remained small to preserve compatibility * in the S5 file system type. */ typedef ushort_t o_mode_t; /* old file attribute type */ typedef short o_dev_t; /* old device type */ typedef ushort_t o_uid_t; /* old UID type */ typedef o_uid_t o_gid_t; /* old GID type */ typedef short o_nlink_t; /* old file link type */ typedef short o_pid_t; /* old process id type */ typedef ushort_t o_ino_t; /* old inode type */ /* * POSIX and XOPEN Declarations */ typedef int key_t; /* IPC key type */ typedef ulong_t mode_t; /* (historical version) */ typedef unsigned int uid_t; /* UID type */ typedef uid_t gid_t; /* GID type */ typedef uint32_t datalink_id_t; typedef uint32_t vrid_t; typedef id_t taskid_t; typedef id_t projid_t; typedef id_t poolid_t; typedef id_t zoneid_t; typedef id_t ctid_t; /* * POSIX definitions are same as defined in thread.h and synch.h. * Any changes made to here should be reflected in corresponding * files as described in comments. */ typedef uint_t pthread_t; /* = thread_t in thread.h */ typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */ /* "Magic numbers" tagging synchronization object types */ typedef struct _pthread_mutex { /* = mutex_t in synch.h */ struct { uint16_t __pthread_mutex_flag1; uint8_t __pthread_mutex_flag2; uint8_t __pthread_mutex_ceiling; uint16_t __pthread_mutex_type; uint16_t __pthread_mutex_magic; } __pthread_mutex_flags; union { struct { uint8_t __pthread_mutex_pad[8]; } __pthread_mutex_lock64; struct { uint32_t __pthread_ownerpid; uint32_t __pthread_lockword; } __pthread_mutex_lock32; upad64_t __pthread_mutex_owner64; } __pthread_mutex_lock; upad64_t __pthread_mutex_data; } pthread_mutex_t; typedef struct _pthread_cond { /* = cond_t in synch.h */ struct { uint8_t __pthread_cond_flag[4]; uint16_t __pthread_cond_type; uint16_t __pthread_cond_magic; } __pthread_cond_flags; upad64_t __pthread_cond_data; } pthread_cond_t; /* * UNIX 98 Extension */ typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */ int32_t __pthread_rwlock_readers; uint16_t __pthread_rwlock_type; uint16_t __pthread_rwlock_magic; pthread_mutex_t __pthread_rwlock_mutex; pthread_cond_t __pthread_rwlock_readercv; pthread_cond_t __pthread_rwlock_writercv; } pthread_rwlock_t; /* * SUSV3 */ typedef struct { uint32_t __pthread_barrier_count; uint32_t __pthread_barrier_current; upad64_t __pthread_barrier_cycle; upad64_t __pthread_barrier_reserved; pthread_mutex_t __pthread_barrier_lock; pthread_cond_t __pthread_barrier_cond; } pthread_barrier_t; typedef pthread_mutex_t pthread_spinlock_t; /* * attributes for threads, dynamically allocated by library */ typedef struct _pthread_attr { void *__pthread_attrp; } pthread_attr_t; /* * attributes for mutex, dynamically allocated by library */ typedef struct _pthread_mutexattr { void *__pthread_mutexattrp; } pthread_mutexattr_t; /* * attributes for cond, dynamically allocated by library */ typedef struct _pthread_condattr { void *__pthread_condattrp; } pthread_condattr_t; /* * pthread_once */ typedef struct _once { upad64_t __pthread_once_pad[4]; } pthread_once_t; /* * UNIX 98 Extensions * attributes for rwlock, dynamically allocated by library */ typedef struct _pthread_rwlockattr { void *__pthread_rwlockattrp; } pthread_rwlockattr_t; /* * SUSV3 * attributes for pthread_barrier_t, dynamically allocated by library */ typedef struct { void *__pthread_barrierattrp; } pthread_barrierattr_t; typedef ulong_t dev_t; /* expanded device type */ typedef ulong_t nlink_t; /* (historical version) */ typedef long pid_t; /* (historical version) */ typedef uint_t size_t; /* (historical version) */ # 531 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" typedef int ssize_t; /* (historical version) */ typedef long time_t; /* time of day in seconds */ typedef long clock_t; /* relative time in a specified resolution */ typedef int clockid_t; /* clock identifier type */ typedef int timer_t; /* timer identifier type */ /* BEGIN CSTYLED */ typedef unsigned char unchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; /* END CSTYLED */ # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" /* * The following is the value of type id_t to use to indicate the * caller's current id. See procset.h for the type idtype_t * which defines which kind of id is being specified. */ # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" /* * The following value of type pfn_t is used to indicate * invalid page frame number. */ /* BEGIN CSTYLED */ typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef struct _quad { int val[2]; } quad_t; /* used by UFS */ typedef quad_t quad; /* used by UFS */ /* END CSTYLED */ /* * Nested include for BSD/sockets source compatibility. * (The select macros used to be defined here). */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Implementation-private. This header should not be included * directly by an application. The application should instead * include which includes this header conditionally * depending on which feature test macros are defined. By default, * this header is included by . X/Open and POSIX * standards requirements result in this header being included * by only under a restricted set of conditions. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" /* * Time expressed in seconds and nanoseconds */ typedef struct timespec { /* definition per POSIX.4 */ time_t tv_sec; /* seconds */ long tv_nsec; /* and nanoseconds */ } timespec_t; # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" typedef struct timespec timestruc_t; /* definition per SVr4 */ /* * The following has been left in for backward compatibility. Portable * applications should not use the structure name timestruc. */ /* * Timer specification */ typedef struct itimerspec { /* definition per POSIX.4 */ struct timespec it_interval; /* timer period */ struct timespec it_value; /* timer expiration */ } itimerspec_t; # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1982, 1986, 1993 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright (c) 2013, 2015 by Delphix. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 /* * Structure returned by gettimeofday(2) system call, * and used in other calls. */ # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* and microseconds */ }; # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" struct timezone { int tz_minuteswest; /* minutes west of Greenwich */ int tz_dsttime; /* type of dst correction */ }; # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" /* * Needed for longlong_t type. Placement of this due to * including which relies on the presense of the itimerval * structure. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" /* * Operations on timevals. */ # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" /* * Names of the interval timers, and structure * defining a timer setting. */ /* time and when system is running on */ /* behalf of the process. */ /* time profiling of multithreaded */ /* programs. */ struct itimerval { struct timeval it_interval; /* timer interval */ struct timeval it_value; /* current value */ }; # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" /* * Definitions for commonly used resolutions. */ # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" /* * Time expressed as a 64-bit nanosecond counter. */ typedef longlong_t hrtime_t; # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" int adjtime(struct timeval *, struct timeval *); int futimesat(int, const char *, const struct timeval *); int getitimer(int, struct itimerval *); int utimes(const char *, const struct timeval *); int setitimer(int, struct itimerval *, struct itimerval *); /* * gettimeofday() and settimeofday() were included in SVr4 due to their * common use in BSD based applications. They were to be included exactly * as in BSD, with two parameters. However, AT&T/USL noted that the second * parameter was unused and deleted it, thereby making a routine included * for compatibility, incompatible. * * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two * parameters. * * This has caused general disagreement in the application community as to * the syntax of these routines. Solaris defaults to the XSH4.2 definition. * The flag _SVID_GETTOD may be used to force the SVID version. */ int settimeofday(struct timeval *, void *); hrtime_t gethrtime(void); hrtime_t gethrvtime(void); # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" int gettimeofday(struct timeval *, void *); /* * The inclusion of is historical and was added for * backward compatibility in delta 1.2 when a number of definitions * were moved out of . More recently, the timespec and * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*, * _TIMER_*, and TIMER_* symbols were moved to , * which is now included by . This change was due to POSIX * 1003.1b-1993 and X/Open UNIX 98 requirements. For non-POSIX and * non-X/Open applications, including this header will still make * visible these definitions. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. * Copyright 2016 Joyent, Inc. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * Copyright 2014 PALO, Richard. * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" struct tm { /* see ctime(3) */ int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; }; extern char *asctime(const struct tm *); extern clock_t clock(void); extern char *ctime(const time_t *); extern double difftime(time_t, time_t); extern struct tm *gmtime(const time_t *); extern struct tm *localtime(const time_t *); extern time_t mktime(struct tm *); extern time_t time(time_t *); extern size_t strftime(char *, size_t, const char *, const struct tm *); # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 /* * C11 requires sys/time_impl.h for the definition of the struct timespec. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Implementation-private. This header should not be included * directly by an application. The application should instead * include which includes this header conditionally * depending on which feature test macros are defined. By default, * this header is included by . X/Open and POSIX * standards requirements result in this header being included * by only under a restricted set of conditions. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" extern struct tm *gmtime_r(const time_t *, struct tm *); extern struct tm *localtime_r(const time_t *, struct tm *); # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" extern char *strptime(const char *, const char *, struct tm *); /* * Neither X/Open nor POSIX allow the inclusion of for the * definition of the sigevent structure. Both require the inclusion * of and when using the timer_create() function. * However, X/Open also specifies that the sigevent structure be defined * in as described in the header . This prevents * compiler warnings for applications that only include and not * also . The sigval union and the sigevent structure is * therefore defined both here and in which gets included * via inclusion of . */ union sigval { int sival_int; /* integer value */ void *sival_ptr; /* pointer value */ }; struct sigevent { int sigev_notify; /* notification mode */ int sigev_signo; /* signal number */ union sigval sigev_value; /* signal value */ void (*sigev_notify_function)(union sigval); pthread_attr_t *sigev_notify_attributes; int __sigev_pad2; }; extern int clock_getres(clockid_t, struct timespec *); extern int clock_gettime(clockid_t, struct timespec *); extern int clock_settime(clockid_t, const struct timespec *); extern int timer_create(clockid_t, struct sigevent *, timer_t *); extern int timer_delete(timer_t); extern int timer_getoverrun(timer_t); extern int timer_gettime(timer_t, struct itimerspec *); extern int timer_settime(timer_t, int, const struct itimerspec *, struct itimerspec *); extern int nanosleep(const struct timespec *, struct timespec *); extern int clock_nanosleep(clockid_t, int, const struct timespec *, struct timespec *); extern void tzset(void); extern char *tzname[2]; /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */ extern long _sysconf(int); /* System Private interface to sysconf() */ /* 3 is _SC_CLK_TCK */ extern long timezone; extern int daylight; extern time_t timegm(struct tm *); extern int cftime(char *, char *, const time_t *); extern int ascftime(char *, const char *, const struct tm *); extern long altzone; extern struct tm *getdate(const char *); extern int getdate_err; /* * ctime_r() & asctime_r() prototypes are defined here. */ /* * Previous releases of Solaris, starting at 2.3, provided definitions of * various functions as specified in POSIX.1c, Draft 6. For some of these * functions, the final POSIX 1003.1c standard had a different number of * arguments and return values. * * The following segment of this header provides support for the standard * interfaces while supporting applications written under earlier * releases. The application defines appropriate values of the feature * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate * whether it was written to expect the Draft 6 or standard versions of * these interfaces, before including this header. This header then * provides a mapping from the source version of the interface to an * appropriate binary interface. Such mappings permit an application * to be built from libraries and objects which have mixed expectations * of the definitions of these functions. * * For applications using the Draft 6 definitions, the binary symbol is the * same as the source symbol, and no explicit mapping is needed. For the * standard interface, the function func() is mapped to the binary symbol * _posix_func(). The preferred mechanism for the remapping is a compiler * #pragma. If the compiler does not provide such a #pragma, the header file * defines a static function func() which calls the _posix_func() version; * this has to be done instead of #define since POSIX specifies that an * application can #undef the symbol and still be bound to the correct * implementation. Unfortunately, the statics confuse lint so we fallback to * #define in that case. * * NOTE: Support for the Draft 6 definitions is provided for compatibility * only. New applications/libraries should use the standard definitions. */ # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" extern char *asctime_r(const struct tm *, char *, int); extern char *ctime_r(const time_t *, char *, int); # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" typedef struct _locale *locale_t; extern size_t strftime_l(char *, size_t, const char *, const struct tm *, locale_t); /* * Note, the C11 standard requires that all the various base values that are * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one. */ extern int timespec_get(struct timespec *, int); # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 /* * The inclusion of is needed for the FD_CLR, * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the * select() prototype defined in the XOpen specifications * beginning with XSH4v2. Placement required after definition * for itimerval. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" /* * The sigset_t type is defined in and duplicated * in as a result of XPG4v2 requirements. XPG6 * now allows the visibility of signal.h in this header, however * an order of inclusion problem occurs as a result of inclusion * of in under certain conditions. * Rather than include here, we've duplicated * the sigset_t type instead. This type is required for the XPG6 * introduced pselect() function also declared in this header. */ typedef struct { /* signal set type */ unsigned int __sigbits[4]; } sigset_t; /* * Select uses bit masks of file descriptors in longs. * These macros manipulate such bit fields. * FD_SETSIZE may be defined by the user, but the default here * should be >= NOFILE (param.h). */ # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" typedef long fd_mask; typedef long fds_mask; /* * The value of _NBBY needs to be consistant with the value * of NBBY in . */ # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" typedef struct fd_set { long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; } fd_set; # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); extern int pselect(int, fd_set *, fd_set *, fd_set *, const struct timespec *, const sigset_t *); # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 /* * _VOID was defined to be either void or char but this is not * required because previous SunOS compilers have accepted the void * type. However, because many system header and source files use the * void keyword, the volatile keyword, and ANSI C function prototypes, * non-ANSI compilers cannot compile the system anyway. The _VOID macro * should therefore not be used and remains for source compatibility * only. */ /* CSTYLED */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" 2 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" typedef unsigned long Elf32_Addr; typedef unsigned short Elf32_Half; typedef unsigned long Elf32_Off; typedef long Elf32_Sword; typedef unsigned long Elf32_Word; # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" typedef unsigned long long Elf64_Addr; typedef unsigned short Elf64_Half; typedef unsigned long long Elf64_Off; typedef int Elf64_Sword; typedef long long Elf64_Sxword; typedef unsigned int Elf64_Word; typedef unsigned long long Elf64_Xword; typedef unsigned long long Elf64_Lword; typedef unsigned long long Elf32_Lword; # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2 /* * Communication structures for the runtime linker. */ /* * The following data structure provides a self-identifying union consisting * of a tag from a known list and a value. */ typedef struct { Elf32_Sword d_tag; /* how to interpret value */ union { Elf32_Word d_val; Elf32_Addr d_ptr; Elf32_Off d_off; } d_un; } Elf32_Dyn; typedef struct { Elf64_Xword d_tag; /* how to interpret value */ union { Elf64_Xword d_val; Elf64_Addr d_ptr; } d_un; } Elf64_Dyn; /* * Tag values */ # 107 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" /* * DT_* encoding rules: The value of each dynamic tag determines the * interpretation of the d_un union. This convention provides for simpler * interpretation of dynamic tags by external tools. A tag whose value * is an even number indicates a dynamic section entry that uses d_ptr. * A tag whose value is an odd number indicates a dynamic section entry * that uses d_val, or that uses neither d_ptr nor d_val. * * There are exceptions to the above rule: * - Tags with values that are less than DT_ENCODING. * - Tags with values that fall between DT_LOOS and DT_SUNW_ENCODING * - Tags with values that fall between DT_HIOS and DT_LOPROC * * Third party tools must handle these exception ranges explicitly * on an item by item basis. */ /* start after this */ /* * DT_* encoding rules do not apply between DT_LOOS and DT_SUNW_ENCODING */ /* capabilities */ /* symbols immediately */ /* preceding DT_SYMTAB */ /* * DT_* encoding rules apply between DT_SUNW_ENCODING and DT_HIOS */ /* after this */ /* end of dynstr */ /* that produced object */ /* * DT_* encoding rules do not apply between DT_HIOS and DT_LOPROC */ /* * The following values have been deprecated and remain here to allow * compatibility with older binaries. */ /* * DT_* entries which fall between DT_VALRNGHI & DT_VALRNGLO use the * Dyn.d_un.d_val field of the Elf*_Dyn structure. */ # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" /* the following DT_* entry. */ /* See DF_P1_* definitions */ /* * DT_* entries which fall between DT_ADDRRNGHI & DT_ADDRRNGLO use the * Dyn.d_un.d_ptr field of the Elf*_Dyn structure. * * If any adjustment is made to the ELF object after it has been * built, these entries will need to be adjusted. */ # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" /* * The following DT_* entries should have been assigned within one of the * DT_* ranges, but existed before such ranges had been established. */ /* Solaris (see libld/update.c) */ # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" /* * DT_* entries between DT_HIPROC and DT_LOPROC are reserved for processor * specific semantics. * * DT_* encoding rules apply to all tag values larger than DT_LOPROC. */ /* * Values for DT_FLAGS */ /* * Values for the DT_POSFLAG_1 .dynamic entry. * These values only affect the following DT_* entry. */ /* lazy loaded */ /* not available for general */ /* symbol bindings. */ /* * Values for the DT_FLAGS_1 .dynamic entry. */ # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" /* cannot be directly bound to */ /* symbols via /dev/ksyms */ /* omits ELF & program headers */ /* being built by 'ld' */ /* exist */ /* * Values set to DT_FEATURE_1 tag's d_val (unused obsolete tag) */ /* * Version structures. There are three types of version structure: * * o A definition of the versions within the image itself. * Each version definition is assigned a unique index (starting from * VER_NDX_BGNDEF) which is used to cross-reference symbols associated to * the version. Each version can have one or more dependencies on other * version definitions within the image. The version name, and any * dependency names, are specified in the version definition auxiliary * array. Version definition entries require a version symbol index table. * * o A version requirement on a needed dependency. Each needed entry * specifies the shared object dependency (as specified in DT_NEEDED). * One or more versions required from this dependency are specified in the * version needed auxiliary array. * * o A version symbol index table. Each symbol indexes into this array * to determine its version index. Index values of VER_NDX_BGNDEF or * greater indicate the version definition to which a symbol is associated. * (the size of a symbol index entry is recorded in the sh_info field). */ typedef struct { /* Version Definition Structure. */ Elf32_Half vd_version; /* this structures version revision */ Elf32_Half vd_flags; /* version information */ Elf32_Half vd_ndx; /* version index */ Elf32_Half vd_cnt; /* no. of associated aux entries */ Elf32_Word vd_hash; /* version name hash value */ Elf32_Word vd_aux; /* no. of bytes from start of this */ /* verdef to verdaux array */ Elf32_Word vd_next; /* no. of bytes from start of this */ } Elf32_Verdef; /* verdef to next verdef entry */ typedef struct { /* Verdef Auxiliary Structure. */ Elf32_Word vda_name; /* first element defines the version */ /* name. Additional entries */ /* define dependency names. */ Elf32_Word vda_next; /* no. of bytes from start of this */ } Elf32_Verdaux; /* verdaux to next verdaux entry */ typedef struct { /* Version Requirement Structure. */ Elf32_Half vn_version; /* this structures version revision */ Elf32_Half vn_cnt; /* no. of associated aux entries */ Elf32_Word vn_file; /* name of needed dependency (file) */ Elf32_Word vn_aux; /* no. of bytes from start of this */ /* verneed to vernaux array */ Elf32_Word vn_next; /* no. of bytes from start of this */ } Elf32_Verneed; /* verneed to next verneed entry */ typedef struct { /* Verneed Auxiliary Structure. */ Elf32_Word vna_hash; /* version name hash value */ Elf32_Half vna_flags; /* version information */ Elf32_Half vna_other; Elf32_Word vna_name; /* version name */ Elf32_Word vna_next; /* no. of bytes from start of this */ } Elf32_Vernaux; /* vernaux to next vernaux entry */ typedef Elf32_Half Elf32_Versym; /* Version symbol index array */ typedef struct { Elf32_Half si_boundto; /* direct bindings - symbol bound to */ Elf32_Half si_flags; /* per symbol flags */ } Elf32_Syminfo; typedef struct { Elf64_Half vd_version; /* this structures version revision */ Elf64_Half vd_flags; /* version information */ Elf64_Half vd_ndx; /* version index */ Elf64_Half vd_cnt; /* no. of associated aux entries */ Elf64_Word vd_hash; /* version name hash value */ Elf64_Word vd_aux; /* no. of bytes from start of this */ /* verdef to verdaux array */ Elf64_Word vd_next; /* no. of bytes from start of this */ } Elf64_Verdef; /* verdef to next verdef entry */ typedef struct { Elf64_Word vda_name; /* first element defines the version */ /* name. Additional entries */ /* define dependency names. */ Elf64_Word vda_next; /* no. of bytes from start of this */ } Elf64_Verdaux; /* verdaux to next verdaux entry */ typedef struct { Elf64_Half vn_version; /* this structures version revision */ Elf64_Half vn_cnt; /* no. of associated aux entries */ Elf64_Word vn_file; /* name of needed dependency (file) */ Elf64_Word vn_aux; /* no. of bytes from start of this */ /* verneed to vernaux array */ Elf64_Word vn_next; /* no. of bytes from start of this */ } Elf64_Verneed; /* verneed to next verneed entry */ typedef struct { Elf64_Word vna_hash; /* version name hash value */ Elf64_Half vna_flags; /* version information */ Elf64_Half vna_other; Elf64_Word vna_name; /* version name */ Elf64_Word vna_next; /* no. of bytes from start of this */ } Elf64_Vernaux; /* vernaux to next vernaux entry */ typedef Elf64_Half Elf64_Versym; typedef struct { Elf64_Half si_boundto; /* direct bindings - symbol bound to */ Elf64_Half si_flags; /* per symbol flags */ } Elf64_Syminfo; /* * Versym symbol index values. Values greater than VER_NDX_GLOBAL * and less then VER_NDX_LORESERVE associate symbols with user * specified version descriptors. */ /* the base version */ /* * Verdef (vd_flags) and Vernaux (vna_flags) flags values. */ /* (Verdef only) */ /* informational purposes */ /* (Versym reference) only. No */ /* runtime verification is */ /* required. (Vernaux only) */ /* * Verdef version values. */ /* * Verneed version values. */ /* * Syminfo flag values */ /* to object containing defn. */ /* standard filter */ /* lazily-loaded */ /* object containing defn. */ /* directly bind to this symbol */ /* auxiliary filter */ /* BIND_NOW relocations */ /* * Syminfo.si_boundto values. */ /* * Syminfo version values. */ /* * Public structure defined and maintained within the runtime linker */ typedef struct link_map Link_map; struct link_map { unsigned long l_addr; /* address at which object is mapped */ char *l_name; /* full name of loaded object */ Elf32_Dyn *l_ld; /* dynamic structure of object */ Link_map *l_next; /* next link object */ Link_map *l_prev; /* previous link object */ char *l_refname; /* filters reference name */ }; # 531 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" typedef enum { RT_CONSISTENT, RT_ADD, RT_DELETE } r_state_e; typedef enum { RD_FL_NONE = 0, /* no flags */ RD_FL_ODBG = (1<<0), /* old style debugger present */ RD_FL_DBG = (1<<1) /* debugging enabled */ } rd_flags_e; /* * Debugging events enabled inside of the runtime linker. To * access these events see the librtld_db interface. */ typedef enum { RD_NONE = 0, /* no event */ RD_PREINIT, /* the Initial rendezvous before .init */ RD_POSTINIT, /* the Second rendezvous after .init */ RD_DLACTIVITY /* a dlopen or dlclose has happened */ } rd_event_e; struct r_debug { int r_version; /* debugging info version no. */ Link_map *r_map; /* address of link_map */ unsigned long r_brk; /* address of update routine */ r_state_e r_state; unsigned long r_ldbase; /* base addr of ld.so */ Link_map *r_ldsomap; /* address of ld.so.1's link map */ rd_event_e r_rdevent; /* debug event */ rd_flags_e r_flags; /* misc flags. */ }; # 584 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" /* * Attribute/value structures used to bootstrap ELF-based dynamic linker. */ typedef struct { Elf32_Sword eb_tag; /* what this one is */ union { /* possible values */ Elf32_Word eb_val; Elf32_Addr eb_ptr; Elf32_Off eb_off; } eb_un; } Elf32_Boot; typedef struct { Elf64_Xword eb_tag; /* what this one is */ union { /* possible values */ Elf64_Xword eb_val; Elf64_Addr eb_ptr; Elf64_Off eb_off; } eb_un; } Elf64_Boot; /* * Attributes */ # 627 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" /* * Concurrency communication structure for libc callbacks. */ extern void _ld_libc(void *); #pragma unknown_control_flow(_ld_libc) # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/elf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. * Copyright (c) 2018, Joyent, Inc. */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 2 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * "Enumerations" below use ...NUM as the number of * values in the list. It should be 1 greater than the * highest "real" value. */ /* * ELF header */ typedef struct { unsigned char e_ident[16]; /* ident bytes */ Elf32_Half e_type; /* file type */ Elf32_Half e_machine; /* target machine */ Elf32_Word e_version; /* file version */ Elf32_Addr e_entry; /* start address */ Elf32_Off e_phoff; /* phdr file offset */ Elf32_Off e_shoff; /* shdr file offset */ Elf32_Word e_flags; /* file flags */ Elf32_Half e_ehsize; /* sizeof ehdr */ Elf32_Half e_phentsize; /* sizeof phdr */ Elf32_Half e_phnum; /* number phdrs */ Elf32_Half e_shentsize; /* sizeof shdr */ Elf32_Half e_shnum; /* number shdrs */ Elf32_Half e_shstrndx; /* shdr string index */ } Elf32_Ehdr; typedef struct { unsigned char e_ident[16]; /* ident bytes */ Elf64_Half e_type; /* file type */ Elf64_Half e_machine; /* target machine */ Elf64_Word e_version; /* file version */ Elf64_Addr e_entry; /* start address */ Elf64_Off e_phoff; /* phdr file offset */ Elf64_Off e_shoff; /* shdr file offset */ Elf64_Word e_flags; /* file flags */ Elf64_Half e_ehsize; /* sizeof ehdr */ Elf64_Half e_phentsize; /* sizeof phdr */ Elf64_Half e_phnum; /* number phdrs */ Elf64_Half e_shentsize; /* sizeof shdr */ Elf64_Half e_shnum; /* number shdrs */ Elf64_Half e_shstrndx; /* shdr string index */ } Elf64_Ehdr; # 199 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* Argonaut Technologies Inc. */ # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* embedded processor family */ # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* microcontroller */ /* microcontroller */ /* microcontroller */ /* embedded processor */ /* embedded processor */ /* 64-bit processor */ /* machine-independent */ /* object files */ # 263 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* Processor */ /* microcontroller */ /* microprocessor */ /* msp430 */ /* and MPRC of Peking University */ /* CPU */ /* Processor */ /* microprocessor */ /* Signal Controller */ /* processors */ /* architecture */ /* family */ /* family */ /* family */ /* RISC Processor, 32bit fetch */ /* Unit */ /* Processor */ /* family */ /* configurable and extensible RISC */ /* processors */ /* embedded RISC processor family */ /* Micro-controllers */ /* architecture */ /* architecture */ /* CR16 16-bit microprocessor */ # 355 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* family */ /* microcontroller */ /* family */ /* family */ /* processor core */ /* family */ /* family */ /* family */ /* Controller (DSC) */ # 400 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* processor */ /* RISC architecture */ # 433 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* multi-core OS */ # 444 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * Program header */ typedef struct { Elf32_Word p_type; /* entry type */ Elf32_Off p_offset; /* file offset */ Elf32_Addr p_vaddr; /* virtual address */ Elf32_Addr p_paddr; /* physical address */ Elf32_Word p_filesz; /* file size */ Elf32_Word p_memsz; /* memory size */ Elf32_Word p_flags; /* entry flags */ Elf32_Word p_align; /* memory/file alignment */ } Elf32_Phdr; typedef struct { Elf64_Word p_type; /* entry type */ Elf64_Word p_flags; /* entry flags */ Elf64_Off p_offset; /* file offset */ Elf64_Addr p_vaddr; /* virtual address */ Elf64_Addr p_paddr; /* physical address */ Elf64_Xword p_filesz; /* file size */ Elf64_Xword p_memsz; /* memory size */ Elf64_Xword p_align; /* memory/file alignment */ } Elf64_Phdr; # 485 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * PT_SUNW_UNWIND and PT_SUNW_EH_FRAME perform the same function, * providing access to the .eh_frame_hdr section of the object. * PT_SUNW_UNWIND is the original value, while PT_SUNW_EH_FRAME is * required by the amd64 psABI. The Solaris link-editor (ld) tags output * objects with PT_SUNW_UNWIND, but the Solaris runtime linker (ld.so.1) * will accept and use either value. */ /* * Linux specific program headers not currently used by Solaris */ # 527 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * Section header */ typedef struct { Elf32_Word sh_name; /* section name */ Elf32_Word sh_type; /* SHT_... */ Elf32_Word sh_flags; /* SHF_... */ Elf32_Addr sh_addr; /* virtual address */ Elf32_Off sh_offset; /* file offset */ Elf32_Word sh_size; /* section size */ Elf32_Word sh_link; /* misc info */ Elf32_Word sh_info; /* misc info */ Elf32_Word sh_addralign; /* memory alignment */ Elf32_Word sh_entsize; /* entry size if table */ } Elf32_Shdr; typedef struct { Elf64_Word sh_name; /* section name */ Elf64_Word sh_type; /* SHT_... */ Elf64_Xword sh_flags; /* SHF_... */ Elf64_Addr sh_addr; /* virtual address */ Elf64_Off sh_offset; /* file offset */ Elf64_Xword sh_size; /* section size */ Elf64_Word sh_link; /* misc info */ Elf64_Word sh_info; /* misc info */ Elf64_Xword sh_addralign; /* memory alignment */ Elf64_Xword sh_entsize; /* entry size if table */ } Elf64_Shdr; # 580 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* Solaris ABI specific values */ # 606 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * GNU/Linux OSABI specific values with different meanings than under Solaris. * Due to the overlap in assigned values with the Solaris OSABI, correct * interpretation of these values requires knowledge of the OSABI used by * the object. */ # 655 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * Symbol table */ typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Word st_size; unsigned char st_info; /* bind, type: ELF_32_ST_... */ unsigned char st_other; Elf32_Half st_shndx; /* SHN_... */ } Elf32_Sym; typedef struct { Elf64_Word st_name; unsigned char st_info; /* bind, type: ELF_64_ST_... */ unsigned char st_other; Elf64_Half st_shndx; /* SHN_... */ Elf64_Addr st_value; Elf64_Xword st_size; } Elf64_Sym; /* * Macros to compose and decompose values for S.st_info * * bind = ELF32_ST_BIND(S.st_info) * type = ELF32_ST_TYPE(S.st_info) * S.st_info = ELF32_ST_INFO(bind, type) */ # 719 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * Macros to decompose values for S.st_other * * visibility = ELF32_ST_VISIBILITY(S.st_other) */ # 737 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * Relocation */ typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; /* sym, type: ELF32_R_... */ } Elf32_Rel; typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; /* sym, type: ELF32_R_... */ Elf32_Sword r_addend; } Elf32_Rela; typedef struct { Elf64_Addr r_offset; Elf64_Xword r_info; /* sym, type: ELF64_R_... */ } Elf64_Rel; typedef struct { Elf64_Addr r_offset; Elf64_Xword r_info; /* sym, type: ELF64_R_... */ Elf64_Sxword r_addend; } Elf64_Rela; /* * Macros to compose and decompose values for Rel.r_info, Rela.f_info * * sym = ELF32_R_SYM(R.r_info) * type = ELF32_R_TYPE(R.r_info) * R.r_info = ELF32_R_INFO(sym, type) */ # 783 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * The r_info field is composed of two 32-bit components: the symbol * table index and the relocation type. The relocation type for SPARC V9 * is further decomposed into an 8-bit type identifier and a 24-bit type * dependent data field. For the existing Elf32 relocation types, * that data field is zero. */ /* * Section Group Flags (SHT_GROUP) */ /* * Note entry header */ typedef struct { Elf32_Word n_namesz; /* length of note's name */ Elf32_Word n_descsz; /* length of note's "desc" */ Elf32_Word n_type; /* type of note */ } Elf32_Nhdr; typedef struct { Elf64_Word n_namesz; /* length of note's name */ Elf64_Word n_descsz; /* length of note's "desc" */ Elf64_Word n_type; /* type of note */ } Elf64_Nhdr; /* * Move entry */ typedef struct { Elf32_Lword m_value; /* symbol value */ Elf32_Word m_info; /* size + index */ Elf32_Word m_poffset; /* symbol offset */ Elf32_Half m_repeat; /* repeat count */ Elf32_Half m_stride; /* stride info */ } Elf32_Move; /* * Macros to compose and decompose values for Move.r_info * * sym = ELF32_M_SYM(M.m_info) * size = ELF32_M_SIZE(M.m_info) * M.m_info = ELF32_M_INFO(sym, size) */ typedef struct { Elf64_Lword m_value; /* symbol value */ Elf64_Xword m_info; /* size + index */ Elf64_Xword m_poffset; /* symbol offset */ Elf64_Half m_repeat; /* repeat count */ Elf64_Half m_stride; /* stride info */ } Elf64_Move; /* * Capabilities entry, Capabilities info and Capabilities chain. */ typedef struct { Elf32_Word c_tag; /* how to interpret value */ union { Elf32_Word c_val; Elf32_Addr c_ptr; } c_un; } Elf32_Cap; typedef Elf32_Word Elf32_Capinfo; typedef Elf32_Word Elf32_Capchain; /* * Macros to compose and decompose values for capabilities info. * * sym = ELF32_C_SYM(info) * grp = ELF32_C_GROUP(info) * info = ELF32_C_INFO(sym, grp) */ typedef struct { Elf64_Xword c_tag; /* how to interpret value */ union { Elf64_Xword c_val; Elf64_Addr c_ptr; } c_un; } Elf64_Cap; typedef Elf64_Xword Elf64_Capinfo; typedef Elf64_Word Elf64_Capchain; /* * Macros to compose and decompose values for capabilities info. * * sym = ELF64_C_SYM(info) * grp = ELF64_C_GROUP(info) * info = ELF64_C_INFO(sym, grp) */ /* * Version numbers for SHT_SUNW_capinfo and SHT_SUNW_capchain. */ # 921 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * A SHT_SUNW_capinfo table mirrors a symbol table. A capabilities symbol has * a SHT_SUNW_capinfo table entry that provides an index into the associated * SHT_SUNW_cap capabilities group, and the symbol index of the associated lead * symbol. A capabilities symbol is a local symbol. A global lead capabilities * symbol is tagged with a group CAPINFO_SUNW_GLOB. */ /* * Capabilities values. */ # 942 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" /* * Define software capabilities (CA_SUNW_SF_1 values). Note, hardware * capabilities (CA_SUNW_HW_1 values) are taken directly from sys/auxv_$MACH.h. */ /* * Known values for note entry types (e_type == ET_CORE) */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/elf.h" 2 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. * * Copyright (c) 1989 AT&T * All Rights Reserved * */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2016 Joyent, Inc. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 2 typedef struct { int a_type; union { long a_val; void *a_ptr; void (*a_fcn)(); } a_un; } auxv_t; # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" /* * These relate to the original PPC ABI document; Linux reused * the values for other things (see below), so disambiguation of * these values may require additional context in PPC binaries. * * AT_DCACHEBSIZE 10 smallest data cache block size * AT_ICACHEBSIZE 11 smallest instruction cache block size * AT_UCACHEBSIZE 12 smallest unified cache block size * * These are the values from LSB 1.3, the first five are also described * in the draft amd64 ABI. * * At the time of writing, Solaris doesn't place any of these values into * the aux vector, except AT_CLKTCK which is placed on the aux vector for * lx branded processes; also, we do similar things via AT_SUN_ values. * * AT_NOTELF 10 program is not ELF? * AT_UID 11 real user id * AT_EUID 12 effective user id * AT_GID 13 real group id * AT_EGID 14 effective group id * * AT_PLATFORM 15 * AT_HWCAP 16 * AT_CLKTCK 17 c.f. _SC_CLK_TCK * AT_FPUCW 18 * * AT_DCACHEBSIZE 19 (moved from 10) * AT_ICACHEBSIZE 20 (moved from 11) * AT_UCACHEBSIZE 21 (moved from 12) * * AT_IGNOREPPC 22 */ /* * Sun extensions begin here */ /* * The following attributes are specific to the * kernel implementation of the linker/loader. */ /* * The following aux vector provides a null-terminated platform * identification string. This information is the same as provided * by sysinfo(2) when invoked with the command SI_PLATFORM. */ /* * These attributes communicate performance -hints- about processor * hardware capabilities that might be useful to library implementations. */ # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" extern uint_t getisax(uint32_t *, uint_t); /* * The following aux vector provides a pointer to a null-terminated * path name, a copy of the path name passed to the exec() system * call but that has had all symlinks resolved (see resolvepath(2)). */ /* * Used to indicate to the runtime linker the name of the emulation binary, * if one is being used. For brands, this is the name of the brand library. */ /* * Aux vectors available for brand modules. */ /* * Aux vector for comm page */ /* * Note that 2023 is reserved for the AT_SUN_HWCAP2 word defined above. */ /* * The kernel is in a better position to determine whether a process needs to * ignore dangerous LD environment variables. If set, this flags tells * ld.so.1 to run "secure" and ignore the the environment. */ /* * If set, this flag indicates that hardware capabilites can be verified * against the AT_SUN_HWCAP value. */ /* * If set, this flag indicates that the the linker should not initialize * any of its link maps as primary link wrt the unified libc threading * interfaces. */ # 228 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, Joyent, Inc. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" /* * Flags used in AT_SUN_HWCAP elements to describe various userland * instruction set extensions available on different processors. * The basic assumption is that of the i386 ABI; that is, i386 plus i387 * floating point. * * Note that if a given bit is set; the implication is that the kernel * provides all the underlying architectural support for the correct * functioning of the extended instruction(s). */ # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" /* 0x02000 withdrawn - do not assign */ /* 0x08000 withdrawn - do not assign */ # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 2 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2015 Joyent, Inc. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 /* * Protections are chosen from these bits, or-ed together. * Note - not all implementations literally provide all possible * combinations. PROT_WRITE is often implemented as (PROT_READ | * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE). * However, no implementation will permit a write to succeed * where PROT_WRITE has not been set. Also, no implementation will * allow any access to succeed where prot is specified as PROT_NONE. */ # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* sharing types: must choose either SHARED or PRIVATE */ /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */ # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* these flags not yet implemented */ /* these flags are used by memcntl */ # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* * For the sake of backward object compatibility, we use the _MAP_NEW flag. * This flag will be automatically or'ed in by the C library for all * new mmap calls. Previous binaries with old mmap calls will continue * to get 0 or -1 for return values. New mmap calls will get the mapped * address as the return value if successful and -1 on errors. By default, * new mmap calls automatically have the kernel assign the map address * unless the MAP_FIXED flag is given. */ /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */ /* * Values for mr_flags field of mmapobj_result_t below. * The bottom 16 bits are mutually exclusive and thus only one * of them can be set at a time. Use MR_GET_TYPE below to check this value. * The top 16 bits are used for flags which are not mutually exclusive and * thus more than one of these flags can be set for a given mmapobj_result_t. * * MR_PADDING being set indicates that this memory range represents the user * requested padding. * * MR_HDR_ELF being set indicates that the ELF header of the mapped object * is mapped at mr_addr + mr_offset. * * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped * object is mapped at mr_addr + mr_offset. */ /* * External flags for mr_flags field below. */ /* * Internal flags for mr_flags field below. */ # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" typedef struct mmapobj_result { caddr_t mr_addr; /* mapping address */ size_t mr_msize; /* mapping size */ size_t mr_fsize; /* file size */ size_t mr_offset; /* offset into file */ uint_t mr_prot; /* the protections provided */ uint_t mr_flags; /* info on the mapping */ } mmapobj_result_t; # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* * large file compilation environment setup * * In the LP64 compilation environment, map large file interfaces * back to native versions where possible. */ # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" #pragma redefine_extname getpagesizes getpagesizes2 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* * Except for old binaries mmap() will return the resultant * address of mapping on success and (caddr_t)-1 on error. */ # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t); extern int munmap(caddr_t, size_t); extern int mprotect(caddr_t, size_t, int); extern int msync(caddr_t, size_t, int); extern int mlock(caddr_t, size_t); extern int munlock(caddr_t, size_t); extern int mincore(caddr_t, size_t, char *); extern int memcntl(caddr_t, size_t, int, caddr_t, int, int); extern int madvise(caddr_t, size_t, int); extern int getpagesizes(size_t *, int); extern int getpagesizes2(size_t *, int); extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *); /* guard visibility of uint64_t */ extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *, uint_t *); /* transitional large file interface version */ extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t); extern int mlockall(int); extern int munlockall(void); extern int shm_open(const char *, int, mode_t); extern int shm_unlink(const char *); extern int posix_madvise(void *, size_t, int); /* mmap failure value */ /* * structure for memcntl hat advise operations. */ struct memcntl_mha { uint_t mha_cmd; /* command(s) */ uint_t mha_flags; size_t mha_pagesize; }; # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* * advice to madvise * * Note, if more than 4 bits worth of advice (eg. 16) are specified then * changes will be necessary to the struct vpage. */ # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* advice to posix_madvise */ /* these values must be kept in sync with the MADV_* values, above */ /* flags to msync */ /* modified for UNIX98 compliance */ /* functions to mctl */ # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* sub-commands for MC_HAT_ADVISE */ /* for last bss adjacent to */ /* brk area and brk area itself */ /* processes main stack */ /* flags to mlockall */ /* definitions for meminfosys syscall */ /* private structure for meminfo */ typedef struct meminfo { const uint64_t *mi_inaddr; /* array of input addresses */ const uint_t *mi_info_req; /* array of types of info requested */ uint64_t *mi_outdata; /* array of results are placed */ uint_t *mi_validity; /* array of bitwise result codes */ int mi_info_count; /* number of pieces of info requested */ } meminfo_t; # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* * info_req request type definitions for meminfo * request types starting with MEMINFO_V are used for Virtual addresses * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical * addresses */ # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" /* maximum number of addresses meminfo() can process at a time */ /* maximum number of request types */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 /* * Information structures for various dlinfo() requests. */ typedef struct dl_info { const char *dli_fname; /* file containing address range */ void *dli_fbase; /* base address of file image */ const char *dli_sname; /* symbol name */ void *dli_saddr; /* symbol address */ } Dl_info; typedef Dl_info Dl_info_t; typedef struct dl_serpath { char *dls_name; /* library search path name */ uint_t dls_flags; /* path information */ } Dl_serpath; typedef Dl_serpath Dl_serpath_t; typedef struct dl_serinfo { size_t dls_size; /* total buffer size */ uint_t dls_cnt; /* number of path entries */ Dl_serpath dls_serpath[1]; /* there may be more than one */ } Dl_serinfo; typedef Dl_serinfo Dl_serinfo_t; typedef struct dl_argsinfo { long dla_argc; /* process argument count */ char **dla_argv; /* process arguments */ char **dla_envp; /* process environment variables */ auxv_t *dla_auxv; /* process auxv vectors */ } Dl_argsinfo; typedef Dl_argsinfo Dl_argsinfo_t; typedef struct { mmapobj_result_t *dlm_maps; /* mapping information */ uint_t dlm_acnt; /* number of dlm_maps mappings */ uint_t dlm_rcnt; /* number of returned mappings */ } Dl_mapinfo_t; typedef struct { uint_t dlui_version; /* version # */ uint_t dlui_flags; /* flags */ char *dlui_objname; /* path to object */ void *dlui_unwindstart; /* star of unwind hdr */ void *dlui_unwindend; /* end of unwind hdr */ void *dlui_segstart; /* start of segment described */ /* by unwind block */ void *dlui_segend; /* end of segment described */ /* by unwind block */ } Dl_amd64_unwindinfo; typedef Dl_amd64_unwindinfo Dl_amd64_unwindinfo_t; typedef struct { const char *dld_refname; /* reference name */ const char *dld_depname; /* new dependency name */ } Dl_definfo_t; typedef ulong_t Lmid_t; /* * Declarations used for dynamic linking support routines. */ extern void *dlopen(const char *, int); extern void *dlsym(void *, const char *); extern int dlclose(void *); extern char *dlerror(void); extern void *dlmopen(Lmid_t, const char *, int); extern int dladdr(void *, Dl_info *); extern int dladdr1(void *, Dl_info *, void **, int); extern int dldump(const char *, const char *, int); extern int dlinfo(void *, int, void *); extern Dl_amd64_unwindinfo *dlamd64getunwind(void *, Dl_amd64_unwindinfo *); #pragma unknown_control_flow(dlopen, dlsym, dlclose, dlerror) #pragma unknown_control_flow(dlmopen, dladdr, dladdr1, dldump, dlinfo) /* * Valid values for handle argument to dlsym(3x). */ /* of current object */ /* of current object, */ /* using currently */ /* loaded objects only. */ /* * Valid values for mode argument to dlopen. */ /* to group members */ /* a group dependencies */ /* members of the group */ /* global objects */ /* available for dlsym */ /* internal use only */ /* * Valid values for flag argument to dldump. */ /* bind to main */ /* bind to dependencies */ /* bind to preload objs */ /* bind to ourself */ /* even if unresolved */ /* only */ /* internal use only */ /* * Valid values for dladdr1() flags. */ /* * Arguments for dlinfo() */ /* internal use only */ /* internal use only */ /* environment and auxv */ /* deferred dependency */ /* deferred dependency */ /* using a symbol name */ /* * Version information for Dl_amd64_unwindinfo.dlui_version */ /* * Valid flags for Dl_amd64_unwindinfo.dlfi_flags */ /* matching the pc provided */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 /* * ld support library calls. * * These cannot be used in a 32bit large file capable environment because * libelf is not large-file safe. Only define these interfaces if we are not * 32bit, or not in the large file environment. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2014 PALO, Richard. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. * Copyright (c) 2018, Joyent, Inc. */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 2 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" typedef void Elf_Void; /* * Commands */ typedef enum { ELF_C_NULL = 0, /* must be first, 0 */ ELF_C_READ, ELF_C_WRITE, ELF_C_CLR, ELF_C_SET, ELF_C_FDDONE, ELF_C_FDREAD, ELF_C_RDWR, ELF_C_WRIMAGE, ELF_C_IMAGE, ELF_C_NUM /* must be last */ } Elf_Cmd; /* * Flags */ /* * File types */ typedef enum { ELF_K_NONE = 0, /* must be first, 0 */ ELF_K_AR, ELF_K_COFF, ELF_K_ELF, ELF_K_NUM /* must be last */ } Elf_Kind; /* * Translation types */ typedef enum { ELF_T_BYTE = 0, /* must be first, 0 */ ELF_T_ADDR, ELF_T_DYN, ELF_T_EHDR, ELF_T_HALF, ELF_T_OFF, ELF_T_PHDR, ELF_T_RELA, ELF_T_REL, ELF_T_SHDR, ELF_T_SWORD, ELF_T_SYM, ELF_T_WORD, ELF_T_VDEF, ELF_T_VNEED, ELF_T_SXWORD, ELF_T_XWORD, ELF_T_SYMINFO, ELF_T_NOTE, ELF_T_MOVE, ELF_T_MOVEP, ELF_T_CAP, ELF_T_NUM /* must be last */ } Elf_Type; typedef struct Elf Elf; typedef struct Elf_Scn Elf_Scn; /* * Archive member header */ typedef struct { char *ar_name; time_t ar_date; uid_t ar_uid; gid_t ar_gid; mode_t ar_mode; off_t ar_size; char *ar_rawname; } Elf_Arhdr; /* * Archive symbol table */ typedef struct { char *as_name; size_t as_off; unsigned long as_hash; } Elf_Arsym; /* * Data descriptor */ typedef struct { Elf_Void *d_buf; Elf_Type d_type; size_t d_size; off_t d_off; /* offset into section */ size_t d_align; /* alignment in section */ unsigned d_version; /* elf version */ } Elf_Data; /* * Function declarations */ Elf *elf_begin(int, Elf_Cmd, Elf *); int elf_cntl(Elf *, Elf_Cmd); int elf_end(Elf *); const char *elf_errmsg(int); int elf_errno(void); void elf_fill(int); unsigned elf_flagdata(Elf_Data *, Elf_Cmd, unsigned); unsigned elf_flagehdr(Elf *, Elf_Cmd, unsigned); unsigned elf_flagelf(Elf *, Elf_Cmd, unsigned); unsigned elf_flagphdr(Elf *, Elf_Cmd, unsigned); unsigned elf_flagscn(Elf_Scn *, Elf_Cmd, unsigned); unsigned elf_flagshdr(Elf_Scn *, Elf_Cmd, unsigned); size_t elf32_fsize(Elf_Type, size_t, unsigned); Elf_Arhdr *elf_getarhdr(Elf *); Elf_Arsym *elf_getarsym(Elf *, size_t *); off_t elf_getbase(Elf *); Elf_Data *elf_getdata(Elf_Scn *, Elf_Data *); Elf32_Ehdr *elf32_getehdr(Elf *); char *elf_getident(Elf *, size_t *); Elf32_Phdr *elf32_getphdr(Elf *); Elf_Scn *elf_getscn(Elf *elf, size_t); Elf32_Shdr *elf32_getshdr(Elf_Scn *); int elf_getphnum(Elf *, size_t *); int elf_getphdrnum(Elf *, size_t *); int elf_getshnum(Elf *, size_t *); int elf_getshdrnum(Elf *, size_t *); int elf_getshstrndx(Elf *, size_t *); int elf_getshdrstrndx(Elf *, size_t *); unsigned long elf_hash(const char *); uint_t elf_sys_encoding(void); long elf32_checksum(Elf *); Elf_Kind elf_kind(Elf *); Elf *elf_memory(char *, size_t); size_t elf_ndxscn(Elf_Scn *); Elf_Data *elf_newdata(Elf_Scn *); Elf32_Ehdr *elf32_newehdr(Elf *); Elf32_Phdr *elf32_newphdr(Elf *, size_t); Elf_Scn *elf_newscn(Elf *); Elf_Scn *elf_nextscn(Elf *, Elf_Scn *); Elf_Cmd elf_next(Elf *); size_t elf_rand(Elf *, size_t); Elf_Data *elf_rawdata(Elf_Scn *, Elf_Data *); char *elf_rawfile(Elf *, size_t *); char *elf_strptr(Elf *, size_t, size_t); off_t elf_update(Elf *, Elf_Cmd); unsigned elf_version(unsigned); Elf_Data *elf32_xlatetof(Elf_Data *, const Elf_Data *, unsigned); Elf_Data *elf32_xlatetom(Elf_Data *, const Elf_Data *, unsigned); size_t elf64_fsize(Elf_Type, size_t, unsigned); Elf64_Ehdr *elf64_getehdr(Elf *); Elf64_Phdr *elf64_getphdr(Elf *); Elf64_Shdr *elf64_getshdr(Elf_Scn *); long elf64_checksum(Elf *); Elf64_Ehdr *elf64_newehdr(Elf *); Elf64_Phdr *elf64_newphdr(Elf *, size_t); Elf_Data *elf64_xlatetof(Elf_Data *, const Elf_Data *, unsigned); Elf_Data *elf64_xlatetom(Elf_Data *, const Elf_Data *, unsigned); # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 extern uint_t ld_version(uint_t); extern void ld_input_done(uint_t *); extern void ld_start(const char *, const Elf32_Half, const char *); extern void ld_atexit(int); extern void ld_open(const char **, const char **, int *, int, Elf **, Elf *, size_t, const Elf_Kind); extern void ld_file(const char *, const Elf_Kind, int, Elf *); extern void ld_input_section(const char *, Elf32_Shdr **, Elf32_Word, Elf_Data *, Elf *, uint_t *); extern void ld_section(const char *, Elf32_Shdr *, Elf32_Word, Elf_Data *, Elf *); extern void ld_start64(const char *, const Elf64_Half, const char *); extern void ld_atexit64(int); extern void ld_open64(const char **, const char **, int *, int, Elf **, Elf *, size_t, const Elf_Kind); extern void ld_file64(const char *, const Elf_Kind, int, Elf *); extern void ld_input_section64(const char *, Elf64_Shdr **, Elf64_Word, Elf_Data *, Elf *, uint_t *); extern void ld_section64(const char *, Elf64_Shdr *, Elf64_Word, Elf_Data *, Elf *); /* * ld_version() version values. */ /* * Flags passed to ld support calls. */ /* * Runtime link-map identifiers. */ # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" /* * Runtime Link-Edit Auditing. */ # 118 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" /* * Flags that can be or'd into the la_objopen() return code */ /* * Flags that can be or'd into the 'flags' argument of la_symbind() */ /* structure as it's return code */ /* a call to dlsym() */ /* by la_symbind() */ /* * Flags that describe the object passed to la_objsearch() */ # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" /* * Flags that describe the la_activity() */ # 163 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" typedef int lagreg_t; struct _la_sparc_regs { lagreg_t lr_rego0; lagreg_t lr_rego1; lagreg_t lr_rego2; lagreg_t lr_rego3; lagreg_t lr_rego4; lagreg_t lr_rego5; lagreg_t lr_rego6; lagreg_t lr_rego7; }; # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" typedef struct _la_sparc_regs La_sparcv8_regs; typedef struct { lagreg_t lr_esp; lagreg_t lr_ebp; } La_i86_regs; # 206 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" extern uint_t la_version(uint_t); extern void la_activity(uintptr_t *, uint_t); extern void la_preinit(uintptr_t *); extern char *la_objsearch(const char *, uintptr_t *, uint_t); extern uint_t la_objopen(Link_map *, Lmid_t, uintptr_t *); extern uint_t la_objclose(uintptr_t *); extern int la_objfilter(uintptr_t *, const char *, uintptr_t *, uint_t); # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" extern uintptr_t la_symbind32(Elf32_Sym *, uint_t, uintptr_t *, uintptr_t *, uint_t *); extern uintptr_t la_sparcv8_pltenter(Elf32_Sym *, uint_t, uintptr_t *, uintptr_t *, La_sparcv8_regs *, uint_t *); extern uintptr_t la_i86_pltenter(Elf32_Sym *, uint_t, uintptr_t *, uintptr_t *, La_i86_regs *, uint_t *); extern uintptr_t la_pltexit(Elf32_Sym *, uint_t, uintptr_t *, uintptr_t *, uintptr_t); /* * The ElfW() macro is a GNU/Linux feature, provided as support for * the dl_phdr_info structure used by dl_phdr_iterate(), which also * originated under Linux. Given an ELF data type, without the ElfXX_ * prefix, it supplies the appropriate prefix (Elf32_ or Elf64_) for * the ELFCLASS of the code being compiled. * * Note that ElfW() is not suitable in situations in which the ELFCLASS * of the code being compiled does not match that of the objects that * code is intended to operate on (e.g. a 32-bit link-editor building * a 64-bit object). The macros defined in are * recommended in such cases. */ /* * The callback function to dl_interate_phdr() receives a pointer * to a structure of this type. * * dlpi_addr is defined such that the address of any segment in * the program header array can be calculated as: * * addr == info->dlpi_addr + info->dlpi_phdr[x].p_vaddr; * * It is therefore 0 for ET_EXEC objects, and the base address at * which the object is mapped otherwise. */ struct dl_phdr_info { Elf32_Addr dlpi_addr; /* Base address of object */ const char *dlpi_name; /* Null-terminated obj name */ const Elf32_Phdr *dlpi_phdr; /* Ptr to ELF program hdr arr */ Elf32_Half dlpi_phnum; /* # of items in dlpi_phdr[] */ /* * Note: Following members were introduced after the first version * of this structure was available. The dl_iterate_phdr() callback * function is passed a 'size' argument giving the size of the info * structure, and must compare that size to the offset of these fields * before accessing them to ensure that they are present. */ /* Incremented when a new object is mapped into the process */ u_longlong_t dlpi_adds; /* Incremented when an object is unmapped from the process */ u_longlong_t dlpi_subs; }; extern int dl_iterate_phdr(int (*)(struct dl_phdr_info *, size_t, void *), void *); # 29 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. * * Copyright (c) 1989 AT&T * All Rights Reserved * */ # 30 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 31 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 /* * Fundamental variables; don't change too often. */ /* * _POSIX_VDISABLE has historically been defined in since * an early merge with AT&T source. It has also historically been defined * in . The POSIX standard, IEEE Std. 1003.1-1988 initially * required the existence of _POSIX_VDISABLE in . * Subsequent versions of the IEEE Standard as well as the X/Open * specifications required that _POSIX_VDISABLE be defined in * while still allowing for it's existence in other headers. With the * introduction of XPG6, _POSIX_VDISABLE can only be defined in . */ # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" /* compatibility purposes only */ /* and will be removed in a */ /* later release */ /* * These define the maximum and minimum allowable values of the * configurable parameter NGROUPS_MAX. */ /* * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h. */ /* * Default process priority. Keep it in sync with limits.h. */ /* * Fundamental constants of the implementation--cannot be changed easily. */ # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" /* REMOTE -- whether machine is primary, secondary, or regular */ /* * MAXPATHLEN defines the longest permissible path length, * including the terminating null, after expanding symbolic links. * TYPICALMAXPATHLEN is used in a few places as an optimization * with a local buffer on the stack to avoid kmem_alloc(). * MAXSYMLINKS defines the maximum number of symbolic links * that may be expanded in a path name. It should be set high * enough to allow all legitimate uses, but halt infinite loops * reasonably quickly. * MAXNAMELEN is the length (including the terminating null) of * the longest permissible file (component) name. */ /* * MAXLINKNAMELEN defines the longest possible permitted datalink name, * including the terminating NUL. Note that this must not be larger * than related networking constants such as LIFNAMSIZ. */ /* * The following are defined to be the same as * defined in /usr/include/limits.h. They are * needed for pipe and FIFO compatibility. */ # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" /* macros replacing interleaving functions */ /* * File system parameters and macros. * * The file system is made out of blocks of at most MAXBSIZE units, * with smaller units (fragments) only in the last direct block. * MAXBSIZE primarily determines the size of buffers in the buffer * pool. It may be made larger without any effect on existing * file systems; however making it smaller make make some file * systems unmountable. * * Note that the blocked devices are assumed to have DEV_BSIZE * "sectors" and that fragments must be some multiple of this size. */ # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" /* 64 bit versions of btodb and dbtob */ # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" /* * Size of arg list passed in by user. */ # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" /* * Scale factor for scaled integers used to count * %cpu time and load averages. */ /* * Delay units are in microseconds. * * XXX These macros are not part of the DDI! */ # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" /* * The following is to free utilities from machine dependencies within * an architecture. Must be included after definition of DEV_BSIZE. */ # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" /* * The following are assorted machine dependent values which can be * obtained in a machine independent manner through sysconf(2) or * sysinfo(2). In order to guarantee that these provide the expected * value at all times, the System Private interface (leading underscore) * is used. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T * All Rights Reserved * */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * WARNING: This is an implementation-specific header, * its contents are not guaranteed. Applications * should include and not this header. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2 /* command names for confstr */ /* * command names for large file configuration information */ /* large file compilation environment configuration */ /* transitional large file interface configuration */ /* UNIX 98 */ # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* UNIX 03 */ # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* command names for POSIX sysconf */ /* POSIX.1 names */ # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* SVR4 names */ /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */ /* POSIX.4 names */ # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* XPG4 names */ # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* additional XSH4/XCU4 command names for sysconf */ /* additional XPG4v2 (UNIX 95) command names */ /* defined for XTI (XNS Issue 5) */ /* * Hardware specific items * Note that not all items are supported on all architectures */ # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* * POSIX.1c (pthreads) names. These values are defined above * the sub-500 range. See psarc case 1995/257. */ # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* UNIX 98 */ # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* UNIX 03 */ # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* command names for POSIX pathconf */ /* POSIX.1 names */ # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* POSIX.4 names */ /* UNIX 03 names */ # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* UNIX 08 names */ /* * Large File Summit names * * This value matches the MIPS ABI choice, but leaves a large gap in the * value space. */ /* * Extended attributes */ /* * If you add a _PC define above 101, you must change _PC_LAST (and truss). */ /* * Case sensitivity values (related to _PC_CASE_BEHAVIOR) */ /* * The value of 0 is returned when * ACL's are not supported */ # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications * should not rely on this value, it has been aligned with the current * standard to avoid confusion if used. */ # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" /* UNIX 03 names */ # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 extern long _sysconf(int); /* System Private interface to sysconf() */ # 32 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrrett D'Amore * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1982, 1986, 1993 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright (c) 2013, 2015 by Delphix. All rights reserved. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 /* * Process priority specifications */ # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" /* * Resource limits */ # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" /* * The definitions of the following types and constants differ between the * regular and large file compilation environments. */ typedef unsigned long rlim_t; # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" struct rlimit { rlim_t rlim_cur; /* current limit */ rlim_t rlim_max; /* maximum value for rlim_cur */ }; /* transitional large file interface versions */ typedef u_longlong_t rlim64_t; struct rlimit64 { rlim64_t rlim_cur; /* current limit */ rlim64_t rlim_max; /* maximum value for rlim_cur */ }; /* * Although the saved rlimits were initially introduced by the large file API, * they are now available for all resource limits on the 64-bit kernel and for * cpu time and file size limits on the 32-bit kernel. */ # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" struct rusage { struct timeval ru_utime; /* user time used */ struct timeval ru_stime; /* system time used */ long ru_maxrss; /* */ long ru_ixrss; /* */ long ru_idrss; /* */ long ru_isrss; /* */ long ru_minflt; /* any page faults not requiring I/O */ long ru_majflt; /* any page faults requiring I/O */ long ru_nswap; /* swaps */ long ru_inblock; /* block input operations */ long ru_oublock; /* block output operations */ long ru_msgsnd; /* streams messsages sent */ long ru_msgrcv; /* streams messages received */ long ru_nsignals; /* signals received */ long ru_nvcsw; /* voluntary context switches */ long ru_nivcsw; /* involuntary " */ }; # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" extern int setrlimit(int, const struct rlimit *); extern int getrlimit(int, struct rlimit *); /* transitional large file interfaces */ extern int setrlimit64(int, const struct rlimit64 *); extern int getrlimit64(int, struct rlimit64 *); extern int getpriority(int, id_t); extern int setpriority(int, id_t, int); extern int getrusage(int, struct rusage *); # 33 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * User-visible pieces of the ANSI C standard I/O package. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 /* * Do all of our 'redefine_extname' processing before * declarations of the associated functions are seen. * This is necessary to keep gcc happy. */ /* large file compilation environment setup */ # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" /* In the LP64 compilation environment, all APIs are already large file */ # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright 2014 PALO, Richard. * * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ /* * User-visible pieces of the ANSI C standard I/O package. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The purpose of this header is to provide the type definitions for * the va_list argument used by a number of printf and printf like * functions. The headers that define these various function prototypes * #include this header directly. These include but are not necessarily * limited to , , , and * . The type definitions included in this header are for * the benefit of consumers of va_list. * * Any application that accepts variable argument lists must as documented, * include either or the preferred . Doing so will * pull in the appropriate compiler protocols defined in * which is in turn is included by and . See comments * in for more detailed information regarding implementation * and compiler specific protocols. */ /* * The common definitions exported by this header or compilers using * this header are: * * the identifier __builtin_va_alist for the variable list pseudo parameter * the type __va_alist_type for the variable list pseudo parameter * the type __va_list defining the type of the variable list iterator * * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros * (__GNUC__) and processor macros (e.g. __amd64) are intended to be * defined by the compilation system, not the user of the system. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" typedef __builtin_va_list __gnuc_va_list; /* * XX64 This seems unnecessary .. but is needed because vcmn_err is * defined with __va_list instead of plain old va_list. * Perhaps that should be fixed! */ typedef __builtin_va_list __va_list; # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" typedef struct __FILE __FILE; # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" struct __FILE /* needs to be binary-compatible with old versions */ { int _cnt; /* number of available characters in buffer */ unsigned char *_ptr; /* next character from/to here in buffer */ unsigned char *_base; /* the buffer */ unsigned char _flag; /* the state of the stream */ unsigned char _magic; /* Old home of the file descriptor */ /* Only fileno(3C) can retrieve the value now */ unsigned __orientation:2; /* the orientation of the stream */ unsigned __ionolock:1; /* turn off implicit locking */ unsigned __seekable:1; /* is file seekable? */ unsigned __extendedfd:1; /* enable extended FILE */ unsigned __xf_nocheck:1; /* no extended FILE runtime check */ unsigned __filler:10; }; # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 /* * If feature test macros are set that enable interfaces that use types * defined in , get those types by doing the include. * * Note that in asking for the interfaces associated with this feature test * macro one also asks for definitions of the POSIX types. */ /* * The following typedefs are adopted from ones in (with leading * underscores added to avoid polluting the ANSI C name space). See the * commentary there for further explanation. */ typedef long long __longlong_t; # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" typedef __FILE FILE; # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" typedef long fpos_t; # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" /* * The value of _NFILE is defined in the Processor Specific ABI. The value * is chosen for historical reasons rather than for truly processor related * attribute. Note that the SPARC Processor Specific ABI uses the common * UNIX historical value of 20 so it is allowed to fall through. */ # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" extern __FILE __iob[60]; # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" extern int remove(const char *); extern int rename(const char *, const char *); extern FILE *tmpfile(void); extern char *tmpnam(char *); extern int fclose(FILE *); extern int fflush(FILE *); extern FILE *fopen(const char *, const char *); extern FILE *freopen(const char *, const char *, FILE *); extern void setbuf(FILE *, char *); extern int setvbuf(FILE *, char *, int, size_t); /* PRINTFLIKE2 */ extern int fprintf(FILE *, const char *, ...); /* SCANFLIKE2 */ extern int fscanf(FILE *, const char *, ...); /* PRINTFLIKE1 */ extern int printf(const char *, ...); /* SCANFLIKE1 */ extern int scanf(const char *, ...); /* PRINTFLIKE2 */ extern int sprintf(char *, const char *, ...); /* SCANFLIKE2 */ extern int sscanf(const char *, const char *, ...); extern int vfprintf(FILE *, const char *, __va_list); extern int vprintf(const char *, __va_list); extern int vsprintf(char *, const char *, __va_list); extern int fgetc(FILE *); extern char *fgets(char *, int, FILE *); extern int fputc(int, FILE *); extern int fputs(const char *, FILE *); extern int getc(FILE *); extern int putc(int, FILE *); extern int getchar(void); extern int putchar(int); /* * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11 * environment has been requested, we remove it. */ extern char *gets(char *); extern int puts(const char *); extern int ungetc(int, FILE *); extern size_t fread(void *, size_t, size_t, FILE *); extern size_t fwrite(const void *, size_t, size_t, FILE *); extern int fgetpos(FILE *, fpos_t *); extern int fsetpos(FILE *, const fpos_t *); extern int fseek(FILE *, long, int); extern long ftell(FILE *); extern void rewind(FILE *); extern void clearerr(FILE *); extern int feof(FILE *); extern int ferror(FILE *); extern void perror(const char *); extern int __filbuf(FILE *); extern int __flsbuf(int, FILE *); # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 /* * If feature test macros are set that enable interfaces that use types * defined in , get those types by doing the include. * * Note that in asking for the interfaces associated with this feature test * macro one also asks for definitions of the POSIX types. */ /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" /* * This header needs to be included here because it relies on the global * visibility of FILE and size_t in the C++ environment. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in * the C99 standard and in conflict with the C++ implementation of the * standard header. The C++ standard may adopt the C99 standard at * which point it is expected that the symbols included here will * become part of the C++ std namespace. */ # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" /* * The following have been added as a result of the ISO/IEC 9899:1999 * standard. For a strictly conforming C application, visibility is * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). * For non-strictly conforming C applications, there are no restrictions * on the C namespace. */ # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" extern int vfscanf(FILE *, const char *, __va_list); extern int vscanf(const char *, __va_list); extern int vsscanf(const char *, const char *, __va_list); extern int snprintf(char *, size_t, const char *, ...); extern int vsnprintf(char *, size_t, const char *, __va_list); # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 # 179 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" typedef __longlong_t fpos64_t; /* * XPG4 requires that va_list be defined in "as described in * ". ANSI-C and POSIX require that the namespace of * not be polluted with this name. */ # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" /* Marked LEGACY in SUSv2 and removed in SUSv3 */ # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" extern unsigned char _sibuf[], _sobuf[]; /* large file compilation environment setup */ # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" extern unsigned char *_bufendtab[]; extern FILE *_lastbuf; /* In the LP64 compilation environment, all APIs are already large file */ # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" extern char *tmpnam_r(char *); extern int fcloseall(void); extern void setbuffer(FILE *, char *, size_t); extern int setlinebuf(FILE *); /* PRINTFLIKE2 */ extern int asprintf(char **, const char *, ...); /* PRINTFLIKE2 */ extern int vasprintf(char **, const char *, __va_list); /* || defined(_XPG7) */ extern ssize_t getdelim(char **, size_t *, int, FILE *); extern ssize_t getline(char **, size_t *, FILE *); /* * The following are known to POSIX and XOPEN, but not to ANSI-C. */ extern FILE *fdopen(int, const char *); extern char *ctermid(char *); extern int fileno(FILE *); /* * The following are known to POSIX.1c, but not to ANSI-C or XOPEN. */ # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" /* * The following are known to XOPEN, but not to ANSI-C or POSIX. */ extern FILE *popen(const char *, const char *); extern char *tempnam(const char *, const char *); extern int pclose(FILE *); extern int getsubopt(char **, char *const *, char **); /* Marked LEGACY in SUSv2 and removed in SUSv3 */ extern char *cuserid(char *); extern int getopt(int, char *const *, const char *); extern char *optarg; extern int optind, opterr, optopt; extern int getw(FILE *); extern int putw(int, FILE *); /* * The following are defined as part of the Large File Summit interfaces. */ extern int fseeko(FILE *, off_t, int); extern off_t ftello(FILE *); /* * The following are defined as part of the transitional Large File Summit * interfaces. */ extern FILE *fopen64(const char *, const char *); extern FILE *freopen64(const char *, const char *, FILE *); extern FILE *tmpfile64(void); extern int fgetpos64(FILE *, fpos64_t *); extern int fsetpos64(FILE *, const fpos64_t *); extern int fseeko64(FILE *, off64_t, int); extern off64_t ftello64(FILE *); /* * XPG7 symbols */ extern FILE *fmemopen(void *, size_t, const char *); extern FILE *open_memstream(char **, size_t *); # 34 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 2013 Gary Mills * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright 2014 PALO, Richard. * * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 unsigned char __mb_cur_max(void); # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" typedef struct { int quot; int rem; } div_t; typedef struct { long quot; long rem; } ldiv_t; # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" /* * wchar_t is a built-in type in standard C++ and as such is not * defined here when using standard C++. However, the GNU compiler * fixincludes utility nonetheless creates its own version of this * header for use by gcc and g++. In that version it adds a redundant * guard for __cplusplus. To avoid the creation of a gcc/g++ specific * header we need to include the following magic comment: * * we must use the C++ compiler's type * * The above comment should not be removed or changed until GNU * gcc/fixinc/inclhack.def is updated to bypass this header. */ typedef long wchar_t; # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" extern void abort(void) __attribute__((__noreturn__)); extern int abs(int); extern int atexit(void (*)(void)); extern double atof(const char *); extern int atoi(const char *); extern long int atol(const char *); extern void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); extern void *calloc(size_t, size_t); extern div_t div(int, int); extern void exit(int) __attribute__((__noreturn__)); extern void free(void *); extern char *getenv(const char *); extern long int labs(long); extern ldiv_t ldiv(long, long); extern void *malloc(size_t); extern int mblen(const char *, size_t); extern size_t mbstowcs(wchar_t *, const char *, size_t); extern int mbtowc(wchar_t *, const char *, size_t); extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); extern int rand(void); extern void *realloc(void *, size_t); extern void srand(unsigned int); extern double strtod(const char *, char **); extern long int strtol(const char *, char **, int); extern unsigned long int strtoul(const char *, char **, int); extern int system(const char *); extern int wctomb(char *, wchar_t); extern size_t wcstombs(char *, const wchar_t *, size_t); # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in * the C99 standard and in conflict with the C++ implementation of the * standard header. The C++ standard may adopt the C99 standard at * which point it is expected that the symbols included here will * become part of the C++ std namespace. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2 /* * The following have been added as a result of the ISO/IEC 9899:1999 * standard. For a strictly conforming C application, visibility is * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). * For non-strictly conforming C applications, there are no restrictions * on the C namespace. */ typedef struct { long long quot; long long rem; } lldiv_t; # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" extern void _Exit(int); extern float strtof(const char *, char **); extern long double strtold(const char *, char **); extern long long atoll(const char *); extern long long llabs(long long); extern lldiv_t lldiv(long long, long long); extern long long strtoll(const char *, char **, int); extern unsigned long long strtoull(const char *, char **, int); # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2016 Joyent, Inc. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other illumos headers. * * The contents of this header is limited to identifiers specified in * the C11 standard and in conflict with the C++ implementation of the * standard header. The C++ standard may adopt the C11 standard at * which point it is expected that the symbols included here will * become part of the C++ std namespace. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" /* * The following have been added as a result of the ISO/IEC 9899:2011 * standard. For a strictly conforming C application, visibility is * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). * For non-strictly conforming C applications, there are no restrictions * on the C namespace. */ /* * Work around fix-includes and other bad actors with using multiple headers. */ # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" extern void *aligned_alloc(size_t, size_t); extern int at_quick_exit(void (*)(void)); extern void quick_exit(int); # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" /* large file compilation environment setup */ # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" /* In the LP64 compilation environment, all APIs are already large file */ # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" extern int rand_r(unsigned int *); extern void _exithandle(void); extern double drand48(void); extern double erand48(unsigned short *); extern long jrand48(unsigned short *); extern void lcong48(unsigned short *); extern long lrand48(void); extern long mrand48(void); extern long nrand48(unsigned short *); extern unsigned short *seed48(unsigned short *); extern void srand48(long); extern int putenv(char *); extern void setkey(const char *); /* * swab() has historically been in as delivered from AT&T * and continues to be visible in the default compilation environment. * As of Issue 4 of the X/Open Portability Guides, swab() was declared * in . As a result, with respect to X/Open namespace the * swab() declaration in this header is only visible for the XPG3 * environment. */ # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" extern void swab(const char *, char *, ssize_t); extern int mkstemp(char *); extern int mkstemps(char *, int); extern int mkstemp64(char *); extern int mkstemps64(char *, int); extern char *mkdtemp(char *); extern int mkostemp(char *, int); extern int mkostemps(char *, int, int); extern int mkostemp64(char *, int); extern int mkostemps64(char *, int, int); extern long a64l(const char *); extern char *ecvt(double, int, int *, int *); extern char *fcvt(double, int, int *, int *); extern char *gcvt(double, int, char *); extern int getsubopt(char **, char *const *, char **); extern int grantpt(int); extern char *initstate(unsigned, char *, size_t); extern char *l64a(long); extern char *mktemp(char *); extern char *ptsname(int); extern long random(void); extern char *realpath(const char *, char *); extern char *setstate(const char *); extern void srandom(unsigned); extern int unlockpt(int); /* Marked LEGACY in SUSv2 and removed in SUSv3 */ extern int ttyslot(void); extern void *valloc(size_t); extern int posix_memalign(void **, size_t, size_t); extern int posix_openpt(int); extern int setenv(const char *, const char *, int); extern int unsetenv(const char *); extern char *canonicalize_file_name(const char *); extern int clearenv(void); extern void closefrom(int); extern int daemon(int, int); extern int dup2(int, int); extern int dup3(int, int, int); extern int fdwalk(int (*)(void *, int), void *); extern char *qecvt(long double, int, int *, int *); extern char *qfcvt(long double, int, int *, int *); extern char *qgcvt(long double, int, char *); extern char *getcwd(char *, size_t); extern const char *getexecname(void); # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" #pragma redefine_extname getlogin getloginx # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" extern char *getlogin(void); extern int getopt(int, char *const *, const char *); extern char *optarg; extern int optind, opterr, optopt; extern char *getpass(const char *); extern char *getpassphrase(const char *); extern int getpw(uid_t, char *); extern int isatty(int); extern void *memalign(size_t, size_t); extern char *ttyname(int); extern char *mkdtemp(char *); extern const char *getprogname(void); extern void setprogname(const char *); extern char *lltostr(long long, char *); extern char *ulltostr(unsigned long long, char *); /* OpenBSD compatibility functions */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * This file, , is specified by the ISO C standard, * standard, ISO/IEC 9899:1999 Programming language - C and is * also defined by SUSv3. * * ISO International Organization for Standardization. * SUSv3 Single Unix Specification, Version 3 */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This header, , contains (through nested inclusion) the * vast majority of the facilities specified for as defined * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. * * Kernel/Driver developers are encouraged to include this file to access * the fixed size types, limits and utility macros. Application developers * should use the standard defined header . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * This file, , is part of the Sun Microsystems implementation * of as defined in the ISO C standard, ISO/IEC 9899:1999 * Programming language - C. * * Programs/Modules should not directly include this file. Access to the * types defined in this file should be through the inclusion of one of the * following files: * * This nested inclusion is disabled for strictly * ANSI-C conforming compilations. The *_MIN * definitions are not visible to POSIX or XPG * conforming applications (due to what may be * a bug in the specification - this is under * investigation) * * Provides the Kernel and Driver appropriate * components of . * * For use by applications. * * See these files for more details. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2 /* * Limits * * The following define the limits for the types defined in . * * INTMAX_MIN (minimum value of the largest supported signed integer type), * INTMAX_MAX (maximum value of the largest supported signed integer type), * and UINTMAX_MAX (maximum value of the largest supported unsigned integer * type) can be set to implementation defined limits. * * NOTE : A programmer can test to see whether an implementation supports * a particular size of integer by testing if the macro that gives the * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX * tests false, the implementation does not support unsigned 64 bit integers. * * The type of these macros is intentionally unspecified. * * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs * where the ABI specifies "char" as unsigned when the translation mode is * not ANSI-C. */ # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" /* * The following 2 macros are provided for testing whether the types * intptr_t and uintptr_t (integers large enough to hold a void *) are * defined in this header. They are needed in case the architecture can't * represent a pointer in any standard integral type. */ # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" /* Maximum limits of ptrdiff_t defined in */ /* * Maximum value of a "size_t". SIZE_MAX was previously defined * in , however, the standards specify it be defined * in . The headers includes this header as * does . The value of SIZE_MAX should not deviate * from the value of ULONG_MAX defined . */ /* Maximum limit of sig_atomic_t defined in */ /* * Maximum limit of wchar_t. The WCHAR_* macros are also * defined in , but inclusion of that header * will break ISO/IEC C namespace. */ /* Maximum limit of wint_t */ /* * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that * when including that the suffix _MAX is reserved but not the * suffix _MIN. However, until that issue is resolved.... */ # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" /* Minimum value of a pointer-holding signed integer type */ /* Minimum limits of ptrdiff_t defined in */ /* Minimum limit of sig_atomic_t defined in */ /* * Minimum limit of wchar_t. The WCHAR_* macros are also * defined in , but inclusion of that header * will break ISO/IEC C namespace. */ /* Minimum limit of wint_t */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * This file, , is part of the Sun Microsystems implementation * of as proposed in the ISO/JTC1/SC22/WG14 C committee's working * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990 * Programming language - C. * * Programs/Modules should not directly include this file. Access to the * types defined in this file should be through the inclusion of one of the * following files: * * Provides the Kernel and Driver appropriate * components of . * * For use by applications. * * See these files for more details. * * Use at your own risk. This file will track the evolution of the revision * of the current ISO C standard. As of February 1996, the committee is * squarely behind the fixed sized types. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2 /* * Constants * * The following macros create constants of the types defined in * . The intent is that: * Constants defined using these macros have a specific size and * signedness. The suffix used for int64_t and uint64_t (ll and ull) * are for examples only. Implementations are permitted to use other * suffixes. * * The "CSTYLED" comments are flags to an internal code style analysis tool * telling it to silently accept the line which follows. This internal * standard requires a space between arguments, but the historical, * non-ANSI-C ``method'' of concatenation can't tolerate those spaces. */ /* CSTYLED */ # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" /* CSTYLED */ /* CSTYLED */ /* CSTYLED */ /* CSTYLED */ /* CSTYLED */ # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" /* CSTYLED */ /* CSTYLED */ # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * This file, , is part of the Sun Microsystems implementation * of as defined by the ISO C Standard, ISO/IEC 9899:1999 * Programming language - C. * * ISO International Organization for Standardization. * * Programs/Modules should not directly include this file. Access to the * types defined in this file should be through the inclusion of one of the * following files: * * Provides the Kernel and Driver appropriate * components of . * * For use by applications. * * See these files for more details. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2 /* * Formatted I/O * * The following macros can be used even when an implementation has not * extended the printf/scanf family of functions. * * The form of the names of the macros is either "PRI" for printf specifiers * or "SCN" for scanf specifiers, followed by the conversion specifier letter * followed by the datatype size. For example, PRId32 is the macro for * the printf d conversion specifier with the flags for 32 bit datatype. * * An example using one of these macros: * * uint64_t u; * printf("u = %016" PRIx64 "\n", u); * * For the purpose of example, the definitions of the printf/scanf macros * below have the values appropriate for a machine with 8 bit shorts, 16 * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation * mode, and 64 bit long longs. */ /* * fprintf macros for signed integers */ # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" /* * fprintf macros for unsigned integers */ # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" /* * fprintf macros for pointers */ # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" /* * fscanf macros for signed integers */ # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" /* * fscanf macros for unsigned integers */ # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" /* * The following macros define I/O formats for intmax_t and uintmax_t. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This header is included by which was introduced by * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. * The header is a subset of the header. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 /* Inclusion of breaks namespace, therefore define wchar_t */ /* * wchar_t is a built-in type in standard C++ and as such is not * defined here when using standard C++. However, the GNU compiler * fixincludes utility nonetheless creates its own version of this * header for use by gcc and g++. In that version it adds a redundant * guard for __cplusplus. To avoid the creation of a gcc/g++ specific * header we need to include the following magic comment: * * we must use the C++ compiler's type * * The above comment should not be removed or changed until GNU * gcc/fixinc/inclhack.def is updated to bypass this header. */ # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" extern intmax_t imaxabs(intmax_t); extern imaxdiv_t imaxdiv(intmax_t, intmax_t); extern intmax_t strtoimax(const char *, char **, int); extern uintmax_t strtoumax(const char *, char **, int); extern intmax_t wcstoimax(const wchar_t *, wchar_t **, int); extern uintmax_t wcstoumax(const wchar_t *, wchar_t **, int); # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 extern uint32_t arc4random(void); extern void arc4random_buf(void *, size_t); extern uint32_t arc4random_uniform(uint32_t); extern void freezero(void *, size_t); extern void *recallocarray(void *, size_t, size_t, size_t); # 35 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 PALO, Richard. * Copyright 2014 Garrett D'Amore * Copyright (c) 2013 Gary Mills * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T * All Rights Reserved * */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * WARNING: This is an implementation-specific header, * its contents are not guaranteed. Applications * should include and not this header. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 /* Symbolic constants for the "access" routine: */ # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" /* Symbolic constants for the "lseek" routine: */ # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" /* Path names: */ /* * compile-time symbolic constants, * Support does not mean the feature is enabled. * Use pathconf/sysconf to obtain actual configuration value. */ /* Values unchanged in UNIX 03 */ /* * POSIX.1b compile-time symbolic constants. */ # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" /* * POSIX.1c compile-time symbolic constants. */ # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" /* New in UNIX 03 */ # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" /* * Support for the POSIX.1 mutex protocol attribute. For realtime applications * which need mutexes to support priority inheritance/ceiling. */ # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" /* * Large File Summit-related announcement macros. The system supports both * the additional and transitional Large File Summit interfaces. (The final * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.) */ /* large file compilation environment setup */ # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" /* In the LP64 compilation environment, the APIs are already large file */ # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" extern int access(const char *, int); extern int acct(const char *); extern unsigned alarm(unsigned); /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ extern int brk(void *); extern int chdir(const char *); extern int chown(const char *, uid_t, gid_t); /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ extern int chroot(const char *); extern int close(int); extern char *ctermid(char *); extern char *ctermid_r(char *); /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ extern char *cuserid(char *); extern int dup(int); extern int dup2(int, int); extern int dup3(int, int, int); extern void endusershell(void); extern int execl(const char *, const char *, ...); extern int execle(const char *, const char *, ...); extern int execlp(const char *, const char *, ...); extern int execv(const char *, char *const *); extern int execve(const char *, char *const *, char *const *); extern int execvp(const char *, char *const *); extern void _exit(int) __attribute__((__noreturn__)); /* * The following fattach prototype is duplicated in . The * duplication is necessitated by XPG4.2 which requires the prototype * be defined in . */ extern int fattach(int, const char *); extern int fchdir(int); extern int fchown(int, uid_t, gid_t); extern int fchroot(int); extern int fdatasync(int); /* * The following fdetach prototype is duplicated in . The * duplication is necessitated by XPG4.2 which requires the prototype * be defined in . */ extern int fdetach(const char *); extern pid_t fork(void); extern pid_t fork1(void); extern pid_t forkall(void); extern long fpathconf(int, int); extern int fsync(int); extern int ftruncate(int, off_t); extern char *getcwd(char *, size_t); extern int getdtablesize(void); extern gid_t getegid(void); extern uid_t geteuid(void); extern gid_t getgid(void); extern int getgroups(int, gid_t *); extern long gethostid(void); extern int gethostname(char *, int); # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ extern int getpagesize(void); extern pid_t getpgid(pid_t); extern pid_t getpid(void); extern pid_t getppid(void); extern pid_t getpgrp(void); char *gettxt(const char *, const char *); extern pid_t getsid(pid_t); extern uid_t getuid(void); extern char *getusershell(void); /* * The following ioctl prototype is duplicated in . The * duplication is necessitated by XPG4.2 which requires the prototype * be defined in . */ extern int ioctl(int, int, ...); extern int isaexec(const char *, char *const *, char *const *); extern int issetugid(void); extern int isatty(int); extern int lchown(const char *, uid_t, gid_t); extern int link(const char *, const char *); extern offset_t llseek(int, offset_t, int); extern int lockf(int, int, off_t); extern off_t lseek(int, off_t, int); extern int nice(int); extern int mincore(caddr_t, size_t, char *); extern long pathconf(const char *, int); extern int pause(void); extern int pipe(int *); extern int pipe2(int *, int); extern ssize_t pread(int, void *, size_t, off_t); extern void profil(unsigned short *, size_t, unsigned long, unsigned int); /* * pthread_atfork() is also declared in as per SUSv3. The * declarations are identical. A change to either one may also require * appropriate namespace updates in order to avoid redeclaration * warnings in the case where both prototypes are exposed via inclusion * of both and . */ extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void)); extern int ptrace(int, pid_t, int, int); extern ssize_t pwrite(int, const void *, size_t, off_t); /* per RFC 3542; This is also defined in netdb.h */ extern int rcmd_af(char **, unsigned short, const char *, const char *, const char *, int *, int); extern ssize_t read(int, void *, size_t); extern ssize_t readlink(const char *, char *, size_t); extern int rename(const char *, const char *); extern int resolvepath(const char *, char *, size_t); /* per RFC 3542; This is also defined in netdb.h */ extern int rexec_af(char **, unsigned short, const char *, const char *, const char *, int *, int); extern int rmdir(const char *); /* per RFC 3542; This is also defined in netdb.h */ extern int rresvport_af(int *, int); extern void *sbrk(intptr_t); extern int setegid(gid_t); extern int seteuid(uid_t); extern int setgid(gid_t); extern int setgroups(int, const gid_t *); extern int sethostname(char *, int); extern int setpgid(pid_t, pid_t); extern pid_t setpgrp(void); extern int setregid(gid_t, gid_t); extern int setreuid(uid_t, uid_t); extern pid_t setsid(void); extern int setuid(uid_t); extern void setusershell(void); extern unsigned sleep(unsigned); extern int stime(const time_t *); extern int symlink(const char *, const char *); extern void sync(void); # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" extern long sysconf(int); extern pid_t tcgetpgrp(int); extern int tcsetpgrp(int, pid_t); extern off_t tell(int); extern int truncate(const char *, off_t); extern char *ttyname(int); extern useconds_t ualarm(useconds_t, useconds_t); extern int unlink(const char *); extern char *getwd(char *); extern int usleep(useconds_t); extern pid_t vfork(void) __attribute__((__returns_twice__)); #pragma unknown_control_flow(vfork) extern void vhangup(void); extern ssize_t write(int, const void *, size_t); extern void yield(void); /* || defined(_XPG7) */ extern int faccessat(int, const char *, int, int); extern int fchownat(int, const char *, uid_t, gid_t, int); extern int linkat(int, const char *, int, const char *, int); extern ssize_t readlinkat(int, const char *, char *, size_t); extern int renameat(int, const char *, int, const char *); extern int symlinkat(const char *, int, const char *); extern int unlinkat(int, const char *, int); extern int get_nprocs(void); extern int get_nprocs_conf(void); /* transitional large file interface versions */ extern int ftruncate64(int, off64_t); extern off64_t lseek64(int, off64_t, int); extern ssize_t pread64(int, void *, size_t, off64_t); extern ssize_t pwrite64(int, const void *, size_t, off64_t); extern off64_t tell64(int); extern int truncate64(const char *, off64_t); extern int lockf64(int, int, off64_t); /* * getlogin_r() & ttyname_r() prototypes are defined here. */ /* * Previous releases of Solaris, starting at 2.3, provided definitions of * various functions as specified in POSIX.1c, Draft 6. For some of these * functions, the final POSIX 1003.1c standard had a different number of * arguments and return values. * * The following segment of this header provides support for the standard * interfaces while supporting applications written under earlier * releases. The application defines appropriate values of the feature * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate * whether it was written to expect the Draft 6 or standard versions of * these interfaces, before including this header. This header then * provides a mapping from the source version of the interface to an * appropriate binary interface. Such mappings permit an application * to be built from libraries and objects which have mixed expectations * of the definitions of these functions. * * For applications using the Draft 6 definitions, the binary symbol is the * same as the source symbol, and no explicit mapping is needed. For the * standard interface, the function func() is mapped to the binary symbol * _posix_func(). The preferred mechanism for the remapping is a compiler * #pragma. If the compiler does not provide such a #pragma, the header file * defines a static function func() which calls the _posix_func() version; * this has to be done instead of #define since POSIX specifies that an * application can #undef the symbol and still be bound to the correct * implementation. Unfortunately, the statics confuse lint so we fallback to * #define in that case. * * NOTE: Support for the Draft 6 definitions is provided for compatibility * only. New applications/libraries should use the standard definitions. */ # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" #pragma redefine_extname getlogin_r getloginx_r # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" extern char *getlogin_r(char *, int); extern char *ttyname_r(int, char *, int); extern int getentropy(void *, size_t); # 36 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * Copyright 2014 PALO, Richard. * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" extern int memcmp(const void *, const void *, size_t); extern void *memcpy(void *, const void *, size_t); extern void *memmove(void *, const void *, size_t); extern void *memset(void *, int, size_t); extern char *strcat(char *, const char *); extern int strcmp(const char *, const char *); extern char *strcpy(char *, const char *); extern int strcoll(const char *, const char *); extern size_t strcspn(const char *, const char *); extern char *strerror(int); extern size_t strlen(const char *); extern char *strncat(char *, const char *, size_t); extern int strncmp(const char *, const char *, size_t); extern char *strncpy(char *, const char *, size_t); extern size_t strspn(const char *, const char *); extern char *strtok(char *, const char *); extern size_t strxfrm(char *, const char *, size_t); /* * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the * function signatures for the following functions be replaced by * two declarations, both of which have the same behavior. */ # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" extern void *memchr(const void *, int, size_t); extern char *strchr(const char *, int); extern char *strpbrk(const char *, const char *); extern char *strrchr(const char *, int); extern char *strstr(const char *, const char *); # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" extern int strerror_r(int, char *, size_t); extern char *strtok_r(char *, const char *, char **); extern void *memccpy(void *, const void *, int, size_t); extern char *stpcpy(char *, const char *); extern char *stpncpy(char *, const char *, size_t); extern char *strndup(const char *, size_t); extern size_t strnlen(const char *, size_t); extern char *strsignal(int); extern int strcoll_l(const char *, const char *, locale_t); extern size_t strxfrm_l(char *, const char *, size_t, locale_t); extern int strcasecmp_l(const char *, const char *, locale_t); extern int strncasecmp_l(const char *, const char *, size_t, locale_t); extern char *strerror_l(int, locale_t); /* Note that some of these are also declared in strings.h for XPG4_2+ */ extern void explicit_bzero(void *, size_t); extern int uucopy(const void *, void *, size_t); extern int uucopystr(const void *, void *, size_t); extern int ffs(int); extern int ffsl(long); extern int ffsll(long long); extern int fls(int); extern int flsl(long); extern int flsll(long long); extern void *memmem(const void *, size_t, const void *, size_t); extern char *strcasestr(const char *, const char *); extern char *strnstr(const char *, const char *, size_t); extern size_t strlcpy(char *, const char *, size_t); extern size_t strlcat(char *, const char *, size_t); extern char *strsep(char **stringp, const char *delim); extern char *strchrnul(const char *, int); extern char *strcasestr_l(const char *, const char *, locale_t); extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, size_t); extern char *strdup(const char *); /* * gcc provides this inlining facility but Studio C does not. * We should use it exclusively once Studio C also provides it. */ extern void *__builtin_alloca(size_t); # 37 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 1999-2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * Error codes */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2000 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * Error codes */ # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" /* Filesystem Quotas */ /* Convergent Error Returns */ # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" /* Interprocess Robust Locks */ /* stream problems */ # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" /* Interprocess Robust Locks */ # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" /* shared library problems */ # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" /* BSD Networking Software */ /* argument errors */ # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" /* protocol family */ /* operational errors */ /* of reset */ /* XENIX has 135 - 142 */ # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" /* SUN Network File System */ # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" extern int *___errno(); # 38 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 1989, 1994 by Mortice Kern Systems Inc. * All rights reserved. */ /* * Copyright 2010 Nexenta Systems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 2 /* * wchar_t is a built-in type in standard C++ and as such is not * defined here when using standard C++. However, the GNU compiler * fixincludes utility nonetheless creates its own version of this * header for use by gcc and g++. In that version it adds a redundant * guard for __cplusplus. To avoid the creation of a gcc/g++ specific * header we need to include the following magic comment: * * we must use the C++ compiler's type * * The above comment should not be removed or changed until GNU * gcc/fixinc/inclhack.def is updated to bypass this header. */ # 73 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" typedef ssize_t regoff_t; /* regcomp flags */ /* non-standard flags - note that most of these are not supported */ /* FreeBSD additions */ /* internal flags */ /* regexec flags */ /* regcomp and regexec return codes */ # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" typedef struct { /* regcomp() data saved for regexec() */ size_t re_nsub; /* # of subexpressions in RE pattern */ /* * Internal use only. Note that any changes to this structure * have to preserve sizing, as it is baked into applications. */ struct re_guts *re_g; int re_magic; const char *re_endp; /* here for compat */ size_t re_len; /* # wchar_t chars in compiled pattern */ struct _regex_ext_t *re_sc; /* for binary compatibility */ } regex_t; /* subexpression positions */ typedef struct { const char *rm_sp, *rm_ep; /* Start pointer, end pointer */ regoff_t rm_so, rm_eo; /* Start offset, end offset */ int rm_ss, rm_es; /* Used internally */ } regmatch_t; /* * Additional API and structs to support regular expression manipulations * on wide characters. */ extern int regcomp(regex_t *, const char *, int); extern int regexec(const regex_t *, const char *, size_t, regmatch_t *, int); extern size_t regerror(int, const regex_t *, char *, size_t); extern void regfree(regex_t *); # 39 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright (c) 1998-1999, by Sun Microsystems, Inc. * All rights reserved. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T * All Rights Reserved * */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * WARNING: This is an implementation-specific header, * its contents are not guaranteed. Applications * should include and not this header. */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" /* insert new signals here, and move _SIGRTM* appropriately */ extern long _sysconf(int); /* System Private interface to sysconf() */ # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 2 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" typedef int sig_atomic_t; extern void (*signal(int, void (*)(int)))(int); extern int raise(int); # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" /* * We need for the declaration of siginfo_t. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * The union sigval is also defined in as per X/Open and * POSIX requirements. */ # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * The sigevent structure is also defined in as per X/Open and * POSIX requirements. */ # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* values of sigev_notify */ # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * negative signal codes are reserved for future use for user generated * signals */ # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and * SIGBUS) from */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 /* * machsig.h is the machine dependent portion of siginfo.h (and is * included by siginfo.h). A version of machsig.h should exist for * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and * SIGPOLL are architecture independent and may be found in siginfo.h. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This file describes the data type returned by vm routines * which handle faults. * * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value * returned by the underlying object mapped at the fault address. */ # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" typedef int faultcode_t; /* type returned by vm fault routines */ extern int fc_decode(faultcode_t); # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 /* * SIGILL signal codes */ # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" /* * SIGEMT signal codes */ /* * SIGFPE signal codes */ # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" /* * SIGSEGV signal codes */ /* * SIGBUS signal codes */ # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 /* * SIGTRAP signal codes */ # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * SIGCLD signal codes */ # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * SIGPOLL signal codes */ # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * SIGPROF signal codes */ # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * Inclusion of is needed for the declaration of * timestruc_t. However, since inclusion of results * in X/Open and POSIX namespace pollution, the definition for * timestruct_t has been duplicated in a standards namespace safe header * . In , the structure * name, tag, and member names, as well as the type itself, all have * leading underscores to protect namespace. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Implementation-private. This header should not be included * directly by an application. The application should instead * include which includes this header conditionally * depending on which feature test macros are defined. By default, * this header is included by . X/Open and POSIX * standards requirements result in this header being included * by only under a restricted set of conditions. */ # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 /* * The inclusion of is needed for definitions of pid_t, etc. * Placement here is due to a dependency in which is included * by for the sigevent structure. Hence this inclusion must * follow that definition. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */ int si_signo; /* signal from signal.h */ int si_code; /* code from above */ int si_errno; /* error from errno.h */ union { int __pad[((128 / sizeof (int)) - 3)]; /* for future growth */ struct { /* kill(), SIGCLD, siqqueue() */ pid_t __pid; /* process ID */ union { struct { uid_t __uid; union sigval __value; } __kill; struct { clock_t __utime; int __status; clock_t __stime; } __cld; } __pdata; ctid_t __ctid; /* contract ID */ zoneid_t __zoneid; /* zone ID */ } __proc; struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ void *__addr; /* faulting address */ int __trapno; /* illegal trap number */ caddr_t __pc; /* instruction address */ } __fault; struct { /* SIGPOLL, SIGXFSZ */ /* fd not currently available for SIGPOLL */ int __fd; /* file descriptor */ long __band; } __file; struct { /* SIGPROF */ caddr_t __faddr; /* last fault address */ timestruc_t __tstamp; /* real time stamp */ short __syscall; /* current syscall */ char __nsysarg; /* number of arguments */ char __fault; /* last fault type */ long __sysarg[8]; /* syscall arguments */ int __mstate[10]; /* see */ } __prof; struct { /* SI_RCTL */ int32_t __entity; /* type of entity exceeding */ } __rctl; } __data; } siginfo_t; # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" /* * XXX -- internal version is identical to siginfo_t but without the padding. * This must be maintained in sync with it. */ typedef struct k_siginfo { int si_signo; /* signal from signal.h */ int si_code; /* code from above */ int si_errno; /* error from errno.h */ union { struct { /* kill(), SIGCLD, siqqueue() */ pid_t __pid; /* process ID */ union { struct { uid_t __uid; union sigval __value; } __kill; struct { clock_t __utime; int __status; clock_t __stime; } __cld; } __pdata; ctid_t __ctid; /* contract ID */ zoneid_t __zoneid; /* zone ID */ } __proc; struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ void *__addr; /* faulting address */ int __trapno; /* illegal trap number */ caddr_t __pc; /* instruction address */ } __fault; struct { /* SIGPOLL, SIGXFSZ */ /* fd not currently available for SIGPOLL */ int __fd; /* file descriptor */ long __band; } __file; struct { /* SIGPROF */ caddr_t __faddr; /* last fault address */ timestruc_t __tstamp; /* real time stamp */ short __syscall; /* current syscall */ char __nsysarg; /* number of arguments */ char __fault; /* last fault type */ /* these are omitted to keep k_siginfo_t small */ /* long __sysarg[8]; */ /* int __mstate[10]; */ } __prof; struct { /* SI_RCTL */ int32_t __entity; /* type of entity exceeding */ } __rctl; } __data; } k_siginfo_t; typedef struct sigqueue { struct sigqueue *sq_next; k_siginfo_t sq_info; void (*sq_func)(struct sigqueue *); /* destructor function */ void *sq_backptr; /* pointer to the data structure */ /* associated by sq_func() */ int sq_external; /* comes from outside the contract */ } sigqueue_t; /* indication whether to queue the signal or not */ # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 /* Duplicated in as a result of XPG4v2 requirements */ typedef struct { unsigned int __sigbits[3]; } k_sigset_t; /* * The signal handler routine can have either one or three arguments. * Existing C code has used either form so not specifing the arguments * neatly finesses the problem. C++ doesn't accept this. To C++ * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would * specify this as "(*sa_handler)(void)"). One or the other form must be * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow * the SIG_* defines to work. "(*sa_sigaction)(int, siginfo_t *, void *)" * can be used for the three argument form. */ /* * Note: storage overlap by sa_handler and sa_sigaction */ struct sigaction { int sa_flags; union { void (*_handler)(); void (*_sigaction)(int, siginfo_t *, void *); } _funcptr; sigset_t sa_mask; int sa_resv[2]; }; # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" /* this is only valid for SIGCLD */ /* non-conformant ANSI compilation */ /* definitions for the sa_flags field */ # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" /* this is only valid for SIGCLD */ /* * use of these symbols by applications is injurious * to binary compatibility */ # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" /* Duplicated in as a result of XPG4v2 requirements. */ typedef struct sigaltstack { void *ss_sp; size_t ss_size; int ss_flags; } stack_t; # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" /* signotify id used only by libc for mq_notify()/aio_notify() */ typedef struct signotify_id { /* signotify id struct */ pid_t sn_pid; /* pid of proc to be notified */ int sn_index; /* index in preallocated pool */ int sn_pad; /* reserved */ } signotify_id_t; # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" /* Command codes for sig_notify call */ /* Added as per XPG4v2 */ struct sigstack { void *ss_sp; int ss_onstack; }; /* * For definition of ucontext_t; must follow struct definition * for sigset_t */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" extern const char **_sys_siglistp; /* signal descriptions */ extern const int _sys_siglistn; /* # of signal descriptions */ # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" extern int kill(pid_t, int); extern int sigaction(int, const struct sigaction *, struct sigaction *); extern int sigaddset(sigset_t *, int); extern int sigdelset(sigset_t *, int); extern int sigemptyset(sigset_t *); extern int sigfillset(sigset_t *); extern int sigismember(const sigset_t *, int); extern int sigpending(sigset_t *); extern int sigprocmask(int, const sigset_t *, sigset_t *); extern int sigsuspend(const sigset_t *); # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 /* * This file defines the data needed to specify a set of * processes. These types are used by the sigsend, sigsendset, * priocntl, priocntlset, waitid, evexit, and evexitset system * calls. */ /* * The following defines the values for an identifier type. It * specifies the interpretation of an id value. An idtype and * id together define a simple set of processes. */ typedef enum idtype /* pollutes XPG4.2 namespace */ { P_PID, /* A process identifier. */ P_PPID, /* A parent process identifier. */ P_PGID, /* A process group (job control group) */ /* identifier. */ P_SID, /* A session identifier. */ P_CID, /* A scheduling class identifier. */ P_UID, /* A user identifier. */ P_GID, /* A group identifier. */ P_ALL, /* All processes. */ P_LWPID, /* An LWP identifier. */ P_TASKID, /* A task identifier. */ P_PROJID, /* A project identifier. */ P_POOLID, /* A pool identifier. */ P_ZONEID, /* A zone identifier. */ P_CTID, /* A (process) contract identifier. */ P_CPUID, /* CPU identifier. */ P_PSETID /* Processor set identifier */ } idtype_t; /* * The following defines the operations which can be performed to * combine two simple sets of processes to form another set of * processes. */ typedef enum idop { POP_DIFF, /* Set difference. The processes which */ /* are in the left operand set and not */ /* in the right operand set. */ POP_AND, /* Set disjunction. The processes */ /* which are in both the left and right */ /* operand sets. */ POP_OR, /* Set conjunction. The processes */ /* which are in either the left or the */ /* right operand sets (or both). */ POP_XOR /* Set exclusive or. The processes */ /* which are in either the left or */ /* right operand sets but not in both. */ } idop_t; /* * The following structure is used to define a set of processes. * The set is defined in terms of two simple sets of processes * and an operator which operates on these two operand sets. */ typedef struct procset { idop_t p_op; /* The operator connection the */ /* following two operands each */ /* of which is a simple set of */ /* processes. */ idtype_t p_lidtype; /* The type of the left operand */ /* simple set. */ id_t p_lid; /* The id of the left operand. */ idtype_t p_ridtype; /* The type of the right */ /* operand simple set. */ id_t p_rid; /* The id of the right operand. */ } procset_t; /* * The following macro can be used to initialize a procset_t * structure. */ # 89 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 extern int gsignal(int); extern int (*ssignal(int, int (*)(int)))(int); extern int sigsend(idtype_t, id_t, int); extern int sigsendset(const procset_t *, int); extern int sig2str(int, char *); extern int str2sig(const char *, int *); extern void (*bsd_signal(int, void (*)(int)))(int); extern int killpg(pid_t, int); extern int siginterrupt(int, int); extern int sigaltstack(const stack_t *, stack_t *); extern int sighold(int); extern int sigignore(int); extern int sigpause(int); extern int sigrelse(int); extern void (*sigset(int, void (*)(int)))(int); /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ extern int sigstack(struct sigstack *, struct sigstack *); # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. * Copyright 2016 Joyent, Inc. */ # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 extern int pthread_kill(pthread_t, int); extern int pthread_sigmask(int, const sigset_t *, sigset_t *); extern int sigwaitinfo(const sigset_t *, siginfo_t *); extern int sigtimedwait(const sigset_t *, siginfo_t *, const struct timespec *); extern int sigqueue(pid_t, int, const union sigval); /* * sigwait() prototype is defined here. */ # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" extern int sigwait(sigset_t *); # 40 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. */ /* * synch.h: * definitions needed to use the thread synchronization interface */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1982, 1986, 1993 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright (c) 2013, 2015 by Delphix. All rights reserved. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" typedef lock_t disp_lock_t; /* dispatcher lock type */ /* * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or * an adaptive mutex, depending on what interrupt levels use it. */ /* * Macro to control loops which spin on a lock and then check state * periodically. Its passed an integer, and returns a boolean value * that if true indicates its a good time to get the scheduler lock and * check the state of the current owner of the lock. */ /* * Externs for CLOCK_LOCK and clock resolution */ extern volatile uint32_t hres_lock; extern hrtime_t hrtime_base; extern int clock_res; /* * The definitions of the symbolic interrupt levels: * * CLOCK_LEVEL => The level at which one must be to block the clock. * * LOCK_LEVEL => The highest level at which one may block (and thus the * highest level at which one may acquire adaptive locks) * Also the highest level at which one may be preempted. * * DISP_LEVEL => The level at which one must be to perform dispatcher * operations. * * The constraints on the platform: * * - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL * - LOCK_LEVEL must be less than DISP_LEVEL * - DISP_LEVEL should be as close to LOCK_LEVEL as possible * * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal; * changing this relationship is probably possible but not advised. * */ # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" /* * The following mask is for the cpu_intr_actv bits corresponding to * high-level PILs. It should equal: * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1) */ /* * The semaphore code depends on being able to represent a lock plus * owner in a single 32-bit word. (Mutexes used to have a similar * dependency, but no longer.) Thus the owner must contain at most * 24 significant bits. At present only threads and semaphores * must be aware of this vile constraint. Different ISAs may handle this * differently depending on their capabilities (e.g. compare-and-swap) * and limitations (e.g. constraints on alignment and/or KERNELBASE). */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Implementation-private. This header should not be included * directly by an application. The application should instead * include which includes this header conditionally * depending on which feature test macros are defined. By default, * this header is included by . X/Open and POSIX * standards requirements result in this header being included * by only under a restricted set of conditions. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 2 /* * Thread and LWP mutexes have the same type * definitions. * * NOTE: * * POSIX requires that define the structures pthread_mutex_t * and pthread_cond_t. Although these structures are identical to mutex_t * (lwp_mutex_t) and cond_t (lwp_cond_t), defined here, a typedef of these * types would require including in , pulling in * non-posix symbols/constants, violating POSIX namespace restrictions. Hence, * pthread_mutex_t/pthread_cond_t have been redefined (in ). * Any modifications done to mutex_t/lwp_mutex_t or cond_t/lwp_cond_t must * also be done to pthread_mutex_t/pthread_cond_t. */ typedef struct _lwp_mutex { struct { uint16_t flag1; uint8_t flag2; uint8_t ceiling; union { uint16_t bcptype; struct { uint8_t count_type1; uint8_t count_type2; } mtype_rcount; } mbcp_type_un; uint16_t magic; } flags; union { struct { uint8_t pad[8]; } lock64; struct { uint32_t ownerpid; uint32_t lockword; } lock32; upad64_t owner64; } lock; upad64_t data; } lwp_mutex_t; /* * Thread and LWP condition variables have the same * type definition. * NOTE: * The layout of the following structure should be kept in sync with the * layout of pthread_cond_t in sys/types.h. See NOTE above for lwp_mutex_t. */ typedef struct _lwp_cond { struct { uint8_t flag[4]; uint16_t type; uint16_t magic; } flags; upad64_t data; } lwp_cond_t; /* * LWP semaphores */ typedef struct _lwp_sema { uint32_t count; /* semaphore count */ uint16_t type; uint16_t magic; uint8_t flags[8]; /* last byte reserved for waiters */ upad64_t data; /* optional data */ } lwp_sema_t; /* * Thread and LWP rwlocks have the same type definition. * NOTE: The layout of this structure should be kept in sync with the layout * of the correponding structure of pthread_rwlock_t in sys/types.h. * Also, because we have to deal with C++, there is an identical structure * for rwlock_t in head/sync.h that we cannot change. */ typedef struct _lwp_rwlock { int32_t readers; /* rwstate word */ uint16_t type; uint16_t magic; lwp_mutex_t mutex; /* used with process-shared rwlocks */ lwp_cond_t readercv; /* used only to indicate ownership */ lwp_cond_t writercv; /* used only to indicate ownership */ } lwp_rwlock_t; /* * Definitions of synchronization types. */ /* Keep the following values in sync with pthread.h */ # 143 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" /* * USYNC_PROCESS_ROBUST is a deprecated historical type. It is mapped * into (USYNC_PROCESS | LOCK_ROBUST) by mutex_init(). Application code * should be revised to use (USYNC_PROCESS | LOCK_ROBUST) rather than this. */ /* * lwp_mutex_t flags */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 2 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" /* * Semaphores */ typedef struct _sema { /* this structure must be the same as sem_t in */ uint32_t count; /* semaphore count */ uint16_t type; uint16_t magic; upad64_t pad1[3]; /* reserved for a mutex_t */ upad64_t pad2[2]; /* reserved for a cond_t */ } sema_t; /* * POSIX.1c Note: * POSIX.1c requires that define the structures pthread_mutex_t * and pthread_cond_t. These structures are identical to mutex_t (lwp_mutex_t) * and cond_t (lwp_cond_t) which are defined in . A nested included * of (to allow a "#typedef mutex_t pthread_mutex_t") would pull in * non-posix symbols/constants violating the namespace restrictions. Hence, * pthread_mutex_t/pthread_cond_t have been redefined in (actually * in ). Any modifications done to mutex_t/lwp_mutex_t or * cond_t/lwp_cond_t should also be done to pthread_mutex_t/pthread_cond_t. */ typedef lwp_mutex_t mutex_t; typedef lwp_cond_t cond_t; /* * Readers/writer locks * * NOTE: The layout of this structure should be kept in sync with the layout * of the correponding structure of pthread_rwlock_t in sys/types.h. * Also, there is an identical structure for lwp_rwlock_t in . * Because we have to deal with C++, we cannot redefine this one as that one. */ typedef struct _rwlock { int32_t readers; /* rwstate word */ uint16_t type; uint16_t magic; mutex_t mutex; /* used with process-shared rwlocks */ cond_t readercv; /* used only to indicate ownership */ cond_t writercv; /* used only to indicate ownership */ } rwlock_t; int _lwp_mutex_lock(lwp_mutex_t *); int _lwp_mutex_unlock(lwp_mutex_t *); int _lwp_mutex_trylock(lwp_mutex_t *); int _lwp_cond_wait(lwp_cond_t *, lwp_mutex_t *); int _lwp_cond_timedwait(lwp_cond_t *, lwp_mutex_t *, timespec_t *); int _lwp_cond_reltimedwait(lwp_cond_t *, lwp_mutex_t *, timespec_t *); int _lwp_cond_signal(lwp_cond_t *); int _lwp_cond_broadcast(lwp_cond_t *); int _lwp_sema_init(lwp_sema_t *, int); int _lwp_sema_wait(lwp_sema_t *); int _lwp_sema_trywait(lwp_sema_t *); int _lwp_sema_post(lwp_sema_t *); int cond_init(cond_t *, int, void *); int cond_destroy(cond_t *); int cond_wait(cond_t *, mutex_t *); int cond_timedwait(cond_t *, mutex_t *, const timespec_t *); int cond_reltimedwait(cond_t *, mutex_t *, const timespec_t *); int cond_signal(cond_t *); int cond_broadcast(cond_t *); int mutex_init(mutex_t *, int, void *); int mutex_destroy(mutex_t *); int mutex_consistent(mutex_t *); int mutex_lock(mutex_t *); int mutex_trylock(mutex_t *); int mutex_unlock(mutex_t *); int rwlock_init(rwlock_t *, int, void *); int rwlock_destroy(rwlock_t *); int rw_rdlock(rwlock_t *); int rw_wrlock(rwlock_t *); int rw_unlock(rwlock_t *); int rw_tryrdlock(rwlock_t *); int rw_trywrlock(rwlock_t *); int sema_init(sema_t *, unsigned int, int, void *); int sema_destroy(sema_t *); int sema_wait(sema_t *); int sema_timedwait(sema_t *, const timespec_t *); int sema_reltimedwait(sema_t *, const timespec_t *); int sema_post(sema_t *); int sema_trywait(sema_t *); /* "Magic numbers" tagging synchronization object types */ /* * POSIX.1c Note: * DEFAULTMUTEX is defined same as PTHREAD_MUTEX_INITIALIZER in . * DEFAULTCV is defined same as PTHREAD_COND_INITIALIZER in . * DEFAULTRWLOCK is defined same as PTHREAD_RWLOCK_INITIALIZER in . * Any changes to these macros should be reflected in */ # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" /* * Tests on lock states. */ /* * The following definitions are for assertions which can be checked * statically by tools like lock_lint. You can also define your own * run-time test for each. If you don't, we define them to 1 so that * such assertions simply pass. */ # 197 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" /* * The *_held() functions apply equally well to Solaris threads * and to Posix threads synchronization objects, but the formal * type declarations are different, so we just declare the argument * to each *_held() function to be a void *, expecting that they will * be called with the proper type of argument in each case. */ int _sema_held(void *); /* sema_t or sem_t */ int _rw_read_held(void *); /* rwlock_t or pthread_rwlock_t */ int _rw_write_held(void *); /* rwlock_t or pthread_rwlock_t */ int _mutex_held(void *); /* mutex_t or pthread_mutex_t */ /* Pause API */ void smt_pause(void); /* * Panicking versions of our favorite friends. */ void mutex_enter(mutex_t *); void mutex_exit(mutex_t *); # 41 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ /* Copyright 2015, Joyent, Inc. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2 /* * Flag values accessible to open(2) and fcntl(2) * The first five can only be set (exclusively) by open(2). */ # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* defines read/write file integrity */ /* * Flag values accessible only to open(2). */ # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* * fcntl(2) requests * * N.B.: values are not necessarily assigned sequentially below. */ /* * Applications that read /dev/mem must be built like the kernel. A * new symbol "_KMEMUSER" is defined for this purpose. */ # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* EINVAL is fildes matches arg1 */ # 137 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* * Numbers 20-22 have been removed and should not be reused. */ /* manager */ /* * Commands that refer to flock structures. The argument types differ between * the large and small file environments; therefore, the #defined values must * as well. * The NBMAND forms are private and should not be used. * The FLOCK forms are also private and should not be used. */ /* "Native" application compilation environment */ # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* * transitional large file interface version * These are only valid in a 32 bit application compiled with large files * option, for source compatibility, the 64-bit versions are mapped back * to the native versions. */ # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* * File segment locking set data type - information passed to system by user. */ /* regular version, for both small and large file compilation environment */ typedef struct flock { short l_type; short l_whence; off_t l_start; off_t l_len; /* len == 0 means until end of file */ int l_sysid; pid_t l_pid; long l_pad[4]; /* reserve area */ } flock_t; # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* transitional large file interface version */ typedef struct flock64 { short l_type; short l_whence; off64_t l_start; off64_t l_len; /* len == 0 means until end of file */ int l_sysid; pid_t l_pid; long l_pad[4]; /* reserve area */ } flock64_t; # 328 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* * File segment locking types. */ /* * POSIX constants */ /* Mask for file access modes */ /* * DIRECTIO */ /* * File share reservation type */ typedef struct fshare { short f_access; short f_deny; int f_id; } fshare_t; /* * f_access values */ /* * f_deny values */ # 381 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* * Special flags for functions such as openat(), fstatat().... */ /* || defined(_XPG7) */ # 396 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* advice for posix_fadvise */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" /* large file compilation environment setup */ # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" extern int fcntl(int, int, ...); extern int open(const char *, int, ...); extern int creat(const char *, mode_t); extern int posix_fadvise(int, off_t, off_t, int); extern int posix_fallocate(int, off_t, off_t); extern int openat(int, const char *, int, ...); extern int attropen(const char *, const char *, int, ...); extern int directio(int, int); /* transitional large file interface versions */ extern int open64(const char *, int, ...); extern int creat64(const char *, mode_t); extern int posix_fadvise64(int, off64_t, off64_t, int); extern int posix_fallocate64(int, off64_t, off64_t); extern int openat64(int, const char *, int, ...); extern int attropen64(const char *, const char *, int, ...); # 42 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 /* * The implementation specific header includes a * definition for timestruc_t needed by the stat structure. However, * including either , which includes , or * including directly will break both X/Open and * POSIX namespace. Preceeding tag, structure, and structure member * names with underscores eliminates the namespace breakage and at the * same time, with unique type names, eliminates the possibility of * timespec_t or timestruct_t naming conflicts that could otherwise * result based on the order of inclusion of and * . The header contains the * standards namespace safe versions of these definitions. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Implementation-private. This header should not be included * directly by an application. The application should instead * include which includes this header conditionally * depending on which feature test macros are defined. By default, * this header is included by . X/Open and POSIX * standards requirements result in this header being included * by only under a restricted set of conditions. */ # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 /* * stat structure, used by stat(2) and fstat(2) */ # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" /* * large file compilation environment setup */ # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" /* * In the LP64 compilation environment, map large file interfaces * back to native versions where possible. */ # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" /* * User level stat structure definitions. */ # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" struct stat { dev_t st_dev; long st_pad1[3]; /* reserved for network id */ ino_t st_ino; mode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; long st_pad2[2]; off_t st_size; long st_pad3; /* future off_t expansion */ timestruc_t st_atim; timestruc_t st_mtim; timestruc_t st_ctim; blksize_t st_blksize; blkcnt_t st_blocks; char st_fstype[16]; long st_pad4[8]; /* expansion area */ }; /* transitional large file interface version */ # 303 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" struct stat64 { dev_t st_dev; long st_pad1[3]; /* reserved for network id */ ino64_t st_ino; mode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; long st_pad2[2]; off64_t st_size; timestruc_t st_atim; timestruc_t st_mtim; timestruc_t st_ctim; blksize_t st_blksize; blkcnt64_t st_blocks; char st_fstype[16]; long st_pad4[8]; /* expansion area */ }; # 401 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" /* MODE MASKS */ /* de facto standard definitions */ /* XENIX definitions are not relevant to Solaris */ # 428 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" /* the following macros are for POSIX conformance */ # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" /* POSIX.4 macros */ /* * A version number is included in the x86 SVR4 stat and mknod interfaces * so that SVR4 binaries can be supported. An LP64 kernel that supports * the i386 ABI need to be aware of this too. */ # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" /* || defined(_XPG7) */ /* for use with futimens() and utimensat() */ # 486 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" extern int fchmod(int, mode_t); extern int chmod(const char *, mode_t); extern int mkdir(const char *, mode_t); extern int mkfifo(const char *, mode_t); extern mode_t umask(mode_t); /* transitional large file interfaces */ extern int fstat64(int, struct stat64 *); extern int stat64(const char *, struct stat64 *); extern int lstat64(const char *, struct stat64 *); extern int fstatat64(int, const char *, struct stat64 *, int); /* || defined(_XPG7) */ extern int mkdirat(int, const char *, mode_t); extern int mkfifoat(int, const char *, mode_t); extern int mknodat(int, const char *, mode_t, dev_t); extern int fchmodat(int, const char *, mode_t, int); extern int futimens(int, const struct timespec[2]); extern int utimensat(int, const char *, const struct timespec[2], int); # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2 /* * The implementation specific header for */ extern int fstat(int, struct stat *); extern int stat(const char *, struct stat *); extern int fstatat(int, const char *, struct stat *, int); extern int lstat(const char *, struct stat *); extern int mknod(const char *, mode_t, dev_t); # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" /* * Obsolete SVR3 compatibility functions. * Application software should NOT program to the _xstat interface. */ extern int _fxstat(const int, int, struct stat *); extern int _xstat(const int, const char *, struct stat *); extern int _lxstat(const int, const char *, struct stat *); extern int _xmknod(const int, const char *, mode_t, dev_t); # 518 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 # 43 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1998-2000 by Sun Microsystems, Inc. * All rights reserved. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * User-visible pieces of the ANSI C standard I/O package. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999 * variable argument definitions. For legacy support, it also defines * the pre-standard variable argument definitions. * * The varargs definitions within this header are defined in terms of * implementation definitions. These implementation definitions reside * in . This organization enables protected use of * the implementation by other standard headers without introducing * names into the users' namespace. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This header defines the ISO C 1989 and ISO C++ 1998 variable * argument definitions. * * The varargs definitions within this header are defined in terms of * implementation definitions. These implementation definitions reside * in . This organization enables protected use of * the implementation by other standard headers without introducing * names into the users' namespace. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers, * specifically and . * * This header serves two purposes. * * First, it provides a common set of definitions that implementations * of the various standards for variable argument lists may use. These * various standards are implemented in , , * , , and . * * Second, it provides varying implementations of the common definitions, * depending upon the compiler. */ /* * The common definitions exported by this header or compilers using * this header are: * * the macro __va_start(list, name) starting the list iteration * the macro __va_arg(list, type) getting the current arg and iterating * the macro __va_copy(to, from) to bookmark the list iteration * the macro __va_end(list) to end the iteration * * In addition, the following are exported via inclusion of : * * the identifier __builtin_va_alist for the variable list pseudo parameter * the type __va_alist_type for the variable list pseudo parameter * the type __va_list defining the type of the variable list iterator */ /* * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor * macros (e.g. __sparc) to determine the protocol appropriate to the * current compilation. It is intended that the compilation system * define the feature, processor, and compiler macros, not the user of * the system. */ /* * Many compilation systems depend upon the use of special functions * built into the the compilation system to handle variable argument * lists. These built-in symbols may include one or more of the * following: * * __builtin_va_alist * __builtin_va_start * __builtin_va_arg_incr * __builtin_stdarg_start * __builtin_va_end * __builtin_va_arg * __builtin_va_copy */ /* * The following are defined in : * * __va_alist_type * __va_void() * __va_ptr_base * ISA definitions via inclusion of * * Inclusion of this header also makes visible the symbols in . * This header is included in , and in * via inclusion of . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" typedef __va_list va_list; # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * This header defines the va_copy variable argument macro, which is * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++ * 1998. Because this macro is a long-standing Solaris extension, it * is also permitted in other contexts. * * The varargs definitions within this header are defined in terms of * implementation definitions. These implementation definitions reside * in . This organization enables protected use of * the implementation by other standard headers without introducing * names into the users' namespace. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2 /* * va_copy was initially a Solaris extension to provide a portable * way to perform a variable argument list ``bookmarking'' function. * It is now specified in the ISO/IEC 9899:1999 standard. */ # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. * * Copyright (c) 1989 AT&T * All Rights Reserved * */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright 2014 PALO, Richard. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1998 by Sun Microsystems, Inc. * All rights reserved. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar_impl.h" 2 typedef struct __mbstate_t { int __filler[6]; } __mbstate_t; # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * Copyright 2014 PALO, Richard. * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * User-visible pieces of the ANSI C standard I/O package. */ # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 2 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" extern unsigned char __ctype[]; extern unsigned int *__ctype_mask; extern int *__trans_upper; extern int *__trans_lower; /* * These used to be macros, which while more efficient, precludes operation * with thread specific locales. The old macros will still work, but new * code compiles to use functions. This is specifically permitted by the * various standards. Only _tolower and _toupper were required to be * delivered in macro form. */ extern int isalnum(int); extern int isalpha(int); extern int iscntrl(int); extern int isdigit(int); extern int isgraph(int); extern int islower(int); extern int isprint(int); extern int ispunct(int); extern int isspace(int); extern int isupper(int); extern int isxdigit(int); extern int isblank(int); extern int tolower(int); extern int toupper(int); # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" extern int isascii(int); extern int toascii(int); extern int _tolower(int); extern int _toupper(int); # 98 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" extern int isalnum_l(int, locale_t); extern int isalpha_l(int, locale_t); extern int isblank_l(int, locale_t); extern int iscntrl_l(int, locale_t); extern int isdigit_l(int, locale_t); extern int isgraph_l(int, locale_t); extern int islower_l(int, locale_t); extern int isprint_l(int, locale_t); extern int ispunct_l(int, locale_t); extern int isspace_l(int, locale_t); extern int isupper_l(int, locale_t); extern int isxdigit_l(int, locale_t); extern int tolower_l(int, locale_t); extern int toupper_l(int, locale_t); # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 1999-2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2014 PALO, Richard. * Copyright 2016 Joyent, Inc. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" typedef long max_align_t; # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2017 Toomas Soome */ /* * Commonly used macros and definitions. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" /* * We must not expose container_of() to userland, but we want it * to be available for early boot and for the kernel. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" /* * wchar_t is a built-in type in standard C++ and as such is not * defined here when using standard C++. However, the GNU compiler * fixincludes utility nonetheless creates its own version of this * header for use by gcc and g++. In that version it adds a redundant * guard for __cplusplus. To avoid the creation of a gcc/g++ specific * header we need to include the following magic comment: * * we must use the C++ compiler's type * * The above comment should not be removed or changed until GNU * gcc/fixinc/inclhack.def is updated to bypass this header. */ # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" /* * wchar_t is a built-in type in standard C++ and as such is not * defined here when using standard C++. However, the GNU compiler * fixincludes utility nonetheless creates its own version of this * header for use by gcc and g++. In that version it adds a redundant * guard for __cplusplus. To avoid the creation of a gcc/g++ specific * header we need to include the following magic comment: * * we must use the C++ compiler's type * * The above comment should not be removed or changed until GNU * gcc/fixinc/inclhack.def is updated to bypass this header. */ # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" typedef long wint_t; # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" /* not XPG4 and not XPG4v2 */ # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" typedef __mbstate_t mbstate_t; # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" /* not XPG4 and not XPG4v2 */ # 172 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname fgetwc __fgetwc_xpg5 # 172 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname getwc __getwc_xpg5 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname getwchar __getwchar_xpg5 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname fputwc __fputwc_xpg5 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 176 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname putwc __putwc_xpg5 # 176 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname putwchar __putwchar_xpg5 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname fgetws __fgetws_xpg5 # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 179 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname fputws __fputws_xpg5 # 179 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 180 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname ungetwc __ungetwc_xpg5 # 180 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" extern wint_t fgetwc(__FILE *); extern wchar_t *fgetws(wchar_t *, int, __FILE *); extern wint_t fputwc(wint_t, __FILE *); extern int fputws(const wchar_t *, __FILE *); extern wint_t ungetwc(wint_t, __FILE *); extern wint_t getwc(__FILE *); extern wint_t getwchar(void); extern wint_t putwc(wint_t, __FILE *); extern wint_t putwchar(wint_t); extern double wcstod(const wchar_t *, wchar_t **); extern long wcstol(const wchar_t *, wchar_t **, int); extern unsigned long wcstoul(const wchar_t *, wchar_t **, int); extern wchar_t *wcscat(wchar_t *, const wchar_t *); extern int wcscmp(const wchar_t *, const wchar_t *); extern int wcscoll(const wchar_t *, const wchar_t *); extern wchar_t *wcscpy(wchar_t *, const wchar_t *); extern size_t wcscspn(const wchar_t *, const wchar_t *); extern size_t wcslen(const wchar_t *); extern wchar_t *wcsncat(wchar_t *, const wchar_t *, size_t); extern int wcsncmp(const wchar_t *, const wchar_t *, size_t); extern wchar_t *wcsncpy(wchar_t *, const wchar_t *, size_t); extern size_t wcsspn(const wchar_t *, const wchar_t *); extern size_t wcsxfrm(wchar_t *, const wchar_t *, size_t); # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" extern wchar_t *wcschr(const wchar_t *, wchar_t); extern wchar_t *wcspbrk(const wchar_t *, const wchar_t *); extern wchar_t *wcsrchr(const wchar_t *, wchar_t); # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname wcstok __wcstok_xpg5 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" #pragma redefine_extname wcsftime __wcsftime_xpg5 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **); extern size_t wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm *); # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" /* not XPG4 and not XPG4v2 */ extern wint_t btowc(int); extern int fwprintf(__FILE *, const wchar_t *, ...); extern int fwscanf(__FILE *, const wchar_t *, ...); extern int fwide(__FILE *, int); extern int mbsinit(const mbstate_t *); extern size_t mbrlen(const char *, size_t, mbstate_t *); extern size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *); extern size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *); extern int swprintf(wchar_t *, size_t, const wchar_t *, ...); extern int swscanf(const wchar_t *, const wchar_t *, ...); extern int vfwprintf(__FILE *, const wchar_t *, __va_list); extern int vwprintf(const wchar_t *, __va_list); extern int vswprintf(wchar_t *, size_t, const wchar_t *, __va_list); extern size_t wcrtomb(char *, wchar_t, mbstate_t *); extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *); extern size_t wcsnrtombs(char *, const wchar_t **, size_t, size_t, mbstate_t *); extern int wctob(wint_t); extern int wmemcmp(const wchar_t *, const wchar_t *, size_t); extern wchar_t *wmemcpy(wchar_t *, const wchar_t *, size_t); extern wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); extern wchar_t *wmemset(wchar_t *, wchar_t, size_t); extern int wprintf(const wchar_t *, ...); extern int wscanf(const wchar_t *, ...); # 335 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" extern wchar_t *wcsstr(const wchar_t *, const wchar_t *); extern wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_c99.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in * the C99 standard and in conflict with the C++ implementation of the * standard header. The C++ standard may adopt the C99 standard at * which point it is expected that the symbols included here will * become part of the C++ std namespace. */ # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_c99.h" /* Introduced in ISO/IEC 9899:1999 standard */ # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_c99.h" extern int vfwscanf(__FILE *, const wchar_t *, __va_list); extern int vswscanf(const wchar_t *, const wchar_t *, __va_list); extern int vwscanf(const wchar_t *, __va_list); extern float wcstof(const wchar_t *, wchar_t **); extern long double wcstold(const wchar_t *, wchar_t **); extern long long wcstoll(const wchar_t *, wchar_t **, int); extern unsigned long long wcstoull(const wchar_t *, wchar_t **, int); # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" typedef int wctype_t; /* * XPG6 requires that va_list be defined as defined in , * however, inclusion of breaks Standard C namespace. */ # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" extern int iswalpha(wint_t); extern int iswupper(wint_t); extern int iswlower(wint_t); extern int iswdigit(wint_t); extern int iswxdigit(wint_t); extern int iswalnum(wint_t); extern int iswspace(wint_t); extern int iswpunct(wint_t); extern int iswprint(wint_t); extern int iswgraph(wint_t); extern int iswcntrl(wint_t); extern int iswctype(wint_t, wctype_t); extern wint_t towlower(wint_t); extern wint_t towupper(wint_t); extern wchar_t *wcswcs(const wchar_t *, const wchar_t *); extern int wcswidth(const wchar_t *, size_t); extern int wcwidth(wchar_t); extern wctype_t wctype(const char *); # 176 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" extern size_t wcsnlen(const wchar_t *, size_t); extern wchar_t *wcpcpy(wchar_t *, const wchar_t *); extern wchar_t *wcpncpy(wchar_t *, const wchar_t *, size_t); extern size_t wcsxfrm_l(wchar_t *, const wchar_t *, size_t, locale_t); extern int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); extern wchar_t *wcsdup(const wchar_t *); extern int wcscasecmp(const wchar_t *, const wchar_t *); extern int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); extern int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); extern size_t mbsnrtowcs(wchar_t *, const char **, size_t, size_t, mbstate_t *); extern FILE *open_wmemstream(wchar_t **, size_t *); # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/thread.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * thread.h: * definitions needed to use the thread interface except synchronization. * use for thread synchronization. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/thread.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1982, 1986, 1993 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright (c) 2013, 2015 by Delphix. All rights reserved. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/thread.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. */ # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/thread.h" 2 typedef unsigned int thread_t; typedef unsigned int thread_key_t; extern int thr_create(void *, size_t, void *(*)(void *), void *, long, thread_t *); extern int thr_join(thread_t, thread_t *, void **); extern int thr_setconcurrency(int); extern int thr_getconcurrency(void); extern void thr_exit(void *) __attribute__((__noreturn__)); extern thread_t thr_self(void); /* * the definition of thr_sigsetmask() is not strict ansi-c since sigset_t is * not in the strict ansi-c name space. Hence, include the prototype for * thr_sigsetmask() only if strict ansi-c conformance is not turned on. */ extern int thr_sigsetmask(int, const sigset_t *, sigset_t *); /* * the definition of thr_stksegment() is not strict ansi-c since stack_t is * not in the strict ansi-c name space. Hence, include the prototype for * thr_stksegment() only if strict ansi-c conformance is not turned on. */ extern int thr_stksegment(stack_t *); extern int thr_main(void); extern int thr_kill(thread_t, int); extern int thr_suspend(thread_t); extern int thr_continue(thread_t); extern void thr_yield(void); extern int thr_setprio(thread_t, int); extern int thr_getprio(thread_t, int *); extern int thr_keycreate(thread_key_t *, void(*)(void *)); extern int thr_keycreate_once(thread_key_t *, void(*)(void *)); extern int thr_setspecific(thread_key_t, void *); extern int thr_getspecific(thread_key_t, void **); extern size_t thr_min_stack(void); /* * thread flags (one word bit mask) */ /* * POSIX.1c Note: * THR_BOUND is defined same as PTHREAD_SCOPE_SYSTEM in * THR_DETACHED is defined same as PTHREAD_CREATE_DETACHED in * Any changes in these definitions should be reflected in */ /* * The key to be created by thr_keycreate_once() * must be statically initialized with THR_ONCE_KEY. * This must be the same as PTHREAD_ONCE_KEY_NP in */ /* * The available register states returned by thr_getstate(). */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace_impl.h" typedef struct abisym { void *a_real; int a_vflag; int a_tflag; } abisym_t; /* * From the apptrace auditing object */ extern FILE *__abi_outfile; extern struct liblist *__abi_pflib_list; extern sigset_t abisigset; extern void abilock(sigset_t *); extern void abiunlock(sigset_t *); extern int is_empty_string(char const *); extern int (*abi_thr_main)(void); extern thread_t (*abi_thr_self)(void); extern int (*abi_sigsetmask)(int, const sigset_t *, sigset_t *); extern int (*abi_sigaction)(int, const struct sigaction *, struct sigaction *); extern int (*abi_mutex_lock)(mutex_t *); extern int (*abi_mutex_unlock)(mutex_t *); # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 /* * Extract the verbosity flag. */ /* * Extract the function pointer to the real ABI function. */ /* * Macro to create the part of a function call prior * to the arg list. * cast is a full cast expression for a _pointer_ to * the ABI function being called. * * e.g. ABI_CALL_REAL(libc, getpid, (pid_t (*)(void))) (); */ /* * The following declarations and macros are needed for * anybody needing the vprintf family of calls where they * MUST come from the BASE link map instead of the auditing * link map. */ # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" /* From libstabspf */ typedef enum { STAB_SUCCESS = 0, /* All is well. */ STAB_FAIL = -1, /* Parsing error. */ STAB_NA = -2, /* Information is Not Applicable. */ STAB_NOMEM = -3 /* Out of Memory! */ } stabsret_t; extern int (*__abi_real_vfprintf)(FILE *, const char *, va_list); extern int (*__abi_real_vfwprintf)(FILE *, const wchar_t *, va_list); extern int (*__abi_real_vprintf)(const char *, va_list); extern int (*__abi_real_vsnprintf)(char *, size_t, const char *, va_list); extern int (*__abi_real_vsprintf)(char *, const char *, va_list); extern int (*__abi_real_vswprintf)(wchar_t *, size_t, const wchar_t *, va_list); extern int (*__abi_real_vwprintf)(const wchar_t *, va_list); extern int *(*__abi_real_errno)(void); extern void *abi_malloc(size_t); extern void *abi_calloc(size_t, size_t); extern void *abi_realloc(void *, size_t); extern int abi_putc(int, FILE *); extern int abi_fputs(const char *, FILE *); extern void abi_free(void *); /* From libstabspf */ extern stabsret_t spf_load_stabs(const char *); extern int spf_prtype(FILE *, char const *, int, void const *); extern int abi_strpsz; /* size constraint for string printing */ # 44 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2 /* * wchar_t is a built-in type in standard C++ and as such is not * defined here when using standard C++. However, the GNU compiler * fixincludes utility nonetheless creates its own version of this * header for use by gcc and g++. In that version it adds a redundant * guard for __cplusplus. To avoid the creation of a gcc/g++ specific * header we need to include the following magic comment: * * we must use the C++ compiler's type * * The above comment should not be removed or changed until GNU * gcc/fixinc/inclhack.def is updated to bypass this header. */ # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" extern char *dcgettext(const char *, const char *, const int); extern char *dgettext(const char *, const char *); extern char *gettext(const char *); extern char *textdomain(const char *); extern char *bindtextdomain(const char *, const char *); /* * LI18NUX 2000 Globalization Specification Version 1.0 * with Amendment 2 */ extern char *dcngettext(const char *, const char *, const char *, unsigned long int, int); extern char *dngettext(const char *, const char *, const char *, unsigned long int); extern char *ngettext(const char *, const char *, unsigned long int); extern char *bind_textdomain_codeset(const char *, const char *); /* Word handling functions --- requires dynamic linking */ /* Warning: these are experimental and subject to change. */ extern int wdinit(void); extern int wdchkind(wchar_t); extern int wdbindf(wchar_t, wchar_t, int); extern wchar_t *wddelim(wchar_t, wchar_t, int); extern wchar_t mcfiller(void); extern int mcwrap(void); # 45 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2014 Garrett D'Amore * * Portions of this file developed by Garrett D'Amore are licensed * under the terms of the Common Development and Distribution License (CDDL) * version 1.0 only. The use of subsequent versions of the License are * is specifically prohibited unless those terms are not in conflict with * version 1.0 of the License. You can find this license on-line at * http://www.illumos.org/license/CDDL */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright 2014 PALO, Richard. * * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2014-2016 PALO, Richard. */ # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; /* * New in IEEE Std 1003.1-2001 for alignment with the ISO/IEC 9899:1999 * standard. Namespace and binary compatibility dictate that visibility * of these new members be limited. Visibility is limited to a strictly * conforming ANSI C environment (-Xc) or if _LCONV_C99 is defined. */ # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" }; # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" extern char *setlocale(int, const char *); extern struct lconv *localeconv(void); # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" /* * These were added in POSIX 2008 as part of the newlocale() specification. */ # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" extern locale_t duplocale(locale_t); extern void freelocale(locale_t); extern locale_t newlocale(int, const char *, locale_t); extern locale_t uselocale(locale_t); extern locale_t __global_locale(void); # 46 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2013 Gary Mills * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * An application should not include this header directly. Instead it * should be included only through the inclusion of other Sun headers. * * The contents of this header is limited to identifiers specified in the * C Standard. Any new identifiers specified in future amendments to the * C Standard must be placed in this header. If these new identifiers * are required to also be in the C++ Standard "std" namespace, then for * anything other than macro definitions, corresponding "using" directives * must also be added to . */ #pragma ident "%Z%%M% %I% %E% SMI" /* * Sizes of integral types */ # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" /* min value of a "long int" */ /* min value of a long long */ /* max value of a long long */ /* max value of "unsigned long long */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 /* * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C * committee's working draft for the revision of the current ISO C standard, * ISO/IEC 9899:1990 Programming language - C. These are not currently * required by any standard but constitute a useful, general purpose set * of type definitions and limits which is namespace clean with respect to * all standards. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* * ARG_MAX is calculated as follows: * NCARGS - space for other stuff on initial stack * like aux vectors, saved registers, etc.. */ # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* * POSIX conformant definitions - An implementation may define * other symbols which reflect the actual implementation. Alternate * definitions may not be as restrictive as the POSIX definitions. */ # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* POSIX.1c conformant */ /* UNIX 03 conformant */ /* * POSIX.2 and XPG4-XSH4 conformant definitions */ # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* UNIX 03 conformant */ # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* * For dual definitions for PASS_MAX and sysconf.c */ # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* NLS printf() and scanf() */ # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */ /* of a double */ /* of a "float" */ /* Marked as LEGACY in SUSv1 and removed in SUSv2 */ /* of a double */ /* of a float */ # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the * related text states: * * A definition of one of the values from Table 2-5 shall be omitted from the * on specific implementations where the corresponding value is * equal to or greater than the stated minimum, but where the value can vary * depending on the file to which it is applied. The actual value supported for * a specific pathname shall be provided by the pathconf() (5.7.1) function. * * This is clear that any machine supporting multiple file system types * and/or a network can not include this define, regardless of protection * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags. * * #define NAME_MAX 14 */ # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" /* Increased for illumos */ # 47 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * * Copyright 2018 Joyent Inc. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 1 /* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2017 Toomas Soome */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 2 /* * Some macros for units conversion */ /* * Disk blocks (sectors) and bytes. */ /* common macros */ # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" /* * WARNING: The device number macros defined here should not be used by device * drivers or user software. Device drivers should use the device functions * defined in the DDI/DKI interface (see also ddi.h). Application software * should make use of the library routines available in makedev(3). A set of * new device macros are provided to operate on the expanded device number * format supported in SVR4. Macro versions of the DDI device functions are * provided for use by kernel proper routines only. Macro routines bmajor(), * major(), minor(), emajor(), eminor(), and makedev() will be removed or * their definitions changed at the next major release following SVR4. */ # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" /* For 3b2 hardware devices the minor is */ /* restricted to 256 (0-255) */ # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" /* major part of a device external from the kernel (same as emajor below) */ /* minor part of a device external from the kernel (same as eminor below) */ /* create old device number */ /* make an new device number */ /* * emajor() allows kernel/driver code to print external major numbers * eminor() allows kernel/driver code to print external minor numbers */ # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" /* * get external major and minor device * components from expanded device number */ /* * These are versions of the kernel routines for compressing and * expanding long device numbers that don't return errors. */ # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" /* convert to old (SVR3.2) dev format */ /* convert to new (SVR4) dev format */ /* * Macro for checking power of 2 address alignment. */ /* * Macros for counting and rounding. */ /* * Macro to determine if value is a power of 2 */ /* * Macros for various sorts of alignment and rounding. The "align" must * be a power of 2. Often times it is a block, sector, or page. */ /* * return x rounded down to an align boundary * eg, P2ALIGN(1200, 1024) == 1024 (1*align) * eg, P2ALIGN(1024, 1024) == 1024 (1*align) * eg, P2ALIGN(0x1234, 0x100) == 0x1200 (0x12*align) * eg, P2ALIGN(0x5600, 0x100) == 0x5600 (0x56*align) */ /* * return x % (mod) align * eg, P2PHASE(0x1234, 0x100) == 0x34 (x-0x12*align) * eg, P2PHASE(0x5600, 0x100) == 0x00 (x-0x56*align) */ /* * return how much space is left in this block (but if it's perfectly * aligned, return 0). * eg, P2NPHASE(0x1234, 0x100) == 0xcc (0x13*align-x) * eg, P2NPHASE(0x5600, 0x100) == 0x00 (0x56*align-x) */ /* * return x rounded up to an align boundary * eg, P2ROUNDUP(0x1234, 0x100) == 0x1300 (0x13*align) * eg, P2ROUNDUP(0x5600, 0x100) == 0x5600 (0x56*align) */ /* * return the ending address of the block that x is in * eg, P2END(0x1234, 0x100) == 0x12ff (0x13*align - 1) * eg, P2END(0x5600, 0x100) == 0x56ff (0x57*align - 1) */ /* * return x rounded up to the next phase (offset) within align. * phase should be < align. * eg, P2PHASEUP(0x1234, 0x100, 0x10) == 0x1310 (0x13*align + phase) * eg, P2PHASEUP(0x5600, 0x100, 0x10) == 0x5610 (0x56*align + phase) */ /* * return TRUE if adding len to off would cause it to cross an align * boundary. * eg, P2BOUNDARY(0x1234, 0xe0, 0x100) == TRUE (0x1234 + 0xe0 == 0x1314) * eg, P2BOUNDARY(0x1234, 0x50, 0x100) == FALSE (0x1234 + 0x50 == 0x1284) */ /* * Return TRUE if they have the same highest bit set. * eg, P2SAMEHIGHBIT(0x1234, 0x1001) == TRUE (the high bit is 0x1000) * eg, P2SAMEHIGHBIT(0x1234, 0x3010) == FALSE (high bit of 0x3010 is 0x2000) */ /* * Typed version of the P2* macros. These macros should be used to ensure * that the result is correctly calculated based on the data type of (x), * which is passed in as the last argument, regardless of the data * type of the alignment. For example, if (x) is of type uint64_t, * and we want to round it up to a page boundary using "PAGESIZE" as * the alignment, we can do either * P2ROUNDUP(x, (uint64_t)PAGESIZE) * or * P2ROUNDUP_TYPED(x, PAGESIZE, uint64_t) */ # 325 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" /* * Macros to atomically increment/decrement a variable. mutex and var * must be pointers. */ /* * Macros to declare bitfields - the order in the parameter list is * Low to High - that is, declare bit 0 first. We only support 8-bit bitfields * because if a field crosses a byte boundary it's not likely to be meaningful * without reassembly in its nonnative endianness. */ # 48 "common/apptrace.c" 2 # 1 "common/abienv.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1996-1999 by Sun Microsystems, Inc. * All rights reserved. */ #pragma ident "%Z%%M% %I% %E% SMI" typedef struct liblist { char *l_libname; void *l_handle; struct liblist *l_next; } Liblist; typedef struct intlist { char *i_name; struct intlist *i_next; } Intlist; extern void appendlist(Liblist **, Liblist **, char const *, int); extern void build_env_list(Liblist **, char const *); extern void build_env_list1(Liblist **, Liblist **, char const *); extern Liblist *check_list(Liblist *, char const *); extern char *checkenv(char const *); extern int build_interceptor_path(char *, size_t, char const *); extern char *abibasename(char const *); extern void env_to_intlist(Intlist **, char const *); extern int check_intlist(Intlist *, char const *); # 49 "common/apptrace.c" 2 # 1 "common/mach.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/reg.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/reg.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This file only exists for i386 backwards compatibility. * Kernel code should not include it. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Essential struct definitions for mcontext_t needed by ucontext.h * These were formerly in regset.h, which now includes this file. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 2 /* * A gregset_t is defined as an array type for compatibility with the reference * source. This is important due to differences in the way the C language * treats arrays and structures as parameters. */ # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" typedef int greg_t; # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" typedef greg_t gregset_t[19]; # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" /* * Floating point definitions. */ # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" /* * This definition of the floating point structure is binary * compatible with the Intel386 psABI definition, and source * compatible with that specification for x87-style floating point. * It also allows SSE/SSE2 state to be accessed on machines that * possess such hardware capabilities. */ typedef struct _fpu { union { struct _fpchip_state { uint32_t state[27]; /* 287/387 saved state */ uint32_t status; /* saved at exception */ uint32_t mxcsr; /* SSE control and status */ uint32_t xstatus; /* SSE mxcsr at exception */ uint32_t __pad[2]; /* align to 128-bits */ upad128_t xmm[8]; /* %xmm0-%xmm7 */ } fpchip_state; struct _fp_emul_space { /* for emulator(s) */ uint8_t fp_emul[246]; uint8_t fp_epad[2]; } fp_emul_space; uint32_t f_fpregs[95]; /* union of the above */ } fp_reg_set; } fpregset_t; # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" /* * Structure mcontext defines the complete hardware machine state. * (This structure is specified in the i386 ABI suppl.) */ typedef struct { gregset_t gregs; /* general register set */ fpregset_t fpregs; /* floating point register set */ } mcontext_t; # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 2 /* * The names and offsets defined here should be specified by the * AMD64 ABI suppl. * * We make fsbase and gsbase part of the lwp context (since they're * the only way to access the full 64-bit address range via the segment * registers) and thus belong here too. However we treat them as * read-only; if %fs or %gs are updated, the results of the descriptor * table lookup that those updates implicitly cause will be reflected * in the corresponding fsbase and/or gsbase values the next time the * context can be inspected. However it is NOT possible to override * the fsbase/gsbase settings via this interface. * * Direct modification of the base registers (thus overriding the * descriptor table base address) can be achieved with _lwp_setprivate. */ # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" /* * The names and offsets defined here are specified by i386 ABI suppl. */ # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" /* aliases for portability */ # 143 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" /* * (This structure definition is specified in the i386 ABI supplement) * It's likely we can just get rid of the struct __old_fpu or maybe * move it to $SRC/uts/intel/ia32/os/fpu.c which appears to be the * only place that uses it. See: www.illumos.org/issues/6284 */ typedef struct __old_fpu { union { struct __old_fpchip_state /* fp extension state */ { int state[27]; /* 287/387 saved state */ int status; /* status word saved at */ /* exception */ } fpchip_state; struct __old_fp_emul_space /* for emulator(s) */ { char fp_emul[246]; char fp_epad[2]; } fp_emul_space; int f_fpregs[62]; /* union of the above */ } fp_reg_set; long f_wregs[33]; /* saved weitek state */ } __old_fpregset_t; # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" typedef struct dbregset { unsigned long debugreg[8]; } dbregset_t; /* * The version of privregs.h that is used on implementations that run on * processors that support the AMD64 instruction set is deliberately not * imported here. * * The amd64 'struct regs' definition may -not- compatible with either * 32-bit or 64-bit core file contents, nor with the ucontext. As a result, * the 'regs' structure cannot be used portably by applications, and should * only be used by the kernel implementation. * * The inclusion of the i386 version of privregs.h allows for some limited * source compatibility with 32-bit applications who expect to use * 'struct regs' to match the context of a 32-bit core file, or a ucontext_t. * * Note that the ucontext_t actually describes the general register in terms * of the gregset_t data type, as described in this file. Note also * that the core file content is defined by core(4) in terms of data types * defined by procfs -- see proc(4). */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/privregs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/privregs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This file describes the cpu's privileged register set, and * how the machine state is saved on the stack when a trap occurs. */ /* * This is NOT the structure to use for general purpose debugging; * see /proc for that. This is NOT the structure to use to decode * the ucontext or grovel about in a core file; see . */ struct regs { /* * Extra frame for mdb to follow through high level interrupts and * system traps. Set them to 0 to terminate stacktrace. */ greg_t r_savfp; /* a copy of %ebp */ greg_t r_savpc; /* a copy of %eip */ greg_t r_gs; greg_t r_fs; greg_t r_es; greg_t r_ds; greg_t r_edi; greg_t r_esi; greg_t r_ebp; greg_t r_esp; greg_t r_ebx; greg_t r_edx; greg_t r_ecx; greg_t r_eax; greg_t r_trapno; greg_t r_err; greg_t r_eip; greg_t r_cs; greg_t r_efl; greg_t r_uesp; greg_t r_ss; }; # 219 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/privregs.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2015, Joyent, Inc. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 2 /* * This file describes the x86 architecture control registers which * are part of the privileged architecture. * * Many of these definitions are shared between IA-32-style and * AMD64-style processors. */ /* CR0 Register */ # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" /* XX64 eliminate these compatibility defines */ /* * Set the FPU-related control bits to explain to the processor that * we're managing FPU state: * - set monitor coprocessor (allow TS bit to control FPU) * - set numeric exception (disable IGNNE# mechanism) * - set task switch (#nm on first fp instruction) * - clear emulate math bit (cause we're not emulating!) */ /* * Set the FPU-related control bits to explain to the processor that * we're -not- managing FPU state: * - set emulate (all fp instructions cause #nm) * - clear monitor coprocessor (so fwait/wait doesn't #nm) */ /* CR3 Register */ /* CR4 Register */ # 107 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" /* 0x0800 reserved */ /* 0x1000 reserved */ # 118 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" /* * Enable the SSE-related control bits to explain to the processor that * we're managing XMM state and exceptions */ /* * Disable the SSE-related control bits to explain to the processor * that we're NOT managing XMM state */ /* Intel's SYSENTER configuration registers */ /* Intel's microcode registers */ /* Intel's platform identification */ /* AMD's EFER register */ # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" /* AMD's SYSCFG register */ # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" /* AMD's syscall/sysret MSRs */ /* AMD's FS.base and GS.base MSRs */ /* AMD's configuration MSRs, weakly documented in the revision guide */ /* AMD's HWCR MSR */ /* AMD's NorthBridge Config MSR, SHOULD ONLY BE WRITTEN TO BY BIOS */ # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" /* AMD's osvw MSRs */ /* * Enable PCI Extended Configuration Space (ECS) on Greyhound */ /* AMD microcode patch loader */ # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/privregs.h" 2 /* Control register layout for panic dump */ # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/privregs.h" typedef uint64_t creg64_t; struct cregs { creg64_t cr_gdt; creg64_t cr_idt; uint16_t cr_ldt; uint16_t cr_task; uint32_t cr_cr0; uint32_t cr_cr2; uint32_t cr_cr3; uint32_t cr_cr4; }; # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/privregs.h" 2 # 202 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 2 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/reg.h" 2 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/reg.h" 2 # 37 "common/mach.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 38 "common/mach.h" 2 # 50 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Portions Copyright 2007 Chad Mynhier * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. */ /* * Interfaces available from the process control library, libproc. * * libproc provides process control functions for the /proc tools * (commands in /usr/proc/bin), /usr/bin/truss, and /usr/bin/gcore. * libproc is a private support library for these commands only. * It is _not_ a public interface, although it might become one * in the fullness of time, when the interfaces settle down. * * In the meantime, be aware that any program linked with libproc in this * release of Solaris is almost guaranteed to break in the next release. * * In short, do not use this header file or libproc for any purpose. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 2013 Gary Mills * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 PALO, Richard. * Copyright 2014 Garrett D'Amore * Copyright (c) 2013 Gary Mills * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/nlist.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/nlist.h" struct nlist { char *n_name; /* symbol name */ long n_value; /* value of symbol */ short n_scnum; /* section number */ unsigned short n_type; /* type and derived type */ char n_sclass; /* storage class */ char n_numaux; /* number of aux. entries */ }; extern int nlist(const char *, struct nlist *); # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/door.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/door.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * The door lightweight RPC I/F. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" /* * Attributes associated with doors. */ /* Attributes originally obtained from door_create operation */ /* Attributes (additional) returned with door_info and door_desc_t data */ # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 2 /* Basic door type information */ typedef unsigned long long door_ptr_t; /* Handle 64 bit pointers */ typedef unsigned long long door_id_t; /* Unique door identifier */ typedef unsigned int door_attr_t; /* Door attributes */ # 79 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" /* Door descriptor passed to door_info to get current thread's binding */ /* Masks of applicable flags */ /* Mask of above attributes */ /* Attributes used to describe door_desc_t data */ /* Misc attributes used internally */ /* door parameters */ /* * On AMD64, 32-bit pack door_desc and door_info to avoid needing special * copyin/copyout conversions due to differing alignment rules between * 32-bit x86 and 64-bit amd64. */ /* * Structure used to pass descriptors/objects in door invocations */ typedef struct door_desc { door_attr_t d_attributes; /* Tag for union */ union { /* File descriptor is passed */ struct { int d_descriptor; door_id_t d_id; /* unique id */ } d_desc; /* Reserved space */ int d_resv[5]; } d_data; } door_desc_t; /* * Structure used to return info from door_info */ typedef struct door_info { pid_t di_target; /* Server process */ door_ptr_t di_proc; /* Server procedure */ door_ptr_t di_data; /* Data cookie */ door_attr_t di_attributes; /* Attributes associated with door */ door_id_t di_uniquifier; /* Unique number */ int di_resv[4]; /* Future use */ } door_info_t; /* * Structure used to return info from door_cred */ typedef struct door_cred { uid_t dc_euid; /* Effective uid of client */ gid_t dc_egid; /* Effective gid of client */ uid_t dc_ruid; /* Real uid of client */ gid_t dc_rgid; /* Real gid of client */ pid_t dc_pid; /* pid of client */ int dc_resv[4]; /* Future use */ } door_cred_t; /* * Structure used to pass/return data from door_call * * All fields are in/out paramters. Upon return these fields * are updated to reflect the true location and size of the results. */ typedef struct door_arg { char *data_ptr; /* Argument/result data */ size_t data_size; /* Argument/result data size */ door_desc_t *desc_ptr; /* Argument/result descriptors */ uint_t desc_num; /* Argument/result num discriptors */ char *rbuf; /* Result area */ size_t rsize; /* Result size */ } door_arg_t; # 196 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" /* * Structure used to pass door invocation information. */ struct door_results { void *cookie; char *data_ptr; size_t data_size; door_desc_t *desc_ptr; size_t desc_num; void (*pc)(); int nservers; /* zero if thread pool is empty */ door_info_t *door_info; }; # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" /* * Structure used to pass a descriptor list to door_return. */ typedef struct door_return_desc { door_desc_t *desc_ptr; uint_t desc_num; } door_return_desc_t; # 314 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" /* * System call subcodes */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/door.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Portions of this source code were derived from Berkeley 4.3 BSD * under license from the Regents of the University of California. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2 /* * The credential is an opaque kernel private data structure defined in * . */ typedef struct cred cred_t; # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2015, Joyent, Inc. All rights reserved. * * Privilege constant definitions. Privileges and privilege sets * are only known by name and should be mapped at runtime. * * THIS FILE WAS GENERATED; DO NOT EDIT */ # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" /* * Privilege names */ /* * Allows a process to request critical events without limitation. * Allows a process to request reliable delivery of all events on * any event queue. */ /* * Allows a process to set the service FMRI value of a process * contract template. */ /* * Allows a process to observe contract events generated by * contracts created and owned by users other than the process's * effective user ID. * Allows a process to open contract event endpoints belonging to * contracts created and owned by users other than the process's * effective user ID. */ /* * Allow a process to access per-CPU hardware performance counters. */ /* * Allows DTrace kernel-level tracing. */ /* * Allows DTrace process-level tracing. * Allows process-level tracing probes to be placed and enabled in * processes to which the user has permissions. */ /* * Allows DTrace user-level tracing. * Allows use of the syscall and profile DTrace providers to * examine processes to which the user has permissions. */ /* * Allows a process to change a file's owner user ID. * Allows a process to change a file's group ID to one other than * the process' effective group ID or one of the process' * supplemental group IDs. */ /* * Allows a process to give away its files; a process with this * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not * in effect. */ /* * Allows a process to execute an executable file whose permission * bits or ACL do not allow the process execute permission. */ /* * Allows a process to read a file or directory whose permission * bits or ACL do not allow the process read permission. */ /* * Allows a process to search a directory whose permission bits or * ACL do not allow the process search permission. */ /* * Allows a process to write a file or directory whose permission * bits or ACL do not allow the process write permission. * In order to write files owned by uid 0 in the absence of an * effective uid of 0 ALL privileges are required. */ /* * Allows a process to set the sensitivity label of a file or * directory to a sensitivity label that does not dominate the * existing sensitivity label. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to set immutable, nounlink or appendonly * file attributes. */ /* * Allows a process to create hardlinks to files owned by a uid * different from the process' effective uid. */ /* * Allows a process which is not the owner of a file or directory * to perform the following operations that are normally permitted * only for the file owner: modify that file's access and * modification times; remove or rename a file or directory whose * parent directory has the ``save text image after execution'' * (sticky) bit set; mount a ``namefs'' upon a file; modify * permission bits or ACL except for the set-uid and set-gid * bits. */ /* * Allows a process to read objects in the filesystem. */ /* * Allows a process to change the ownership of a file or write to * a file without the set-user-ID and set-group-ID bits being * cleared. * Allows a process to set the set-group-ID bit on a file or * directory whose group is not the process' effective group or * one of the process' supplemental groups. * Allows a process to set the set-user-ID bit on a file with * different ownership in the presence of PRIV_FILE_OWNER. * Additional restrictions apply when creating or modifying a * set-uid 0 file. */ /* * Allows a process to set the sensitivity label of a file or * directory to a sensitivity label that dominates the existing * sensitivity label. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to modify objects in the filesystem. */ /* * Allows a process to make privileged ioctls to graphics devices. * Typically only xserver process needs to have this privilege. * A process with this privilege is also allowed to perform * privileged graphics device mappings. */ /* * Allows a process to perform privileged mappings through a * graphics device. */ /* * Allows a process to read a System V IPC * Message Queue, Semaphore Set, or Shared Memory Segment whose * permission bits do not allow the process read permission. * Allows a process to read remote shared memory whose * permission bits do not allow the process read permission. */ /* * Allows a process to write a System V IPC * Message Queue, Semaphore Set, or Shared Memory Segment whose * permission bits do not allow the process write permission. * Allows a process to read remote shared memory whose * permission bits do not allow the process write permission. * Additional restrictions apply if the owner of the object has uid 0 * and the effective uid of the current process is not 0. */ /* * Allows a process which is not the owner of a System * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to * remove, change ownership of, or change permission bits of the * Message Queue, Semaphore Set, or Shared Memory Segment. * Additional restrictions apply if the owner of the object has uid 0 * and the effective uid of the current process is not 0. */ /* * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. */ /* * Allow a process to bind to a port that is configured as a * multi-level port(MLP) for the process's zone. This privilege * applies to both shared address and zone-specific address MLPs. * See tnzonecfg(4) from the Trusted Extensions manual pages for * information on configuring MLP ports. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to send and receive ICMP packets. */ /* * Allows a process to set NET_MAC_AWARE process flag by using * setpflags(2). This privilege also allows a process to set * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET). * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket * option both allow a local process to communicate with an * unlabeled peer if the local process' label dominates the * peer's default label, or if the local process runs in the * global zone. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to set SO_MAC_IMPLICIT option by using * setsockopt(3SOCKET). This allows a privileged process to * transmit implicitly-labeled packets to a peer. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/ * while not requiring them to need PRIV_NET_RAWACCESS. */ /* * Allows a process to bind to a privileged port * number. The privilege port numbers are 1-1023 (the traditional * UNIX privileged ports) as well as those ports marked as * "udp/tcp_extra_priv_ports" with the exception of the ports * reserved for use by NFS. */ /* * Allows a process to have direct access to the network layer. */ /* * Allows a process to generate audit records. * Allows a process to get its own audit pre-selection information. */ /* * Allows a process to change its root directory. */ /* * Allows a process to use high resolution timers. */ /* * Allows a process to call execve(). */ /* * Allows a process to call fork1()/forkall()/vfork() */ /* * Allows a process to examine the status of processes other * than those it can send signals to. Processes which cannot * be examined cannot be seen in /proc and appear not to exist. */ /* * Allows a process to lock pages in physical memory. */ /* * Allows a process to access physical memory information. */ /* * Allows a process to send signals to other processes, inspect * and modify process state to other processes regardless of * ownership. When modifying another process, additional * restrictions apply: the effective privilege set of the * attaching process must be a superset of the target process' * effective, permitted and inheritable sets; the limit set must * be a superset of the target's limit set; if the target process * has any uid set to 0 all privilege must be asserted unless the * effective uid is 0. * Allows a process to bind arbitrary processes to CPUs. */ /* * Allows a process to elevate its priority above its current level. */ /* * Allows all that PRIV_PROC_PRIOUP allows. * Allows a process to change its scheduling class to any scheduling class, * including the RT class. */ /* * Allows a process to send signals or trace processes outside its * session. */ /* * Allows a process to set its uids at will. * Assuming uid 0 requires all privileges to be asserted. */ /* * Allows a process to assign a new task ID to the calling process. */ /* * Allows a process to trace or send signals to processes in * other zones. */ /* * Allows a process to enable and disable and manage accounting through * acct(2), getacct(2), putacct(2) and wracct(2). */ /* * Allows a process to perform system administration tasks such * as setting node and domain name and specifying nscd and coreadm * settings. */ /* * Allows a process to start the (kernel) audit daemon. * Allows a process to view and set audit state (audit user ID, * audit terminal ID, audit sessions ID, audit pre-selection mask). * Allows a process to turn off and on auditing. * Allows a process to configure the audit parameters (cache and * queue sizes, event to class mappings, policy options). */ /* * Allows a process to perform various system configuration tasks. * Allows a process to add and remove swap devices; when adding a swap * device, a process must also have sufficient privileges to read from * and write to the swap device. */ /* * Allows a process to successfully call a kernel module that * calls the kernel drv_priv(9F) function to check for allowed * access. * Allows a process to open the real console device directly. * Allows a process to open devices that have been exclusively opened. */ /* * Allows a process to increase the size of a System V IPC Message * Queue buffer. */ /* * Allows a process to unlink and link directories. */ /* * Allows filesystem specific administrative procedures, such as * filesystem configuration ioctls, quota calls and creation/deletion * of snapshots. * Allows a process to mount and unmount filesystems which would * otherwise be restricted (i.e., most filesystems except * namefs). * A process performing a mount operation needs to have * appropriate access to the device being mounted (read-write for * "rw" mounts, read for "ro" mounts). * A process performing any of the aforementioned * filesystem operations needs to have read/write/owner * access to the mount point. * Only regular files and directories can serve as mount points * for processes which do not have all zone privileges asserted. * Unless a process has all zone privileges, the mount(2) * system call will force the "nosuid" and "restrict" options, the * latter only for autofs mountpoints. * Regardless of privileges, a process running in a non-global zone may * only control mounts performed from within said zone. * Outside the global zone, the "nodevices" option is always forced. */ /* * Allows a process to configure IP tunnel links. */ /* * Allows a process to configure all classes of datalinks, including * configuration allowed by PRIV_SYS_IPTUN_CONFIG. */ /* * Allows a process to configure a system's IP interfaces and routes. * Allows a process to configure network parameters using ndd. * Allows a process access to otherwise restricted information using ndd. * Allows a process to configure IPsec. * Allows a process to pop anchored STREAMs modules with matching zoneid. */ /* * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and * PRIV_SYS_PPP_CONFIG allow. * Allows a process to push the rpcmod STREAMs module. * Allows a process to INSERT/REMOVE STREAMs modules on locations other * than the top of the module stack. */ /* * Allows a process to perform Sun private NFS specific system calls. * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs) * and port 4045 (lockd). */ /* * Allows a process to create and destroy PPP (sppp) interfaces. * Allows a process to configure PPP tunnels (sppptun). */ /* * Allows a process to bind processes to processor sets. */ /* * Allows all that PRIV_SYS_RES_BIND allows. * Allows a process to create and delete processor sets, assign * CPUs to processor sets and override the PSET_NOESCAPE property. * Allows a process to change the operational status of CPUs in * the system using p_online(2). * Allows a process to configure resource pools and to bind * processes to pools */ /* * Allows a process to modify the resource limits specified * by setrlimit(2) and setrctl(2) without restriction. * Allows a process to exceed the per-user maximum number of * processes. * Allows a process to extend or create files on a filesystem that * has less than minfree space in reserve. */ /* * Allows a process to access the Sun private SMB kernel module. * Allows a process to bind to ports reserved by NetBIOS and SMB: * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP). */ /* * Allows a process to successfully call a third party loadable module * that calls the kernel suser() function to check for allowed access. * This privilege exists only for third party loadable module * compatibility and is not used by Solaris proper. */ /* * Allows a process to manipulate system time using any of the * appropriate system calls: stime, adjtime, ntp_adjtime and * the IA specific RTC calls. */ /* * Allows a process to translate labels that are not dominated * by the process' sensitivity label to and from an external * string form. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to manage virtualized environments such as * xVM(5). */ /* * Allows a process to override colormap restrictions. * Allows a process to install or remove colormaps. * Allows a process to retrieve colormap cell entries allocated * by other processes. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to configure or destroy resources that are * permanently retained by the X server. * Allows a process to use SetScreenSaver to set the screen * saver timeout value. * Allows a process to use ChangeHosts to modify the display * access control list. * Allows a process to use GrabServer. * Allows a process to use the SetCloseDownMode request which * may retain window, pixmap, colormap, property, cursor, font, * or graphic context resources. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to read from a window resource that it does * not own (has a different user ID). * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to write to or create a window resource that * it does not own (has a different user ID). A newly created * window property is created with the window's user ID. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to perform operations on window input devices. * Allows a process to get and set keyboard and pointer controls. * Allows a process to modify pointer button and key mappings. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to use the direct graphics access (DGA) X protocol * extensions. Direct process access to the frame buffer is still * required. Thus the process must have MAC and DAC privileges that * allow access to the frame buffer, or the frame buffer must be * allocated to the process. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to set the sensitivity label of a window resource * to a sensitivity label that does not dominate the existing * sensitivity label. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to set a font path. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to read from a window resource whose sensitivity * label is not equal to the process sensitivity label. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to create a window resource whose sensitivity * label is not equal to the process sensitivity label. * A newly created window property is created with the window's * sensitivity label. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to request inter-window data moves without the * intervention of the selection confirmer. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process to set the sensitivity label of a window * resource to a sensitivity label that dominates the existing * sensitivity label. * This privilege is interpreted only if the system is configured * with Trusted Extensions. */ /* * Allows a process access to the xVM(5) control devices for * managing guest domains and the hypervisor. This privilege is * used only if booted into xVM on x86 platforms. */ /* * Privilege set names */ /* * Set of privileges currently in effect. */ /* * Set of privileges that comes into effect on exec. */ /* * Set of privileges that can be put into the effective set without * restriction. */ /* * Set of privileges that determines the absolute upper bound of * privileges this process and its off-spring can obtain. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 typedef uint32_t priv_chunk_t; typedef struct priv_set priv_set_t; # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" /* * Userland type definitions. */ typedef const char *priv_ptype_t; typedef const char *priv_t; /* * priv_op_t indicates a privilege operation type */ typedef enum priv_op { PRIV_ON, PRIV_OFF, PRIV_SET } priv_op_t; /* * Privilege system call subcodes. */ # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" /* * Maximum length of a user defined privilege name. */ /* * Privilege interface functions for those parts of the kernel that * know nothing of the privilege internals. * * A privilege implementation can have a varying number of sets; sets * consist of a number of priv_chunk_t's and the size is expressed as such. * The privileges can be represented as * * priv_chunk_t privs[info.priv_nsets][info.priv_setsize] * ... priv_infosize of extra information ... * * Extra data contained in the privilege information consists of chunks * of data with specified size and type all headed by a priv_info_t header * which defines both the type of information as well as the size of the * information. ((char*)&info)+info->priv_info_size should be rounded up * to point to the next piece of information. */ typedef struct priv_impl_info { uint32_t priv_headersize; /* sizeof (priv_impl_info) */ uint32_t priv_flags; /* additional flags */ uint32_t priv_nsets; /* number of priv sets */ uint32_t priv_setsize; /* size in priv_chunk_t */ uint32_t priv_max; /* highest actual valid priv */ uint32_t priv_infosize; /* Per proc. additional info */ uint32_t priv_globalinfosize; /* Per system info */ } priv_impl_info_t; # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" /* * Per credential flags. */ # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" /* user-settable flags: */ /* * Header of the privilege info data structure; multiple structures can * follow the privilege sets and priv_impl_info structures. */ typedef struct priv_info { uint32_t priv_info_type; uint32_t priv_info_size; } priv_info_t; typedef struct priv_info_uint { priv_info_t info; uint_t val; } priv_info_uint_t; /* * Global privilege set information item; the actual size of the array is * {priv_setsize}. */ typedef struct priv_info_set { priv_info_t info; priv_chunk_t set[1]; } priv_info_set_t; /* * names[1] is a place holder which can contain multiple NUL terminated, * non-empty strings. */ typedef struct priv_info_names { priv_info_t info; int cnt; /* number of strings */ char names[1]; /* "string1\0string2\0 ..stringN\0" */ } priv_info_names_t; /* * Privilege information types. */ /* * Special "privileges" used to indicate special conditions in privilege * debugging/tracing code. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" /* * types of label comparison */ /* Manifest human readable label names */ /* Binary Label Structure Definitions */ typedef struct _mac_label_impl m_label_t; typedef m_label_t blevel_t, /* compatibility */ bslabel_t, /* Sensitivity Label */ bclear_t; /* Clearance */ typedef struct _tsol_binary_level_lrange { /* Level Range */ m_label_t *lower_bound; m_label_t *upper_bound; } m_range_t; typedef m_range_t blrange_t; typedef struct tsol_mlp_s { uchar_t mlp_ipp; uint16_t mlp_port; uint16_t mlp_port_upper; } tsol_mlp_t; /* Procedure Interface Definitions available to user and kernel */ extern int bltype(const void *, uint8_t); extern int blequal(const m_label_t *, const m_label_t *); extern int bldominates(const m_label_t *, const m_label_t *); extern int blstrictdom(const m_label_t *, const m_label_t *); extern int blinrange(const m_label_t *, const m_range_t *); extern void blmaximum(m_label_t *, const m_label_t *); extern void blminimum(m_label_t *, const m_label_t *); extern void bsllow(m_label_t *); extern void bslhigh(m_label_t *); extern void bclearlow(m_label_t *); extern void bclearhigh(m_label_t *); extern void bslundef(m_label_t *); extern void bclearundef(m_label_t *); extern void setbltype(void *, uint8_t); extern boolean_t bisinvalid(const void *); # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 2 typedef struct ucred_s ucred_t; /* * library functions prototype. */ extern ucred_t *ucred_get(pid_t pid); extern void ucred_free(ucred_t *); extern uid_t ucred_geteuid(const ucred_t *); extern uid_t ucred_getruid(const ucred_t *); extern uid_t ucred_getsuid(const ucred_t *); extern gid_t ucred_getegid(const ucred_t *); extern gid_t ucred_getrgid(const ucred_t *); extern gid_t ucred_getsgid(const ucred_t *); extern int ucred_getgroups(const ucred_t *, const gid_t **); extern const priv_set_t *ucred_getprivset(const ucred_t *, priv_ptype_t); extern uint_t ucred_getpflags(const ucred_t *, uint_t); extern pid_t ucred_getpid(const ucred_t *); /* for door_cred compatibility */ extern size_t ucred_size(void); extern int getpeerucred(int, ucred_t **); extern zoneid_t ucred_getzoneid(const ucred_t *); extern bslabel_t *ucred_getlabel(const ucred_t *); extern projid_t ucred_getprojid(const ucred_t *); # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/door.h" 2 /* * Doors API */ typedef void door_server_procedure_t(void *, char *, size_t, door_desc_t *, uint_t); int door_create(door_server_procedure_t *, void *, uint_t); int door_revoke(int); int door_info(int, door_info_t *); int door_call(int, door_arg_t *); int door_return(char *, size_t, door_desc_t *, uint_t); int door_cred(door_cred_t *); int door_ucred(ucred_t **); int door_bind(int); int door_unbind(void); int door_getparam(int, int, size_t *); int door_setparam(int, int, size_t); typedef void door_server_func_t(door_info_t *); door_server_func_t *door_server_create(door_server_func_t *); typedef int door_xcreate_server_func_t(door_info_t *, void *(*)(void *), void *, void *); typedef void door_xcreate_thrsetup_func_t(void *); int door_xcreate(door_server_procedure_t *, void *, uint_t, door_xcreate_server_func_t *, door_xcreate_thrsetup_func_t *, void *, int); # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2014 PALO, Richard. All rights reserved. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1988 AT&T * All Rights Reserved * * Copyright 2014 Garrett D'Amore * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 2 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" /* * Class-independent ELF API for Elf utilities. This is * for manipulating Elf32 and Elf64 specific information * in a format common to both classes. */ typedef Elf64_Addr GElf_Addr; typedef Elf64_Half GElf_Half; typedef Elf64_Off GElf_Off; typedef Elf64_Sword GElf_Sword; typedef Elf64_Sxword GElf_Sxword; typedef Elf64_Word GElf_Word; typedef Elf64_Xword GElf_Xword; typedef Elf64_Ehdr GElf_Ehdr; typedef Elf64_Move GElf_Move; typedef Elf64_Phdr GElf_Phdr; typedef Elf64_Shdr GElf_Shdr; typedef Elf64_Sym GElf_Sym; typedef Elf64_Syminfo GElf_Syminfo; typedef Elf64_Rela GElf_Rela; typedef Elf64_Rel GElf_Rel; typedef Elf64_Dyn GElf_Dyn; typedef Elf64_Cap GElf_Cap; /* * The processing of versioning information can stay the * same because both the Elf32 and Elf64 structures are * of equal sizes. */ typedef Elf64_Verdef GElf_Verdef; typedef Elf64_Verdaux GElf_Verdaux; typedef Elf64_Verneed GElf_Verneed; typedef Elf64_Vernaux GElf_Vernaux; typedef Elf64_Versym GElf_Versym; /* * move.m_info is encoded using the 64bit fields in Gelf. */ /* * sym.st_info field is same size for Elf32 and Elf64. */ /* * Elf64 r_info may have data field in type id's word, * so GELF_R_TYPE is defined as ELF64_R_TYPE_ID in order * to isolate the proper bits for the true type id. */ # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" int gelf_getclass(Elf*); size_t gelf_fsize(Elf *, Elf_Type, size_t, uint_t); GElf_Ehdr * gelf_getehdr(Elf *, GElf_Ehdr *); int gelf_update_ehdr(Elf *, GElf_Ehdr *); unsigned long gelf_newehdr(Elf *, int); GElf_Phdr * gelf_getphdr(Elf *, int, GElf_Phdr *); int gelf_update_phdr(Elf *, int, GElf_Phdr *); unsigned long gelf_newphdr(Elf *, size_t); GElf_Shdr * gelf_getshdr(Elf_Scn *, GElf_Shdr *); int gelf_update_shdr(Elf_Scn *, GElf_Shdr *); Elf_Data * gelf_xlatetof(Elf *, Elf_Data *, const Elf_Data *, uint_t); Elf_Data * gelf_xlatetom(Elf *, Elf_Data *, const Elf_Data *, uint_t); GElf_Sym * gelf_getsym(Elf_Data *, int, GElf_Sym *); int gelf_update_sym(Elf_Data *, int, GElf_Sym *); GElf_Sym * gelf_getsymshndx(Elf_Data *, Elf_Data *, int, GElf_Sym *, Elf32_Word *); int gelf_update_symshndx(Elf_Data *, Elf_Data *, int, GElf_Sym *, Elf32_Word); GElf_Syminfo * gelf_getsyminfo(Elf_Data *, int, GElf_Syminfo *); int gelf_update_syminfo(Elf_Data *, int, GElf_Syminfo *); GElf_Move * gelf_getmove(Elf_Data *, int, GElf_Move *); int gelf_update_move(Elf_Data *, int, GElf_Move *); GElf_Dyn * gelf_getdyn(Elf_Data *, int, GElf_Dyn *); int gelf_update_dyn(Elf_Data *, int, GElf_Dyn *); GElf_Rela * gelf_getrela(Elf_Data *, int, GElf_Rela *); int gelf_update_rela(Elf_Data *, int, GElf_Rela *); GElf_Rel * gelf_getrel(Elf_Data *, int, GElf_Rel *); int gelf_update_rel(Elf_Data *, int, GElf_Rel *); long gelf_checksum(Elf *); GElf_Cap * gelf_getcap(Elf_Data *, int, GElf_Cap *); int gelf_update_cap(Elf_Data *, int, GElf_Cap *); # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * Description: * Types, global variables, and function definitions for provider * of import functions for users of libc_db and librtld_db. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Instruction Set Architecture specific component of * i386 version */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" 2 /* * Possible values of pr_dmodel. * This isn't isa-specific, but it needs to be defined here for other reasons. */ /* * To determine whether application is running native. */ # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" /* * Holds one i386 or amd64 instruction */ typedef uchar_t instr_t; # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" /* * The following defines are for portability (see ). */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright (c) 2013 by Delphix. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Essential struct definitions for mcontext_t needed by ucontext.h * These were formerly in regset.h, which now includes this file. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 2 /* * Inclusion of for sigset_t and stack_t definitions * breaks XPG4v2 namespace. Therefore we must duplicate the defines * for these types here when _XPG4_2 is defined. */ # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" typedef struct ucontext ucontext_t; struct ucontext { unsigned long uc_flags; ucontext_t *uc_link; sigset_t uc_sigmask; stack_t uc_stack; mcontext_t uc_mcontext; long uc_filler[5]; /* see ABI spec for Intel386 */ }; # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" /* * values for uc_flags * these are implementation dependent flags, that should be hidden * from the user interface, defining which elements of ucontext * are valid, and should be restored on call to setcontext */ # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" /* * UC_ALL specifies the default context */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 2 /* * lwp create flags */ /* * Definitions for user programs calling into the _lwp interface. */ struct lwpinfo { timestruc_t lwp_utime; timestruc_t lwp_stime; long lwpinfo_pad[64]; }; # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" typedef uint_t lwpid_t; # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" int _lwp_kill(lwpid_t, int); int _lwp_info(struct lwpinfo *); lwpid_t _lwp_self(void); int _lwp_suspend(lwpid_t); int _lwp_continue(lwpid_t); # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2016 Joyent, Inc. */ # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/elf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 1 /* * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. */ /* * Copyright 2016 Joyent, Inc. */ # 15 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * Copyright (c) 1989, 1990 William F. Jolitz * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. * * This code is derived from software contributed to Berkeley by * William Jolitz. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * from: @(#)segments.h 7.1 (Berkeley) 5/9/91 * $FreeBSD: src/sys/i386/include/segments.h,v 1.34 2003/09/10 01:07:04 * jhb Exp $ * * 386 Segmentation Data Structures and definitions * William F. Jolitz (william@ernie.berkeley.edu) 6/20/1989 */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" 1 /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 13 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. * * This code is derived from software contributed to Berkeley by * William Jolitz. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * from: @(#)tss.h 5.4 (Berkeley) 1/18/91 * $FreeBSD: src/sys/i386/include/tss.h,v 1.13 2002/09/23 05:04:05 peter Exp $ */ /* * Copyright 2011 Joyent, Inc. All rights reserved. */ /* * Maximum I/O address that will be in TSS bitmap */ /* * Task state segment (tss). Holds the processor state assoicated with a task. * * Historically, this header only exposed a struct tss that was relevant to the * specific Intel architecture that we were deploying on. However, the tss * structures are defined by the Intel Architecture and other consumers would * like to use them. Rather than requiring them to duplicate all of this * information, we instead expose each version under different names but in a * backwards compatible manner. */ # 77 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" #pragma pack(4) # 77 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" struct tss64 { uint32_t tss_rsvd0; /* reserved, ignored */ uint64_t tss_rsp0; /* stack pointer CPL = 0 */ uint64_t tss_rsp1; /* stack pointer CPL = 1 */ uint64_t tss_rsp2; /* stack pointer CPL = 2 */ uint64_t tss_rsvd1; /* reserved, ignored */ uint64_t tss_ist1; /* Interrupt stack table 1 */ uint64_t tss_ist2; /* Interrupt stack table 2 */ uint64_t tss_ist3; /* Interrupt stack table 3 */ uint64_t tss_ist4; /* Interrupt stack table 4 */ uint64_t tss_ist5; /* Interrupt stack table 5 */ uint64_t tss_ist6; /* Interrupt stack table 6 */ uint64_t tss_ist7; /* Interrupt stack table 7 */ uint64_t tss_rsvd2; /* reserved, ignored */ uint16_t tss_rsvd3; /* reserved, ignored */ uint16_t tss_bitmapbase; /* io permission bitmap base address */ }; # 95 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" #pragma pack() # 95 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" struct tss32 { uint16_t tss_link; /* 16-bit prior TSS selector */ uint16_t tss_rsvd0; /* reserved, ignored */ uint32_t tss_esp0; uint16_t tss_ss0; uint16_t tss_rsvd1; /* reserved, ignored */ uint32_t tss_esp1; uint16_t tss_ss1; uint16_t tss_rsvd2; /* reserved, ignored */ uint32_t tss_esp2; uint16_t tss_ss2; uint16_t tss_rsvd3; /* reserved, ignored */ uint32_t tss_cr3; uint32_t tss_eip; uint32_t tss_eflags; uint32_t tss_eax; uint32_t tss_ecx; uint32_t tss_edx; uint32_t tss_ebx; uint32_t tss_esp; uint32_t tss_ebp; uint32_t tss_esi; uint32_t tss_edi; uint16_t tss_es; uint16_t tss_rsvd4; /* reserved, ignored */ uint16_t tss_cs; uint16_t tss_rsvd5; /* reserved, ignored */ uint16_t tss_ss; uint16_t tss_rsvd6; /* reserved, ignored */ uint16_t tss_ds; uint16_t tss_rsvd7; /* reserved, ignored */ uint16_t tss_fs; uint16_t tss_rsvd8; /* reserved, ignored */ uint16_t tss_gs; uint16_t tss_rsvd9; /* reserved, ignored */ uint16_t tss_ldt; uint16_t tss_rsvd10; /* reserved, ignored */ uint16_t tss_rsvd11; /* reserved, ignored */ uint16_t tss_bitmapbase; /* io permission bitmap base address */ }; struct tss16 { uint16_t tss_link; uint16_t tss_sp0; uint16_t tss_ss0; uint16_t tss_sp1; uint16_t tss_ss1; uint16_t tss_sp2; uint16_t tss_ss2; uint16_t tss_ip; uint16_t tss_flag; uint16_t tss_ax; uint16_t tss_cx; uint16_t tss_dx; uint16_t tss_bx; uint16_t tss_sp; uint16_t tss_bp; uint16_t tss_si; uint16_t tss_di; uint16_t tss_es; uint16_t tss_cs; uint16_t tss_ss; uint16_t tss_ds; uint16_t tss_ldt; }; typedef struct tss32 tss_t; # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 2 /* * Selector register format * CS, DS, ES, FS, GS, SS * * 15 3 2 1 0 * +---------------------+---+----+ * | SI |TI |RPL | * +---------------------+---+----+ * * SI = selector index * TI = table indicator (0 = GDT, 1 = LDT) * RPL = requestor privilege level */ # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * SEL_(KPL,UPL,XPL) is the RPL or DPL value for code and data selectors * and their descriptors respectively. * * TRP_(KPL,UPL,XPL) is used to indicate the DPL for system gates only. * * This distinction is important to support para-virt guests on the * 64-bit hypervisor. Both guest kernel and user run in ring 3 and the * hypervisor runs in ring 0. When the kernel creates its trap and * interrupt gates it needs a way to prevent any arbitrary int $n * instruction from entering a gate that is not expected. The hypervisor * allows these gates to have a DPL from 1 to 3. By creating gates * with a DPL below user (ring 3) the int $n will generate a #gp fault * which the hypervisor catches and forwards to the guest. */ # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" typedef uint16_t selector_t; /* selector reigster */ /* * Hardware descriptor table register format for GDT and IDT. */ # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" #pragma pack(2) # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" typedef struct { uint16_t dtr_limit; /* table limit */ uint32_t dtr_base; /* table base address */ } desctbr_t; # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" #pragma pack() # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * Functions for loading and storing descriptor table * registers. */ extern void rd_idtr(desctbr_t *); extern void wr_idtr(desctbr_t *); extern void rd_gdtr(desctbr_t *); extern void wr_gdtr(desctbr_t *); extern void wr_ldtr(selector_t); extern selector_t rd_ldtr(void); extern void wr_tsr(selector_t); extern void kmdb_enter(void); # 188 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" extern void load_segment_registers(selector_t, selector_t, selector_t, selector_t, selector_t, selector_t); /* (alphabetical) */ selector_t get_cs_register(); /* * User segment descriptors (code and data). * Legacy mode 64-bits wide. */ typedef struct user_desc { uint32_t usd_lolimit:16; /* segment limit 15:0 */ uint32_t usd_lobase:16; /* segment base 15:0 */ uint32_t usd_midbase:8; /* segment base 23:16 */ uint32_t usd_type:5; /* segment type, includes S bit */ uint32_t usd_dpl:2; /* segment descriptor priority level */ uint32_t usd_p:1; /* segment descriptor present */ uint32_t usd_hilimit:4; /* segment limit 19:16 */ uint32_t usd_avl:1; /* available to sw, but not used */ uint32_t usd_reserved:1; /* unused, ignored */ uint32_t usd_def32:1; /* default 32 vs 16 bit operand */ uint32_t usd_gran:1; /* limit units (bytes vs pages) */ uint32_t usd_hibase:8; /* segment base 31:24 */ } user_desc_t; # 283 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * System segment descriptors for LDT and TSS segments. * Legacy mode 64-bits wide. */ typedef struct system_desc { uint32_t ssd_lolimit:16; /* segment limit 15:0 */ uint32_t ssd_lobase:16; /* segment base 15:0 */ uint32_t ssd_midbase:8; /* segment base 23:16 */ uint32_t ssd_type:4; /* segment type */ uint32_t ssd_zero:1; /* must be zero */ uint32_t ssd_dpl:2; /* segment descriptor priority level */ uint32_t ssd_p:1; /* segment descriptor present */ uint32_t ssd_hilimit:4; /* segment limit 19:16 */ uint32_t ssd_avl:1; /* available to sw, but not used */ uint32_t ssd_reserved:2; /* unused, ignored */ uint32_t ssd_gran:1; /* limit unit (bytes vs pages) */ uint32_t ssd_hibase:8; /* segment base 31:24 */ } system_desc_t; # 340 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * System gate segment descriptors for interrupt, trap, call and task gates. * Legacy mode 64-bits wide. */ typedef struct gate_desc { uint32_t sgd_looffset:16; /* segment code offset 15:0 */ uint32_t sgd_selector:16; /* target code or task selector */ uint32_t sgd_stkcpy:5; /* number of stack wds to cpy */ uint32_t sgd_resv:3; /* unused, ignored */ uint32_t sgd_type:5; /* segment type, includes S bit */ uint32_t sgd_dpl:2; /* segment descriptor priority level */ uint32_t sgd_p:1; /* segment descriptor present */ uint32_t sgd_hioffset:16; /* code seg off 31:16 */ } gate_desc_t; # 389 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * functions for initializing and updating segment descriptors. */ extern void set_usegd(user_desc_t *, void *, size_t, uint_t, uint_t, uint_t, uint_t); extern void set_gatesegd(gate_desc_t *, void (*)(void), selector_t, uint_t, uint_t, uint_t); extern void set_syssegd(system_desc_t *, void *, size_t, uint_t, uint_t); extern void *get_ssd_base(system_desc_t *); extern void gdt_update_usegd(uint_t, user_desc_t *); extern int ldt_update_segd(user_desc_t *, user_desc_t *); # 422 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" void init_boot_gdt(user_desc_t *); /* * Common segment parameter defintions for granularity, default * operand size and operaton mode. */ /* * System segments and gate types. * * In long mode i386 32-bit ldt, tss, call, interrupt and trap gate * types are redefined into 64-bit equivalents. */ # 458 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * Memory segment types. * * While in long mode expand-down, writable and accessed type field * attributes are ignored. Only the conforming bit is loaded by hardware * for long mode code segment descriptors. */ # 482 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * Entries in the Interrupt Descriptor Table (IDT) */ # 506 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * Entries in the Global Descriptor Table (GDT) * * We make sure to space the system descriptors (LDT's, TSS') * such that they are double gdt slot aligned. This is because * in long mode system segment decriptors expand to 128 bits. * * GDT_LWPFS and GDT_LWPGS must be the same for both 32 and 64-bit * kernels. See setup_context in libc. 64-bit processes must set * %fs or %gs to null selector to use 64-bit fsbase or gsbase * respectively. */ # 573 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * Convenient selector definitions. */ /* * XXPV 64 bit Xen only allows the guest %cs/%ss be the private ones it * provides, not the ones we create for ourselves. See FLAT_RING3_CS64 in * public/arch-x86_64.h * * 64-bit Xen runs paravirtual guests in ring 3 but emulates them running in * ring 0 by clearing CPL in %cs value pushed on guest exception stacks. * Therefore we will have KCS_SEL value indicate ring 0 and use that everywhere * in the kernel. But in the few files where we initialize segment registers or * create and update descriptors we will explicity OR in SEL_KPL (ring 3) for * kernel %cs. See desctbls.c for an example. */ # 621 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" /* * Temporary %gs descriptor used by kmdb with -d option. Only lives * in boot's GDT and is not copied into kernel's GDT from boot. */ /* * Selector used for kdi_idt when kmdb has taken over the IDT. */ /* * Entries in default Local Descriptor Table (LDT) for every process. */ # 651 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" extern gate_desc_t *idt0; extern desctbr_t idt0_default_reg; extern user_desc_t *gdt0; extern user_desc_t zero_udesc; extern user_desc_t null_udesc; extern system_desc_t null_sdesc; # 669 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" extern tss_t *ktss0; extern tss_t *dftss0; extern void div0trap(), dbgtrap(), nmiint(), brktrap(), ovflotrap(); extern void boundstrap(), invoptrap(), ndptrap(); extern void syserrtrap(); extern void invaltrap(), invtsstrap(), segnptrap(), stktrap(); extern void gptrap(), pftrap(), ndperr(); extern void overrun(), resvtrap(); extern void _start(), cmnint(); extern void achktrap(), mcetrap(); extern void xmtrap(); extern void fasttrap(); extern void dtrace_ret(); extern void pentium_pftrap(); # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ /* All Rights Reserved */ #pragma ident "%Z%%M% %I% %E% SMI" # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" /* * Commands for sysi86 system call (1-?) */ /* booted */ # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" /* 71 through 74 reserved for VPIX */ /* NFA entry point */ /* XENIX Support */ /* badvise subfunction definitions */ /* data context switching */ /* * NOTE: Numbers 106 - 110 have been registered and are reserved * for future use for AT&T hardware. */ /* * Commands for allowing the real time clock to keep local time. */ # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" /* * The SI86DSCR subcommand of the sysi86() system call * sets a segment or gate descriptor in the kernel. * The following descriptor types are accepted: * - executable and data segments in the LDT at DPL 3 * - a call gate in the GDT at DPL 3 that points to a segment in the LDT * The request structure declared below is used to pass the values * to be placed in the descriptor. A pointer to the structure is * passed as the second argument of the system call. * If acc1 is zero, the descriptor is cleared. */ /* * XX64 Do we need to support this for 64-bit apps? * * request structure passed by user */ struct ssd { unsigned int sel; /* descriptor selector */ unsigned int bo; /* segment base or gate offset */ unsigned int ls; /* segment limit or gate selector */ unsigned int acc1; /* access byte 5 */ unsigned int acc2; /* access bits in byte 6 or gate count */ }; # 149 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" /* * The SI86SHFIL subcommand of the sysi86() system call * maps a file into a region in user address space. * The request structure declared below is used to pass the * system call parameters. A pointer to the structure is * passed as the second argument of the system call. */ struct mmf { char *mf_filename; /* path name of file */ long mf_filesz; /* Size in bytes of section of file */ /* from which this region is mapped. */ long mf_regsz; /* Size of region in bytes */ short mf_flags; /* Either 0 or RG_NOSHARE */ }; /* * The SI86PCHRGN subcommand of the sysi86() system call * change the memory mapped image of a file. * The request structure declared below is used to pass the values * system call parameters. A pointer to the structure is * passed as the second argument of the system call. */ struct cmf { char *cf_srcva; /* modified image address */ char *cf_dstva; /* location to patch */ long cf_count; /* size of patch */ }; /* * The SI86BADVISE subcommand of the sysi86() system call specifies * XENIX variant behavior for certain system calls and kernel routines. * The 'arg' argument of sysi86() for SI86BADVISE is an integer. Bits * 8..15 specify SI86B_SET or SI86B_GET. Bits 0..7 contain * SI86B_PRE_SV, SI86B_XOUT, or SI86B_XSDSWTCH. All these constants are * defined below. The 'arg' argument thus consists of either SI86B_SET * OR'ed with zero or more of SI86B_PRE_SV, SI86B_XOUT, and SI86B_XSDSWTCH, * or of SI86B_GET. */ /* context switching enabled */ /* * The request structure declared below is used by the XENIX 286 emulator * (/bin/x286emul) in conjunction with the SI86SHRGN subcommand of sysi86(). * The SI86SHRGN subcommand is used by the XENIX 286 emulator to support * XENIX shared data. The second argument passed to sysi86() is a * pointer to an xsdbuf struct. * * If the 'xsd_cmd' field of xsdbuf is SI86SHR_CP, the XENIX 286 emulator is * using the SI86SHRGN subcommand to set up XENIX small model shared data * context switching support for a given XENIX shared data segment. In this * case, the xsdbuf struct contains the start addr for the shared data in * 386 space, followed by the start addr for the shared data in the 286 * executable's private data. * * If the 'xsd_cmd' field is SI86SHR_SZ, the XENIX 286 emulator is using the * SI86SHRGN subcommand to retrieve the size of an existing XENIX shared * data segment. In this case, the xsdbuf struct contains the start addr * for the shared data in 386 space. * The size of the shared data segment starting at 'xsd_386vaddr' will * be returned in the 'xsd_size' field by sysi86(). */ struct xsdbuf { unsigned xsd_cmd; /* SI86SHRGN subcommand, either SI86SHR_CP */ /* or SI86SHR_SZ. */ char *xsd_386vaddr; /* Addr of "real" XENIX shared data seg in */ /* the emulator. */ union { char *xsd_286vaddr; /* Addr of XENIX shared data seg */ /* in the 286 data portion of the */ /* emulator. */ unsigned long xsd_size; /* Size of XENIX shared data seg */ } xsd_un; }; /* End XENIX Support */ /* * Cascade defines */ /* Enterprise IDNO defines */ extern int sysi86(int, ...); # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 typedef unsigned long psaddr_t; typedef enum { PS_OK, /* generic "call succeeded" */ PS_ERR, /* generic error */ PS_BADPID, /* bad process handle */ PS_BADLID, /* bad lwp identifier */ PS_BADADDR, /* bad address */ PS_NOSYM, /* p_lookup() could not find given symbol */ PS_NOFREGS /* FPU register set not available for given lwp */ } ps_err_e; struct ps_prochandle; /* * See for possible values of data_model. */ extern ps_err_e ps_pdmodel(struct ps_prochandle *, int *data_model); /* * Special values for 'object_name' to refer to certain well-known objects. */ extern ps_err_e ps_pglobal_lookup(struct ps_prochandle *, const char *object_name, const char *sym_name, psaddr_t *sym_addr); typedef Elf32_Sym ps_sym_t; extern ps_err_e ps_pglobal_sym(struct ps_prochandle *, const char *object_name, const char *sym_name, ps_sym_t *sym); /* * To read and write the process's address space. */ extern ps_err_e ps_pread(struct ps_prochandle *, psaddr_t, void *, size_t); extern ps_err_e ps_pwrite(struct ps_prochandle *, psaddr_t, const void *, size_t); /* * The following four functions can be implemented as simple aliases for * the corresponding primary two functions above (#pragma weak ...). * They are artifacts of history that must be maintained. */ extern ps_err_e ps_pdread(struct ps_prochandle *, psaddr_t, void *, size_t); extern ps_err_e ps_pdwrite(struct ps_prochandle *, psaddr_t, const void *, size_t); extern ps_err_e ps_ptread(struct ps_prochandle *, psaddr_t, void *, size_t); extern ps_err_e ps_ptwrite(struct ps_prochandle *, psaddr_t, const void *, size_t); extern ps_err_e ps_pstop(struct ps_prochandle *); extern ps_err_e ps_pcontinue(struct ps_prochandle *); extern ps_err_e ps_lstop(struct ps_prochandle *, lwpid_t); extern ps_err_e ps_lcontinue(struct ps_prochandle *, lwpid_t); extern ps_err_e ps_lgetregs(struct ps_prochandle *, lwpid_t, gregset_t); extern ps_err_e ps_lsetregs(struct ps_prochandle *, lwpid_t, const gregset_t); extern ps_err_e ps_lgetfpregs(struct ps_prochandle *, lwpid_t, fpregset_t *); extern ps_err_e ps_lsetfpregs(struct ps_prochandle *, lwpid_t, const fpregset_t *); # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" extern ps_err_e ps_lgetLDT(struct ps_prochandle *, lwpid_t, struct ssd *); extern ps_err_e ps_pauxv(struct ps_prochandle *, const auxv_t **); extern ps_err_e ps_pbrandname(struct ps_prochandle *, char *, size_t); extern ps_err_e ps_kill(struct ps_prochandle *, int sig); extern ps_err_e ps_lrolltoaddr(struct ps_prochandle *, lwpid_t, psaddr_t go_addr, psaddr_t stop_addr); extern void ps_plog(const char *fmt, ...); # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright (c) 2013 by Delphix. All rights reserved. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. * Copyright (c) 2018, Joyent, Inc. */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 /* * librtld_db interface versions */ typedef enum { RD_ERR, /* generic */ RD_OK, /* generic "call" succeeded */ RD_NOCAPAB, /* capability not available */ RD_DBERR, /* import service failed */ RD_NOBASE, /* 5.x: aux tag AT_BASE not found */ RD_NODYNAM, /* symbol 'DYNAMIC' not found */ RD_NOMAPS /* link-maps are not yet available */ } rd_err_e; /* * ways that the event notification can take place: */ typedef enum { RD_NOTIFY_BPT, /* set break-point at address */ RD_NOTIFY_AUTOBPT, /* 4.x compat. not used in 5.x */ RD_NOTIFY_SYSCALL /* watch for syscall */ } rd_notify_e; /* * information on ways that the event notification can take place: */ typedef struct rd_notify { rd_notify_e type; union { psaddr_t bptaddr; /* break point address */ long syscallno; /* system call id */ } u; } rd_notify_t; /* * information about event instance: */ typedef enum { RD_NOSTATE = 0, /* no state information */ RD_CONSISTENT, /* link-maps are stable */ RD_ADD, /* currently adding object to link-maps */ RD_DELETE /* currently deleteing object from link-maps */ } rd_state_e; typedef struct rd_event_msg { rd_event_e type; union { rd_state_e state; /* for DLACTIVITY */ } u; } rd_event_msg_t; /* * iteration over load objects */ typedef struct rd_loadobj { psaddr_t rl_nameaddr; /* address of the name in user space */ unsigned rl_flags; psaddr_t rl_base; /* base of address of code */ psaddr_t rl_data_base; /* base of address of data */ Lmid_t rl_lmident; /* ident of link map */ psaddr_t rl_refnameaddr; /* reference name of filter in user */ /* space. If non null object is a */ /* filter. */ psaddr_t rl_plt_base; /* These fields are present for 4.x */ unsigned rl_plt_size; /* compatibility and are not */ /* currently used in SunOS5.x */ psaddr_t rl_bend; /* end of image (text+data+bss) */ psaddr_t rl_padstart; /* start of padding */ psaddr_t rl_padend; /* end of image after padding */ psaddr_t rl_dynamic; /* points to the DYNAMIC section */ /* in the target process */ unsigned long rl_tlsmodid; /* module ID for TLS references */ } rd_loadobj_t; /* * Values for rl_flags */ /* originating from a relocatable */ /* module which was dynamically */ /* loaded */ /* * Commands for rd_ctl() */ typedef struct rd_agent rd_agent_t; typedef int rl_iter_f(const rd_loadobj_t *, void *); /* * PLT skipping */ typedef enum { RD_RESOLVE_NONE, /* don't do anything special */ RD_RESOLVE_STEP, /* step 'pi_nstep' instructions */ RD_RESOLVE_TARGET, /* resolved target is in 'pi_target' */ RD_RESOLVE_TARGET_STEP /* put a bpt on target, then step nstep times */ } rd_skip_e; typedef struct rd_plt_info { rd_skip_e pi_skip_method; long pi_nstep; psaddr_t pi_target; psaddr_t pi_baddr; unsigned int pi_flags; } rd_plt_info_t; /* * Values for pi_flags */ /* has been bound - and that */ /* pi_baddr will contain its */ /* destination address */ struct ps_prochandle; /* * librtld_db.so entry points */ extern void rd_delete(rd_agent_t *); extern char *rd_errstr(rd_err_e rderr); extern rd_err_e rd_event_addr(rd_agent_t *, rd_event_e, rd_notify_t *); extern rd_err_e rd_event_enable(rd_agent_t *, int); extern rd_err_e rd_event_getmsg(rd_agent_t *, rd_event_msg_t *); extern rd_err_e rd_init(int); extern rd_err_e rd_ctl(int, void *); extern rd_err_e rd_loadobj_iter(rd_agent_t *, rl_iter_f *, void *); extern void rd_log(const int); extern rd_agent_t *rd_new(struct ps_prochandle *); extern rd_err_e rd_objpad_enable(struct rd_agent *, size_t); extern rd_err_e rd_plt_resolution(rd_agent_t *, psaddr_t, lwpid_t, psaddr_t, rd_plt_info_t *); extern rd_err_e rd_get_dyns(rd_agent_t *, psaddr_t, void **, size_t *); extern rd_err_e rd_reset(struct rd_agent *); # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/procfs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1996, by Sun Microsystems, Inc. * All rights reserved. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This include file forces the new structured /proc definitions. * The structured /proc interface is the preferred API, and the * older ioctl()-based /proc interface will be removed in a future * version of Solaris. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" /* * This definition is temporary. Structured proc is the preferred API, * and the older ioctl-based interface will be removed in a future version * of Solaris. Until then, by default, including will * provide the older ioctl-based /proc definitions. To get the structured * /proc definitions, either include or define _STRUCTURED_PROC * to be 1 before including . */ # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Implementation-private. This header should not be included * directly by an application. The application should instead * include which includes this header conditionally * depending on which feature test macros are defined. By default, * this header is included by . X/Open and POSIX * standards requirements result in this header being included * by only under a restricted set of conditions. */ # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fault.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1999 by Sun Microsystems, Inc. * All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ #pragma ident "%Z%%M% %I% %E% SMI" /* * Fault numbers, analagous to signals. These correspond to * hardware faults. Setting the appropriate flags in a process's * set of traced faults via /proc causes the process to stop each * time one of the designated faults occurs so that a debugger can * take action. See proc(4) for details. */ /* fault enumeration must begin with 1 */ # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fault.h" typedef struct { /* fault set type */ unsigned int word[4]; } fltset_t; # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. * Copyright (c) 2015, Joyent, Inc. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * system call numbers * syscall(SYS_xxxx, ...) */ /* syscall enumeration MUST begin with 1 */ /* * SunOS/SPARC uses 0 for the indirect system call SYS_syscall * but this doesn't count because it is just another way * to specify the real system call number. */ # 89 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * getpgrp() :: syscall(39,0) * setpgrp() :: syscall(39,1) * getsid(pid) :: syscall(39,2,pid) * setsid() :: syscall(39,3) * getpgid(pid) :: syscall(39,4,pid) * setpgid(pid,pgid) :: syscall(39,5,pid,pgid) */ # 107 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * msgget(...) :: msgsys(0, ...) * msgctl(...) :: msgsys(1, ...) * msgrcv(...) :: msgsys(2, ...) * msgsnd(...) :: msgsys(3, ...) * msgids(...) :: msgsys(4, ...) * msgsnap(...) :: msgsys(5, ...) * see */ /* * subcodes: * sysi86(code, ...) */ /* * subcodes: * shmat (...) :: shmsys(0, ...) * shmctl(...) :: shmsys(1, ...) * shmdt (...) :: shmsys(2, ...) * shmget(...) :: shmsys(3, ...) * shmids(...) :: shmsys(4, ...) * see */ /* * subcodes: * semctl(...) :: semsys(0, ...) * semget(...) :: semsys(1, ...) * semop (...) :: semsys(2, ...) * semids(...) :: semsys(3, ...) * semtimedop(...) :: semsys(4, ...) * see */ /* * subcodes (third argument): * uname(obuf) (obsolete) :: syscall(57, obuf, ign, 0) * subcode 1 unused * ustat(dev, obuf) :: syscall(57, obuf, dev, 2) * fusers(path, flags, obuf) :: syscall(57, path, flags, 3, obuf) * see */ # 168 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * settaskid(...) :: tasksys(0, ...) * gettaskid(...) :: tasksys(1, ...) * getprojid(...) :: tasksys(2, ...) */ /* * subcodes: * getacct(...) :: exacct(0, ...) * putacct(...) :: exacct(1, ...) * wracct(...) :: exacct(2, ...) */ /* * subcodes: * getpagesizes2(...) :: getpagesizes(0, ...) * getpagesizes(...) :: getpagesizes(1, ...) legacy */ /* * subcodes: * getrctl(...) :: rctlsys(0, ...) * setrctl(...) :: rctlsys(1, ...) * rctllist(...) :: rctlsys(2, ...) * rctlctl(...) :: rctlsys(3, ...) */ /* * subcodes: * allocids(...) :: sidsys(0, ...) * idmap_reg(...) :: sidsys(1, ...) * idmap_unreg(...) :: sidsys(2, ...) */ /* * subcodes: * _lwp_park(timespec_t *, lwpid_t) :: syslwp_park(0, ...) * _lwp_unpark(lwpid_t, int) :: syslwp_park(1, ...) * _lwp_unpark_all(lwpid_t *, int) :: syslwp_park(2, ...) * _lwp_unpark_cancel(lwpid_t *, int) :: syslwp_park(3, ...) * _lwp_set_park(lwpid_t *, int) :: syslwp_park(4, ...) */ /* * subcodes : * sendfilev() :: sendfilev(0, ...) * sendfilev64() :: sendfilev(1, ...) */ /* * subcodes: * setppriv(...) :: privsys(0, ...) * getppriv(...) :: privsys(1, ...) * getimplinfo(...) :: privsys(2, ...) * setpflags(...) :: privsys(3, ...) * getpflags(...) :: privsys(4, ...) * issetugid(); :: privsys(5) */ /* * subcodes: * ucred_get(...) :: ucredsys(0, ...) * getpeerucred(...) :: ucredsys(1, ...) */ /* * subcodes: * sysfs(code, ...) * see */ # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * subcode 0 unused * sigpending(...) :: syscall(99, 1, ...) * sigfillset(...) :: syscall(99, 2, ...) */ /* * subcodes: * getcontext(...) :: syscall(100, 0, ...) * setcontext(...) :: syscall(100, 1, ...) */ # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * futimens(...) :: syscall(110, 0, ...) * utimensat(...) :: syscall(110, 1, ...) */ # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * forkx(flags) :: forksys(0, flags) * forkallx(flags) :: forksys(1, flags) * vforkx(flags) :: forksys(2, flags) */ # 354 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * aioread(...) :: kaio(AIOREAD, ...) * aiowrite(...) :: kaio(AIOWRITE, ...) * aiowait(...) :: kaio(AIOWAIT, ...) * aiocancel(...) :: kaio(AIOCANCEL, ...) * aionotify() :: kaio(AIONOTIFY) * aioinit() :: kaio(AIOINIT) * aiostart() :: kaio(AIOSTART) * see */ /* * subcodes: * meminfo(...) :: meminfosys(MISYS_MEMINFO, ...) */ /* * subcodes: * getrusage(...) :: rusagesys(RUSAGESYS_GETRUSAGE, ...) * getvmusage(...) :: rusagesys(RUSAGESYS_GETVMUSAGE, ...) */ /* * subcodes: * port_create(...) :: portfs(PORT_CREATE, ...) * port_associate(...) :: portfs(PORT_ASSOCIATE, ...) * port_dissociate(...) :: portfs(PORT_DISSOCIATE, ...) * port_send(...) :: portfs(PORT_SEND, ...) * port_sendn(...) :: portfs(PORT_SENDN, ...) * port_get(...) :: portfs(PORT_GET, ...) * port_getn(...) :: portfs(PORT_GETN, ...) * port_alert(...) :: portfs(PORT_ALERT, ...) * port_dispatch(...) :: portfs(PORT_DISPATCH, ...) */ # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * Door Subcodes: * 0 door_create * 1 door_revoke * 2 door_info * 3 door_call * 4 door_return */ # 429 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * lwp_rwlock_rdlock(...) :: syscall(212, 0, ...) * lwp_rwlock_wrlock(...) :: syscall(212, 1, ...) * lwp_rwlock_tryrdlock(...) :: syscall(212, 2, ...) * lwp_rwlock_trywrlock(...) :: syscall(212, 3, ...) * lwp_rwlock_unlock(...) :: syscall(212, 4, ...) */ /* system calls for large file ( > 2 gigabyte) support */ # 452 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * subcodes: * zone_create(...) :: zone(ZONE_CREATE, ...) * zone_destroy(...) :: zone(ZONE_DESTROY, ...) * zone_getattr(...) :: zone(ZONE_GETATTR, ...) * zone_enter(...) :: zone(ZONE_ENTER, ...) * zone_list(...) :: zone(ZONE_LIST, ...) * zone_shutdown(...) :: zone(ZONE_SHUTDOWN, ...) * zone_lookup(...) :: zone(ZONE_LOOKUP, ...) * zone_boot(...) :: zone(ZONE_BOOT, ...) * zone_version(...) :: zone(ZONE_VERSION, ...) * zone_setattr(...) :: zone(ZONE_SETATTR, ...) * zone_add_datalink(...) :: zone(ZONE_ADD_DATALINK, ...) * zone_remove_datalink(...) :: zone(ZONE_DEL_DATALINK, ...) * zone_check_datalink(...) :: zone(ZONE_CHECK_DATALINK, ...) * zone_list_datalink(...) :: zone(ZONE_LIST_DATALINK, ...) */ # 489 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" /* * NTP codes */ # 503 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" typedef struct { /* syscall set type */ unsigned int word[16]; } sysset_t; typedef struct { /* return values from system call */ long sys_rval1; /* primary return value from system call */ long sys_rval2; /* second return value from system call */ } sysret_t; extern int syscall(int, ...); extern int __systemcall(sysret_t *, int, ...); extern int __set_errno(int); # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T * All Rights Reserved * */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 /* * Definitions for p_online, processor_info & lgrp system calls. */ /* * Type for an lgrpid */ typedef uint16_t lgrpid_t; /* * Type for processor name (CPU number). */ typedef int processorid_t; typedef int chipid_t; /* * Flags and return values for p_online(2), and pi_state for processor_info(2). * These flags are *not* for in-kernel examination of CPU states. * See for appropriate informational functions. */ # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" /* * String names for processor states defined above. */ /* * Structure filled in by processor_info(2). This structure * SHOULD NOT BE MODIFIED. Changes to the structure would * negate ABI compatibility. * * The string fields are guaranteed to contain a NULL. * * The pi_fputypes field contains a (possibly empty) comma-separated * list of floating point identifier strings. */ typedef struct { int pi_state; /* processor state, see above */ char pi_processor_type[16]; /* ASCII CPU type */ char pi_fputypes[32]; /* ASCII FPU types */ int pi_clock; /* CPU clock freq in MHz */ } processor_info_t; /* * Binding values for processor_bind(2) */ /* * User-level system call interface prototypes */ extern int p_online(processorid_t processorid, int flag); extern int processor_info(processorid_t processorid, processor_info_t *infop); extern int processor_bind(idtype_t idtype, id_t id, processorid_t processorid, processorid_t *obind); extern processorid_t getcpuid(void); extern lgrpid_t gethomelgroup(void); # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 typedef int psetid_t; /* special processor set id's */ /* types of processor sets */ extern int pset_create(psetid_t *); extern int pset_destroy(psetid_t); extern int pset_assign(psetid_t, processorid_t, psetid_t *); extern int pset_info(psetid_t, int *, uint_t *, processorid_t *); extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *); extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *); extern int pset_getloadavg(psetid_t, double [], int); extern int pset_list(psetid_t *, uint_t *); extern int pset_setattr(psetid_t, uint_t); extern int pset_getattr(psetid_t, uint_t *); /* system call subcodes */ # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" /* attribute bits */ # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. */ # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ /* All Rights Reserved */ # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 /* * System call interfaces for /proc. */ /* * Control codes (long values) for messages written to ctl and lwpctl files. */ # 107 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" /* * PCRUN long operand flags. */ /* * lwp status file. /proc//lwp//lwpstatus */ typedef struct lwpstatus { int pr_flags; /* flags (see below) */ id_t pr_lwpid; /* specific lwp identifier */ short pr_why; /* reason for lwp stop, if stopped */ short pr_what; /* more detailed reason */ short pr_cursig; /* current signal, if any */ short pr_pad1; siginfo_t pr_info; /* info associated with signal or fault */ sigset_t pr_lwppend; /* set of signals pending to the lwp */ sigset_t pr_lwphold; /* set of signals blocked by the lwp */ struct sigaction pr_action; /* signal action for current signal */ stack_t pr_altstack; /* alternate signal stack info */ uintptr_t pr_oldcontext; /* address of previous ucontext */ short pr_syscall; /* system call number (if in syscall) */ short pr_nsysarg; /* number of arguments to this syscall */ int pr_errno; /* errno for failed syscall, 0 if successful */ long pr_sysarg[8]; /* arguments to this syscall */ long pr_rval1; /* primary syscall return value */ long pr_rval2; /* second syscall return value, if any */ char pr_clname[8]; /* scheduling class name */ timestruc_t pr_tstamp; /* real-time time stamp of stop */ timestruc_t pr_utime; /* lwp user cpu time */ timestruc_t pr_stime; /* lwp system cpu time */ int pr_filler[11 - 2 * sizeof (timestruc_t) / sizeof (int)]; int pr_errpriv; /* missing privilege */ uintptr_t pr_ustack; /* address of stack boundary data (stack_t) */ ulong_t pr_instr; /* current instruction */ gregset_t pr_reg; /* general registers */ fpregset_t pr_fpreg; /* floating-point registers */ } lwpstatus_t; /* * process status file. /proc//status */ typedef struct pstatus { int pr_flags; /* flags (see below) */ int pr_nlwp; /* number of active lwps in the process */ pid_t pr_pid; /* process id */ pid_t pr_ppid; /* parent process id */ pid_t pr_pgid; /* process group id */ pid_t pr_sid; /* session id */ id_t pr_aslwpid; /* historical; now always zero */ id_t pr_agentid; /* lwp id of the /proc agent lwp, if any */ sigset_t pr_sigpend; /* set of process pending signals */ uintptr_t pr_brkbase; /* address of the process heap */ size_t pr_brksize; /* size of the process heap, in bytes */ uintptr_t pr_stkbase; /* address of the process stack */ size_t pr_stksize; /* size of the process stack, in bytes */ timestruc_t pr_utime; /* process user cpu time */ timestruc_t pr_stime; /* process system cpu time */ timestruc_t pr_cutime; /* sum of children's user times */ timestruc_t pr_cstime; /* sum of children's system times */ sigset_t pr_sigtrace; /* set of traced signals */ fltset_t pr_flttrace; /* set of traced faults */ sysset_t pr_sysentry; /* set of system calls traced on entry */ sysset_t pr_sysexit; /* set of system calls traced on exit */ char pr_dmodel; /* data model of the process (see below) */ char pr_pad[3]; taskid_t pr_taskid; /* task id */ projid_t pr_projid; /* project id */ int pr_nzomb; /* number of zombie lwps in the process */ zoneid_t pr_zoneid; /* zone id */ int pr_filler[15]; /* reserved for future use */ lwpstatus_t pr_lwp; /* status of the representative lwp */ } pstatus_t; /* * pr_flags (same values appear in both pstatus_t and lwpstatus_t pr_flags). * * These flags do *not* apply to psinfo_t.pr_flag or lwpsinfo_t.pr_flag * (which are both deprecated). */ /* The following flags apply to the specific or representative lwp */ # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" /* The following flags apply to the process, not to an individual lwp */ /* The following process flags are modes settable by PCSET/PCUNSET */ # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" /* * See for possible values of pr_dmodel. */ /* * Reasons for stopping (pr_why). */ # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" /* * lwp ps(1) information file. /proc//lwp//lwpsinfo */ typedef struct lwpsinfo { int pr_flag; /* lwp flags (DEPRECATED; do not use) */ id_t pr_lwpid; /* lwp id */ uintptr_t pr_addr; /* internal address of lwp */ uintptr_t pr_wchan; /* wait addr for sleeping lwp */ char pr_stype; /* synchronization event type */ char pr_state; /* numeric lwp state */ char pr_sname; /* printable character for pr_state */ char pr_nice; /* nice for cpu usage */ short pr_syscall; /* system call number (if in syscall) */ char pr_oldpri; /* pre-SVR4, low value is high priority */ char pr_cpu; /* pre-SVR4, cpu usage for scheduling */ int pr_pri; /* priority, high value is high priority */ /* The following percent number is a 16-bit binary */ /* fraction [0 .. 1] with the binary point to the */ /* right of the high-order bit (1.0 == 0x8000) */ ushort_t pr_pctcpu; /* % of recent cpu time used by this lwp */ ushort_t pr_pad; timestruc_t pr_start; /* lwp start time, from the epoch */ timestruc_t pr_time; /* usr+sys cpu time for this lwp */ char pr_clname[8]; /* scheduling class name */ char pr_name[16]; /* name of system lwp */ processorid_t pr_onpro; /* processor which last ran this lwp */ processorid_t pr_bindpro; /* processor to which lwp is bound */ psetid_t pr_bindpset; /* processor set to which lwp is bound */ int pr_lgrp; /* lwp home lgroup */ int pr_filler[4]; /* reserved for future use */ } lwpsinfo_t; /* * process ps(1) information file. /proc//psinfo */ typedef struct psinfo { int pr_flag; /* process flags (DEPRECATED; do not use) */ int pr_nlwp; /* number of active lwps in the process */ pid_t pr_pid; /* unique process id */ pid_t pr_ppid; /* process id of parent */ pid_t pr_pgid; /* pid of process group leader */ pid_t pr_sid; /* session id */ uid_t pr_uid; /* real user id */ uid_t pr_euid; /* effective user id */ gid_t pr_gid; /* real group id */ gid_t pr_egid; /* effective group id */ uintptr_t pr_addr; /* address of process */ size_t pr_size; /* size of process image in Kbytes */ size_t pr_rssize; /* resident set size in Kbytes */ size_t pr_pad1; dev_t pr_ttydev; /* controlling tty device (or PRNODEV) */ /* The following percent numbers are 16-bit binary */ /* fractions [0 .. 1] with the binary point to the */ /* right of the high-order bit (1.0 == 0x8000) */ ushort_t pr_pctcpu; /* % of recent cpu time used by all lwps */ ushort_t pr_pctmem; /* % of system memory used by process */ timestruc_t pr_start; /* process start time, from the epoch */ timestruc_t pr_time; /* usr+sys cpu time for this process */ timestruc_t pr_ctime; /* usr+sys cpu time for reaped children */ char pr_fname[16]; /* name of execed file */ char pr_psargs[80]; /* initial characters of arg list */ int pr_wstat; /* if zombie, the wait() status */ int pr_argc; /* initial argument count */ uintptr_t pr_argv; /* address of initial argument vector */ uintptr_t pr_envp; /* address of initial environment vector */ char pr_dmodel; /* data model of the process */ char pr_pad2[3]; taskid_t pr_taskid; /* task id */ projid_t pr_projid; /* project id */ int pr_nzomb; /* number of zombie lwps in the process */ poolid_t pr_poolid; /* pool id */ zoneid_t pr_zoneid; /* zone id */ id_t pr_contract; /* process contract */ int pr_filler[1]; /* reserved for future use */ lwpsinfo_t pr_lwp; /* information for representative lwp */ } psinfo_t; /* * Memory-map interface. /proc//map /proc//rmap */ typedef struct prmap { uintptr_t pr_vaddr; /* virtual address of mapping */ size_t pr_size; /* size of mapping in bytes */ char pr_mapname[64]; /* name in /proc//object */ offset_t pr_offset; /* offset into mapped object, if any */ int pr_mflags; /* protection and attribute flags (see below) */ int pr_pagesize; /* pagesize (bytes) for this mapping */ int pr_shmid; /* SysV shmid, -1 if not SysV shared memory */ int pr_filler[1]; /* filler for future expansion */ } prmap_t; /* * HAT memory-map interface. /proc//xmap */ typedef struct prxmap { uintptr_t pr_vaddr; /* virtual address of mapping */ size_t pr_size; /* size of mapping in bytes */ char pr_mapname[64]; /* name in /proc//object */ offset_t pr_offset; /* offset into mapped object, if any */ int pr_mflags; /* protection and attribute flags (see below) */ int pr_pagesize; /* pagesize (bytes) for this mapping */ int pr_shmid; /* SysV shmid, -1 if not SysV shared memory */ dev_t pr_dev; /* st_dev from stat64() of mapped object, or PRNODEV */ uint64_t pr_ino; /* st_ino from stat64() of mapped object, if any */ size_t pr_rss; /* pages of resident memory */ size_t pr_anon; /* pages of resident anonymous memory */ size_t pr_locked; /* pages of locked memory */ size_t pr_pad; /* currently unused */ uint64_t pr_hatpagesize; /* pagesize of the hat mapping */ ulong_t pr_filler[6]; /* filler for future expansion */ } prxmap_t; /* Protection and attribute flags */ # 370 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" /* * These are obsolete and unreliable. * They are included here only for historical compatibility. */ /* * Process credentials. PCSCRED and /proc//cred */ typedef struct prcred { uid_t pr_euid; /* effective user id */ uid_t pr_ruid; /* real user id */ uid_t pr_suid; /* saved user id (from exec) */ gid_t pr_egid; /* effective group id */ gid_t pr_rgid; /* real group id */ gid_t pr_sgid; /* saved group id (from exec) */ int pr_ngroups; /* number of supplementary groups */ gid_t pr_groups[1]; /* array of supplementary groups */ } prcred_t; /* * Process privileges. PCSPRIV and /proc//priv */ typedef struct prpriv { uint32_t pr_nsets; /* number of privilege set */ uint32_t pr_setsize; /* size of privilege set */ uint32_t pr_infosize; /* size of supplementary data */ priv_chunk_t pr_sets[1]; /* array of sets */ } prpriv_t; /* * Watchpoint interface. PCWATCH and /proc//watch */ typedef struct prwatch { uintptr_t pr_vaddr; /* virtual address of watched area */ size_t pr_size; /* size of watched area in bytes */ int pr_wflags; /* watch type flags */ int pr_pad; } prwatch_t; /* pr_wflags */ /* * PCREAD/PCWRITE I/O interface. */ typedef struct priovec { void *pio_base; /* buffer in controlling process */ size_t pio_len; /* size of read/write request */ off_t pio_offset; /* virtual address in target process */ } priovec_t; /* * Resource usage. /proc//usage /proc//lwp//lwpusage */ typedef struct prusage { id_t pr_lwpid; /* lwp id. 0: process or defunct */ int pr_count; /* number of contributing lwps */ timestruc_t pr_tstamp; /* current time stamp */ timestruc_t pr_create; /* process/lwp creation time stamp */ timestruc_t pr_term; /* process/lwp termination time stamp */ timestruc_t pr_rtime; /* total lwp real (elapsed) time */ timestruc_t pr_utime; /* user level cpu time */ timestruc_t pr_stime; /* system call cpu time */ timestruc_t pr_ttime; /* other system trap cpu time */ timestruc_t pr_tftime; /* text page fault sleep time */ timestruc_t pr_dftime; /* data page fault sleep time */ timestruc_t pr_kftime; /* kernel page fault sleep time */ timestruc_t pr_ltime; /* user lock wait sleep time */ timestruc_t pr_slptime; /* all other sleep time */ timestruc_t pr_wtime; /* wait-cpu (latency) time */ timestruc_t pr_stoptime; /* stopped time */ timestruc_t filltime[6]; /* filler for future expansion */ ulong_t pr_minf; /* minor page faults */ ulong_t pr_majf; /* major page faults */ ulong_t pr_nswap; /* swaps */ ulong_t pr_inblk; /* input blocks */ ulong_t pr_oublk; /* output blocks */ ulong_t pr_msnd; /* messages sent */ ulong_t pr_mrcv; /* messages received */ ulong_t pr_sigs; /* signals received */ ulong_t pr_vctx; /* voluntary context switches */ ulong_t pr_ictx; /* involuntary context switches */ ulong_t pr_sysc; /* system calls */ ulong_t pr_ioch; /* chars read and written */ ulong_t filler[10]; /* filler for future expansion */ } prusage_t; /* * Page data file. /proc//pagedata */ /* page data file header */ typedef struct prpageheader { timestruc_t pr_tstamp; /* real time stamp */ long pr_nmap; /* number of address space mappings */ long pr_npage; /* total number of pages */ } prpageheader_t; /* page data mapping header */ typedef struct prasmap { uintptr_t pr_vaddr; /* virtual address of mapping */ size_t pr_npage; /* number of pages in mapping */ char pr_mapname[64]; /* name in /proc//object */ offset_t pr_offset; /* offset into mapped object, if any */ int pr_mflags; /* protection and attribute flags */ int pr_pagesize; /* pagesize (bytes) for this mapping */ int pr_shmid; /* SysV shmid, -1 if not SysV shared memory */ int pr_filler[1]; /* filler for future expansion */ } prasmap_t; /* * pr_npage bytes (plus 0-7 null bytes to round up to an 8-byte boundary) * follow each mapping header, each containing zero or more of these flags. */ /* * Open files. Only in core files (for now). Note that we'd like to use * the stat or stat64 structure, but both of these structures are unfortunately * not consistent between 32 and 64 bit modes. To keep our lives simpler, we * just define our own structure with types that are not sensitive to this * difference. Also, it turns out that pfiles omits a lot of info from the * struct stat (e.g. times, device sizes, etc.) so we don't bother adding those * here. */ typedef struct prfdinfo { int pr_fd; mode_t pr_mode; uid_t pr_uid; gid_t pr_gid; major_t pr_major; /* think stat.st_dev */ minor_t pr_minor; major_t pr_rmajor; /* think stat.st_rdev */ minor_t pr_rminor; ino64_t pr_ino; off64_t pr_offset; off64_t pr_size; int pr_fileflags; /* fcntl(F_GETXFL), etc */ int pr_fdflags; /* fcntl(F_GETFD), etc. */ char pr_path[1024]; } prfdinfo_t; /* * Header for /proc//lstatus /proc//lpsinfo /proc//lusage */ typedef struct prheader { long pr_nent; /* number of entries */ long pr_entsize; /* size of each entry, in bytes */ } prheader_t; /* * Macros for manipulating sets of flags. * sp must be a pointer to one of sigset_t, fltset_t, or sysset_t. * flag must be a member of the enumeration corresponding to *sp. */ /* turn on all flags in set */ /* turn off all flags in set */ /* turn on specified flag in set */ /* turn off specified flag in set */ /* query: != 0 iff flag is turned on in set */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/procfs.h" 2 /* * libproc API */ # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2 /* * Per-allocation flags */ # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" /* * The following flags are restricted for use only within the kernel. * VM_MEMLOAD is for use by the HAT to avoid infinite recursion. * VM_NORELOC is used by the kernel when static VA->PA mappings are required. */ /* * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags * and forgo reaping if the allocation or attempted import, fails. This * flag is a segkmem-specific flag, and should not be used by anyone else. */ /* * VM_ENDALLOC requests that large addresses be preferred in allocations. * Has no effect if VM_NEXTFIT is active. */ /* * Arena creation flags */ /* * internal use only; the import function uses the vmem_ximport_t interface * and may increase the request size if it so desires. * VMC_XALIGN, for use with vmem_xcreate, specifies that * the address returned by the import function will be * aligned according to the alignment argument. */ /* * Public segment types */ /* * Implementation-private segment types */ /* * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may * call back into the arena being walked, so vmem_walk() must drop the * arena lock before each callback. The caveat is that since the arena * isn't locked, its state can change. Therefore it is up to the callback * routine to handle cases where the segment isn't of the expected type. * For example, we use this to walk heap_arena when generating a crash dump; * see segkmem_dump() for sample usage. */ typedef struct vmem vmem_t; typedef void *(vmem_alloc_t)(vmem_t *, size_t, int); typedef void (vmem_free_t)(vmem_t *, void *, size_t); /* * Alternate import style; the requested size is passed in a pointer, * which can be increased by the import function if desired. */ typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int); # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" extern vmem_t *vmem_create(const char *, void *, size_t, size_t, vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int); extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t, vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int); extern void vmem_destroy(vmem_t *); extern void *vmem_alloc(vmem_t *, size_t, int); extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t, void *, void *, int); extern void vmem_free(vmem_t *, void *, size_t); extern void vmem_xfree(vmem_t *, void *, size_t); extern void *vmem_add(vmem_t *, void *, size_t, int); extern int vmem_contains(vmem_t *, void *, size_t); extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *); extern size_t vmem_size(vmem_t *, int); extern void vmem_qcache_reap(vmem_t *vmp); # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 /* * Kernel memory allocator: DDI interfaces. * See kmem_alloc(9F) for details. */ # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" /* * Kernel memory allocator: private interfaces. * These interfaces are still evolving. * Do not use them in unbundled drivers. */ /* * Flags for kmem_cache_create() */ # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" struct kmem_cache; /* cache structure is opaque to kmem clients */ typedef struct kmem_cache kmem_cache_t; /* Client response to kmem move callback */ typedef enum kmem_cbrc { KMEM_CBRC_YES, KMEM_CBRC_NO, KMEM_CBRC_LATER, KMEM_CBRC_DONT_NEED, KMEM_CBRC_DONT_KNOW } kmem_cbrc_t; # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrrett D'Amore * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 /* * Available local actions and flags. */ # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" /* * Available global actions and flags. */ # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" /* * getrctl(2) flag values */ /* * setrctl(2) flag values */ # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" /* * rctl_priv_t: rctl privilege defined values * A large amount of space has been deliberately left between these privileges * to permit future enrichment of the control privilege value. */ typedef u_longlong_t rctl_qty_t; /* resource control numerical values */ typedef int rctl_priv_t; typedef struct rctlblk rctlblk_t; extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int); extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int); typedef enum { RCENTITY_PROCESS, RCENTITY_TASK, RCENTITY_PROJECT, RCENTITY_ZONE } rctl_entity_t; typedef struct rctl_set rctl_set_t; # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 int rctl_walk(int (*)(const char *, void *), void *); hrtime_t rctlblk_get_firing_time(rctlblk_t *); uint_t rctlblk_get_global_action(rctlblk_t *); uint_t rctlblk_get_global_flags(rctlblk_t *); uint_t rctlblk_get_local_action(rctlblk_t *, int *); uint_t rctlblk_get_local_flags(rctlblk_t *); id_t rctlblk_get_recipient_pid(rctlblk_t *); rctl_priv_t rctlblk_get_privilege(rctlblk_t *); rctl_qty_t rctlblk_get_value(rctlblk_t *); rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *); void rctlblk_set_local_action(rctlblk_t *, uint_t, int); void rctlblk_set_local_flags(rctlblk_t *, uint_t); void rctlblk_set_recipient_pid(rctlblk_t *, id_t); void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t); void rctlblk_set_value(rctlblk_t *, rctl_qty_t); size_t rctlblk_size(void); # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libctf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2001-2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright (c) 2015, Joyent, Inc. */ /* * This header file defines the interfaces available from the CTF debugger * library, libctf. This library provides functions that a debugger can * use to operate on data in the Compact ANSI-C Type Format (CTF). This * is NOT a public interface, although it may eventually become one in * the fullness of time after we gain more experience with the interfaces. * * In the meantime, be aware that any program linked with libctf in this * release of illumos is almost guaranteed to break in the next release. * * In short, do not user this header file or libctf for any purpose. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2018 Joyent, Inc. */ /* * This header file defines the interfaces available from the CTF debugger * library, libctf, and an equivalent kernel module. This API can be used by * a debugger to operate on data in the Compact ANSI-C Type Format (CTF). * This is NOT a public interface, although it may eventually become one in * the fullness of time after we gain more experience with the interfaces. * * In the meantime, be aware that any program linked with this API in this * release of Solaris is almost guaranteed to break in the next release. * * In short, do not user this header file or the CTF routines for any purpose. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. * Copyright (c) 2018, Joyent, Inc. */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2018 Joyent, Inc. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 2 /* * CTF - Compact ANSI-C Type Format * * This file format can be used to compactly represent the information needed * by a debugger to interpret the ANSI-C types used by a given program. * Traditionally, this kind of information is generated by the compiler when * invoked with the -g flag and is stored in "stabs" strings or in the more * modern DWARF format. CTF provides a representation of only the information * that is relevant to debugging a complex, optimized C program such as the * operating system kernel in a form that is significantly more compact than * the equivalent stabs or DWARF representation. The format is data-model * independent, so consumers do not need different code depending on whether * they are 32-bit or 64-bit programs. CTF assumes that a standard ELF symbol * table is available for use in the debugger, and uses the structure and data * of the symbol table to avoid storing redundant information. The CTF data * may be compressed on disk or in memory, indicated by a bit in the header. * CTF may be interpreted in a raw disk file, or it may be stored in an ELF * section, typically named .SUNW_ctf. Data structures are aligned so that * a raw CTF file or CTF ELF section may be manipulated using mmap(2). * * The CTF file or section itself has the following structure: * * +--------+--------+---------+----------+-------+--------+ * | file | type | data | function | data | string | * | header | labels | objects | info | types | table | * +--------+--------+---------+----------+-------+--------+ * * The file header stores a magic number and version information, encoding * flags, and the byte offset of each of the sections relative to the end of the * header itself. If the CTF data has been uniquified against another set of * CTF data, a reference to that data also appears in the the header. This * reference is the name of the label corresponding to the types uniquified * against. * * Following the header is a list of labels, used to group the types included in * the data types section. Each label is accompanied by a type ID i. A given * label refers to the group of types whose IDs are in the range [0, i]. * * Data object and function records are stored in the same order as they appear * in the corresponding symbol table, except that symbols marked SHN_UNDEF are * not stored and symbols that have no type data are padded out with zeroes. * For each data object, the type ID (a small integer) is recorded. For each * function, the type ID of the return type and argument types is recorded. * * The data types section is a list of variable size records that represent each * type, in order by their ID. The types themselves form a directed graph, * where each node may contain one or more outgoing edges to other type nodes, * denoted by their ID. * * Strings are recorded as a string table ID (0 or 1) and a byte offset into the * string table. String table 0 is the internal CTF string table. String table * 1 is the external string table, which is the string table associated with the * ELF symbol table for this object. CTF does not record any strings that are * already in the symbol table, and the CTF string table does not contain any * duplicated strings. * * If the CTF data has been merged with another parent CTF object, some outgoing * edges may refer to type nodes that exist in another CTF object. The debugger * and libctf library are responsible for connecting the appropriate objects * together so that the full set of types can be explored and manipulated. */ /* See ctf_type_t */ typedef struct ctf_preamble { ushort_t ctp_magic; /* magic number (CTF_MAGIC) */ uchar_t ctp_version; /* data format version number (CTF_VERSION) */ uchar_t ctp_flags; /* flags (see below) */ } ctf_preamble_t; typedef struct ctf_header { ctf_preamble_t cth_preamble; uint_t cth_parlabel; /* ref to name of parent lbl uniq'd against */ uint_t cth_parname; /* ref to basename of parent */ uint_t cth_lbloff; /* offset of label section */ uint_t cth_objtoff; /* offset of object section */ uint_t cth_funcoff; /* offset of function section */ uint_t cth_typeoff; /* offset of type section */ uint_t cth_stroff; /* offset of string section */ uint_t cth_strlen; /* length of string section in bytes */ } ctf_header_t; # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" /* data format version number */ typedef struct ctf_lblent { uint_t ctl_label; /* ref to name of label */ uint_t ctl_typeidx; /* last type associated with this label */ } ctf_lblent_t; typedef struct ctf_stype { uint_t ctt_name; /* reference to name in string table */ ushort_t ctt_info; /* encoded kind, variant length (see below) */ union { ushort_t _size; /* size of entire type in bytes */ ushort_t _type; /* reference to another type */ } _u; } ctf_stype_t; /* * type sizes, measured in bytes, come in two flavors. 99% of them fit within * (USHRT_MAX - 1), and thus can be stored in the ctt_size member of a * ctf_stype_t. The maximum value for these sizes is CTF_MAX_SIZE. The sizes * larger than CTF_MAX_SIZE must be stored in the ctt_lsize member of a * ctf_type_t. Use of this member is indicated by the presence of * CTF_LSIZE_SENT in ctt_size. */ typedef struct ctf_type { uint_t ctt_name; /* reference to name in string table */ ushort_t ctt_info; /* encoded kind, variant length (see below) */ union { ushort_t _size; /* always CTF_LSIZE_SENT */ ushort_t _type; /* do not use */ } _u; uint_t ctt_lsizehi; /* high 32 bits of type size in bytes */ uint_t ctt_lsizelo; /* low 32 bits of type size in bytes */ } ctf_type_t; /* * The following macros compose and decompose values for ctt_info and * ctt_name, as well as other structures that contain name references. * * ------------------------ * ctt_info: | kind | isroot | vlen | * ------------------------ * 15 11 10 9 0 * * kind = CTF_INFO_KIND(c.ctt_info); <-- CTF_K_* value (see below) * vlen = CTF_INFO_VLEN(c.ctt_info); <-- length of variable data list * * stid = CTF_NAME_STID(c.ctt_name); <-- string table id number (0 or 1) * offset = CTF_NAME_OFFSET(c.ctt_name); <-- string table byte offset * * c.ctt_info = CTF_TYPE_INFO(kind, vlen); * c.ctt_name = CTF_TYPE_NAME(stid, offset); */ # 251 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" /* * Values for CTF_TYPE_KIND(). If the kind has an associated data list, * CTF_INFO_VLEN() will extract the number of elements in the list, and * the type of each element is shown in the comments below. */ /* list of argument types (ushort_t's) */ # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" /* * Values for ctt_type when kind is CTF_K_INTEGER. The flags, offset in bits, * and size in bits are encoded as a single word using the following macros. */ # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" /* * Values for ctt_type when kind is CTF_K_FLOAT. The encoding, offset in bits, * and size in bits are encoded as a single word using the following macros. */ # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" typedef struct ctf_array { ushort_t cta_contents; /* reference to type of array contents */ ushort_t cta_index; /* reference to type of array index */ uint_t cta_nelems; /* number of elements */ } ctf_array_t; /* * Most structure members have bit offsets that can be expressed using a * short. Some don't. ctf_member_t is used for structs which cannot * contain any of these large offsets, whereas ctf_lmember_t is used in the * latter case. If ctt_size for a given struct is >= 8192 bytes, all members * will be stored as type ctf_lmember_t. */ typedef struct ctf_member { uint_t ctm_name; /* reference to name in string table */ ushort_t ctm_type; /* reference to type of member */ ushort_t ctm_offset; /* offset of this member in bits */ } ctf_member_t; typedef struct ctf_lmember { uint_t ctlm_name; /* reference to name in string table */ ushort_t ctlm_type; /* reference to type of member */ ushort_t ctlm_pad; /* padding */ uint_t ctlm_offsethi; /* high 32 bits of member offset in bits */ uint_t ctlm_offsetlo; /* low 32 bits of member offset in bits */ } ctf_lmember_t; typedef struct ctf_enum { uint_t cte_name; /* reference to name in string table */ int cte_value; /* value associated with this name */ } ctf_enum_t; # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 2 /* * Clients can open one or more CTF containers and obtain a pointer to an * opaque ctf_file_t. Types are identified by an opaque ctf_id_t token. * These opaque definitions allow libctf to evolve without breaking clients. */ typedef struct ctf_file ctf_file_t; typedef long ctf_id_t; enum { ECTF_FMT = 1000, /* file is not in CTF or ELF format */ ECTF_ELFVERS, /* ELF version is more recent than libctf */ ECTF_CTFVERS, /* CTF version is more recent than libctf */ ECTF_ENDIAN, /* data is different endian-ness than lib */ ECTF_SYMTAB, /* symbol table uses invalid entry size */ ECTF_SYMBAD, /* symbol table data buffer invalid */ ECTF_STRBAD, /* string table data buffer invalid */ ECTF_CORRUPT, /* file data corruption detected */ ECTF_NOCTFDATA, /* ELF file does not contain CTF data */ ECTF_NOCTFBUF, /* buffer does not contain CTF data */ ECTF_NOSYMTAB, /* symbol table data is not available */ ECTF_NOPARENT, /* parent CTF container is not available */ ECTF_DMODEL, /* data model mismatch */ ECTF_MMAP, /* failed to mmap a data section */ ECTF_ZMISSING, /* decompression library not installed */ ECTF_ZINIT, /* failed to initialize decompression library */ ECTF_ZALLOC, /* failed to allocate decompression buffer */ ECTF_DECOMPRESS, /* failed to decompress CTF data */ ECTF_STRTAB, /* string table for this string is missing */ ECTF_BADNAME, /* string offset is corrupt w.r.t. strtab */ ECTF_BADID, /* invalid type ID number */ ECTF_NOTSOU, /* type is not a struct or union */ ECTF_NOTENUM, /* type is not an enum */ ECTF_NOTSUE, /* type is not a struct, union, or enum */ ECTF_NOTINTFP, /* type is not an integer or float */ ECTF_NOTARRAY, /* type is not an array */ ECTF_NOTREF, /* type does not reference another type */ ECTF_NAMELEN, /* buffer is too small to hold type name */ ECTF_NOTYPE, /* no type found corresponding to name */ ECTF_SYNTAX, /* syntax error in type name */ ECTF_NOTFUNC, /* symtab entry does not refer to a function */ ECTF_NOFUNCDAT, /* no func info available for function */ ECTF_NOTDATA, /* symtab entry does not refer to a data obj */ ECTF_NOTYPEDAT, /* no type info available for object */ ECTF_NOLABEL, /* no label found corresponding to name */ ECTF_NOLABELDATA, /* file does not contain any labels */ ECTF_NOTSUP, /* feature not supported */ ECTF_NOENUMNAM, /* enum element name not found */ ECTF_NOMEMBNAM, /* member name not found */ ECTF_RDONLY, /* CTF container is read-only */ ECTF_DTFULL, /* CTF type is full (no more members allowed) */ ECTF_FULL, /* CTF container is full */ ECTF_DUPMEMBER, /* duplicate member name definition */ ECTF_CONFLICT, /* conflicting type definition present */ ECTF_REFERENCED, /* type has outstanding references */ ECTF_NOTDYN, /* type is not a dynamic type */ ECTF_ELF, /* elf library failure */ ECTF_MCHILD, /* cannot merge child container */ ECTF_LABELEXISTS, /* label already exists */ ECTF_LCONFLICT, /* merged labels conflict */ ECTF_ZLIB, /* zlib library failure */ ECTF_CONVBKERR, /* CTF conversion backend error */ ECTF_CONVNOCSRC, /* No C source to convert from */ ECTF_NOCONVBKEND /* No applicable conversion backend */ }; /* * If the debugger needs to provide the CTF library with a set of raw buffers * for use as the CTF data, symbol table, and string table, it can do so by * filling in ctf_sect_t structures and passing them to ctf_bufopen(): */ typedef struct ctf_sect { const char *cts_name; /* section name (if any) */ ulong_t cts_type; /* section type (ELF SHT_... value) */ ulong_t cts_flags; /* section flags (ELF SHF_... value) */ const void *cts_data; /* pointer to section data */ size_t cts_size; /* size of data in bytes */ size_t cts_entsize; /* size of each section entry (symtab only) */ off64_t cts_offset; /* file offset of this section (if any) */ } ctf_sect_t; /* * Encoding information for integers, floating-point values, and certain other * intrinsics can be obtained by calling ctf_type_encoding(), below. The flags * field will contain values appropriate for the type defined in . */ typedef struct ctf_encoding { uint_t cte_format; /* data format (CTF_INT_* or CTF_FP_* flags) */ uint_t cte_offset; /* offset of value in bits */ uint_t cte_bits; /* size of storage in bits */ } ctf_encoding_t; typedef struct ctf_membinfo { ctf_id_t ctm_type; /* type of struct or union member */ ulong_t ctm_offset; /* offset of member in bits */ } ctf_membinfo_t; typedef struct ctf_arinfo { ctf_id_t ctr_contents; /* type of array contents */ ctf_id_t ctr_index; /* type of array index */ uint_t ctr_nelems; /* number of elements */ } ctf_arinfo_t; typedef struct ctf_funcinfo { ctf_id_t ctc_return; /* function return type */ uint_t ctc_argc; /* number of typed arguments to function */ uint_t ctc_flags; /* function attributes (see below) */ } ctf_funcinfo_t; typedef struct ctf_lblinfo { ctf_id_t ctb_typeidx; /* last type associated with the label */ } ctf_lblinfo_t; /* * Functions that return integer status or a ctf_id_t use the following value * to indicate failure. ctf_errno() can be used to obtain an error code. */ /* * The CTF data model is inferred to be the caller's data model or the data * model of the given object, unless ctf_setmodel() is explicitly called. */ # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" /* * Dynamic CTF containers can be created using ctf_create(). The ctf_add_* * routines can be used to add new definitions to the dynamic container. * New types are labeled as root or non-root to determine whether they are * visible at the top-level program scope when subsequently doing a lookup. */ /* * These typedefs are used to define the signature for callback functions * that can be used with the iteration and visit functions below: */ typedef int ctf_visit_f(const char *, ctf_id_t, ulong_t, int, void *); typedef int ctf_member_f(const char *, ctf_id_t, ulong_t, void *); typedef int ctf_enum_f(const char *, int, void *); typedef int ctf_type_f(ctf_id_t, boolean_t, void *); typedef int ctf_label_f(const char *, const ctf_lblinfo_t *, void *); typedef int ctf_function_f(const char *, ulong_t, ctf_funcinfo_t *, void *); typedef int ctf_object_f(const char *, ctf_id_t, ulong_t, void *); typedef int ctf_string_f(const char *, void *); extern ctf_file_t *ctf_bufopen(const ctf_sect_t *, const ctf_sect_t *, const ctf_sect_t *, int *); extern ctf_file_t *ctf_fdopen(int, int *); extern ctf_file_t *ctf_open(const char *, int *); extern ctf_file_t *ctf_create(int *); extern ctf_file_t *ctf_fdcreate(int, int *); extern ctf_file_t *ctf_dup(ctf_file_t *); extern void ctf_close(ctf_file_t *); extern ctf_file_t *ctf_parent_file(ctf_file_t *); extern const char *ctf_parent_name(ctf_file_t *); extern const char *ctf_parent_label(ctf_file_t *); extern int ctf_import(ctf_file_t *, ctf_file_t *); extern int ctf_setmodel(ctf_file_t *, int); extern int ctf_getmodel(ctf_file_t *); extern void ctf_setspecific(ctf_file_t *, void *); extern void *ctf_getspecific(ctf_file_t *); extern int ctf_errno(ctf_file_t *); extern uint_t ctf_flags(ctf_file_t *); extern const char *ctf_errmsg(int); extern int ctf_version(int); extern ctf_id_t ctf_max_id(ctf_file_t *); extern ulong_t ctf_nr_syms(ctf_file_t *); extern int ctf_func_info(ctf_file_t *, ulong_t, ctf_funcinfo_t *); extern int ctf_func_info_by_id(ctf_file_t *, ctf_id_t, ctf_funcinfo_t *); extern int ctf_func_args(ctf_file_t *, ulong_t, uint_t, ctf_id_t *); extern int ctf_func_args_by_id(ctf_file_t *, ctf_id_t, uint_t, ctf_id_t *); extern ctf_id_t ctf_lookup_by_name(ctf_file_t *, const char *); extern ctf_id_t ctf_lookup_by_symbol(ctf_file_t *, ulong_t); extern char *ctf_symbol_name(ctf_file_t *, ulong_t, char *, size_t); extern ctf_id_t ctf_type_resolve(ctf_file_t *, ctf_id_t); extern ssize_t ctf_type_lname(ctf_file_t *, ctf_id_t, char *, size_t); extern char *ctf_type_name(ctf_file_t *, ctf_id_t, char *, size_t); extern char *ctf_type_qname(ctf_file_t *, ctf_id_t, char *, size_t, const char *); extern char *ctf_type_cname(ctf_file_t *, ctf_id_t, char *, size_t, const char *); extern ssize_t ctf_type_size(ctf_file_t *, ctf_id_t); extern ssize_t ctf_type_align(ctf_file_t *, ctf_id_t); extern int ctf_type_kind(ctf_file_t *, ctf_id_t); extern const char *ctf_kind_name(ctf_file_t *, int); extern ctf_id_t ctf_type_reference(ctf_file_t *, ctf_id_t); extern ctf_id_t ctf_type_pointer(ctf_file_t *, ctf_id_t); extern int ctf_type_encoding(ctf_file_t *, ctf_id_t, ctf_encoding_t *); extern int ctf_type_visit(ctf_file_t *, ctf_id_t, ctf_visit_f *, void *); extern int ctf_type_cmp(ctf_file_t *, ctf_id_t, ctf_file_t *, ctf_id_t); extern int ctf_type_compat(ctf_file_t *, ctf_id_t, ctf_file_t *, ctf_id_t); extern int ctf_member_info(ctf_file_t *, ctf_id_t, const char *, ctf_membinfo_t *); extern int ctf_array_info(ctf_file_t *, ctf_id_t, ctf_arinfo_t *); extern const char *ctf_enum_name(ctf_file_t *, ctf_id_t, int); extern int ctf_enum_value(ctf_file_t *, ctf_id_t, const char *, int *); extern const char *ctf_label_topmost(ctf_file_t *); extern int ctf_label_info(ctf_file_t *, const char *, ctf_lblinfo_t *); extern int ctf_member_iter(ctf_file_t *, ctf_id_t, ctf_member_f *, void *); extern int ctf_enum_iter(ctf_file_t *, ctf_id_t, ctf_enum_f *, void *); extern int ctf_type_iter(ctf_file_t *, boolean_t, ctf_type_f *, void *); extern int ctf_label_iter(ctf_file_t *, ctf_label_f *, void *); extern int ctf_function_iter(ctf_file_t *, ctf_function_f *, void *); extern int ctf_object_iter(ctf_file_t *, ctf_object_f *, void *); extern int ctf_string_iter(ctf_file_t *, ctf_string_f *, void *); extern ctf_id_t ctf_add_array(ctf_file_t *, uint_t, const ctf_arinfo_t *); extern ctf_id_t ctf_add_const(ctf_file_t *, uint_t, const char *, ctf_id_t); extern ctf_id_t ctf_add_enum(ctf_file_t *, uint_t, const char *); extern ctf_id_t ctf_add_float(ctf_file_t *, uint_t, const char *, const ctf_encoding_t *); extern ctf_id_t ctf_add_forward(ctf_file_t *, uint_t, const char *, uint_t); extern ctf_id_t ctf_add_funcptr(ctf_file_t *, uint_t, const ctf_funcinfo_t *, const ctf_id_t *); extern ctf_id_t ctf_add_integer(ctf_file_t *, uint_t, const char *, const ctf_encoding_t *); extern ctf_id_t ctf_add_pointer(ctf_file_t *, uint_t, const char *, ctf_id_t); extern ctf_id_t ctf_add_type(ctf_file_t *, ctf_file_t *, ctf_id_t); extern ctf_id_t ctf_add_typedef(ctf_file_t *, uint_t, const char *, ctf_id_t); extern ctf_id_t ctf_add_restrict(ctf_file_t *, uint_t, const char *, ctf_id_t); extern ctf_id_t ctf_add_struct(ctf_file_t *, uint_t, const char *); extern ctf_id_t ctf_add_union(ctf_file_t *, uint_t, const char *); extern ctf_id_t ctf_add_volatile(ctf_file_t *, uint_t, const char *, ctf_id_t); extern int ctf_add_enumerator(ctf_file_t *, ctf_id_t, const char *, int); extern int ctf_add_member(ctf_file_t *, ctf_id_t, const char *, ctf_id_t, ulong_t); extern int ctf_add_function(ctf_file_t *, ulong_t, const ctf_funcinfo_t *, const ctf_id_t *); extern int ctf_add_object(ctf_file_t *, ulong_t, ctf_id_t); extern int ctf_add_label(ctf_file_t *, const char *, ctf_id_t, uint_t); extern int ctf_set_array(ctf_file_t *, ctf_id_t, const ctf_arinfo_t *); extern int ctf_set_root(ctf_file_t *, ctf_id_t, const boolean_t); extern int ctf_set_size(ctf_file_t *, ctf_id_t, const ulong_t); extern int ctf_delete_type(ctf_file_t *, ctf_id_t); extern int ctf_update(ctf_file_t *); extern int ctf_discard(ctf_file_t *); extern int ctf_write(ctf_file_t *, int); extern void ctf_dataptr(ctf_file_t *, const void **, size_t *); # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libctf.h" 2 /* * This flag can be used to enable debug messages. */ extern int _libctf_debug; typedef enum ctf_diff_flag { CTF_DIFF_F_IGNORE_INTNAMES = 0x01 } ctf_diff_flag_t; typedef struct ctf_diff ctf_diff_t; typedef void (*ctf_diff_type_f)(ctf_file_t *, ctf_id_t, boolean_t, ctf_file_t *, ctf_id_t, void *); typedef void (*ctf_diff_func_f)(ctf_file_t *, ulong_t, boolean_t, ctf_file_t *, ulong_t, void *); typedef void (*ctf_diff_obj_f)(ctf_file_t *, ulong_t, ctf_id_t, boolean_t, ctf_file_t *, ulong_t, ctf_id_t, void *); extern int ctf_diff_init(ctf_file_t *, ctf_file_t *, ctf_diff_t **); extern uint_t ctf_diff_getflags(ctf_diff_t *); extern int ctf_diff_setflags(ctf_diff_t *, uint_t); extern int ctf_diff_types(ctf_diff_t *, ctf_diff_type_f, void *); extern int ctf_diff_functions(ctf_diff_t *, ctf_diff_func_f, void *); extern int ctf_diff_objects(ctf_diff_t *, ctf_diff_obj_f, void *); extern void ctf_diff_fini(ctf_diff_t *); extern ctf_file_t *ctf_fdconvert(int, const char *, uint_t, uint_t, int *, char *, size_t); typedef struct ctf_merge_handle ctf_merge_t; extern ctf_merge_t *ctf_merge_init(int, int *); extern int ctf_merge_add(ctf_merge_t *, ctf_file_t *); extern int ctf_merge_set_nthreads(ctf_merge_t *, const uint_t); extern int ctf_merge_label(ctf_merge_t *, const char *); extern int ctf_merge_uniquify(ctf_merge_t *, ctf_file_t *, const char *); extern int ctf_merge_merge(ctf_merge_t *, ctf_file_t **); extern int ctf_merge_dedup(ctf_merge_t *, ctf_file_t **); extern void ctf_merge_fini(ctf_merge_t *); extern int ctf_elffdwrite(ctf_file_t *, int, int, int); extern int ctf_elfwrite(ctf_file_t *, const char *, const char *, int); # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ /* All Rights Reserved */ # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 2 /* * Structure returned by statvfs(2). */ # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" typedef struct statvfs { unsigned long f_bsize; /* fundamental file system block size */ unsigned long f_frsize; /* fragment size */ fsblkcnt_t f_blocks; /* total blocks of f_frsize on fs */ fsblkcnt_t f_bfree; /* total free blocks of f_frsize */ fsblkcnt_t f_bavail; /* free blocks avail to non-superuser */ fsfilcnt_t f_files; /* total file nodes (inodes) */ fsfilcnt_t f_ffree; /* total free file nodes */ fsfilcnt_t f_favail; /* free nodes avail to non-superuser */ unsigned long f_fsid; /* file system id (dev for now) */ char f_basetype[16]; /* target fs type name, */ /* null-terminated */ unsigned long f_flag; /* bit-mask of flags */ unsigned long f_namemax; /* maximum file name length */ char f_fstr[32]; /* filesystem-specific string */ unsigned long f_filler[16]; /* reserved for future expansion */ } statvfs_t; # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" /* transitional large file interface version */ typedef struct statvfs64 { unsigned long f_bsize; /* preferred file system block size */ unsigned long f_frsize; /* fundamental file system block size */ fsblkcnt64_t f_blocks; /* total blocks of f_frsize */ fsblkcnt64_t f_bfree; /* total free blocks of f_frsize */ fsblkcnt64_t f_bavail; /* free blocks avail to non-superuser */ fsfilcnt64_t f_files; /* total # of file nodes (inodes) */ fsfilcnt64_t f_ffree; /* total # of free file nodes */ fsfilcnt64_t f_favail; /* free nodes avail to non-superuser */ unsigned long f_fsid; /* file system id (dev for now) */ char f_basetype[16]; /* target fs type name, */ /* null-terminated */ unsigned long f_flag; /* bit-mask of flags */ unsigned long f_namemax; /* maximum file name length */ char f_fstr[32]; /* filesystem-specific string */ unsigned long f_filler[16]; /* reserved for future expansion */ } statvfs64_t; # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" /* * Flag definitions. */ /* * large file compilation environment setup */ # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" int statvfs(const char *, statvfs_t *); int fstatvfs(int, statvfs_t *); /* transitional large file interface versions */ int statvfs64(const char *, statvfs64_t *); int fstatvfs64(int, statvfs64_t *); # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 2016 Joyent, Inc. */ # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrrett D'Amore * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2015, Joyent, Inc. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 /* * I/O parameter information. A uio structure describes the I/O which * is to be performed by an operation. Typically the data movement will * be performed by a routine such as uiomove(), which updates the uio * structure to reflect what was done. */ typedef struct iovec { caddr_t iov_base; long iov_len; } iovec_t; # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" /* * Segment flag values. */ typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t; typedef struct uio { iovec_t *uio_iov; /* pointer to array of iovecs */ int uio_iovcnt; /* number of iovecs */ lloff_t _uio_offset; /* file offset */ uio_seg_t uio_segflg; /* address space (kernel or user) */ uint16_t uio_fmode; /* file mode flags */ uint16_t uio_extflg; /* extended flags */ lloff_t _uio_limit; /* u-limit (maximum byte offset) */ ssize_t uio_resid; /* residual count */ } uio_t; /* * Extended uio_t uioa_t used for asynchronous uio. * * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c" * as there isn't a formal definition of IOV_MAX for the kernel. */ typedef struct uioa_page_s { /* locked uio_iov state */ int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */ void **uioa_ppp; /* page_t or pfn_t arrary */ caddr_t uioa_base; /* address base */ size_t uioa_len; /* span length */ } uioa_page_t; typedef struct uioa_s { iovec_t *uio_iov; /* pointer to array of iovecs */ int uio_iovcnt; /* number of iovecs */ lloff_t _uio_offset; /* file offset */ uio_seg_t uio_segflg; /* address space (kernel or user) */ uint16_t uio_fmode; /* file mode flags */ uint16_t uio_extflg; /* extended flags */ lloff_t _uio_limit; /* u-limit (maximum byte offset) */ ssize_t uio_resid; /* residual count */ /* * uioa extended members. */ uint32_t uioa_state; /* state of asynch i/o */ ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */ uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */ void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */ void *uioa_hwst[4]; /* opaque hardware state */ uioa_page_t uioa_locked[16]; /* Per iov locked pages */ } uioa_t; /* * uio extensions * * PSARC 2009/478: Copy Reduction Interfaces */ typedef enum xuio_type { UIOTYPE_ASYNCIO, UIOTYPE_ZEROCOPY } xuio_type_t; typedef struct xuio { uio_t xu_uio; /* Embedded UIO structure */ /* Extended uio fields */ enum xuio_type xu_type; /* What kind of uio structure? */ union { /* Async I/O Support, intend to replace uioa_t. */ struct { uint32_t xu_a_state; /* state of async i/o */ /* bytes that have been uioamove()ed */ ssize_t xu_a_mbytes; uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */ /* pointer into lcur->uioa_ppp[] */ void **xu_a_lppp; void *xu_a_hwst[4]; /* opaque hardware state */ /* Per iov locked pages */ uioa_page_t xu_a_locked[16]; } xu_aio; /* * Copy Reduction Support -- facilate loaning / returning of * filesystem cache buffers. */ struct { int xu_zc_rw; /* read or write buffer */ void *xu_zc_priv; /* fs specific */ } xu_zc; } xu_ext; } xuio_t; # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" /* * I/O direction. */ typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t; /* * uio_extflg: extended flags * * NOTE: This flag will be used in uiomove to determine if non-temporal * access, ie, access bypassing caches, should be used. Filesystems that * don't initialize this field could experience suboptimal performance due to * the random data the field contains. * * NOTE: This flag is also used by uioasync callers to pass an extended * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all * consumers of a uioa_t require the uio_extflg to be initialized. */ /* * Global uioasync capability shadow state. */ typedef struct uioasync_s { boolean_t enabled; /* Is uioasync enabled? */ size_t mincnt; /* Minimum byte count for use of */ } uioasync_t; # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" extern ssize_t readv(int, const struct iovec *, int); extern ssize_t writev(int, const struct iovec *, int); /* * When in the large file compilation environment, * map preadv/pwritev to their 64 bit offset versions */ # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" /* In the LP64 compilation environment, the APIs are already large file */ # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" extern ssize_t preadv(int, const struct iovec *, int, off_t); extern ssize_t pwritev(int, const struct iovec *, int, off_t); /* * preadv64 and pwritev64 should be defined when: * - Using the transitional compilation environment, and not * the large file compilation environment. */ extern ssize_t preadv64(int, const struct iovec *, int, off64_t); extern ssize_t pwritev64(int, const struct iovec *, int, off64_t); # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Portions of this source code were derived from Berkeley 4.3 BSD * under license from the Regents of the University of California. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" typedef uint16_t sa_family_t; /* * Structure used by kernel to store most * addresses. */ struct sockaddr { sa_family_t sa_family; /* address family */ char sa_data[14]; /* up to 14 bytes of direct address */ }; # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" /* * Definitions for UNIX IPC domain. */ struct sockaddr_un { sa_family_t sun_family; /* AF_UNIX */ char sun_path[108]; /* path name (gag) */ }; /* * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to * change. * * Also, include a strlen() prototype, and we have to protect it w.r.t. * UNIX{98,03}. And because there's strlen, we need size_t as well. */ # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" extern size_t strlen(const char *); # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1 /* * Copyright 1993-2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #pragma ident "%Z%%M% %I% %E% SMI" /* from UCB 8.1 (Berkeley) 6/10/93 */ /* * A Link-Level Sockaddr may specify the interface in one of two * ways: either by means of a system-provided index number (computed * anew and possibly differently on every reboot), or by a human-readable * string such as "il0" (for managerial convenience). * * Census taking actions, such as something akin to SIOCGCONF would return * both the index and the human name. * * High volume transactions (such as giving a link-level ``from'' address * in a recvfrom or recvmsg call) may be likely only to provide the indexed * form, (which requires fewer copy operations and less space). * * The form and interpretation of the link-level address is purely a matter * of convention between the device driver and its consumers; however, it is * expected that all drivers for an interface of a given if_type will agree. */ /* * Structure of a Link-Level sockaddr: */ struct sockaddr_dl { ushort_t sdl_family; /* AF_LINK */ ushort_t sdl_index; /* if != 0, system given index for interface */ uchar_t sdl_type; /* interface type */ uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */ uchar_t sdl_alen; /* link level address length */ uchar_t sdl_slen; /* link layer selector length */ char sdl_data[244]; /* contains both if name and ll address */ }; extern char *_link_ntoa(const unsigned char *, char *, int, int); extern unsigned char *_link_aton(const char *, int *); # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 /* * sockaddr_storage: * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr * structures. Has sufficient size and alignment for those sockaddrs. */ /* * Desired maximum size, alignment size and related types. */ /* * To represent desired sockaddr max alignment for platform, a * type is chosen which may depend on implementation platform architecture. * Type chosen based on alignment size restrictions from . * We desire to force up to (but no more than) 64-bit (8 byte) alignment, * on platforms where it is possible to do so. (e.g not possible on ia32). * For all currently supported platforms by our implementation * in , (i.e. sparc, sparcv9, ia32, ia64) * type "double" is suitable for that intent. * * Note: Type "double" is chosen over the more obvious integer type int64_t. * int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32. */ typedef double sockaddr_maxalign_t; /* * Definitions used for sockaddr_storage structure paddings design. */ struct sockaddr_storage { sa_family_t ss_family; /* Address family */ /* Following fields are implementation specific */ char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))]; sockaddr_maxalign_t _ss_align; char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))]; }; /* * To be compatible with the Linux interfaces used, this structure is * placed in socket_impl.h so that an include for will * pickup this structure. This structure is for use with PF_PACKET * sockets. */ struct sockaddr_ll { uint16_t sll_family; uint16_t sll_protocol; int32_t sll_ifindex; uint16_t sll_hatype; uint8_t sll_pkttype; uint8_t sll_halen; uint8_t sll_addr[8]; }; # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" struct netconfig { char *nc_netid; /* network identifier */ unsigned int nc_semantics; /* defined below */ unsigned int nc_flag; /* defined below */ char *nc_protofmly; /* protocol family name */ char *nc_proto; /* protocol name */ char *nc_device; /* device name for network id */ unsigned int nc_nlookups; /* # of entries in nc_lookups */ char **nc_lookups; /* list of lookup directories */ unsigned int nc_unused[8]; /* borrowed for lockd etc. */ }; typedef struct { struct netconfig **nc_head; struct netconfig **nc_curr; } NCONF_HANDLE; /* * Values of nc_semantics */ /* * NOT FOR PUBLIC USE, Solaris internal only. * This value of nc_semantics is strictly for use of Remote Direct * Memory Access provider interfaces in Solaris only and not for * general use. Do not use this value for general purpose user or * kernel programming. If used the behavior is undefined. * This is a PRIVATE interface to be used by Solaris kRPC only. */ /* * Values of nc_flag */ /* * Values of nc_protofmly */ # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" /* * NOT FOR PUBLIC USE, Solaris internal only. * This value of nc_semantics is strictly for use of Remote Direct * Memory Access provider interfaces in Solaris only and not for * general use. Do not use this value for general purpose user or * kernel programming. If used the behavior is undefined. * This is a PRIVATE interface to be used by Solaris kRPC only. */ /* * Values for nc_proto */ /* * Values for nc_proto for "rdma" protofmly */ extern void *setnetconfig(void); extern int endnetconfig(void *); extern struct netconfig *getnetconfig(void *); extern struct netconfig *getnetconfigent(const char *); extern void freenetconfigent(struct netconfig *); extern void *setnetpath(void); extern int endnetpath(void *); extern struct netconfig *getnetpath(void *); extern void nc_perror(const char *); extern char *nc_sperror(void); # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2011 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that this notice is preserved and that due credit is given * to the University of California at Berkeley. The name of the University * may not be used to endorse or promote products derived from this * software without specific prior written permission. This software * is provided ``as is'' without express or implied warranty. */ /* * Constants and structures defined by the internet system, * according to following documents * * Internet ASSIGNED NUMBERS (RFC1700) and its successors: * http://www.iana.org/assignments/protocol-numbers * http://www.iana.org/assignments/port-numbers * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) * */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Portions of this source code were derived from Berkeley 4.3 BSD * under license from the Regents of the University of California. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 /* * The socklen definitions are reproduced here from sys/socket.h so as to * not introduce that namespace into existing users of netinet/in.h. */ typedef uint32_t socklen_t; typedef void *Psocklen_t; # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * For source compatibility */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright (c) 1995, 1998 by Sun Microsystems, Inc. * All rights reserved. */ /* * Copyright 2015, Joyent, Inc. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" /* * Structure of file descriptor/event pairs supplied in * the poll arrays. */ typedef struct pollfd { int fd; /* file desc to poll */ short events; /* events of interest on fd */ short revents; /* events that occurred on fd */ } pollfd_t; typedef unsigned long nfds_t; /* * Testable select events */ # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" /* * Non-testable poll events (may not be specified in events field, * but may be returned in revents field). */ /* * These events will never be specified in revents, but may be specified in * events to control /dev/poll behavior. */ # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" int poll(struct pollfd *, nfds_t, int); # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1997-1998 by Sun Microsystems, Inc. * All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This file contains all machine-dependent declarations * in STREAMS. */ /* * Copy data from one data buffer to another. * The addresses must be word aligned - if not, use bcopy! */ /* * save the address of the calling function on the 3b2 to * enable tracking of who is allocating message blocks */ /* * macro to check pointer alignment * (true if alignment is sufficient for worst case) */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Portions of this source code were derived from Berkeley 4.3 BSD * under license from the Regents of the University of California. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1991-1998 by Sun Microsystems, Inc. * All rights reserved. */ /* * t_lock.h: Prototypes for disp_locks, plus include files * that describe the interfaces to kernel synch. * objects. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" /* * Public interface to mutual exclusion locks. See mutex(9F) for details. * * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used * in almost all of the kernel. MUTEX_SPIN provides interrupt blocking * and must be used in interrupt handlers above LOCK_LEVEL. The iblock * cookie argument to mutex_init() encodes the interrupt level to block. * The iblock cookie must be NULL for adaptive locks. * * MUTEX_DEFAULT is the type usually specified (except in drivers) to * mutex_init(). It is identical to MUTEX_ADAPTIVE. * * MUTEX_DRIVER is always used by drivers. mutex_init() converts this to * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie. * * Mutex statistics can be gathered on the fly, without rebooting or * recompiling the kernel, via the lockstat driver (lockstat(7D)). */ typedef enum { MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */ MUTEX_SPIN = 1, /* block interrupts and spin */ MUTEX_DRIVER = 4, /* driver (DDI) mutex */ MUTEX_DEFAULT = 6 /* kernel default mutex */ } kmutex_type_t; typedef struct mutex { void *_opaque[2]; } kmutex_t; # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright (c) 2013, Joyent, Inc. All rights reserved. */ /* * Public interface to readers/writer locks. See rwlock(9F) for details. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2 typedef enum { RW_DRIVER = 2, /* driver (DDI) rwlock */ RW_DEFAULT = 4 /* kernel default rwlock */ } krw_type_t; typedef enum { RW_WRITER, RW_READER, RW_READER_STARVEWRITER } krw_t; typedef struct _krwlock { void *_opaque[1]; } krwlock_t; # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1993-1998 by Sun Microsystems, Inc. * All rights reserved. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * Public interface to semaphores. See semaphore(9F) for details. */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" typedef enum { SEMA_DEFAULT, SEMA_DRIVER } ksema_type_t; typedef struct _ksema { void * _opaque[2]; /* 2 words on 4 byte alignment */ } ksema_t; # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright (c) 2012 by Delphix. All rights reserved. */ /* * condvar.h: * * definitions for thread synchronization primitives: condition variables * This is the public part of the interface to condition variables. The * private (implementation-specific) part is in /sys/condvar_impl.h. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1982, 1986, 1993 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright (c) 2013, 2015 by Delphix. All rights reserved. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" /* * Condtion variables. */ typedef struct _kcondvar { ushort_t _opaque; } kcondvar_t; typedef enum { CV_DEFAULT, CV_DRIVER } kcv_type_t; # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" /* * Mutual exclusion locks described in common/sys/mutex.h. * * Semaphores described in common/sys/semaphore.h. * * Readers/Writer locks described in common/sys/rwlock.h. * * Condition variables described in common/sys/condvar.h */ # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" /* * XXX Ick. This type needs to be visible outside the above guard because * the proc structure is visible outside the _KERNEL | _KMEMUSER guard. * If we can make proc internals less visible, (which we obviously should) * then this can be invisible too. */ typedef unsigned int model_t; # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 /* * Data queue. * * NOTE: The *only* public fields are documented in queue(9S). * Everything else is implementation-private. * * The locking rules for the queue_t structure are extremely subtle and vary * widely depending on the field in question. As such, each field is * annotated according to the following legend: * * Q9S: The field is documented in queue(9S) and may be accessed without * locks by a STREAMS module when inside an entry point (e.g., put(9E)). * However, no fields can be directly modified unless q_lock is held * (which is not possible in a DDI compliant STREAMS module), with the * following exceptions: * * - q_ptr: can be modified as per the rules of the STREAMS module. * The STREAMS framework ignores q_ptr and thus imposes *no* * locking rules on it. * - q_qinfo: can be modified before qprocson(). * * - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the * rules of the STREAMS module. The STREAMS framework never * modifies these fields, and is tolerant of temporarily * stale field values. * * In general, the STREAMS framework employs one of the following * techniques to ensure STREAMS modules can safely access Q9S fields: * * - The field is only modified by the framework when the stream is * locked with strlock() (q_next). * * - The field is modified by the framework, but the modifies are * atomic, and temporarily stale values are harmless (q_count, * q_first, q_last). * * - The field is modified by the framework, but the field's visible * values are either constant or directly under the control * of the STREAMS module itself (q_flag). * * QLK: The field must be accessed or modified under q_lock, except when * the stream has been locked with strlock(). If multiple q_locks must * be acquired, q_locks at higher addresses must be taken first. * * STR: The field can be accessed without a lock, but must be modified under * strlock(). * * SQLK: The field must be accessed or modified under SQLOCK(). * * NOLK: The field can be accessed without a lock, but can only be modified * when the queue_t is not known to any other threads. * * SVLK: The field must be accessed or modified under the service_queue lock. * Note that service_lock must be taken after any needed q_locks, * and that no other lock should be taken while service_lock is held. * * In addition, it is always acceptable to modify a field that is not yet * known to any other threads -- and other special case exceptions exist in * the code. Also, q_lock is used with q_wait to implement a stream head * monitor for reads and writes. */ typedef struct queue { struct qinit *q_qinfo; /* Q9S: Q processing procedure */ struct msgb *q_first; /* Q9S: first message in Q */ struct msgb *q_last; /* Q9S: last message in Q */ struct queue *q_next; /* Q9S: next Q in stream */ struct queue *q_link; /* SVLK: next Q for scheduling */ void *q_ptr; /* Q9S: module-specific data */ size_t q_count; /* Q9S: number of bytes on Q */ uint_t q_flag; /* Q9S: Q state */ ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */ ssize_t q_maxpsz; /* Q9S: largest packet OK on Q */ size_t q_hiwat; /* Q9S: Q high water mark */ size_t q_lowat; /* Q9S: Q low water mark */ struct qband *q_bandp; /* QLK: band flow information */ kmutex_t q_lock; /* NOLK: structure lock */ struct stdata *q_stream; /* NOLK: stream backpointer */ struct syncq *q_syncq; /* NOLK: associated syncq */ unsigned char q_nband; /* QLK: number of bands */ kcondvar_t q_wait; /* NOLK: read/write sleep CV */ struct queue *q_nfsrv; /* STR: next Q with svc routine */ ushort_t q_draining; /* QLK: Q is draining */ short q_struiot; /* QLK: sync streams Q UIO mode */ clock_t q_qtstamp; /* QLK: when Q was enabled */ size_t q_mblkcnt; /* QLK: mblk count */ uint_t q_syncqmsgs; /* QLK: syncq message count */ size_t q_rwcnt; /* QLK: # threads in rwnext() */ pri_t q_spri; /* QLK: Q scheduling priority */ /* * Syncq scheduling */ struct msgb *q_sqhead; /* QLK: first syncq message */ struct msgb *q_sqtail; /* QLK: last syncq message */ struct queue *q_sqnext; /* SQLK: next Q on syncq list */ struct queue *q_sqprev; /* SQLK: prev Q on syncq list */ uint_t q_sqflags; /* SQLK: syncq flags */ clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */ /* * NOLK: Reference to the queue's module's implementation * structure. This will be NULL for queues associated with drivers. */ struct fmodsw_impl *q_fp; } queue_t; /* * Queue flags; unused flags not documented in queue(9S) can be recycled. */ # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" /* UNUSED 0x00000200 was QHLIST */ /* UNUSED 0x00000400 was QUNSAFE */ /* all MT type flags */ /* UNUSED 0x00400000 was QHOT */ /* UNUSED 0x00800000 was QNEXTHOT */ /* UNUSED 0x01000000 was _QNEXTLESS */ /* direct interface to/from sockfs */ /* queue sqflags (protected by SQLOCK). */ /* This is also noted by the */ /* q_draining field, but this one is */ /* protected by SQLOCK */ /* * Structure that describes the separate information * for each priority band in the queue. */ typedef struct qband { struct qband *qb_next; /* next band's info */ size_t qb_count; /* number of bytes in band */ struct msgb *qb_first; /* beginning of band's data */ struct msgb *qb_last; /* end of band's data */ size_t qb_hiwat; /* high water mark for band */ size_t qb_lowat; /* low water mark for band */ uint_t qb_flag; /* see below */ size_t qb_mblkcnt; /* mblk counter for runaway msgs */ } qband_t; /* * qband flags */ /* * Maximum number of bands. */ /* * Fields that can be manipulated through strqset() and strqget(). */ typedef enum qfields { QHIWAT = 0, /* q_hiwat or qb_hiwat */ QLOWAT = 1, /* q_lowat or qb_lowat */ QMAXPSZ = 2, /* q_maxpsz */ QMINPSZ = 3, /* q_minpsz */ QCOUNT = 4, /* q_count or qb_count */ QFIRST = 5, /* q_first or qb_first */ QLAST = 6, /* q_last or qb_last */ QFLAG = 7, /* q_flag or qb_flag */ QSTRUIOT = 8, /* q_struiot */ QBAD = 9 } qfields_t; /* * Module information structure */ struct module_info { ushort_t mi_idnum; /* module id number */ char *mi_idname; /* module name */ ssize_t mi_minpsz; /* min packet size accepted */ ssize_t mi_maxpsz; /* max packet size accepted */ size_t mi_hiwat; /* hi-water mark */ size_t mi_lowat; /* lo-water mark */ }; /* * queue information structure (with Synchronous STREAMS extensions) */ struct qinit { int (*qi_putp)(); /* put procedure */ int (*qi_srvp)(); /* service procedure */ int (*qi_qopen)(); /* called on startup */ int (*qi_qclose)(); /* called on finish */ int (*qi_qadmin)(); /* for future use */ struct module_info *qi_minfo; /* module information structure */ struct module_stat *qi_mstat; /* module statistics structure */ int (*qi_rwp)(); /* r/w procedure */ int (*qi_infop)(); /* information procedure */ int qi_struiot; /* stream uio type for struio() */ }; /* * Values for qi_struiot and q_struiot: */ /* * Streamtab (used in cdevsw and fmodsw to point to module or driver) */ struct streamtab { struct qinit *st_rdinit; struct qinit *st_wrinit; struct qinit *st_muxrinit; struct qinit *st_muxwinit; }; /* * Structure sent to mux drivers to indicate a link. */ struct linkblk { queue_t *l_qtop; /* lowest level write queue of upper stream */ /* (set to NULL for persistent links) */ queue_t *l_qbot; /* highest level write queue of lower stream */ int l_index; /* index for lower stream. */ }; /* * Esballoc data buffer freeing routine */ typedef struct free_rtn { void (*free_func)(); caddr_t free_arg; } frtn_t; /* * Data block descriptor * * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields, * as described in datab(9S). Everything else is implementation-private. */ typedef struct datab { frtn_t *db_frtnp; unsigned char *db_base; unsigned char *db_lim; unsigned char db_ref; unsigned char db_type; unsigned char db_flags; unsigned char db_struioflag; pid_t db_cpid; /* cached pid, needs verification */ void *db_cache; /* kmem cache descriptor */ struct msgb *db_mblk; void (*db_free)(struct msgb *, struct datab *); void (*db_lastfree)(struct msgb *, struct datab *); intptr_t db_cksumstart; intptr_t db_cksumend; intptr_t db_cksumstuff; union { double enforce_alignment; unsigned char data[8]; struct { union { uint32_t u32; uint16_t u16; } cksum_val; /* used to store calculated cksum */ uint16_t flags; uint16_t pad; } cksum; /* * Union used for future extensions (pointer to data ?). */ } db_struioun; struct fthdr *db_fthdr; cred_t *db_credp; /* credential */ } dblk_t; /* * Accessor macros for private dblk_t fields (the rest are in ). */ /* * Used by GLDv2 to store the TCI information. */ /* * Message block descriptor */ typedef struct msgb { struct msgb *b_next; struct msgb *b_prev; struct msgb *b_cont; unsigned char *b_rptr; unsigned char *b_wptr; struct datab *b_datap; unsigned char b_band; unsigned char b_tag; unsigned short b_flag; queue_t *b_queue; /* for sync queues */ } mblk_t; /* * bcache descriptor */ typedef struct bcache { kmutex_t mutex; struct kmem_cache *buffer_cache; struct kmem_cache *dblk_cache; int alloc; int destroy; size_t size; uint_t align; } bcache_t; /* * db_flags values (all implementation private!) */ /* * db_struioflag values: */ /* * Message flags. These are interpreted by the stream head. */ /* write side of stream */ /* UNUSED 0x08 was MSGNOGET (can be recycled) */ /* * Streams message types. */ /* * Data and protocol messages (regular and priority) */ /* * Control messages (regular and priority) */ # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" /* * Control messages (high priority; go to head of queue) */ # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" /* * Queue message class definitions. */ /* * IOCTL structure - this structure is the format of the M_IOCTL message type. */ # 488 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" struct iocblk { int ioc_cmd; /* ioctl command type */ cred_t *ioc_cr; /* full credentials */ uint_t ioc_id; /* ioctl id */ size_t ioc_count; /* count of bytes in data field */ int ioc_error; /* error code */ int ioc_rval; /* return value */ int ioc_fill1; uint_t ioc_flag; /* see below */ int ioc_filler[2]; /* reserved for future use */ }; typedef struct iocblk *IOCP; /* {ioc,cp}_flags values */ /* * Is the ioctl data formatted for our native model? */ /* * structure for the M_COPYIN and M_COPYOUT message types. */ # 531 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" struct copyreq { int cq_cmd; /* ioctl command (from ioc_cmd) */ cred_t *cq_cr; /* full credentials */ uint_t cq_id; /* ioctl id (from ioc_id) */ caddr_t cq_addr; /* address to copy data to/from */ size_t cq_size; /* number of bytes to copy */ uint_t cq_flag; /* must be zero */ mblk_t *cq_private; /* private state information */ int cq_filler[4]; /* reserved for future use */ }; /* * structure for the M_IOCDATA message type. */ # 557 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" struct copyresp { int cp_cmd; /* ioctl command (from ioc_cmd) */ cred_t *cp_cr; /* full credentials */ uint_t cp_id; /* ioctl id (from ioc_id) */ caddr_t cp_rval; /* status of request: 0 -> success */ /* non-zero -> failure */ size_t cp_pad1; uint_t cp_pad2; mblk_t *cp_private; /* private state information */ uint_t cp_flag; /* datamodel IOC_ flags; see above */ int cp_filler[3]; }; /* * Since these structures are all intended to travel in the same message * at different stages of a STREAMS ioctl, this union is used to determine * the message size in strdoioctl(). */ union ioctypes { struct iocblk iocblk; struct copyreq copyreq; struct copyresp copyresp; }; /* * Options structure for M_SETOPTS message. This is sent upstream * by a module or driver to set stream head options. */ struct stroptions { uint_t so_flags; /* options to set */ short so_readopt; /* read option */ ushort_t so_wroff; /* write offset */ ssize_t so_minpsz; /* minimum read packet size */ ssize_t so_maxpsz; /* maximum read packet size */ size_t so_hiwat; /* read queue high water mark */ size_t so_lowat; /* read queue low water mark */ unsigned char so_band; /* band for water marks */ ushort_t so_erropt; /* error option */ ssize_t so_maxblk; /* maximum message block size */ ushort_t so_copyopt; /* copy options (see stropts.h) */ ushort_t so_tail; /* space available at the end */ }; /* flags for stream options set message */ # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" /* * Miscellaneous parameters and flags. */ /* * Values for stream flag in open to indicate module open, clone open, * and the return value for failure. */ /* * Priority definitions for block allocation. */ /* * Value for packet size that denotes infinity */ /* * Flags for flushq() */ /* * Flag for transparent ioctls */ /* * Stream head default high/low water marks */ /* * qwriter perimeter types */ /* * Definitions of Streams macros and function interfaces. */ /* * canenable - check if queue can be enabled by putq(). */ /* * Test if data block type is one of the data messages (i.e. not a control * message). */ /* * Extract queue class of message block. */ /* * Align address on next lower word boundary. */ /* * Find the max size of data block. */ # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 /* * Symbols such as htonl() are required to be exposed through this file, * per XNS Issue 5. This is achieved by inclusion of */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2016 Joyent, Inc. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" /* * macros for conversion between host and (internet) network byte order */ # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" typedef uint16_t in_port_t; typedef uint32_t in_addr_t; extern uint32_t htonl(uint32_t); extern uint16_t htons(uint16_t); extern uint32_t ntohl(uint32_t); extern uint16_t ntohs(uint16_t); # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" extern uint64_t htonll(uint64_t); extern uint64_t ntohll(uint64_t); /* * Macros to reverse byte order */ # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" /* * Macros to convert from a specific byte order to/from native byte order */ # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" /* * Macros to read unaligned values from a specific byte order to * native byte order */ # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" /* * Macros to write unaligned values from native byte order to a specific byte * order. */ # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 /* * Note: IPv4 address data structures usage conventions. * The "in_addr_t" type below (required by Unix standards) * is NOT a typedef of "struct in_addr" and violates the usual * conventions where "struct " and _t are corresponding * typedefs. * To minimize confusion, kernel data structures/usage prefers use * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t" * The user level APIs continue to follow the historic popular * practice of using "struct in_addr". */ typedef uint32_t ipaddr_t; struct in6_addr { union { /* * Note: Static initalizers of "union" type assume * the constant on the RHS is the type of the first member * of union. * To make static initializers (and efficient usage) work, * the order of members exposed to user and kernel view of * this data structure is different. * User environment sees specified uint8_t type as first * member whereas kernel sees most efficient type as * first member. */ uint8_t _S6_u8[16]; /* IPv6 address */ uint32_t _S6_u32[4]; /* IPv6 address */ uint32_t __S6_align; /* Align on 32 bit boundary */ } _S6_un; }; typedef struct in6_addr in6_addr_t; # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * Protocols * * Some of these constant names are copied for the DTrace IP provider in * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept * in sync. */ # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* Transmission Protocol */ # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * Port/socket numbers: network standard functions * * Entries should exist here for each port number compiled into an ON * component, such as snoop. */ # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * Port/socket numbers: host specific functions */ # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * Internet Key Exchange (IKE) ports */ /* * UNIX TCP sockets */ /* * UNIX UDP sockets */ /* * DHCPv6 UDP ports */ /* * Ports < IPPORT_RESERVED are reserved for * privileged processes (e.g. root). * Ports > IPPORT_USERRESERVED are reserved * for servers, not necessarily privileged. */ /* * Link numbers */ /* * IPv4 Internet address * This definition contains obsolete fields for compatibility * with SunOS 3.x and 4.2bsd. The presence of subnets renders * divisions into fixed fields misleading at best. New code * should use only the s_addr field. */ # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" struct in_addr { union { struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b; struct { uint16_t s_w1, s_w2; } S_un_w; uint32_t S_addr; } S_un; }; /* * Definitions of bits in internet address integers. * On subnets, the decomposition of addresses to host and net parts * is done according to subnet mask, not the masks here. * * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB, * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto * obsolete". IN_MULTICAST macro should be used to test if a address * is a multicast address. */ # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * We have removed CLASS E checks from the kernel * But we preserve these defines for userland in order * to avoid compile breakage of some 3rd party piece of software */ # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* Scoped IPv4 prefixes (in host byte-order) */ # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* RFC 3927 IPv4 link local address (i in host byte-order) */ /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */ /* * Define a macro to stuff the loopback address into an Internet address */ /* * IPv4 Socket address. */ struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8]; }; /* * IPv6 socket address. */ struct sockaddr_in6 { sa_family_t sin6_family; in_port_t sin6_port; uint32_t sin6_flowinfo; struct in6_addr sin6_addr; uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */ uint32_t __sin6_src_id; /* Impl. specific - UDP replies */ }; /* * Macros for accessing the traffic class and flow label fields from * sin6_flowinfo. * These are designed to be applied to a 32-bit value. */ # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* masks */ /* * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t) * only. They need to be different for User/Kernel versions because union * component data structure is defined differently (it is identical at * binary representation level). * * const struct in6_addr IN6ADDR_ANY_INIT; * const struct in6_addr IN6ADDR_LOOPBACK_INIT; */ # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * RFC 2553 specifies the following macros. Their type is defined * as "int" in the RFC but they only have boolean significance * (zero or non-zero). For the purposes of our comment notation, * we assume a hypothetical type "bool" defined as follows to * write the prototypes assumed for macros in our comments better. * * typedef int bool; */ /* * IN6 macros used to test for special IPv6 addresses * (Mostly from spec) * * bool IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *); * bool IN6_IS_ADDR_LOOPBACK (const struct in6_addr *); * bool IN6_IS_ADDR_MULTICAST (const struct in6_addr *); * bool IN6_IS_ADDR_LINKLOCAL (const struct in6_addr *); * bool IN6_IS_ADDR_SITELOCAL (const struct in6_addr *); * bool IN6_IS_ADDR_V4MAPPED (const struct in6_addr *); * bool IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553 * bool IN6_IS_ADDR_V4COMPAT (const struct in6_addr *); * bool IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553 * bool IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); * bool IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); * bool IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); * bool IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *); * bool IN6_IS_ADDR_MC_GLOBAL (const struct in6_addr *); * bool IN6_IS_ADDR_6TO4 (const struct in6_addr *); -- Not from RFC2553 * bool IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *, * const struct in6_addr *); -- Not from RFC2553 * bool IN6_IS_ADDR_LINKSCOPE (const struct in6addr *); -- Not from RFC2553 */ # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY * Note: This macro is currently NOT defined in RFC2553 specification * and not a standard macro that portable applications should use. */ # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* Exclude loopback and unspecified address */ # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * Note: * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553 * specification and not a standard macro that portable applications * should use. */ # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or * RFC, and shouldn't be used by portable applications. It is used to see * if an address is a solicited-node multicast address, which is prefixed * with ff02:0:0:0:0:1:ff00::/104. */ # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * Macros to a) test for 6to4 IPv6 address, and b) to test if two * 6to4 addresses have the same /48 prefix, and, hence, are from the * same 6to4 site. */ # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * IN6_IS_ADDR_LINKSCOPE * Identifies an address as being either link-local, link-local multicast or * node-local multicast. All types of addresses are considered to be unique * within the scope of a given link. */ /* * Useful utility macros for operations with IPv6 addresses * Note: These macros are NOT defined in the RFC2553 or any other * standard specification and are not standard macros that portable * applications should use. */ /* * IN6_V4MAPPED_TO_INADDR * IN6_V4MAPPED_TO_IPADDR * Assign a IPv4-Mapped IPv6 address to an IPv4 address. * Note: These macros are NOT defined in RFC2553 or any other standard * specification and are not macros that portable applications should * use. * * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4); * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4); * */ /* * IN6_INADDR_TO_V4MAPPED * IN6_IPADDR_TO_V4MAPPED * Assign a IPv4 address address to an IPv6 address as a IPv4-mapped * address. * Note: These macros are NOT defined in RFC2553 or any other standard * specification and are not macros that portable applications should * use. * * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6); * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6); * */ # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * IN6_6TO4_TO_V4ADDR * Extract the embedded IPv4 address from the prefix to a 6to4 IPv6 * address. * Note: This macro is NOT defined in RFC2553 or any other standard * specification and is not a macro that portable applications should * use. * Note: we don't use the IPADDR form of the macro because we need * to do a bytewise copy; the V4ADDR in the 6to4 address is not * 32-bit aligned. * * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4); * */ /* * IN6_V4ADDR_TO_6TO4 * Given an IPv4 address and an IPv6 address for output, a 6to4 address * will be created from the IPv4 Address. * Note: This method for creating 6to4 addresses is not standardized * outside of Solaris. The newly created 6to4 address will be of the form * 2002::::, where SUBNETID will equal 0 and * HOSTID will equal 1. * * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6) * */ # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * IN6_ARE_ADDR_EQUAL (defined in RFC2292) * Compares if IPv6 addresses are equal. * Note: Compares in order of high likelyhood of a miss so we minimize * compares. (Current heuristic order, compare in reverse order of * uint32_t units) * * bool IN6_ARE_ADDR_EQUAL(const struct in6_addr *, * const struct in6_addr *); */ /* * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs) * Compares if prefixed parts of IPv6 addresses are equal. * * uint32_t IN6_MASK_FROM_PREFIX(int, int); * bool IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *, * const struct in6_addr *, * int); */ # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * Options for use with [gs]etsockopt at the IP level. * * Note: Some of the IP_ namespace has conflict with and * and is exposed through . (It also requires exposing * options not implemented). The options with potential * for conflicts use #ifndef guards. */ # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in * is used to differentiate b/w the two. */ /* * Different preferences that can be requested from IPSEC protocols. */ /* * This can be used with the setsockopt() call to set per socket security * options. When the application uses per-socket API, we will reflect * the request on both outbound and inbound packets. */ typedef struct ipsec_req { uint_t ipsr_ah_req; /* AH request */ uint_t ipsr_esp_req; /* ESP request */ uint_t ipsr_self_encap_req; /* Self-Encap request */ uint8_t ipsr_auth_alg; /* Auth algs for AH */ uint8_t ipsr_esp_alg; /* Encr algs for ESP */ uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */ } ipsec_req_t; /* * MCAST_* options are protocol-independent. The actual definitions * are with the v6 options below; this comment is here to note the * namespace usage. * * #define MCAST_JOIN_GROUP 0x29 * #define MCAST_LEAVE_GROUP 0x2a * #define MCAST_BLOCK_SOURCE 0x2b * #define MCAST_UNBLOCK_SOURCE 0x2c * #define MCAST_JOIN_SOURCE_GROUP 0x2d * #define MCAST_LEAVE_SOURCE_GROUP 0x2e */ /* * SunOS private (potentially not portable) IP_ option names */ /* can be reused 0x44 */ /* * Option values and names (when !_XPG5) shared with */ # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * The following option values are reserved by * * T_IP_OPTIONS 0x107 - IP per-packet options * T_IP_TOS 0x108 - IP per packet type of service */ /* * Default value constants for multicast attributes controlled by * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options. */ /* * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. */ struct ip_mreq { struct in_addr imr_multiaddr; /* IP multicast address of group */ struct in_addr imr_interface; /* local IP address of interface */ }; /* * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE, * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP. */ struct ip_mreq_source { struct in_addr imr_multiaddr; /* IP address of group */ struct in_addr imr_sourceaddr; /* IP address of source */ struct in_addr imr_interface; /* IP address of interface */ }; /* * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on * IPv6 addresses. */ struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */ unsigned int ipv6mr_interface; /* interface index */ }; /* * Use #pragma pack() construct to force 32-bit alignment on amd64. * This is needed to keep the structure size and offsets consistent * between a 32-bit app and the 64-bit amd64 kernel in structures * where 64-bit alignment would create gaps (in this case, structures * which have a uint32_t followed by a struct sockaddr_storage). */ /* * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP. */ struct group_req { uint32_t gr_interface; /* interface index */ struct sockaddr_storage gr_group; /* group address */ }; /* * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP. */ struct group_source_req { uint32_t gsr_interface; /* interface index */ struct sockaddr_storage gsr_group; /* group address */ struct sockaddr_storage gsr_source; /* source address */ }; /* * Argument for SIOC[GS]MSFILTER ioctls */ struct group_filter { uint32_t gf_interface; /* interface index */ struct sockaddr_storage gf_group; /* multicast address */ uint32_t gf_fmode; /* filter mode */ uint32_t gf_numsrc; /* number of sources */ struct sockaddr_storage gf_slist[1]; /* source address */ }; # 1078 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific) */ struct ip_msfilter { struct in_addr imsf_multiaddr; /* IP multicast address of group */ struct in_addr imsf_interface; /* local IP address of interface */ uint32_t imsf_fmode; /* filter mode */ uint32_t imsf_numsrc; /* number of sources in src_list */ struct in_addr imsf_slist[1]; /* start of source list */ }; /* * Multicast source filter manipulation functions in libsocket; * defined in RFC 3678. */ int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t, uint_t, struct sockaddr_storage *); int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *, uint_t *, struct sockaddr_storage *); int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t, uint32_t, struct in_addr *); int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *, uint32_t *, struct in_addr *); /* * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter() */ /* * Argument struct for IP_PKTINFO option */ typedef struct in_pktinfo { unsigned int ipi_ifindex; /* send/recv interface index */ struct in_addr ipi_spec_dst; /* matched source address */ struct in_addr ipi_addr; /* src/dst address in IP hdr */ } in_pktinfo_t; /* * Argument struct for IPV6_PKTINFO option */ struct in6_pktinfo { struct in6_addr ipi6_addr; /* src/dst IPv6 address */ unsigned int ipi6_ifindex; /* send/recv interface index */ }; /* * Argument struct for IPV6_MTUINFO option */ struct ip6_mtuinfo { struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */ uint32_t ip6m_mtu; /* path MTU in host byte order */ }; /* * IPv6 routing header types */ extern socklen_t inet6_rth_space(int type, int segments); extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments); extern int inet6_rth_add(void *bp, const struct in6_addr *addr); extern int inet6_rth_reverse(const void *in, void *out); extern int inet6_rth_segments(const void *bp); extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index); extern int inet6_opt_init(void *extbuf, socklen_t extlen); extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset, uint8_t type, socklen_t len, uint_t align, void **databufp); extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset); extern int inet6_opt_set_val(void *databuf, int offset, void *val, socklen_t vallen); extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset, uint8_t *typep, socklen_t *lenp, void **databufp); extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset, uint8_t type, socklen_t *lenp, void **databufp); extern int inet6_opt_get_val(void *databuf, int offset, void *val, socklen_t vallen); /* * Argument structure for IP_ADD_PROXY_ADDR. * Note that this is an unstable, experimental interface. It may change * later. Don't use it unless you know what it is. */ typedef struct { struct in_addr in_prefix_addr; unsigned int in_prefix_len; } in_prefix_t; /* * IPv6 options */ /* packets. */ /* argument type: uint_t */ /* multicast packets. */ /* argument type: struct in6_addr */ /* multicast packets. */ /* argument type: uint_t */ /* multicast packets on same socket. */ /* argument type: uint_t */ /* argument type: struct ipv6_mreq */ /* argument type: struct ipv6_mreq */ /* * Other XPG6 constants. */ /* decimal notation. */ /* standard colon-hex notation. */ /* * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP * and IPV6_LEAVE_GROUP respectively. */ /* argument type: struct ipv6_mreq */ /* argument type: struct ipv6_mreq */ /* arg type: "struct in6_pktingo" - */ /* the routing header */ /* the routing header */ /* * This options exists for backwards compatability and should no longer be * used. Use IPV6_RECVDSTOPTS instead. */ /* * enable/disable IPV6_RTHDRDSTOPTS. Now obsolete. IPV6_RECVDSTOPTS enables * the receipt of both headers. */ # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * enable/disable receipt of both both IPV6_DSTOPTS headers. */ /* * protocol-independent multicast membership options. */ /* 32Bit field for IPV6_SRC_PREFERENCES */ # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" /* * SunOS private (potentially not portable) IPV6_ option names */ /* unspecified (all zeros) */ /* * Miscellaneous IPv6 constants. */ /* * Extern declarations for pre-defined global const variables */ extern const struct in6_addr in6addr_any; extern const struct in6_addr in6addr_loopback; # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * Definitions related to sockets: types, address families, options. */ # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * Types */ # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * Flags for socket() and accept4() */ /* * Option flags per-socket. */ # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * Socket options are passed using a signed integer, but it is also rare * for more than one to ever be passed at the same time with setsockopt * and only one at a time can be retrieved with getsockopt. * * Since the lower numbers cannot be renumbered for compatibility reasons, * it would seem that we need to start a new number space (0x40000000 - * 0x7fffffff) for those that don't need to be stored as a bit flag * somewhere. This limits the flag options to 30 but that seems to be * plenty, anyway. 0x40000000 is reserved for future use. */ # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * N.B.: The following definition is present only for compatibility * with release 3.0. It will disappear in later releases. */ /* * Additional options, not kept in so_options. */ # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* "Socket"-level control message types: */ # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * Socket filter options */ /* * Structure returned by FIL_LIST */ struct fil_info { int fi_flags; /* see below (FILF_*) */ int fi_pos; /* position (0 is bottom) */ char fi_name[32]; /* filter name */ }; # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * Structure used for manipulating linger option. */ struct linger { int l_onoff; /* option on/off */ int l_linger; /* linger time */ }; /* * Levels for (get/set)sockopt() that don't apply to a specific protocol. */ /* * Address families. * * Some of these constant names are copied for the DTrace IP provider in * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept * in sync. */ # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * Protocol families, same as address families for now. */ # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* * Maximum queue length specifiable by listen. */ /* * Message header for recvmsg and sendmsg calls. */ struct msghdr { void *msg_name; /* optional address */ socklen_t msg_namelen; /* size of address */ struct iovec *msg_iov; /* scatter/gather array */ int msg_iovlen; /* # elements in msg_iov */ caddr_t msg_accrights; /* access rights sent/received */ int msg_accrightslen; }; # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* Added for XPGv2 compliance */ /* with left over data */ /* End of XPGv2 compliance */ # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" /* Added for XPGv2 compliance */ struct cmsghdr { socklen_t cmsg_len; /* data byte count, including hdr */ int cmsg_level; /* originating protocol */ int cmsg_type; /* protocol-specific type */ }; # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" extern int accept(int, struct sockaddr *, Psocklen_t); extern int accept4(int, struct sockaddr *, Psocklen_t, int); extern int bind(int, const struct sockaddr *, socklen_t); extern int connect(int, const struct sockaddr *, socklen_t); extern int getpeername(int, struct sockaddr *, Psocklen_t); extern int getsockname(int, struct sockaddr *, Psocklen_t); extern int getsockopt(int, int, int, void *, Psocklen_t); extern int listen(int, int); /* XXX - fixme??? where do I go */ extern int socketpair(int, int, int, int *); extern ssize_t recv(int, void *, size_t, int); extern ssize_t recvfrom(int, void *, size_t, int, struct sockaddr *, Psocklen_t); extern ssize_t recvmsg(int, struct msghdr *, int); extern ssize_t send(int, const void *, size_t, int); extern ssize_t sendmsg(int, const struct msghdr *, int); extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *, socklen_t); extern int setsockopt(int, int, int, const void *, socklen_t); extern int shutdown(int, int); extern int socket(int, int, int); extern int sockatmark(int); # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2013 Garrett D'Amore * Copyright 2016 Joyent, Inc. * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" 2 /* Must be at least 257 to */ /* support Internet hostnames. */ struct utsname { char sysname[257]; char nodename[257]; char release[257]; char version[257]; char machine[257]; }; extern struct utsname utsname; extern int uname(struct utsname *); extern int _uname(struct utsname *); extern int nuname(struct utsname *); extern int _nuname(struct utsname *); /* * On i386 in SVID.2 uname() returns a utsname structure with 8 byte members, * and nuname() returns the real struct utsname. In SVID.3 uname and nuname * are equivalent. Anyone who includes this header gets the SVID.3 behaviour. * The SVID.2 behaviour exists solely for compatibility, and is what is * implemented by the libc uname/_uname entrypoints. */ # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" #pragma redefine_extname uname _nuname # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" #pragma redefine_extname _uname _nuname # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2013, Joyent, Inc. All rights reserved. * Copyright 2014 Nexenta Systems, Inc. All rights reserved. * Copyright 2014 Igor Kozhukhov . */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2 typedef struct ipc_rqty { /* datum protected by: */ rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock */ rctl_qty_t ipcq_semmni; /* sem's ipcs_lock */ rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock */ } ipc_rqty_t; # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Portions of this source code were derived from Berkeley 4.3 BSD * under license from the Regents of the University of California. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2015 Nexenta Systems, Inc. All rights reserved. */ /* * Definition of general kernel statistics structures and /dev/kstat ioctls */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1982, 1986, 1993 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright (c) 2013, 2015 by Delphix. All rights reserved. */ # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 typedef int kid_t; /* unique kstat id */ /* * Kernel statistics driver (/dev/kstat) ioctls */ /* * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor): * * kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL); * kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *); * kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *); */ /* * The generic kstat header */ typedef struct kstat { /* * Fields relevant to both kernel and user */ hrtime_t ks_crtime; /* creation time (from gethrtime()) */ struct kstat *ks_next; /* kstat chain linkage */ kid_t ks_kid; /* unique kstat ID */ char ks_module[31]; /* provider module name */ uchar_t ks_resv; /* reserved, currently just padding */ int ks_instance; /* provider module's instance */ char ks_name[31]; /* kstat name */ uchar_t ks_type; /* kstat data type */ char ks_class[31]; /* kstat class */ uchar_t ks_flags; /* kstat flags */ void *ks_data; /* kstat type-specific data */ uint_t ks_ndata; /* # of type-specific data records */ size_t ks_data_size; /* total size of kstat data section */ hrtime_t ks_snaptime; /* time of last data shapshot */ /* * Fields relevant to kernel only */ int (*ks_update)(struct kstat *, int); /* dynamic update */ void *ks_private; /* arbitrary provider-private data */ int (*ks_snapshot)(struct kstat *, void *, int); void *ks_lock; /* protects this kstat's data */ } kstat_t; # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" /* * kstat structure and locking strategy * * Each kstat consists of a header section (a kstat_t) and a data section. * The system maintains a set of kstats, protected by kstat_chain_lock. * kstat_chain_lock protects all additions to/deletions from this set, * as well as all changes to kstat headers. kstat data sections are * *optionally* protected by the per-kstat ks_lock. If ks_lock is non-NULL, * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their * operations on that kstat. It is up to the kstat provider to decide whether * guaranteeing consistent data to kstat clients is sufficiently important * to justify the locking cost. Note, however, that most statistic updates * already occur under one of the provider's mutexes, so if the provider sets * ks_lock to point to that mutex, then kstat data locking is free. * * NOTE: variable-size kstats MUST employ kstat data locking, to prevent * data-size races with kstat clients. * * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *) * in the kstat header so that users don't have to be exposed to all of the * kernel's lock-related data structures. */ # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" /* * kstat time * * All times associated with kstats (e.g. creation time, snapshot time, * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values, * as returned by gethrtime(). The accuracy of these timestamps is machine * dependent, but the precision (units) is the same across all platforms. */ /* * kstat identity (KID) * * Each kstat is assigned a unique KID (kstat ID) when it is added to the * global kstat chain. The KID is used as a cookie by /dev/kstat to * request information about the corresponding kstat. There is also * an identity associated with the entire kstat chain, kstat_chain_id, * which is bumped each time a kstat is added or deleted. /dev/kstat uses * the chain ID to detect changes in the kstat chain (e.g., a new disk * coming online) between ioctl()s. */ /* * kstat module, kstat instance * * ks_module and ks_instance contain the name and instance of the module * that created the kstat. In cases where there can only be one instance, * ks_instance is 0. The kernel proper (/kernel/unix) uses "unix" as its * module name. */ /* * kstat name * * ks_name gives a meaningful name to a kstat. The full kstat namespace * is module.instance.name, so the name only need be unique within a * module. kstat_create() will fail if you try to create a kstat with * an already-used (ks_module, ks_instance, ks_name) triplet. Spaces are * allowed in kstat names, but strongly discouraged, since they hinder * awk-style processing at user level. */ /* * kstat type * * The kstat mechanism provides several flavors of kstat data, defined * below. The "raw" kstat type is just treated as an array of bytes; you * can use this to export any kind of data you want. * * Some kstat types allow multiple data structures per kstat, e.g. * KSTAT_TYPE_NAMED; others do not. This is part of the spec for each * kstat data type. * * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES. To * get this information, read out the standard system kstat "kstat_types". */ /* ks_ndata >= 1 */ /* ks_ndata >= 1 */ /* ks_ndata == 1 */ /* ks_ndata == 1 */ /* ks_ndata >= 1 */ /* * kstat class * * Each kstat can be characterized as belonging to some broad class * of statistics, e.g. disk, tape, net, vm, streams, etc. This field * can be used as a filter to extract related kstats. The following * values are currently in use: disk, tape, net, controller, vm, kvm, * hat, streams, kstat, and misc. (The kstat class encompasses things * like kstat_types.) */ /* * kstat flags * * Any of the following flags may be passed to kstat_create(). They are * all zero by default. * * KSTAT_FLAG_VIRTUAL: * * Tells kstat_create() not to allocate memory for the * kstat data section; instead, you will set the ks_data * field to point to the data you wish to export. This * provides a convenient way to export existing data * structures. * * KSTAT_FLAG_VAR_SIZE: * * The size of the kstat you are creating will vary over time. * For example, you may want to use the kstat mechanism to * export a linked list. NOTE: The kstat framework does not * manage the data section, so all variable-size kstats must be * virtual kstats. Moreover, variable-size kstats MUST employ * kstat data locking to prevent data-size races with kstat * clients. See the section on "kstat snapshot" for details. * * KSTAT_FLAG_WRITABLE: * * Makes the kstat's data section writable by root. * The ks_snapshot routine (see below) does not need to check for * this; permission checking is handled in the kstat driver. * * KSTAT_FLAG_PERSISTENT: * * Indicates that this kstat is to be persistent over time. * For persistent kstats, kstat_delete() simply marks the * kstat as dormant; a subsequent kstat_create() reactivates * the kstat. This feature is provided so that statistics * are not lost across driver close/open (e.g., raw disk I/O * on a disk with no mounted partitions.) * NOTE: Persistent kstats cannot be virtual, since ks_data * points to garbage as soon as the driver goes away. * * The following flags are maintained by the kstat framework: * * KSTAT_FLAG_DORMANT: * * For persistent kstats, indicates that the kstat is in the * dormant state (e.g., the corresponding device is closed). * * KSTAT_FLAG_INVALID: * * This flag is set when a kstat is in a transitional state, * e.g. between kstat_create() and kstat_install(). * kstat clients must not attempt to access the kstat's data * if this flag is set. * * KSTAT_FLAG_LONGSTRINGS: * * Indicates that this kstat contains long strings (which * are stored outside of the kstat data section). When copied * out to user space the string data will be held in the data * section provided by the user. */ # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" /* * Dynamic update support * * The kstat mechanism allows for an optional ks_update function to update * kstat data. This is useful for drivers where the underlying device * keeps cheap hardware stats, but extraction is expensive. Instead of * constantly keeping the kstat data section up to date, you can supply a * ks_update function which updates the kstat's data section on demand. * To take advantage of this feature, simply set the ks_update field before * calling kstat_install(). * * The ks_update function, if supplied, must have the following structure: * * int * foo_kstat_update(kstat_t *ksp, int rw) * { * if (rw == KSTAT_WRITE) { * ... update the native stats from ksp->ks_data; * return EACCES if you don't support this * } else { * ... update ksp->ks_data from the native stats * } * } * * The ks_update return codes are: 0 for success, EACCES if you don't allow * KSTAT_WRITE, and EIO for any other type of error. * * In general, the ks_update function may need to refer to provider-private * data; for example, it may need a pointer to the provider's raw statistics. * The ks_private field is available for this purpose. Its use is entirely * at the provider's discretion. * * All variable-size kstats MUST supply a ks_update routine, which computes * and sets ks_data_size (and ks_ndata if that is meaningful), since these * are needed to perform kstat snapshots (see below). * * No kstat locking should be done inside the ks_update routine. The caller * will already be holding the kstat's ks_lock (to ensure consistent data). */ /* * Kstat snapshot * * In order to get a consistent view of a kstat's data, clients must obey * the kstat's locking strategy. However, these clients may need to perform * operations on the data which could cause a fault (e.g. copyout()), or * operations which are simply expensive. Doing so could cause deadlock * (e.g. if you're holding a disk's kstat lock which is ultimately required * to resolve a copyout() fault), performance degradation (since the providers' * activity is serialized at the kstat lock), device timing problems, etc. * * To avoid these problems, kstat data is provided via snapshots. Taking * a snapshot is a simple process: allocate a wired-down kernel buffer, * acquire the kstat's data lock, copy the data into the buffer ("take the * snapshot"), and release the lock. This ensures that the kstat's data lock * will be held as briefly as possible, and that no faults will occur while * the lock is held. * * Normally, the snapshot is taken by default_kstat_snapshot(), which * timestamps the data (sets ks_snaptime), copies it, and does a little * massaging to deal with incomplete transactions on i/o kstats. However, * this routine only works for kstats with contiguous data (the typical case). * If you create a kstat whose data is, say, a linked list, you must provide * your own ks_snapshot routine. The routine you supply must have the * following prototype (replace "foo" with something appropriate): * * int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw); * * The minimal snapshot routine -- one which copies contiguous data that * doesn't need any massaging -- would be this: * * ksp->ks_snaptime = gethrtime(); * if (rw == KSTAT_WRITE) * bcopy(buf, ksp->ks_data, ksp->ks_data_size); * else * bcopy(ksp->ks_data, buf, ksp->ks_data_size); * return (0); * * A more illuminating example is taking a snapshot of a linked list: * * ksp->ks_snaptime = gethrtime(); * if (rw == KSTAT_WRITE) * return (EACCES); ... See below ... * for (foo = first_foo; foo; foo = foo->next) { * bcopy((char *) foo, (char *) buf, sizeof (struct foo)); * buf = ((struct foo *) buf) + 1; * } * return (0); * * In the example above, we have decided that we don't want to allow * KSTAT_WRITE access, so we return EACCES if this is attempted. * * The key points are: * * (1) ks_snaptime must be set (via gethrtime()) to timestamp the data. * (2) Data gets copied from the kstat to the buffer on KSTAT_READ, * and from the buffer to the kstat on KSTAT_WRITE. * (3) ks_snapshot return values are: 0 for success, EACCES if you * don't allow KSTAT_WRITE, and EIO for any other type of error. * * Named kstats (see section on "Named statistics" below) containing long * strings (KSTAT_DATA_STRING) need special handling. The kstat driver * assumes that all strings are copied into the buffer after the array of * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point * into the copy within the buffer. The default snapshot routine does this, * but overriding routines should contain at least the following: * * if (rw == KSTAT_READ) { * kstat_named_t *knp = buf; * char *end = knp + ksp->ks_ndata; * uint_t i; * * ... Do the regular copy ... * bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata); * * for (i = 0; i < ksp->ks_ndata; i++, knp++) { * if (knp[i].data_type == KSTAT_DATA_STRING && * KSTAT_NAMED_STR_PTR(knp) != NULL) { * bcopy(KSTAT_NAMED_STR_PTR(knp), end, * KSTAT_NAMED_STR_BUFLEN(knp)); * KSTAT_NAMED_STR_PTR(knp) = end; * end += KSTAT_NAMED_STR_BUFLEN(knp); * } * } */ /* * Named statistics. * * List of arbitrary name=value statistics. */ typedef struct kstat_named { char name[31]; /* name of counter */ uchar_t data_type; /* data type */ union { char c[16]; /* enough for 128-bit ints */ int32_t i32; uint32_t ui32; struct { union { char *ptr; /* NULL-term string */ char __pad[8]; /* 64-bit padding */ } addr; uint32_t len; /* # bytes for strlen + '\0' */ } str; /* * The int64_t and uint64_t types are not valid for a maximally conformant * 32-bit compilation environment (cc -Xc) using compilers prior to the * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990). * In these cases, the visibility of i64 and ui64 is only permitted for * 64-bit compilation environments or 32-bit non-maximally conformant * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the * C99 ANSI C compilation environment, the long long type is supported. * The _INT64_TYPE is defined by the implementation (see sys/int_types.h). */ int64_t i64; uint64_t ui64; long l; ulong_t ul; /* These structure members are obsolete */ longlong_t ll; u_longlong_t ull; float f; double d; } value; /* value of counter */ } kstat_named_t; # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" /* * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING) * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof * (kstat_named_t)). ks_data_size in these cases is equal to the sum of the * amount of space required to store the strings (ie, the sum of * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the * space required to store the kstat_named_t's. * * The default update routine will update ks_data_size automatically for * variable-length kstats containing long strings (using the default update * routine only makes sense if the string is the only thing that is changing * in size, and ks_ndata is constant). Fixed-length kstats containing long * strings must explicitly change ks_data_size (after creation but before * initialization) to reflect the correct amount of space required for the * long strings and the kstat_named_t's. */ /* These types are obsolete */ # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" /* * Retrieve the pointer of the string contained in the given named kstat. */ /* * Retrieve the length of the buffer required to store the string in the given * named kstat. */ /* * Interrupt statistics. * * An interrupt is a hard interrupt (sourced from the hardware device * itself), a soft interrupt (induced by the system via the use of * some system interrupt source), a watchdog interrupt (induced by * a periodic timer call), spurious (an interrupt entry point was * entered but there was no interrupt condition to service), * or multiple service (an interrupt condition was detected and * serviced just prior to returning from any of the other types). * * Measurement of the spurious class of interrupts is useful for * autovectored devices in order to pinpoint any interrupt latency * problems in a particular system configuration. * * Devices that have more than one interrupt of the same * type should use multiple structures. */ # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" typedef struct kstat_intr { uint_t intrs[5]; /* interrupt counters */ } kstat_intr_t; /* * I/O statistics. */ typedef struct kstat_io { /* * Basic counters. * * The counters should be updated at the end of service * (e.g., just prior to calling biodone()). */ u_longlong_t nread; /* number of bytes read */ u_longlong_t nwritten; /* number of bytes written */ uint_t reads; /* number of read operations */ uint_t writes; /* number of write operations */ /* * Accumulated time and queue length statistics. * * Accumulated time statistics are kept as a running sum * of "active" time. Queue length statistics are kept as a * running sum of the product of queue length and elapsed time * at that length -- i.e., a Riemann sum for queue length * integrated against time. (You can also think of the active time * as a Riemann sum, for the boolean function (queue_length > 0) * integrated against time, or you can think of it as the * Lebesgue measure of the set on which queue_length > 0.) * * ^ * | _________ * 8 | i4 | * | | | * Queue 6 | | * Length | _________ | | * 4 | i2 |_______| | * | | i3 | * 2_______| | * | i1 | * |_______________________________| * Time-> t1 t2 t3 t4 * * At each change of state (entry or exit from the queue), * we add the elapsed time (since the previous state change) * to the active time if the queue length was non-zero during * that interval; and we add the product of the elapsed time * times the queue length to the running length*time sum. * * This method is generalizable to measuring residency * in any defined system: instead of queue lengths, think * of "outstanding RPC calls to server X". * * A large number of I/O subsystems have at least two basic * "lists" of transactions they manage: one for transactions * that have been accepted for processing but for which processing * has yet to begin, and one for transactions which are actively * being processed (but not done). For this reason, two cumulative * time statistics are defined here: wait (pre-service) time, * and run (service) time. * * All times are 64-bit nanoseconds (hrtime_t), as returned by * gethrtime(). * * The units of cumulative busy time are accumulated nanoseconds. * The units of cumulative length*time products are elapsed time * times queue length. * * Updates to the fields below are performed implicitly by calls to * these five functions: * * kstat_waitq_enter() * kstat_waitq_exit() * kstat_runq_enter() * kstat_runq_exit() * * kstat_waitq_to_runq() (see below) * kstat_runq_back_to_waitq() (see below) * * Since kstat_waitq_exit() is typically followed immediately * by kstat_runq_enter(), there is a single kstat_waitq_to_runq() * function which performs both operations. This is a performance * win since only one timestamp is required. * * In some instances, it may be necessary to move a request from * the run queue back to the wait queue, e.g. for write throttling. * For these situations, call kstat_runq_back_to_waitq(). * * These fields should never be updated by any other means. */ hrtime_t wtime; /* cumulative wait (pre-service) time */ hrtime_t wlentime; /* cumulative wait length*time product */ hrtime_t wlastupdate; /* last time wait queue changed */ hrtime_t rtime; /* cumulative run (service) time */ hrtime_t rlentime; /* cumulative run length*time product */ hrtime_t rlastupdate; /* last time run queue changed */ uint_t wcnt; /* count of elements in wait state */ uint_t rcnt; /* count of elements in run state */ } kstat_io_t; /* * Event timer statistics - cumulative elapsed time and number of events. * * Updates to these fields are performed implicitly by calls to * kstat_timer_start() and kstat_timer_stop(). */ typedef struct kstat_timer { char name[31]; /* event name */ uchar_t resv; /* reserved */ u_longlong_t num_events; /* number of events */ hrtime_t elapsed_time; /* cumulative elapsed time */ hrtime_t min_time; /* shortest event duration */ hrtime_t max_time; /* longest event duration */ hrtime_t start_time; /* previous event start time */ hrtime_t stop_time; /* previous event stop time */ } kstat_timer_t; # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2 /* * This allows various pieces in and around IP to have a separate instance * for each instance of IP. This is used to support zones that have an * exclusive stack. * Pieces of software far removed from IP (e.g., kernel software * sitting on top of TCP or UDP) probably should not use the netstack * support; if such software wants to support separate zones it * can do that using the zones framework (zone_key_create() etc) * whether there is a shared IP stack or and exclusive IP stack underneath. */ /* * Each netstack has an identifier. We reuse the zoneid allocation for * this but have a separate typedef. Thus the shared stack (used by * the global zone and other shared stack zones) have a zero ID, and * the exclusive stacks have a netstackid that is the same as their zoneid. */ typedef id_t netstackid_t; /* * One for each module which uses netstack support. * Used in netstack_register(). * * The order of these is important for some modules both for * the creation (which done in ascending order) and destruction (which is * done in in decending order). */ # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" /* * State maintained for each module which tracks the state of * the create, shutdown and destroy callbacks. * * Keeps track of pending actions to avoid holding locks when * calling into the create/shutdown/destroy functions in the module. */ # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" /* User-level compile like IP Filter needs a netstack_t. Dummy */ typedef uint_t nm_state_t; /* * One for every netstack in the system. * We use a union so that the compilar and lint can provide type checking - * in principle we could have * #define netstack_arp netstack_modules[NS_ARP] * etc, but that would imply void * types hence no type checking by the * compiler. * * All the fields in netstack_t except netstack_next are protected by * netstack_lock. netstack_next is protected by netstack_g_lock. */ struct netstack { union { void *nu_modules[(18 +1)]; struct { struct dls_stack *nu_dls; struct iptun_stack *nu_iptun; struct str_stack *nu_str; struct hook_stack *nu_hook; struct neti_stack *nu_neti; struct arp_stack *nu_arp; struct ip_stack *nu_ip; struct icmp_stack *nu_icmp; struct udp_stack *nu_udp; struct tcp_stack *nu_tcp; struct sctp_stack *nu_sctp; struct rts_stack *nu_rts; struct ipsec_stack *nu_ipsec; struct keysock_stack *nu_keysock; struct spd_stack *nu_spdsock; struct ipsecah_stack *nu_ipsecah; struct ipsecesp_stack *nu_ipsecesp; struct ipnet_stack *nu_ipnet; struct ilb_stack *nu_ilb; } nu_s; } netstack_u; # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" nm_state_t netstack_m_state[(18 +1)]; /* module state */ kmutex_t netstack_lock; struct netstack *netstack_next; netstackid_t netstack_stackid; int netstack_numzones; /* Number of zones using this */ int netstack_refcnt; /* Number of hold-rele */ int netstack_flags; /* See below */ }; typedef struct netstack netstack_t; /* netstack_flags values */ # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" /* * One for each of the NS_* values. */ struct netstack_registry { int nr_flags; /* 0 if nothing registered */ void *(*nr_create)(netstackid_t, netstack_t *); void (*nr_shutdown)(netstackid_t, void *); void (*nr_destroy)(netstackid_t, void *); }; /* nr_flags values */ /* * To support kstat_create_netstack() using kstat_add_zone we need * to track both * - all zoneids that use the global/shared stack * - all kstats that have been added for the shared stack */ extern void netstack_init(void); extern void netstack_hold(netstack_t *); extern void netstack_rele(netstack_t *); extern netstack_t *netstack_find_by_cred(const cred_t *); extern netstack_t *netstack_find_by_stackid(netstackid_t); extern netstack_t *netstack_find_by_zoneid(zoneid_t); extern zoneid_t netstackid_to_zoneid(netstackid_t); extern zoneid_t netstack_get_zoneid(netstack_t *); extern netstackid_t zoneid_to_netstackid(zoneid_t); extern netstack_t *netstack_get_current(void); /* * Register interest in changes to the set of netstacks. * The createfn and destroyfn are required, but the shutdownfn can be * NULL. * Note that due to the current zsd implementation, when the create * function is called the zone isn't fully present, thus functions * like zone_find_by_* will fail, hence the create function can not * use many zones kernel functions including zcmn_err(). */ extern void netstack_register(int, void *(*)(netstackid_t, netstack_t *), void (*)(netstackid_t, void *), void (*)(netstackid_t, void *)); extern void netstack_unregister(int); extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t, uint_t, uchar_t, netstackid_t); extern void kstat_delete_netstack(kstat_t *, netstackid_t); /* * Simple support for walking all the netstacks. * The caller of netstack_next() needs to call netstack_rele() when * done with a netstack. */ typedef int netstack_handle_t; extern void netstack_next_init(netstack_handle_t *); extern void netstack_next_fini(netstack_handle_t *); extern netstack_t *netstack_next(netstack_handle_t *); # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2014 Garrett D'Amore * * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Joyent, Inc. */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Portions of this source code were derived from Berkeley 4.3 BSD * under license from the Regents of the University of California. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" /* 17-21 reserved for obsolete interface */ # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" /* * Functions reserved for A_FREEZE (may not be available on all platforms) * Note: AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete * The first two are succeeded by AD_SUSPEND_TO_DISK and * AD_CHECK_SUSPEND_TO_DISK respectively. * AD_FORCE should not be used by any new application * * We maintain compatibility with the earlier interfaces: * AD_COMPRESS and AD_CHECK, by preserving those values * in the corresponding new interfaces */ # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" /* * NOTE: the following defines comprise an Unstable interface. Their semantics * may change or they may be removed completely in a later release */ /* * Functions of A_CONFIG. Unstable interface. */ /* * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT, * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most * 256 characters. */ /* * FMRI for boot-config service. */ /* * Property group that contains all Fast Reboot configuration properties. */ /* * Property group that contains all Fast Reboot blacklisting information. */ /* * Non-persistent property group which contains all the properties that * will override settings in the BOOT_CONFIG_PG_PARAMS property group. */ /* * Flag representations of fastboot configuration. */ # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" extern int uadmin(int, int, uintptr_t); # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1991, Sun Microsystems, Inc. */ /* * DKI/DDI MT synchronization primitives. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * The presence of this file is specified by the DKI/DDI. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1991-1998 by Sun Microsystems, Inc. * All rights reserved. */ /* * t_lock.h: Prototypes for disp_locks, plus include files * that describe the interfaces to kernel synch. * objects. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Portions of this source code were derived from Berkeley 4.3 BSD * under license from the Regents of the University of California. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Copyright 2011 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that this notice is preserved and that due credit is given * to the University of California at Berkeley. The name of the University * may not be used to endorse or promote products derived from this * software without specific prior written permission. This software * is provided ``as is'' without express or implied warranty. */ /* * Constants and structures defined by the internet system, * according to following documents * * Internet ASSIGNED NUMBERS (RFC1700) and its successors: * http://www.iana.org/assignments/protocol-numbers * http://www.iana.org/assignments/port-numbers * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) * */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 /* * NOTE * * The contents of this file are private to the implementation of * Solaris and are subject to change at any time without notice. * Applications and drivers using these interfaces may fail to * run on future releases. */ /* Available both in kernel and for user space */ /* zone id restrictions and special ids */ /* * Special zoneid_t token to refer to all zones. */ /* system call subcodes */ # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" /* zone attributes */ # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" /* Start of the brand-specific attribute namespace */ # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" /* * Exit values that may be returned by scripts or programs invoked by various * zone commands. * * These are defined as: * * ZONE_SUBPROC_OK * =============== * The subprocess completed successfully. * * ZONE_SUBPROC_USAGE * ================== * The subprocess failed with a usage message, or a usage message should * be output in its behalf. * * ZONE_SUBPROC_NOTCOMPLETE * ======================== * The subprocess did not complete, but the actions performed by the * subprocess require no recovery actions by the user. * * For example, if the subprocess were called by "zoneadm install," the * installation of the zone did not succeed but the user need not perform * a "zoneadm uninstall" before attempting another install. * * ZONE_SUBPROC_FATAL * ================== * The subprocess failed in a fatal manner, usually one that will require * some type of recovery action by the user. * * For example, if the subprocess were called by "zoneadm install," the * installation of the zone did not succeed and the user will need to * perform a "zoneadm uninstall" before another install attempt is * possible. * * The non-success exit values are large to avoid accidental collision * with values used internally by some commands (e.g. "Z_ERR" and * "Z_USAGE" as used by zoneadm.) */ # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" typedef struct { const char *zone_name; const char *zone_root; const struct priv_set *zone_privs; size_t zone_privssz; const char *rctlbuf; size_t rctlbufsz; int *extended_error; const char *zfsbuf; size_t zfsbufsz; int match; /* match level */ uint32_t doi; /* DOI for label */ const bslabel_t *label; /* label associated with zone */ int flags; } zone_def; /* extended error information */ /* * zone_status values * * You must modify zone_status_names in mdb(1M)'s genunix module * (genunix/zone.c) when you modify this enum. */ typedef enum { ZONE_IS_UNINITIALIZED = 0, ZONE_IS_INITIALIZED, ZONE_IS_READY, ZONE_IS_BOOTING, ZONE_IS_RUNNING, ZONE_IS_SHUTTING_DOWN, ZONE_IS_EMPTY, ZONE_IS_DOWN, ZONE_IS_DYING, ZONE_IS_DEAD } zone_status_t; /* * Valid commands which may be issued by zoneadm to zoneadmd. The kernel also * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT. */ typedef enum zone_cmd { Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING, Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN } zone_cmd_t; /* * The structure of a request to zoneadmd. */ typedef struct zone_cmd_arg { uint64_t uniqid; /* unique "generation number" */ zone_cmd_t cmd; /* requested action */ uint32_t _pad; /* need consistent 32/64 bit alignmt */ char locale[1024]; /* locale in which to render messages */ char bootbuf[256]; /* arguments passed to zone_boot() */ } zone_cmd_arg_t; /* * Structure of zoneadmd's response to a request. A NULL return value means * the caller should attempt to restart zoneadmd and retry. */ typedef struct zone_cmd_rval { int rval; /* return value of request */ char errbuf[1]; /* variable-sized buffer containing error messages */ } zone_cmd_rval_t; /* * The zone support infrastructure uses the zone name as a component * of unix domain (AF_UNIX) sockets, which are limited to 108 characters * in length, so ZONENAME_MAX is limited by that. */ /* * Extended Regular expression (see regex(5)) which matches all valid zone * names. */ /* * Where the zones support infrastructure places temporary files. */ /* * The path to the door used by clients to communicate with zoneadmd. */ /* zone_flags */ /* * Threads that read or write the following flag must hold zone_lock. */ /* * The following threads are set when the zone is created and never changed. * Threads that test for these flags don't have to hold zone_lock. */ /* zone_create flags */ /* zone network properties */ typedef struct zone_net_data { int zn_type; int zn_len; datalink_id_t zn_linkid; uint8_t zn_val[1]; } zone_net_data_t; # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/refstr.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1999 by Sun Microsystems, Inc. * All rights reserved. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/refstr.h" /* * Strings with reference counts. * The 'struct refstr' definition is private to the refstr.c module. */ typedef struct refstr refstr_t; # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 2 /* * Definitions for corectl() system call. */ /* subcodes */ # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" /* options */ /* all of the above */ /* contents */ /* MAP_SHARED file mappings */ /* MAP_PRIVATE file mappings */ # 100 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" typedef u_longlong_t core_content_t; typedef struct corectl_content { core_content_t ccc_content; kmutex_t ccc_mtx; uint32_t ccc_refcnt; } corectl_content_t; typedef struct corectl_path { refstr_t *ccp_path; kmutex_t ccp_mtx; uint32_t ccp_refcnt; } corectl_path_t; # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" extern int core_set_options(int); extern int core_get_options(void); extern int core_set_global_path(const char *, size_t); extern int core_get_global_path(char *, size_t); extern int core_set_default_path(const char *, size_t); extern int core_get_default_path(char *, size_t); extern int core_set_process_path(const char *, size_t, pid_t); extern int core_get_process_path(char *, size_t, pid_t); extern int core_set_global_content(const core_content_t *); extern int core_get_global_content(core_content_t *); extern int core_set_default_content(const core_content_t *); extern int core_get_default_content(core_content_t *); extern int core_set_process_content(const core_content_t *, pid_t); extern int core_get_process_content(core_content_t *, pid_t); # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ /* All Rights Reserved */ # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 /* * Opaque structure tag reference to a process control structure. * Clients of libproc cannot look inside the process control structure. * The implementation of struct ps_prochandle can change w/o affecting clients. */ struct ps_prochandle; /* * Opaque structure tag reference to an lwp control structure. */ struct ps_lwphandle; extern int _libproc_debug; /* set non-zero to enable debugging fprintfs */ extern int _libproc_no_qsort; /* set non-zero to inhibit sorting */ /* of symbol tables */ extern int _libproc_incore_elf; /* only use in-core elf data */ # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" /* maximum sizes of things */ /* State values returned by Pstate() */ /* Flags accepted by Pgrab() */ /* Error codes from Pcreate() */ # 142 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" /* Error codes from Pgrab(), Pfgrab_core(), and Pgrab_core() */ # 163 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" /* Flags accepted by Prelease */ typedef struct { /* argument descriptor for system call (Psyscall) */ long arg_value; /* value of argument given to system call */ void *arg_object; /* pointer to object in controlling process */ char arg_type; /* AT_BYVAL, AT_BYREF */ char arg_inout; /* AI_INPUT, AI_OUTPUT, AI_INOUT */ ushort_t arg_size; /* if AT_BYREF, size of object in bytes */ } argdes_t; /* values for type */ /* values for inout */ /* maximum number of syscall arguments */ /* maximum size in bytes of a BYREF argument */ /* * Ops vector definition for the Pgrab_ops(). */ typedef ssize_t (*pop_pread_t)(struct ps_prochandle *, void *, size_t, uintptr_t, void *); typedef ssize_t (*pop_pwrite_t)(struct ps_prochandle *, const void *, size_t, uintptr_t, void *); typedef int (*pop_read_maps_t)(struct ps_prochandle *, prmap_t **, ssize_t *, void *); typedef void (*pop_read_aux_t)(struct ps_prochandle *, auxv_t **, int *, void *); typedef int (*pop_cred_t)(struct ps_prochandle *, prcred_t *, int, void *); typedef int (*pop_priv_t)(struct ps_prochandle *, prpriv_t **, void *); typedef const psinfo_t *(*pop_psinfo_t)(struct ps_prochandle *, psinfo_t *, void *); typedef void (*pop_status_t)(struct ps_prochandle *, pstatus_t *, void *); typedef prheader_t *(*pop_lstatus_t)(struct ps_prochandle *, void *); typedef prheader_t *(*pop_lpsinfo_t)(struct ps_prochandle *, void *); typedef void (*pop_fini_t)(struct ps_prochandle *, void *); typedef char *(*pop_platform_t)(struct ps_prochandle *, char *, size_t, void *); typedef int (*pop_uname_t)(struct ps_prochandle *, struct utsname *, void *); typedef char *(*pop_zonename_t)(struct ps_prochandle *, char *, size_t, void *); typedef char *(*pop_execname_t)(struct ps_prochandle *, char *, size_t, void *); typedef int (*pop_ldt_t)(struct ps_prochandle *, struct ssd *, int, void *); typedef struct ps_ops { pop_pread_t pop_pread; pop_pwrite_t pop_pwrite; pop_read_maps_t pop_read_maps; pop_read_aux_t pop_read_aux; pop_cred_t pop_cred; pop_priv_t pop_priv; pop_psinfo_t pop_psinfo; pop_status_t pop_status; pop_lstatus_t pop_lstatus; pop_lpsinfo_t pop_lpsinfo; pop_fini_t pop_fini; pop_platform_t pop_platform; pop_uname_t pop_uname; pop_zonename_t pop_zonename; pop_execname_t pop_execname; pop_ldt_t pop_ldt; } ps_ops_t; /* * Function prototypes for routines in the process control package. */ extern struct ps_prochandle *Pcreate(const char *, char *const *, int *, char *, size_t); extern struct ps_prochandle *Pxcreate(const char *, char *const *, char *const *, int *, char *, size_t); extern const char *Pcreate_error(int); extern struct ps_prochandle *Pgrab(pid_t, int, int *); extern struct ps_prochandle *Pgrab_core(const char *, const char *, int, int *); extern struct ps_prochandle *Pfgrab_core(int, const char *, int *); extern struct ps_prochandle *Pgrab_file(const char *, int *); extern struct ps_prochandle *Pgrab_ops(pid_t, void *, const ps_ops_t *, int); extern const char *Pgrab_error(int); extern int Preopen(struct ps_prochandle *); extern void Prelease(struct ps_prochandle *, int); extern void Pfree(struct ps_prochandle *); extern int Pasfd(struct ps_prochandle *); extern char *Pbrandname(struct ps_prochandle *, char *, size_t); extern int Pctlfd(struct ps_prochandle *); extern int Pcreate_agent(struct ps_prochandle *); extern void Pdestroy_agent(struct ps_prochandle *); extern int Pstopstatus(struct ps_prochandle *, long, uint_t); extern int Pwait(struct ps_prochandle *, uint_t); extern int Pstop(struct ps_prochandle *, uint_t); extern int Pdstop(struct ps_prochandle *); extern int Pstate(struct ps_prochandle *); extern const psinfo_t *Ppsinfo(struct ps_prochandle *); extern const pstatus_t *Pstatus(struct ps_prochandle *); extern int Pcred(struct ps_prochandle *, prcred_t *, int); extern int Psetcred(struct ps_prochandle *, const prcred_t *); extern int Ppriv(struct ps_prochandle *, prpriv_t **); extern int Psetpriv(struct ps_prochandle *, prpriv_t *); extern void *Pprivinfo(struct ps_prochandle *); extern int Psetzoneid(struct ps_prochandle *, zoneid_t); extern int Pgetareg(struct ps_prochandle *, int, greg_t *); extern int Pputareg(struct ps_prochandle *, int, greg_t); extern int Psetrun(struct ps_prochandle *, int, int); extern ssize_t Pread(struct ps_prochandle *, void *, size_t, uintptr_t); extern ssize_t Pread_string(struct ps_prochandle *, char *, size_t, uintptr_t); extern ssize_t Pwrite(struct ps_prochandle *, const void *, size_t, uintptr_t); extern int Pclearsig(struct ps_prochandle *); extern int Pclearfault(struct ps_prochandle *); extern int Psetbkpt(struct ps_prochandle *, uintptr_t, ulong_t *); extern int Pdelbkpt(struct ps_prochandle *, uintptr_t, ulong_t); extern int Pxecbkpt(struct ps_prochandle *, ulong_t); extern int Psetwapt(struct ps_prochandle *, const prwatch_t *); extern int Pdelwapt(struct ps_prochandle *, const prwatch_t *); extern int Pxecwapt(struct ps_prochandle *, const prwatch_t *); extern int Psetflags(struct ps_prochandle *, long); extern int Punsetflags(struct ps_prochandle *, long); extern int Psignal(struct ps_prochandle *, int, int); extern int Pfault(struct ps_prochandle *, int, int); extern int Psysentry(struct ps_prochandle *, int, int); extern int Psysexit(struct ps_prochandle *, int, int); extern void Psetsignal(struct ps_prochandle *, const sigset_t *); extern void Psetfault(struct ps_prochandle *, const fltset_t *); extern void Psetsysentry(struct ps_prochandle *, const sysset_t *); extern void Psetsysexit(struct ps_prochandle *, const sysset_t *); extern void Psync(struct ps_prochandle *); extern int Psyscall(struct ps_prochandle *, sysret_t *, int, uint_t, argdes_t *); extern int Pisprocdir(struct ps_prochandle *, const char *); /* * Function prototypes for lwp-specific operations. */ extern struct ps_lwphandle *Lgrab(struct ps_prochandle *, lwpid_t, int *); extern const char *Lgrab_error(int); extern struct ps_prochandle *Lprochandle(struct ps_lwphandle *); extern void Lfree(struct ps_lwphandle *); extern int Lctlfd(struct ps_lwphandle *); extern int Lwait(struct ps_lwphandle *, uint_t); extern int Lstop(struct ps_lwphandle *, uint_t); extern int Ldstop(struct ps_lwphandle *); extern int Lstate(struct ps_lwphandle *); extern const lwpsinfo_t *Lpsinfo(struct ps_lwphandle *); extern const lwpstatus_t *Lstatus(struct ps_lwphandle *); extern int Lgetareg(struct ps_lwphandle *, int, greg_t *); extern int Lputareg(struct ps_lwphandle *, int, greg_t); extern int Lsetrun(struct ps_lwphandle *, int, int); extern int Lclearsig(struct ps_lwphandle *); extern int Lclearfault(struct ps_lwphandle *); extern int Lxecbkpt(struct ps_lwphandle *, ulong_t); extern int Lxecwapt(struct ps_lwphandle *, const prwatch_t *); extern void Lsync(struct ps_lwphandle *); extern int Lstack(struct ps_lwphandle *, stack_t *); extern int Lmain_stack(struct ps_lwphandle *, stack_t *); extern int Lalt_stack(struct ps_lwphandle *, stack_t *); /* * Function prototypes for system calls forced on the victim process. */ extern int pr_open(struct ps_prochandle *, const char *, int, mode_t); extern int pr_creat(struct ps_prochandle *, const char *, mode_t); extern int pr_close(struct ps_prochandle *, int); extern int pr_access(struct ps_prochandle *, const char *, int); extern int pr_door_info(struct ps_prochandle *, int, struct door_info *); extern void *pr_mmap(struct ps_prochandle *, void *, size_t, int, int, int, off_t); extern void *pr_zmap(struct ps_prochandle *, void *, size_t, int, int); extern int pr_munmap(struct ps_prochandle *, void *, size_t); extern int pr_memcntl(struct ps_prochandle *, caddr_t, size_t, int, caddr_t, int, int); extern int pr_meminfo(struct ps_prochandle *, const uint64_t *addrs, int addr_count, const uint_t *info, int info_count, uint64_t *outdata, uint_t *validity); extern int pr_sigaction(struct ps_prochandle *, int, const struct sigaction *, struct sigaction *); extern int pr_getitimer(struct ps_prochandle *, int, struct itimerval *); extern int pr_setitimer(struct ps_prochandle *, int, const struct itimerval *, struct itimerval *); extern int pr_ioctl(struct ps_prochandle *, int, int, void *, size_t); extern int pr_fcntl(struct ps_prochandle *, int, int, void *); extern int pr_stat(struct ps_prochandle *, const char *, struct stat *); extern int pr_lstat(struct ps_prochandle *, const char *, struct stat *); extern int pr_fstat(struct ps_prochandle *, int, struct stat *); extern int pr_stat64(struct ps_prochandle *, const char *, struct stat64 *); extern int pr_lstat64(struct ps_prochandle *, const char *, struct stat64 *); extern int pr_fstat64(struct ps_prochandle *, int, struct stat64 *); extern int pr_statvfs(struct ps_prochandle *, const char *, statvfs_t *); extern int pr_fstatvfs(struct ps_prochandle *, int, statvfs_t *); extern projid_t pr_getprojid(struct ps_prochandle *Pr); extern taskid_t pr_gettaskid(struct ps_prochandle *Pr); extern taskid_t pr_settaskid(struct ps_prochandle *Pr, projid_t project, int flags); extern zoneid_t pr_getzoneid(struct ps_prochandle *Pr); extern int pr_getrctl(struct ps_prochandle *, const char *, rctlblk_t *, rctlblk_t *, int); extern int pr_setrctl(struct ps_prochandle *, const char *, rctlblk_t *, rctlblk_t *, int); extern int pr_getrlimit(struct ps_prochandle *, int, struct rlimit *); extern int pr_setrlimit(struct ps_prochandle *, int, const struct rlimit *); extern int pr_setprojrctl(struct ps_prochandle *, const char *, rctlblk_t *, size_t, int); extern int pr_getrlimit64(struct ps_prochandle *, int, struct rlimit64 *); extern int pr_setrlimit64(struct ps_prochandle *, int, const struct rlimit64 *); extern int pr_lwp_exit(struct ps_prochandle *); extern int pr_exit(struct ps_prochandle *, int); extern int pr_waitid(struct ps_prochandle *, idtype_t, id_t, siginfo_t *, int); extern off_t pr_lseek(struct ps_prochandle *, int, off_t, int); extern offset_t pr_llseek(struct ps_prochandle *, int, offset_t, int); extern int pr_rename(struct ps_prochandle *, const char *, const char *); extern int pr_link(struct ps_prochandle *, const char *, const char *); extern int pr_unlink(struct ps_prochandle *, const char *); extern int pr_getpeerucred(struct ps_prochandle *, int, ucred_t **); extern int pr_getpeername(struct ps_prochandle *, int, struct sockaddr *, socklen_t *); extern int pr_getsockname(struct ps_prochandle *, int, struct sockaddr *, socklen_t *); extern int pr_getsockopt(struct ps_prochandle *, int, int, int, void *, int *); extern int pr_processor_bind(struct ps_prochandle *, idtype_t, id_t, int, int *); /* * Function prototypes for accessing per-LWP register information. */ extern int Plwp_getregs(struct ps_prochandle *, lwpid_t, gregset_t); extern int Plwp_setregs(struct ps_prochandle *, lwpid_t, const gregset_t); extern int Plwp_getfpregs(struct ps_prochandle *, lwpid_t, fpregset_t *); extern int Plwp_setfpregs(struct ps_prochandle *, lwpid_t, const fpregset_t *); # 440 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" extern int Pldt(struct ps_prochandle *, struct ssd *, int); extern int proc_get_ldt(pid_t, struct ssd *, int); extern int Plwp_getpsinfo(struct ps_prochandle *, lwpid_t, lwpsinfo_t *); extern int Plwp_getspymaster(struct ps_prochandle *, lwpid_t, psinfo_t *); extern int Plwp_stack(struct ps_prochandle *, lwpid_t, stack_t *); extern int Plwp_main_stack(struct ps_prochandle *, lwpid_t, stack_t *); extern int Plwp_alt_stack(struct ps_prochandle *, lwpid_t, stack_t *); /* * LWP iteration interface; iterate over all active LWPs. */ typedef int proc_lwp_f(void *, const lwpstatus_t *); extern int Plwp_iter(struct ps_prochandle *, proc_lwp_f *, void *); /* * LWP iteration interface; iterate over all LWPs, active and zombie. */ typedef int proc_lwp_all_f(void *, const lwpstatus_t *, const lwpsinfo_t *); extern int Plwp_iter_all(struct ps_prochandle *, proc_lwp_all_f *, void *); /* * Process iteration interface; iterate over all non-system processes. */ typedef int proc_walk_f(psinfo_t *, lwpsinfo_t *, void *); extern int proc_walk(proc_walk_f *, void *, int); /* * Determine if an lwp is in a set as returned from proc_arg_xgrab(). */ extern int proc_lwp_in_set(const char *, lwpid_t); extern int proc_lwp_range_valid(const char *); /* * Symbol table interfaces. */ /* * Pseudo-names passed to Plookup_by_name() for well-known load objects. * NOTE: It is required that PR_OBJ_EXEC and PR_OBJ_LDSO exactly match * the definitions of PS_OBJ_EXEC and PS_OBJ_LDSO from . */ /* * Special Lmid_t passed to Plookup_by_lmid() to search all link maps. The * special values LM_ID_BASE and LM_ID_LDSO from may also be used. * If PR_OBJ_EXEC is used as the object name, the lmid must be PR_LMID_EVERY * or LM_ID_BASE in order to return a match. If PR_OBJ_LDSO is used as the * object name, the lmid must be PR_LMID_EVERY or LM_ID_LDSO to return a match. */ /* * 'object_name' is the name of a load object obtained from an * iteration over the process's address space mappings (Pmapping_iter), * or an iteration over the process's mapped objects (Pobject_iter), * or else it is one of the special PR_OBJ_* values above. */ extern int Plookup_by_name(struct ps_prochandle *, const char *, const char *, GElf_Sym *); extern int Plookup_by_addr(struct ps_prochandle *, uintptr_t, char *, size_t, GElf_Sym *); typedef struct prsyminfo { const char *prs_object; /* object name */ const char *prs_name; /* symbol name */ Lmid_t prs_lmid; /* link map id */ uint_t prs_id; /* symbol id */ uint_t prs_table; /* symbol table id */ } prsyminfo_t; extern int Pxlookup_by_name(struct ps_prochandle *, Lmid_t, const char *, const char *, GElf_Sym *, prsyminfo_t *); extern int Pxlookup_by_addr(struct ps_prochandle *, uintptr_t, char *, size_t, GElf_Sym *, prsyminfo_t *); extern int Pxlookup_by_addr_resolved(struct ps_prochandle *, uintptr_t, char *, size_t, GElf_Sym *, prsyminfo_t *); typedef int proc_map_f(void *, const prmap_t *, const char *); extern int Pmapping_iter(struct ps_prochandle *, proc_map_f *, void *); extern int Pmapping_iter_resolved(struct ps_prochandle *, proc_map_f *, void *); extern int Pobject_iter(struct ps_prochandle *, proc_map_f *, void *); extern int Pobject_iter_resolved(struct ps_prochandle *, proc_map_f *, void *); extern const prmap_t *Paddr_to_map(struct ps_prochandle *, uintptr_t); extern const prmap_t *Paddr_to_text_map(struct ps_prochandle *, uintptr_t); extern const prmap_t *Pname_to_map(struct ps_prochandle *, const char *); extern const prmap_t *Plmid_to_map(struct ps_prochandle *, Lmid_t, const char *); extern const rd_loadobj_t *Paddr_to_loadobj(struct ps_prochandle *, uintptr_t); extern const rd_loadobj_t *Pname_to_loadobj(struct ps_prochandle *, const char *); extern const rd_loadobj_t *Plmid_to_loadobj(struct ps_prochandle *, Lmid_t, const char *); extern ctf_file_t *Paddr_to_ctf(struct ps_prochandle *, uintptr_t); extern ctf_file_t *Pname_to_ctf(struct ps_prochandle *, const char *); extern char *Pplatform(struct ps_prochandle *, char *, size_t); extern int Puname(struct ps_prochandle *, struct utsname *); extern char *Pzonename(struct ps_prochandle *, char *, size_t); extern char *Pfindobj(struct ps_prochandle *, const char *, char *, size_t); extern char *Pexecname(struct ps_prochandle *, char *, size_t); extern char *Pobjname(struct ps_prochandle *, uintptr_t, char *, size_t); extern char *Pobjname_resolved(struct ps_prochandle *, uintptr_t, char *, size_t); extern int Plmid(struct ps_prochandle *, uintptr_t, Lmid_t *); typedef int proc_env_f(void *, struct ps_prochandle *, uintptr_t, const char *); extern int Penv_iter(struct ps_prochandle *, proc_env_f *, void *); extern char *Pgetenv(struct ps_prochandle *, const char *, char *, size_t); extern long Pgetauxval(struct ps_prochandle *, int); extern const auxv_t *Pgetauxvec(struct ps_prochandle *); extern void Pset_procfs_path(const char *); /* * Symbol table iteration interface. The special lmid constants LM_ID_BASE, * LM_ID_LDSO, and PR_LMID_EVERY may be used with Psymbol_iter_by_lmid. */ typedef int proc_sym_f(void *, const GElf_Sym *, const char *); typedef int proc_xsym_f(void *, const GElf_Sym *, const char *, const prsyminfo_t *); extern int Psymbol_iter(struct ps_prochandle *, const char *, int, int, proc_sym_f *, void *); extern int Psymbol_iter_by_addr(struct ps_prochandle *, const char *, int, int, proc_sym_f *, void *); extern int Psymbol_iter_by_name(struct ps_prochandle *, const char *, int, int, proc_sym_f *, void *); extern int Psymbol_iter_by_lmid(struct ps_prochandle *, Lmid_t, const char *, int, int, proc_sym_f *, void *); extern int Pxsymbol_iter(struct ps_prochandle *, Lmid_t, const char *, int, int, proc_xsym_f *, void *); /* * 'which' selects which symbol table and can be one of the following. */ /* * 'type' selects the symbols of interest by binding and type. It is a bit- * mask of one or more of the following flags, whose order MUST match the * order of STB and STT constants in . */ # 611 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" /* * This returns the rtld_db agent handle for the process. * The handle will become invalid at the next successful exec() and * must not be used beyond that point (see Preset_maps(), below). */ extern rd_agent_t *Prd_agent(struct ps_prochandle *); /* * This should be called when an RD_DLACTIVITY event with the * RD_CONSISTENT state occurs via librtld_db's event mechanism. * This makes libproc's address space mappings and symbol tables current. * The variant Pupdate_syms() can be used to preload all symbol tables as well. */ extern void Pupdate_maps(struct ps_prochandle *); extern void Pupdate_syms(struct ps_prochandle *); /* * This must be called after the victim process performs a successful * exec() if any of the symbol table interface functions have been called * prior to that point. This is essential because an exec() invalidates * all previous symbol table and address space mapping information. * It is always safe to call, but if it is called other than after an * exec() by the victim process it just causes unnecessary overhead. * * The rtld_db agent handle obtained from a previous call to Prd_agent() is * made invalid by Preset_maps() and Prd_agent() must be called again to get * the new handle. */ extern void Preset_maps(struct ps_prochandle *); /* * Given an address, Ppltdest() determines if this is part of a PLT, and if * so returns a pointer to the symbol name that will be used for resolution. * If the specified address is not part of a PLT, the function returns NULL. */ extern const char *Ppltdest(struct ps_prochandle *, uintptr_t); /* * See comments for Pissyscall(), in Pisadep.h */ extern int Pissyscall_prev(struct ps_prochandle *, uintptr_t, uintptr_t *); /* * Stack frame iteration interface. */ typedef int proc_stack_f(void *, gregset_t, uint_t, const long *); extern int Pstack_iter(struct ps_prochandle *, const gregset_t, proc_stack_f *, void *); /* * The following functions define a set of passive interfaces: libproc provides * default, empty definitions that are called internally. If a client wishes * to override these definitions, it can simply provide its own version with * the same signature that interposes on the libproc definition. * * If the client program wishes to report additional error information, it * can provide its own version of Perror_printf. * * If the client program wishes to receive a callback after Pcreate forks * but before it execs, it can provide its own version of Pcreate_callback. */ extern void Perror_printf(struct ps_prochandle *P, const char *format, ...); extern void Pcreate_callback(struct ps_prochandle *); /* * Remove unprintable characters from psinfo.pr_psargs and replace with * whitespace characters so it is safe for printing. */ extern void proc_unctrl_psinfo(psinfo_t *); /* * Utility functions for processing arguments which should be /proc files, * pids, and/or core files. The returned error code can be passed to * Pgrab_error() in order to convert it to an error string. */ extern struct ps_prochandle *proc_arg_grab(const char *, int, int, int *); extern struct ps_prochandle *proc_arg_xgrab(const char *, const char *, int, int, int *, const char **); extern pid_t proc_arg_psinfo(const char *, int, psinfo_t *, int *); extern pid_t proc_arg_xpsinfo(const char *, int, psinfo_t *, int *, const char **); /* * Utility functions for obtaining information via /proc without actually * performing a Pcreate() or Pgrab(): */ extern int proc_get_auxv(pid_t, auxv_t *, int); extern int proc_get_cred(pid_t, prcred_t *, int); extern prpriv_t *proc_get_priv(pid_t); extern int proc_get_psinfo(pid_t, psinfo_t *); extern int proc_get_status(pid_t, pstatus_t *); /* * Utility functions for debugging tools to convert numeric fault, * signal, and system call numbers to symbolic names: */ extern char *proc_fltname(int, char *, size_t); extern char *proc_signame(int, char *, size_t); extern char *proc_sysname(int, char *, size_t); /* * Utility functions for debugging tools to convert fault, signal, and system * call names back to the numeric constants: */ extern int proc_str2flt(const char *, int *); extern int proc_str2sig(const char *, int *); extern int proc_str2sys(const char *, int *); /* * Utility functions for debugging tools to convert a fault, signal or system * call set to a string representation (e.g. "BUS,SEGV" or "open,close,read"). */ extern char *proc_fltset2str(const fltset_t *, const char *, int, char *, size_t); extern char *proc_sigset2str(const sigset_t *, const char *, int, char *, size_t); extern char *proc_sysset2str(const sysset_t *, const char *, int, char *, size_t); extern int Pgcore(struct ps_prochandle *, const char *, core_content_t); extern int Pfgcore(struct ps_prochandle *, int, core_content_t); extern core_content_t Pcontent(struct ps_prochandle *); /* * Utility functions for debugging tools to convert a string representation of * a fault, signal or system call set back to the numeric value of the * corresponding set type. */ extern char *proc_str2fltset(const char *, const char *, int, fltset_t *); extern char *proc_str2sigset(const char *, const char *, int, sigset_t *); extern char *proc_str2sysset(const char *, const char *, int, sysset_t *); /* * Utility functions for converting between strings and core_content_t. */ extern int proc_str2content(const char *, core_content_t *); extern int proc_content2str(core_content_t, char *, size_t); /* * Utility functions for buffering output to stdout, stderr while * process is grabbed. Prevents deadlocks due to pfiles `pgrep xterm` * and other varients. */ extern int proc_initstdio(void); extern int proc_flushstdio(void); extern int proc_finistdio(void); /* * Iterate over all open files. */ typedef int proc_fdinfo_f(void *, prfdinfo_t *); extern int Pfdinfo_iter(struct ps_prochandle *, proc_fdinfo_f *, void *); # 52 "common/apptrace.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libctf.h" 1 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2001-2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright (c) 2015, Joyent, Inc. */ /* * This header file defines the interfaces available from the CTF debugger * library, libctf. This library provides functions that a debugger can * use to operate on data in the Compact ANSI-C Type Format (CTF). This * is NOT a public interface, although it may eventually become one in * the fullness of time after we gain more experience with the interfaces. * * In the meantime, be aware that any program linked with libctf in this * release of illumos is almost guaranteed to break in the next release. * * In short, do not user this header file or libctf for any purpose. */ # 53 "common/apptrace.c" 2 extern const char *type_name(ctf_file_t *, ctf_id_t, char *, size_t); extern void print_value(ctf_file_t *, ctf_id_t, ulong_t); static struct ps_prochandle *proc_hdl = 0; static Liblist *bindto_list; static Liblist *bindto_excl; static Liblist *bindfrom_list; static Liblist *bindfrom_excl; static Liblist *intlib_list; static uint_t pidout; static Intlist *trace_list; static Intlist *trace_excl; static Intlist *verbose_list; static Intlist *verbose_excl; /* * Required for calls to build_env_list1 where * things are added to the end of the list (preserving * search order implied by the setting of env variables * in apptracecmd.c) */ static Liblist *intlib_listend; /* * These globals are sought and used by interceptlib.c * which goes into all interceptor objects. */ FILE *__abi_outfile = (&__iob[2]); sigset_t abisigset; /* * Strings are printed with "%.*s", abi_strpsz, string */ int abi_strpsz = 20; /* * Special function pointers that'll be set up to point at the * libc/libthread versions in the _application's_ link map (as opposed * to our own). * * Additionally, it is impossible to generalize the programmatic * creation of interceptor functions for variable argument list * functions. However, in the case of the printf family, there is a * vprintf equivalent. The interceptors for the printf family live in * interceptor.c and they call the appropriate vprintf interface * instead of the printf interface that they're intercepting. The * link map issue remains, however, so function pointers for the * vprintf family in the application's link map are set up here. * * The interceptors also need to examine errno which also needs to be * extracted from the base link map. * * All of these pointers are initialized in la_preinit(). */ thread_t (*abi_thr_self)(void); int (*abi_thr_main)(void); int (*__abi_real_vfprintf)(FILE *, char const *, va_list); int (*__abi_real_vfwprintf)(FILE *, const wchar_t *, va_list); int (*__abi_real_vprintf)(char const *, va_list); int (*__abi_real_vsnprintf)(char *, size_t, char const *, va_list); int (*__abi_real_vsprintf)(char *, char const *, va_list); int (*__abi_real_vswprintf)(wchar_t *, size_t, const wchar_t *, va_list); int (*__abi_real_vwprintf)(const wchar_t *, va_list); int *(*__abi_real_errno)(void); static char const *libcpath = "/lib/libc.so.1"; /* Used as arguments later to dlsym */ static char const *thr_main_sym = "thr_main"; static char const *thr_self_sym = "thr_self"; static char const *vfprintf_sym = "vfprintf"; static char const *vfwprintf_sym = "vfwprintf"; static char const *vprintf_sym = "vprintf"; static char const *vsnprintf_sym = "vsnprintf"; static char const *vsprintf_sym = "vsprintf"; static char const *vswprintf_sym = "vswprintf"; static char const *vwprintf_sym = "vwprintf"; static char const *errno_sym = "___errno"; /* * The list of functions below are functions for which * apptrace.so will not perform any tracing. * * The user visible failure of tracing these functions * is a core dump of the application under observation. * * This list was originally discovered during sotruss * development. Attempts lacking sufficient determination * to shrink this list have failed. * * There are a number of different kinds of issues here. * * The .stretX functions have to do with the relationship * that the caller and callee has with functions that * return structures and the altered calling convention * that results. * * We cannot trace *setjmp because the caller of these routines * is not allow to return which is exactly what an interceptor * function is going to do. * * The *context functions are on the list because we cannot trace * netscape without them on the list, but the exact mechanics of the * failure are not known at this time. * * The leaf functions *getsp can probably be removed given the * presence of an interceptor but that experiment has not been * conducted. * * NOTE: this list *must* be maintained in alphabetical order. * if this list ever became too long a faster search mechanism * should be considered. */ static char *spec_sym[] = { "__getcontext", "_getcontext", "_getsp", "_longjmp", "_setcontext", "_setjmp", "_siglongjmp", "_sigsetjmp", "_vfork", "getcontext", "getsp", "longjmp", "setcontext", "setjmp", "siglongjmp", "sigsetjmp", "vfork", 0 }; uint_t la_version(uint_t version) { char *str; FILE *fp; if (version > 5) (void) fprintf((&__iob[2]), dgettext(TEXT_DOMAIN, "apptrace: unexpected version: %u\n"), version); build_env_list(&bindto_list, "APPTRACE_BINDTO"); build_env_list(&bindto_excl, "APPTRACE_BINDTO_EXCLUDE"); build_env_list(&bindfrom_list, "APPTRACE_BINDFROM"); build_env_list(&bindfrom_excl, "APPTRACE_BINDFROM_EXCLUDE"); if (checkenv("APPTRACE_PID") != 0) { pidout = 1; } else { char *str = "LD_AUDIT="; char *str2 = "LD_AUDIT64="; /* * This disables apptrace output in subsequent exec'ed * processes. */ (void) putenv(str); (void) putenv(str2); } if ((str = checkenv("APPTRACE_OUTPUT")) != 0) { int fd, newfd, targetfd, lowerlimit; struct rlimit rl; if (getrlimit(5, &rl) == -1) { (void) fprintf((&__iob[2]), dgettext(TEXT_DOMAIN, "apptrace: getrlimit: %s\n"), strerror((*(___errno())))); exit(1); } fd = open(str, 1|0x100|0x200, 0666); if (fd == -1) { (void) fprintf((&__iob[2]), dgettext(TEXT_DOMAIN, "apptrace: %s: %s\n"), str, strerror((*(___errno())))); exit(1); } /* * Those fans of dup2 should note that dup2 cannot * be used below because dup2 closes the target file * descriptor. Thus, if we're apptracing say, ksh * we'd have closed the fd it uses for the history * file (63 on my box). * * fcntl with F_DUPFD returns first available >= arg3 * so we iterate from the top until we find a available * fd. * * Not finding an fd after 10 tries is a failure. * * Since the _file member of the FILE structure is an * unsigned char, we must clamp our fd request to * UCHAR_MAX */ lowerlimit = ((rl.rlim_cur > 255) ? 255 : rl.rlim_cur) - 10; for (targetfd = lowerlimit + 10; targetfd > lowerlimit; targetfd--) { if ((newfd = fcntl(fd, 0, targetfd)) != -1) break; } if (newfd == -1) { (void) fprintf((&__iob[2]), dgettext(TEXT_DOMAIN, "apptrace: F_DUPFD: %s\n"), strerror((*(___errno())))); exit(1); } (void) close(fd); if (fcntl(newfd, 2, 1) == -1) { (void) fprintf((&__iob[2]), dgettext(TEXT_DOMAIN, "apptrace: fcntl FD_CLOEXEC: %s\n"), strerror((*(___errno())))); exit(1); } if ((fp = fdopen(newfd, "wF")) != 0) { __abi_outfile = fp; } else { (void) fprintf((&__iob[2]), dgettext(TEXT_DOMAIN, "apptrace: fdopen: %s\n"), strerror((*(___errno())))); exit(1); } } build_env_list1(&intlib_list, &intlib_listend, "APPTRACE_INTERCEPTORS"); /* Set up lists interfaces to trace or ignore */ env_to_intlist(&trace_list, "APPTRACE_INTERFACES"); env_to_intlist(&trace_excl, "APPTRACE_INTERFACES_EXCLUDE"); env_to_intlist(&verbose_list, "APPTRACE_VERBOSE"); env_to_intlist(&verbose_excl, "APPTRACE_VERBOSE_EXCLUDE"); return (5); } /* ARGSUSED1 */ uint_t la_objopen(Link_map *lmp, Lmid_t lmid, uintptr_t *cookie) { uint_t flags; static int first = 1; int perr; /* * If this is the first time in, then l_name is the app * and unless the user gave an explict from list * we will trace calls from it. */ if (first && bindfrom_list == 0) { flags = 0x0002 | 0x0001; first = 0; goto work; } /* * If we have no bindto_list, then we assume that we * bindto everything (apptrace -T \*) * * Otherwise we make sure that l_name is on the list. */ flags = 0; if (bindto_list == 0) { flags = 0x0001; } else if (check_list(bindto_list, lmp->l_name) != 0) { flags |= 0x0001; } /* * If l_name is on the exclusion list, zero the bit. */ if ((bindto_excl != 0) && check_list(bindto_excl, lmp->l_name) != 0) { flags &= ~0x0001; } /* * If l_name is on the bindfrom list then trace */ if (check_list(bindfrom_list, lmp->l_name) != 0) { flags |= 0x0002; } /* * If l_name is on the exclusion list, zero the bit * else trace, (this allows "-F !foo" to imply * "-F '*' -F !foo") */ if (check_list(bindfrom_excl, lmp->l_name) != 0) { flags &= ~0x0002; } else if (bindfrom_excl != 0 && bindfrom_list == 0) { flags |= 0x0002; } work: if (flags) { *cookie = (uintptr_t)abibasename(lmp->l_name); /* * only call Pgrab() once to get the ps_prochandle */ if (proc_hdl == 0) proc_hdl = Pgrab(getpid(), 0x04, &perr); } return (flags); } static void apptrace_preinit_fail(void) { (void) fprintf((&__iob[2]), dgettext(TEXT_DOMAIN, "apptrace: la_preinit: %s\n"), dlerror()); exit(1); } /* ARGSUSED */ void la_preinit(uintptr_t *cookie) { void *h = 0; (void) sigfillset(&abisigset); h = dlmopen(0x00, libcpath, 0x00001 | 0x00004); if (h == 0) apptrace_preinit_fail(); if ((abi_thr_self = (thread_t (*)(void)) dlsym(h, thr_self_sym)) == 0) apptrace_preinit_fail(); if ((abi_thr_main = (int (*)(void)) dlsym(h, thr_main_sym)) == 0) apptrace_preinit_fail(); /* Do printf style pointers */ if ((__abi_real_vfprintf = (int (*)(FILE *, char const *, va_list)) dlsym(h, vfprintf_sym)) == 0) apptrace_preinit_fail(); if ((__abi_real_vfwprintf = (int (*)(FILE *, const wchar_t *, va_list)) dlsym(h, vfwprintf_sym)) == 0) apptrace_preinit_fail(); if ((__abi_real_vprintf = (int (*)(char const *, va_list)) dlsym(h, vprintf_sym)) == 0) apptrace_preinit_fail(); if ((__abi_real_vsnprintf = (int (*)(char *, size_t, char const *, va_list)) dlsym(h, vsnprintf_sym)) == 0) apptrace_preinit_fail(); if ((__abi_real_vsprintf = (int (*)(char *, char const *, va_list)) dlsym(h, vsprintf_sym)) == 0) apptrace_preinit_fail(); if ((__abi_real_vswprintf = (int (*)(wchar_t *, size_t, const wchar_t *, va_list)) dlsym(h, vswprintf_sym)) == 0) apptrace_preinit_fail(); if ((__abi_real_vwprintf = (int (*)(const wchar_t *, va_list)) dlsym(h, vwprintf_sym)) == 0) apptrace_preinit_fail(); if ((__abi_real_errno = (int *(*)(void)) dlsym(h, errno_sym)) == 0) apptrace_preinit_fail(); (void) dlclose(h); } /* ARGSUSED1 */ uintptr_t la_symbind32(Elf32_Sym *symp, uint_t symndx, uintptr_t *refcook, uintptr_t *defcook, uint_t *sb_flags) { char const *sym_name = (char const *) symp->st_name; int intercept = 0, verbose = 0; uintptr_t ret = symp->st_value; uint_t ndx; char *str; /* If we're not looking at a function, bug out */ if (((symp->st_info) & 0xf) != 2) goto end; if (verbose_list != 0) { /* apptrace ... -v verbose_list ... cmd */ if (check_intlist(verbose_list, sym_name)) verbose = 1; } if (verbose_excl != 0) { /* apptrace ... -v !verbose_excl ... cmd */ if (check_intlist(verbose_excl, sym_name)) verbose = 0; else if (verbose_list == 0 && trace_list == 0 && trace_excl == 0) /* apptrace -v !verbose_excl cmd */ intercept = 1; } if (trace_list != 0) { /* apptrace ... -t trace_list ... cmd */ if (check_intlist(trace_list, sym_name)) intercept = 1; } else if (verbose_list == 0 && verbose_excl == 0) /* default (implies -t '*'): apptrace cmd */ intercept = 1; if (trace_excl != 0) { /* apptrace ... -t !trace_excl ... cmd */ if (check_intlist(trace_excl, sym_name)) intercept = 0; } if (verbose == 0 && intercept == 0) { *sb_flags |= (0x0002 | 0x0001); goto end; } /* * Check to see if this symbol is one of the 'special' symbols. * If so we disable calls for that symbol. */ for (ndx = 0; (str = spec_sym[ndx]) != 0; ndx++) { int cmpval; cmpval = strcmp(sym_name, str); if (cmpval < 0) break; if (cmpval == 0) { intercept = verbose = 0; *sb_flags |= (0x0002 | 0x0001); break; } } end: return (ret); } /* ARGSUSED1 */ # 570 "common/apptrace.c" uintptr_t la_i86_pltenter(Elf32_Sym *symp, uint_t symndx, uintptr_t *refcookie, uintptr_t *defcookie, La_i86_regs *regset, uint_t *sb_flags) { char *defname = (char *)(*defcookie); char *refname = (char *)(*refcookie); sigset_t omask; char const *sym_name = (char const *)symp->st_name; char buf[256]; GElf_Sym sym; prsyminfo_t si; ctf_file_t *ctfp; ctf_funcinfo_t finfo; int argc; ctf_id_t argt[40]; ulong_t argv[40]; int i; char *sep = ""; ctf_id_t type, rtype; int kind; abilock(&omask); if (pidout) (void) fprintf(__abi_outfile, "%7u:", (unsigned int)getpid()); if ((ctfp = Pname_to_ctf(proc_hdl, defname)) == 0) goto fail; if (Pxlookup_by_name(proc_hdl, ((Lmid_t)-1UL), defname, sym_name, &sym, &si) != 0) goto fail; if (ctf_func_info(ctfp, si.prs_id, &finfo) == (-1L)) goto fail; (void) type_name(ctfp, finfo.ctc_return, buf, sizeof (buf)); (void) fprintf(__abi_outfile, "-> %-8s -> %8s:%s %s(", refname, defname, buf, sym_name); /* * According to bug in la_pltexit(), it can't return * if the type is just a struct/union. So, if the return * type is a struct/union, la_pltexit() should be off. */ rtype = ctf_type_resolve(ctfp, finfo.ctc_return); type = ctf_type_reference(ctfp, rtype); rtype = ctf_type_resolve(ctfp, type); kind = ctf_type_kind(ctfp, rtype); if ((kind == 6 || kind == 7) && strpbrk(buf, "*") == 0) *sb_flags |= 0x0002; argc = ((sizeof (argt) / sizeof (argt[0])) < (finfo.ctc_argc) ? (sizeof (argt) / sizeof (argt[0])) : (finfo.ctc_argc)); (void) ctf_func_args(ctfp, si.prs_id, argc, argt); argv[0] = (((ulong_t *)regset->lr_esp)[1]); if (argc > 1) argv[1] = (((ulong_t *)regset->lr_esp)[2]); if (argc > 2) argv[2] = (((ulong_t *)regset->lr_esp)[3]); if (argc > 3) argv[3] = (((ulong_t *)regset->lr_esp)[4]); if (argc > 4) argv[4] = (((ulong_t *)regset->lr_esp)[5]); if (argc > 5) argv[5] = (((ulong_t *)regset->lr_esp)[6]); if (argc > 6) { for (i = 6; i < argc; i++) argv[i] = (((ulong_t *)regset->lr_esp)[i+1]); } for (i = 0; i < argc; i++) { (void) type_name(ctfp, argt[i], buf, sizeof (buf)); (void) fprintf(__abi_outfile, "%s%s = ", sep, buf); rtype = ctf_type_resolve(ctfp, argt[i]); type = ctf_type_reference(ctfp, rtype); rtype = ctf_type_resolve(ctfp, type); kind = ctf_type_kind(ctfp, rtype); if (kind == 6 || kind == 7) (void) fprintf(__abi_outfile, "0x%p", (void *)argv[i]); else print_value(ctfp, argt[i], argv[i]); sep = ", "; } if (finfo.ctc_flags & 0x1) (void) fprintf(__abi_outfile, "%s...", sep); else if (argc == 0) (void) fprintf(__abi_outfile, "void"); if ((*sb_flags & 0x0002) != 0) (void) fprintf(__abi_outfile, ") ** ST\n"); else (void) fprintf(__abi_outfile, ")\n"); if (verbose_list != 0 && check_intlist(verbose_list, sym_name) != 0) { for (i = 0; i < argc; i++) { (void) type_name(ctfp, argt[i], buf, sizeof (buf)); (void) fprintf(__abi_outfile, "\targ%d = (%s) ", i, buf); print_value(ctfp, argt[i], argv[i]); (void) fprintf(__abi_outfile, "\n"); } if ((*sb_flags & 0x0002) != 0) { if (kind == 6) (void) fprintf(__abi_outfile, "\treturn = (struct), apptrace " "will not trace the return\n"); else (void) fprintf(__abi_outfile, "\treturn = (union), apptrace " "will not trace the return\n"); } } (void) fflush(__abi_outfile); abiunlock(&omask); return (symp->st_value); fail: (void) fprintf(__abi_outfile, "-> %-8s -> %8s:%s(0x%lx, 0x%lx, 0x%lx) ** NR\n", refname, defname, sym_name, (ulong_t)(((ulong_t *)regset->lr_esp)[1]), (ulong_t)(((ulong_t *)regset->lr_esp)[2]), (ulong_t)(((ulong_t *)regset->lr_esp)[3])); *sb_flags |= 0x0002; (void) fflush(__abi_outfile); abiunlock(&omask); return (symp->st_value); } /* ARGSUSED */ uintptr_t la_pltexit(Elf32_Sym *symp, uint_t symndx, uintptr_t *refcookie, uintptr_t *defcookie, uintptr_t retval) { const char *sym_name = (const char *)symp->st_name; sigset_t omask; char buf[256]; GElf_Sym sym; prsyminfo_t si; ctf_file_t *ctfp; ctf_funcinfo_t finfo; char *defname = (char *)(*defcookie); char *refname = (char *)(*refcookie); abilock(&omask); if (pidout) (void) fprintf(__abi_outfile, "%7u:", (unsigned int)getpid()); if (retval == 0) { if (verbose_list == 0) { (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()\n", refname, defname, sym_name); (void) fflush(__abi_outfile); } abiunlock(&omask); return (retval); } if ((ctfp = Pname_to_ctf(proc_hdl, defname)) == 0) goto fail; if (Pxlookup_by_name(proc_hdl, ((Lmid_t)-1UL), defname, sym_name, &sym, &si) != 0) goto fail; if (ctf_func_info(ctfp, si.prs_id, &finfo) == (-1L)) goto fail; if (verbose_list != 0) { if (check_intlist(verbose_list, sym_name) != 0) { (void) type_name(ctfp, finfo.ctc_return, buf, sizeof (buf)); (void) fprintf(__abi_outfile, "\treturn = (%s) ", buf); print_value(ctfp, finfo.ctc_return, retval); (void) fprintf(__abi_outfile, "\n"); (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()", refname, defname, sym_name); (void) fprintf(__abi_outfile, " = 0x%p\n", (void *)retval); } } else { (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()", refname, defname, sym_name); (void) fprintf(__abi_outfile, " = 0x%p\n", (void *)retval); } (void) fflush(__abi_outfile); abiunlock(&omask); return (retval); fail: if (verbose_list != 0) { if (check_intlist(verbose_list, sym_name) != 0) { (void) fprintf(__abi_outfile, "\treturn = 0x%p\n", (void *)retval); (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()", refname, defname, sym_name); (void) fprintf(__abi_outfile, " = 0x%p\n", (void *)retval); } } else { (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()", refname, defname, sym_name); (void) fprintf(__abi_outfile, " = 0x%p\n", (void *)retval); } (void) fflush(__abi_outfile); abiunlock(&omask); return (retval); }