# 1 "log.c" # 1 "" # 1 "" # 1 "log.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 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* unix system includes */ # 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. */ # 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. */ # 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 */ # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" #pragma redefine_extname fopen fopen64 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" #pragma redefine_extname freopen freopen64 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" #pragma redefine_extname tmpfile tmpfile64 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" #pragma redefine_extname fgetpos fgetpos64 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" #pragma redefine_extname fsetpos fsetpos64 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" #pragma redefine_extname fseeko fseeko64 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" #pragma redefine_extname ftello ftello64 # 59 "/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; typedef unsigned int size_t; /* (historical version) */ typedef __longlong_t 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 # 163 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" typedef __longlong_t off_t; typedef __longlong_t off64_t; # 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 */ # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" typedef int ssize_t; /* (historical version) */ 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 *); # 31 "log.c" 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 . */ # 32 "log.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 . */ # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" typedef unsigned int uid_t; /* UID type */ /* large file compilation environment setup */ # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" #pragma redefine_extname mkstemp mkstemp64 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" #pragma redefine_extname mkstemps mkstemps64 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" #pragma redefine_extname mkostemp mkostemp64 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" # 111 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" #pragma redefine_extname mkostemps mkostemps64 # 111 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" # 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. */ /* * 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; # 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); # 33 "log.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); typedef struct _locale *locale_t; 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); # 34 "log.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. */ # 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/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. */ # 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. */ # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" typedef u_longlong_t ino_t; /* expanded inode type */ typedef longlong_t blkcnt_t; /* count of file blocks */ typedef u_longlong_t fsblkcnt_t; /* count of file system blocks */ typedef u_longlong_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 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) */ # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 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); # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 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 */ # 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. */ # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" /* ILP32 large file application compilation environment version */ # 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 */ # 77 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" #pragma redefine_extname open open64 # 77 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" #pragma redefine_extname creat creat64 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" #pragma redefine_extname posix_fadvise posix_fadvise64 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" #pragma redefine_extname posix_fallocate posix_fallocate64 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" #pragma redefine_extname openat openat64 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" #pragma redefine_extname attropen attropen64 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" # 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, ...); # 35 "log.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. */ # 36 "log.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 */ # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" #pragma redefine_extname fstat fstat64 # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" #pragma redefine_extname stat stat64 # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" #pragma redefine_extname fstatat fstatat64 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" # 168 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" #pragma redefine_extname lstat lstat64 # 168 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" # 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; 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); # 518 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 # 37 "log.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. */ # 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 */ # 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 */ # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" #pragma redefine_extname ftruncate ftruncate64 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" #pragma redefine_extname lseek lseek64 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" # 202 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" #pragma redefine_extname pread pread64 # 202 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" #pragma redefine_extname pwrite pwrite64 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" #pragma redefine_extname truncate truncate64 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" #pragma redefine_extname lockf lockf64 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" # 206 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" #pragma redefine_extname tell tell64 # 206 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" # 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); # 38 "log.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. */ # 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); # 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); # 39 "log.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(); # 40 "log.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. */ # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 extern long _sysconf(int); /* System Private interface to sysconf() */ # 41 "log.c" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.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) 2009, 2010, Oracle and/or its affiliates. All rights reserved. */ /* * Module: instzones_api.h * Group: libinstzones * Description: This module contains the libinstzones API data structures, * constants, and function prototypes. */ /* * required includes */ /* System includes */ # 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. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.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. */ # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.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 */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.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/termios.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 (c) 1988, 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. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ttydev.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 */ #pragma ident "%Z%%M% %I% %E% SMI" /* * Terminal definitions related to underlying hardware. */ /* * Speeds */ # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.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. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.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/termios.h" 2 /* * _POSIX_VDISABLE has been defined in since the * introduction of the header. The POSIX standard, IEEE Std. * 1003.1-1988 also required the existence of _POSIX_VDISABLE in * this header. 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 * here. With the introduction of XPG6, _POSIX_VDISABLE can only * be defined in . */ # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* required by termio.h and VCEOF/VCEOL */ /* some defines required by POSIX */ /* * types defined by POSIX. These are better off in types.h, but * the standard says that they have to be in termios.h. */ typedef unsigned int tcflag_t; typedef unsigned char cc_t; typedef unsigned int speed_t; /* * Ioctl control packet */ struct termios { tcflag_t c_iflag; /* input modes */ tcflag_t c_oflag; /* output modes */ tcflag_t c_cflag; /* control modes */ tcflag_t c_lflag; /* line discipline modes */ cc_t c_cc[19]; /* control chars */ }; /* * POSIX termios functions * These functions get mapped into ioctls. */ extern speed_t cfgetospeed(const struct termios *); extern int cfsetospeed(struct termios *, speed_t); extern speed_t cfgetispeed(const struct termios *); extern int cfsetispeed(struct termios *, speed_t); extern int tcgetattr(int, struct termios *); extern int tcsetattr(int, int, const struct termios *); extern int tcsendbreak(int, int); extern int tcdrain(int); extern int tcflush(int, int); extern int tcflow(int, int); extern pid_t tcgetsid(int); /* control characters */ # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* 17 through 19 reserved for future use */ /* * control characters form Xenix termio.h */ /* S5 default control chars */ /* CINTR, CERASE and CKILL modified to SunOS traditional values */ # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* input modes */ # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* output modes */ # 255 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* control modes */ # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* * 4.4BSD hardware flow control flags */ /* line discipline 0 modes */ # 327 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* Slots reserved for 386/XENIX compatibility - keyboard control */ # 343 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* * Softcarrier ioctls */ /* termios ioctls */ # 363 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* * NTP PPS ioctls */ /* Argument filled in by TIOCGPPSEV */ struct ppsclockev { struct timeval tv; uint_t serial; }; # 387 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* termios option flags */ # 398 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* TIOC ioctls for BSD, ptys, job control and modem control */ /* Slots for 386/XENIX compatibility */ /* BSD includes these ioctls in ttold.h */ # 421 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* * BSD ioctls that are not the same as XENIX are included here. * There are also some relevant ioctls from SUN/BSD sys/ttycom.h * BSD pty ioctls like TIOCPKT are not supported in SVR4. */ # 449 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* POSIX job control ioctls */ /* Miscellaneous */ /* Modem control */ # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* pseudo-tty */ /* Some more 386 xenix stuff */ # 492 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* Slots for 386 compatibility */ /* * These are retained for 386/XENIX compatibility. */ /* * Returns a non-zero value if there * are characters in the input queue. * * XXX - somebody is confused here. V7 had no such "ioctl", although XENIX may * have added it; 4BSD had FIONREAD, which returned the number of characters * waiting, and was supposed to work on all descriptors (i.e., every driver * should make a stab at implementing it). */ /* * Speeds */ # 551 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */ struct winsize { unsigned short ws_row; /* rows, in characters */ unsigned short ws_col; /* columns, in character */ unsigned short ws_xpixel; /* horizontal size, pixels */ unsigned short ws_ypixel; /* vertical size, pixels */ }; # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 2 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.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. */ # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" #pragma redefine_extname mmap mmap64 # 203 "/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" # 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 */ # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_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. */ # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.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. */ # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.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 1991 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" /* * There are some inherent problems in having a single file * ioctl.h, with both System V and BSD flags. Introducing * BSD flags into this file creates compilation problems * with flags such as ECHO, NL1 etc., if termio.h and ioctl.h * are included by the same file. Since these two files can * be only included by System V applications, /usr/inclule/sys/ioctl.h * will be System V mode and all the BSD flags will be turned off * using #ifdef BSD_COMP. This file will also exist in * /usr/ucbinclude/sys/ioctl.h for BSD applications but without the * BSD flags turned off. System V appliactions can use ioctl.h without * any changes, System V applications requiring BSD flags should * -D BSD_COMP when compiling (and be warned about the common * flags between System V and BSD) and BSD applications should * use /usr/ucbinclude/sys/ioctl.h. * */ # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" /* BSD related defines */ # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.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. */ /* * Zone configuration header file. */ /* sys/socket.h is required by net/if.h, which has a constant needed here */ # 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. */ # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.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) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" /* * Opcodes for the sysfs() system call. */ int sysfs(int, ...); # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.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) 1996, 1999 by Sun Microsystems, Inc. * All rights reserved. */ # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" /* * Flag bits passed to mount(2). */ # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" /* * Additional flag bits that domount() is prepared to interpret, but that * can't be passed through mount(2). */ /* * Mask to sift out flag bits allowable from mount(2). */ /* * Mask to sift out flag bits allowable from umount2(2). */ /* * Maximum option string length accepted or returned by mount(2). */ int mount(const char *, const char *, int, ...); int umount(const char *); int umount2(const char *, int); # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/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 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/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. */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 2 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" /* * library functions prototype. */ extern int setppriv(priv_op_t, priv_ptype_t, const priv_set_t *); extern int getppriv(priv_ptype_t, priv_set_t *); extern int setpflags(uint_t, uint_t); extern uint_t getpflags(uint_t); extern const priv_impl_info_t *getprivimplinfo(void); extern int priv_set(priv_op_t, priv_ptype_t, ...); extern boolean_t priv_ineffect(const char *); extern priv_set_t *priv_str_to_set(const char *, const char *, const char **); extern char *priv_set_to_str(const priv_set_t *, char, int); extern int priv_getbyname(const char *); extern const char *priv_getbynum(int); extern int priv_getsetbyname(const char *); extern const char *priv_getsetbynum(int); extern char *priv_gettext(const char *); extern priv_set_t *priv_allocset(void); extern void priv_freeset(priv_set_t *); extern void priv_emptyset(priv_set_t *); extern void priv_basicset(priv_set_t *); extern void priv_fillset(priv_set_t *); extern boolean_t priv_isemptyset(const priv_set_t *); extern boolean_t priv_isfullset(const priv_set_t *); extern boolean_t priv_isequalset(const priv_set_t *, const priv_set_t *); extern boolean_t priv_issubset(const priv_set_t *, const priv_set_t *); extern void priv_intersect(const priv_set_t *, priv_set_t *); extern void priv_union(const priv_set_t *, priv_set_t *); extern void priv_inverse(priv_set_t *); extern int priv_addset(priv_set_t *, const char *); extern void priv_copyset(const priv_set_t *, priv_set_t *); extern int priv_delset(priv_set_t *, const char *); extern boolean_t priv_ismember(const priv_set_t *, const char *); # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.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/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]; }; # 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. */ #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). */ # 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; # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.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 */ # 266 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" #pragma redefine_extname preadv preadv64 # 266 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" # 267 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" #pragma redefine_extname pwritev pwritev64 # 267 "/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. */ # 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) * */ # 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); # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1 /* * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. */ /* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86 */ # 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. */ # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.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. */ # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.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) * */ # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* * Structures defining a network interface, providing a packet * transport mechanism (ala level 0 of the PUP protocols). * * Each interface accepts output datagrams of a specified maximum * length, and provides higher level routines with input datagrams * received from its medium. * * Output occurs when the routine if_output is called, with three parameters: * (*ifp->if_output)(ifp, m, dst) * Here m is the mbuf chain to be sent and dst is the destination address. * The output routine encapsulates the supplied datagram if necessary, * and then transmits it on its medium. * * On input, each interface unwraps the data received by it, and either * places it on the input queue of a internetwork datagram routine * and posts the associated software interrupt, or passes the datagram to a raw * packet input routine. * * Routines exist for locating interfaces by their addresses * or for locating a interface on a certain network, as well as more general * routing and gateway routines maintaining information used to locate * interfaces. These routines live in the files if.c and route.c */ /* * Structure defining a queue for a network interface. * * (Would like to call this struct ``if'', but C isn't PL/1.) */ struct ifnet { char *if_name; /* name, e.g. ``en'' or ``lo'' */ short if_unit; /* sub-unit for lower level driver */ short if_mtu; /* maximum transmission unit */ short if_flags; /* up/down, broadcast, etc. */ short if_timer; /* time 'til if_watchdog called */ ushort_t if_promisc; /* net # of requests for promisc mode */ int if_metric; /* routing metric (external only) */ struct ifaddr *if_addrlist; /* linked list of addresses per if */ struct ifqueue { struct mbuf *ifq_head; struct mbuf *ifq_tail; int ifq_len; int ifq_maxlen; int ifq_drops; } if_snd; /* output queue */ /* procedure handles */ int (*if_init)(); /* init routine */ int (*if_output)(); /* output routine */ int (*if_ioctl)(); /* ioctl routine */ int (*if_reset)(); /* bus reset routine */ int (*if_watchdog)(); /* timer routine */ /* generic interface statistics */ int if_ipackets; /* packets received on interface */ int if_ierrors; /* input errors on interface */ int if_opackets; /* packets sent on interface */ int if_oerrors; /* output errors on interface */ int if_collisions; /* collisions on csma interfaces */ /* end statistics */ struct ifnet *if_next; struct ifnet *if_upper; /* next layer up */ struct ifnet *if_lower; /* next layer down */ int (*if_input)(); /* input routine */ int (*if_ctlin)(); /* control input routine */ int (*if_ctlout)(); /* control output routine */ struct map *if_memmap; /* rmap for interface specific memory */ }; /* * NOTE : These flags are not directly used within IP. * ip_if.h has definitions derived from this which is used within IP. * If you define a flag here, you need to define one in ip_if.h before * using the new flag in IP. Don't use these flags directly in IP. */ # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* * The IFF_MULTICAST flag indicates that the network can support the * transmission and reception of higher-level (e.g., IP) multicast packets. * It is independent of hardware support for multicasting; for example, * point-to-point links or pure broadcast networks may well support * higher-level multicasts. */ /* * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS. * Should use SIOC[GS]LIFFLAGS which has a larger flags field. */ # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* * The IFF_XRESOLV flag is an evolving interface and is subject * to change without notice. */ # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* flags that cannot be changed by userland on any interface */ /* flags that cannot be changed by userland on an IPMP interface */ /* flags that can never be set on an IPMP interface */ /* * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1) * input routines have queues of messages stored on ifqueue structures * (defined above). Entries are added to and deleted from these structures * by these macros, which should be called with ipl raised to splimp(). */ # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* * Packets destined for level-1 protocol input routines * have a pointer to the receiving interface prepended to the data. * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet. * IF_ADJ should be used otherwise to adjust for its presence. */ # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* * The ifaddr structure contains information about one address * of an interface. They are maintained by the different address families, * are allocated and attached when an address is set, and are linked * together so all addresses for an interface can be located. */ struct ifaddr { struct sockaddr ifa_addr; /* address of interface */ union { struct sockaddr ifu_broadaddr; struct sockaddr ifu_dstaddr; } ifa_ifu; struct ifnet *ifa_ifp; /* back-pointer to interface */ struct ifaddr *ifa_next; /* next address for interface */ }; /* * For SIOCLIF*ND ioctls. * * The lnr_state_* fields use the ND_* neighbor reachability states. * The 3 different fields are for use with SIOCLIFSETND to cover the cases * when * A new entry is created * The entry already exists and the link-layer address is the same * The entry already exists and the link-layer address differs * * Use ND_UNCHANGED to not change any state. */ typedef struct lif_nd_req { struct sockaddr_storage lnr_addr; uint8_t lnr_state_create; /* When creating */ uint8_t lnr_state_same_lla; /* Update same addr */ uint8_t lnr_state_diff_lla; /* Update w/ diff. */ int lnr_hdw_len; int lnr_flags; /* See below */ /* padding because ia32 "long long"s are only 4-byte aligned. */ int lnr_pad0; char lnr_hdw_addr[64]; } lif_nd_req_t; /* * Neighbor reachability states * Used with SIOCLIF*ND ioctls. */ # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* * lnr_flags value of lif_nd_req. * Used with SIOCLIF*ND ioctls. */ /* * the NDF_STATIC entry ensures that an NCE will not be deleted, and is * used by non-ON applications like IPv6 test suites. */ /* For SIOC[GS]LIFLNKINFO */ typedef struct lif_ifinfo_req { uint8_t lir_maxhops; uint32_t lir_reachtime; /* Reachable time in msec */ uint32_t lir_reachretrans; /* Retransmission timer msec */ uint32_t lir_maxmtu; } lif_ifinfo_req_t; /* * Maximum lengths of interface name and IPMP group name; these are the same * for historical reasons. Note that the actual maximum length of a name is * one byte less than these constants since the kernel always sets the final * byte of lifr_name and lifr_groupname to NUL. */ /* * Interface request structure used for socket * ioctl's. All interface ioctl's must have parameter * definitions which begin with ifr_name. The * remainder may be interface specific. * Note: This data structure uses 64bit type uint64_t which is not * a valid type for strict ANSI/ISO C compilation for ILP32. * Applications with ioctls using this structure that insist on * building with strict ANSI/ISO C (-Xc) will need to be LP64. */ struct lifreq { char lifr_name[32]; /* if name, e.g. "en0" */ union { int lifru_addrlen; /* for subnet/token etc */ uint_t lifru_ppa; /* SIOCSLIFNAME */ } lifr_lifru1; uint_t lifr_type; /* IFT_ETHER, ... */ union { struct sockaddr_storage lifru_addr; struct sockaddr_storage lifru_dstaddr; struct sockaddr_storage lifru_broadaddr; struct sockaddr_storage lifru_token; /* With lifr_addrlen */ struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */ int lifru_index; /* interface index */ uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */ int lifru_metric; uint_t lifru_mtu; int lif_muxid[2]; /* mux id's for arp and ip */ struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */ struct lif_ifinfo_req lifru_ifinfo_req; char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */ char lifru_binding[32]; /* SIOCGLIFBINDING */ zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */ uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */ } lifr_lifru; # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" }; /* * Argument structure for SIOCT* address testing ioctls. */ struct sioc_addrreq { struct sockaddr_storage sa_addr; /* Address to test */ int sa_res; /* Result - 0/1 */ int sa_pad; }; /* * Argument structure used by mrouted to get src-grp pkt counts using * SIOCGETLSGCNT. See . */ struct sioc_lsg_req { struct sockaddr_storage slr_src; struct sockaddr_storage slr_grp; uint_t slr_pktcnt; uint_t slr_bytecnt; uint_t slr_wrong_if; uint_t slr_pad; }; /* Argument structure for SIOCGLIFDADSTATE ioctl */ typedef enum { DAD_IN_PROGRESS = 0x1, DAD_DONE = 0x2 } glif_dad_state_t; /* * OBSOLETE: Replaced by struct lifreq. Supported for compatibility. * * Interface request structure used for socket * ioctl's. All interface ioctl's must have parameter * definitions which begin with ifr_name. The * remainder may be interface specific. */ struct ifreq { char ifr_name[16]; /* if name, e.g. "en0" */ union { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; char ifru_oname[16]; /* other if name */ struct sockaddr ifru_broadaddr; int ifru_index; /* interface index */ uint_t ifru_mtu; short ifru_flags; int ifru_metric; char ifru_data[1]; /* interface dependent data */ char ifru_enaddr[6]; int if_muxid[2]; /* mux id's for arp and ip */ /* Struct for flags/ppa */ struct ifr_ppaflags { short ifrup_flags; /* Space of ifru_flags. */ short ifrup_filler; uint_t ifrup_ppa; } ifru_ppaflags; /* Struct for FDDI ioctl's */ struct ifr_dnld_reqs { uint32_t v_addr; uint32_t m_addr; uint32_t ex_addr; uint32_t size; } ifru_dnld_req; /* Struct for FDDI stats */ struct ifr_fddi_stats { uint32_t stat_size; uint32_t fddi_stats; } ifru_fddi_stat; struct ifr_netmapents { uint32_t map_ent_size, /* size of netmap structure */ entry_number; /* index into netmap list */ uint32_t fddi_map_ent; /* pointer to user structure */ } ifru_netmapent; /* Field for generic ioctl for fddi */ struct ifr_fddi_gen_struct { uint32_t ifru_fddi_gioctl; /* field for gen ioctl */ uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */ } ifru_fddi_gstruct; } ifr_ifru; # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* For setting ppa */ /* FDDI specific */ }; /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */ struct lifnum { sa_family_t lifn_family; int lifn_flags; /* request specific interfaces */ int lifn_count; /* Result */ }; /* * Structure used in SIOCGLIFCONF request. * Used to retrieve interface configuration * for machine (useful for programs which * must know all networks accessible) for a given address family. * Using AF_UNSPEC will retrieve all address families. */ struct lifconf { sa_family_t lifc_family; int lifc_flags; /* request specific interfaces */ int lifc_len; /* size of associated buffer */ union { caddr_t lifcu_buf; struct lifreq *lifcu_req; } lifc_lifcu; }; /* * Structure used in SIOCGLIFSRCOF to get the interface * configuration list for those interfaces that use an address * hosted on the interface (set in lifs_ifindex), as the source * address. */ struct lifsrcof { uint_t lifs_ifindex; /* interface of interest */ size_t lifs_maxlen; /* size of buffer: input */ size_t lifs_len; /* size of buffer: output */ union { caddr_t lifsu_buf; struct lifreq *lifsu_req; } lifs_lifsu; }; /* Flags */ /* be used to communicate outside the */ /* node (exclude interfaces which are */ /* IFF_NOXMIT, IFF_NOLOCAL, */ /* IFF_LOOPBACK, IFF_DEPRECATED, or */ /* not IFF_UP). Has priority over */ /* LIFC_NOXMIT. */ /* (must be issued from global zone) */ # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" /* * IPMP group information, for use with SIOCGLIFGROUPINFO. */ typedef struct lifgroupinfo { char gi_grname[32]; /* group name (set by caller) */ char gi_grifname[32]; /* IPMP meta-interface name */ char gi_m4ifname[32]; /* v4 mcast interface name */ char gi_m6ifname[32]; /* v6 mcast interface name */ char gi_bcifname[32]; /* v4 bcast interface name */ boolean_t gi_v4; /* group is plumbed for v4 */ boolean_t gi_v6; /* group is plumbed for v6 */ uint_t gi_nv4; /* # of underlying v4 if's */ uint_t gi_nv6; /* # of underlying v6 if's */ uint_t gi_mactype; /* DLPI mac type of group */ } lifgroupinfo_t; /* * OBSOLETE: Structure used in SIOCGIFCONF request. * Used to retrieve interface configuration * for machine (useful for programs which * must know all networks accessible). */ struct ifconf { int ifc_len; /* size of associated buffer */ union { caddr_t ifcu_buf; struct ifreq *ifcu_req; } ifc_ifcu; }; # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" typedef struct if_data { /* generic interface information */ uchar_t ifi_type; /* ethernet, tokenring, etc */ uchar_t ifi_addrlen; /* media address length */ uchar_t ifi_hdrlen; /* media header length */ uint_t ifi_mtu; /* maximum transmission unit */ uint_t ifi_metric; /* routing metric (external only) */ uint_t ifi_baudrate; /* linespeed */ /* volatile statistics */ uint_t ifi_ipackets; /* packets received on interface */ uint_t ifi_ierrors; /* input errors on interface */ uint_t ifi_opackets; /* packets sent on interface */ uint_t ifi_oerrors; /* output errors on interface */ uint_t ifi_collisions; /* collisions on csma interfaces */ uint_t ifi_ibytes; /* total number of octets received */ uint_t ifi_obytes; /* total number of octets sent */ uint_t ifi_imcasts; /* packets received via multicast */ uint_t ifi_omcasts; /* packets sent via multicast */ uint_t ifi_iqdrops; /* dropped on input, this interface */ uint_t ifi_noproto; /* destined for unsupported protocol */ struct timeval ifi_lastchange; /* last updated */ } if_data_t; /* * Message format for use in obtaining information about interfaces * from the routing socket */ typedef struct if_msghdr { ushort_t ifm_msglen; /* to skip over non-understood messages */ uchar_t ifm_version; /* future binary compatibility */ uchar_t ifm_type; /* message type */ int ifm_addrs; /* like rtm_addrs */ int ifm_flags; /* value of if_flags */ ushort_t ifm_index; /* index for associated ifp */ struct if_data ifm_data; /* statistics and other data about if */ } if_msghdr_t; /* * Message format for use in obtaining information about interface addresses * from the routing socket */ typedef struct ifa_msghdr { ushort_t ifam_msglen; /* to skip over non-understood messages */ uchar_t ifam_version; /* future binary compatibility */ uchar_t ifam_type; /* message type */ int ifam_addrs; /* like rtm_addrs */ int ifam_flags; /* route flags */ ushort_t ifam_index; /* index for associated ifp */ int ifam_metric; /* value of ipif_metric */ } ifa_msghdr_t; /* * The if_nameindex structure holds the interface index value about * a single interface. An array of this structure is used to return * all interfaces and indexes. */ struct if_nameindex { unsigned if_index; /* positive interface index */ char *if_name; /* if name, e.g. "en0" */ }; /* Interface index identification API definitions */ extern unsigned if_nametoindex(const char *); extern char *if_indextoname(unsigned, char *); extern struct if_nameindex *if_nameindex(void); extern void if_freenameindex(struct if_nameindex *); /* * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if * struct sockaddr_dl needs to be modified as the interface index is placed * in this structure by the kernel. */ # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.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. */ # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.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. */ # 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. */ # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" typedef u_longlong_t 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 " */ }; # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" /* * large file compilation environment setup */ # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" #pragma redefine_extname setrlimit setrlimit64 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" #pragma redefine_extname getrlimit getrlimit64 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" # 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 *); # 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); # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/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 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/zone.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/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 */ #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. */ # 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 . */ # 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() */ # 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 */ # 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. */ # 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 */ # 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. */ # 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 *); # 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/zone.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. */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/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/types32.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 2015 Nexenta Systems, Inc. */ #pragma ident "%Z%%M% %I% %E% SMI" # 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. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 2 /* * Interoperability types for programs. Used for: * * Crossing between 32-bit and 64-bit domains. * * On disk data formats such as filesystem meta data * and disk label. * * Note: Applications should never include this * header file. */ typedef uint32_t caddr32_t; typedef int32_t daddr32_t; typedef int32_t off32_t; typedef uint32_t ino32_t; typedef int32_t blkcnt32_t; typedef uint32_t fsblkcnt32_t; typedef uint32_t fsfilcnt32_t; typedef int32_t id32_t; typedef uint32_t major32_t; typedef uint32_t minor32_t; typedef int32_t key32_t; typedef uint32_t mode32_t; typedef uint32_t uid32_t; typedef uint32_t gid32_t; typedef uint32_t nlink32_t; typedef uint32_t dev32_t; typedef int32_t pid32_t; typedef uint32_t size32_t; typedef int32_t ssize32_t; typedef int32_t time32_t; typedef int32_t clock32_t; typedef uint32_t uintptr32_t; typedef int32_t intptr32_t; struct timeval32 { time32_t tv_sec; /* seconds */ int32_t tv_usec; /* and microseconds */ }; typedef struct timespec32 { time32_t tv_sec; /* seconds */ int32_t tv_nsec; /* and nanoseconds */ } timespec32_t; typedef struct timespec32 timestruc32_t; typedef struct itimerspec32 { struct timespec32 it_interval; struct timespec32 it_value; } itimerspec32_t; # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.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. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/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 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 /* Procedural Interface Structure Definitions */ struct label_info { /* structure returned by label_info */ short ilabel_len; /* max Information Label length */ short slabel_len; /* max Sensitivity Label length */ short clabel_len; /* max CMW Label length */ short clear_len; /* max Clearance Label length */ short vers_len; /* version string length */ short header_len; /* max len of banner page header */ short protect_as_len; /* max len of banner page protect as */ short caveats_len; /* max len of banner page caveats */ short channels_len; /* max len of banner page channels */ }; typedef struct label_set_identifier { /* valid label set identifier */ int type; /* type of the set */ char *name; /* name of the set if needed */ } set_id; struct name_fields { /* names for label builder fields */ char *class_name; /* Classifications field name */ char *comps_name; /* Compartments field name */ char *marks_name; /* Markings field name */ }; /* Label Set Identifier Types */ /* * The accreditation ranges as specified in the label encodings file. * The name parameter is ignored. * * System Accreditation Range is all valid labels plus Admin High and Low. * * User Accreditation Range is valid user labels as defined in the * ACCREDITATION RANGE: section of the label encodings file. */ /* System Call Interface Definitions */ extern int getlabel(const char *, m_label_t *); extern int fgetlabel(int, m_label_t *); extern int getplabel(m_label_t *); extern int setflabel(const char *, m_label_t *); extern char *getpathbylabel(const char *, char *, size_t, const m_label_t *sl); extern m_label_t *getzonelabelbyid(zoneid_t); extern m_label_t *getzonelabelbyname(const char *); extern zoneid_t getzoneidbylabel(const m_label_t *); extern char *getzonenamebylabel(const m_label_t *); extern char *getzonerootbyid(zoneid_t); extern char *getzonerootbyname(const char *); extern char *getzonerootbylabel(const m_label_t *); extern m_label_t *getlabelbypath(const char *); /* Flag word values */ # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" /* implies NEW_LABEL */ /* Procedure Interface Definitions available to user */ /* APIs shared with the kernel are in * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.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. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 /* * Standard flags codes. */ /* * Standard error codes. */ # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" /* * Standard program exit codes. */ /* * Exit status profiles. */ /* * Error reporting functions. */ uint32_t uu_error(void); const char *uu_strerror(uint32_t); /* * Program notification functions. */ extern void uu_alt_exit(int); extern const char *uu_setpname(char *); extern const char *uu_getpname(void); /*PRINTFLIKE1*/ extern void uu_warn(const char *, ...); extern void uu_vwarn(const char *, va_list); /*PRINTFLIKE1*/ extern void uu_die(const char *, ...) __attribute__((__noreturn__)); extern void uu_vdie(const char *, va_list) __attribute__((__noreturn__)); /*PRINTFLIKE2*/ extern void uu_xdie(int, const char *, ...) __attribute__((__noreturn__)); extern void uu_vxdie(int, const char *, va_list) __attribute__((__noreturn__)); /* * Exit status functions (not to be used directly) */ extern int *uu_exit_ok(void); extern int *uu_exit_fatal(void); extern int *uu_exit_usage(void); /* * string->number conversions */ extern int uu_strtoint(const char *, void *, size_t, int, int64_t, int64_t); extern int uu_strtouint(const char *, void *, size_t, int, uint64_t, uint64_t); /* * Debug print facility functions. */ typedef struct uu_dprintf uu_dprintf_t; typedef enum { UU_DPRINTF_SILENT, UU_DPRINTF_FATAL, UU_DPRINTF_WARNING, UU_DPRINTF_NOTICE, UU_DPRINTF_INFO, UU_DPRINTF_DEBUG } uu_dprintf_severity_t; extern uu_dprintf_t *uu_dprintf_create(const char *, uu_dprintf_severity_t, uint_t); /*PRINTFLIKE3*/ extern void uu_dprintf(uu_dprintf_t *, uu_dprintf_severity_t, const char *, ...); extern void uu_dprintf_destroy(uu_dprintf_t *); extern const char *uu_dprintf_getname(uu_dprintf_t *); /* * Identifier test flags and function. */ int uu_check_name(const char *, uint_t); /* * File creation functions. */ extern int uu_open_tmp(const char *dir, uint_t uflags); /* * Convenience functions. */ /*PRINTFLIKE1*/ extern char *uu_msprintf(const char *format, ...); extern void *uu_zalloc(size_t); extern char *uu_strdup(const char *); extern void uu_free(void *); extern boolean_t uu_strcaseeq(const char *a, const char *b); extern boolean_t uu_streq(const char *a, const char *b); extern char *uu_strndup(const char *s, size_t n); extern boolean_t uu_strbw(const char *a, const char *b); extern void *uu_memdup(const void *buf, size_t sz); extern void uu_dump(FILE *out, const char *prefix, const void *buf, size_t len); /* * Comparison function type definition. * Developers should be careful in their use of the _private argument. If you * break interface guarantees, you get undefined behavior. */ typedef int uu_compare_fn_t(const void *__left, const void *__right, void *__private); /* * Walk variant flags. * A data structure need not provide support for all variants and * combinations. Refer to the appropriate documentation. */ /* * Walk callback function return codes. */ /* * Walk callback function type definition. */ typedef int uu_walk_fn_t(void *_elem, void *_private); /* * lists: opaque structures */ typedef struct uu_list_pool uu_list_pool_t; typedef struct uu_list uu_list_t; typedef struct uu_list_node { uintptr_t uln_opaque[2]; } uu_list_node_t; typedef struct uu_list_walk uu_list_walk_t; typedef uintptr_t uu_list_index_t; /* * lists: interface * * basic usage: * typedef struct foo { * ... * uu_list_node_t foo_node; * ... * } foo_t; * * static int * foo_compare(void *l_arg, void *r_arg, void *private) * { * foo_t *l = l_arg; * foo_t *r = r_arg; * * if (... l greater than r ...) * return (1); * if (... l less than r ...) * return (-1); * return (0); * } * * ... * // at initialization time * foo_pool = uu_list_pool_create("foo_pool", * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, * debugging? 0 : UU_AVL_POOL_DEBUG); * ... */ uu_list_pool_t *uu_list_pool_create(const char *, size_t, size_t, uu_compare_fn_t *, uint32_t); void uu_list_pool_destroy(uu_list_pool_t *); /* * usage: * * foo_t *a; * a = malloc(sizeof(*a)); * uu_list_node_init(a, &a->foo_list, pool); * ... * uu_list_node_fini(a, &a->foo_list, pool); * free(a); */ void uu_list_node_init(void *, uu_list_node_t *, uu_list_pool_t *); void uu_list_node_fini(void *, uu_list_node_t *, uu_list_pool_t *); uu_list_t *uu_list_create(uu_list_pool_t *, void *_parent, uint32_t); void uu_list_destroy(uu_list_t *); /* list must be empty */ size_t uu_list_numnodes(uu_list_t *); void *uu_list_first(uu_list_t *); void *uu_list_last(uu_list_t *); void *uu_list_next(uu_list_t *, void *); void *uu_list_prev(uu_list_t *, void *); int uu_list_walk(uu_list_t *, uu_walk_fn_t *, void *, uint32_t); uu_list_walk_t *uu_list_walk_start(uu_list_t *, uint32_t); void *uu_list_walk_next(uu_list_walk_t *); void uu_list_walk_end(uu_list_walk_t *); void *uu_list_find(uu_list_t *, void *, void *, uu_list_index_t *); void uu_list_insert(uu_list_t *, void *, uu_list_index_t); void *uu_list_nearest_next(uu_list_t *, uu_list_index_t); void *uu_list_nearest_prev(uu_list_t *, uu_list_index_t); void *uu_list_teardown(uu_list_t *, void **); void uu_list_remove(uu_list_t *, void *); /* * lists: interfaces for non-sorted lists only */ int uu_list_insert_before(uu_list_t *, void *_target, void *_elem); int uu_list_insert_after(uu_list_t *, void *_target, void *_elem); /* * avl trees: opaque structures */ typedef struct uu_avl_pool uu_avl_pool_t; typedef struct uu_avl uu_avl_t; typedef struct uu_avl_node { uintptr_t uan_opaque[4]; } uu_avl_node_t; typedef struct uu_avl_walk uu_avl_walk_t; typedef uintptr_t uu_avl_index_t; /* * avl trees: interface * * basic usage: * typedef struct foo { * ... * uu_avl_node_t foo_node; * ... * } foo_t; * * static int * foo_compare(void *l_arg, void *r_arg, void *private) * { * foo_t *l = l_arg; * foo_t *r = r_arg; * * if (... l greater than r ...) * return (1); * if (... l less than r ...) * return (-1); * return (0); * } * * ... * // at initialization time * foo_pool = uu_avl_pool_create("foo_pool", * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, * debugging? 0 : UU_AVL_POOL_DEBUG); * ... */ uu_avl_pool_t *uu_avl_pool_create(const char *, size_t, size_t, uu_compare_fn_t *, uint32_t); void uu_avl_pool_destroy(uu_avl_pool_t *); /* * usage: * * foo_t *a; * a = malloc(sizeof(*a)); * uu_avl_node_init(a, &a->foo_avl, pool); * ... * uu_avl_node_fini(a, &a->foo_avl, pool); * free(a); */ void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *); void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *); uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t); void uu_avl_destroy(uu_avl_t *); /* list must be empty */ size_t uu_avl_numnodes(uu_avl_t *); void *uu_avl_first(uu_avl_t *); void *uu_avl_last(uu_avl_t *); void *uu_avl_next(uu_avl_t *, void *); void *uu_avl_prev(uu_avl_t *, void *); int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t); uu_avl_walk_t *uu_avl_walk_start(uu_avl_t *, uint32_t); void *uu_avl_walk_next(uu_avl_walk_t *); void uu_avl_walk_end(uu_avl_walk_t *); void *uu_avl_find(uu_avl_t *, void *, void *, uu_avl_index_t *); void uu_avl_insert(uu_avl_t *, void *, uu_avl_index_t); void *uu_avl_nearest_next(uu_avl_t *, uu_avl_index_t); void *uu_avl_nearest_prev(uu_avl_t *, uu_avl_index_t); void *uu_avl_teardown(uu_avl_t *, void **); void uu_avl_remove(uu_avl_t *, void *); # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.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 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. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 2 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" /* * The fields in struct extmnttab should match those in struct mnttab until new * fields are encountered. This allows hasmntopt(), getmntent_common() and * mntioctl() to cast one type to the other safely. * * The fields in struct mnttab, struct extmnttab and struct mntentbuf must all * match those in the corresponding 32-bit versions defined in mntvnops.c. */ struct mnttab { char *mnt_special; char *mnt_mountp; char *mnt_fstype; char *mnt_mntopts; char *mnt_time; }; struct extmnttab { char *mnt_special; char *mnt_mountp; char *mnt_fstype; char *mnt_mntopts; char *mnt_time; uint_t mnt_major; uint_t mnt_minor; }; struct mntentbuf { struct extmnttab *mbuf_emp; size_t mbuf_bufsize; char *mbuf_buf; }; extern void resetmnttab(FILE *); extern int getmntent(FILE *, struct mnttab *); extern int getextmntent(FILE *, struct extmnttab *, size_t); extern int getmntany(FILE *, struct mnttab *, struct mnttab *); extern char *hasmntopt(struct mnttab *, char *); extern char *mntopt(char **); # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 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 */ # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.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 1997 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/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/utmpx.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/utmpx.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. */ # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.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. */ /* * Note: The getutent(3c) family of interfaces are obsolete. * The getutxent(3c) family provide a superset of this functionality * and should be used in place of getutent(3c). */ # 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. */ # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" struct exit_status { short e_termination; /* Process termination status */ short e_exit; /* Process exit status */ }; # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" /* * This data structure describes the utmp entries returned by * the getutent(3c) family of APIs. It does not (necessarily) * correspond to the contents of the utmp or wtmp files. * * Applications should only interact with this subsystem via * the getutxent(3c) family of APIs, as the getutent(3c) family * are obsolete. */ struct utmp { char ut_user[8]; /* User login name */ char ut_id[4]; /* /etc/inittab id(usually line #) */ char ut_line[12]; /* device name (console, lnxx) */ short ut_pid; /* short for compat. - process id */ short ut_type; /* type of entry */ struct exit_status ut_exit; /* The exit status of a process */ /* marked as DEAD_PROCESS. */ time_t ut_time; /* time entry was made */ }; # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.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 2015 Nexenta Systems, Inc. */ # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 # 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. */ # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 /* * This data structure describes the utmp *file* contents using * fixed-width data types. It should only be used by the implementation. * * Applications should use the getutxent(3c) family of routines to interact * with this database. */ struct futmp { char ut_user[8]; /* User login name */ char ut_id[4]; /* /etc/inittab id */ char ut_line[12]; /* device name (console, lnxx) */ int16_t ut_pid; /* process id */ int16_t ut_type; /* type of entry */ struct { int16_t e_termination; /* Process termination status */ int16_t e_exit; /* Process exit status */ } ut_exit; /* The exit status of a process */ time32_t ut_time; /* time entry was made */ }; /* Definitions for ut_type */ # 135 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" /* Special strings or formats used in the "ut_line" field when */ /* accounting for something other than a process. */ /* No string for the ut_line field can be more than 11 chars + */ /* a NULL in length. */ # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" /* Define and macro for determing if a normal user wrote the entry */ /* and marking the utmpx entry as a normal user */ extern void endutent(void); extern struct utmp *getutent(void); extern struct utmp *getutid(const struct utmp *); extern struct utmp *getutline(const struct utmp *); extern struct utmp *pututline(const struct utmp *); extern void setutent(void); extern int utmpname(const char *); # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" /* * This data structure describes the utmpx entries returned by * the getutxent(3c) family of APIs. It does not (necessarily) * correspond to the contents of the utmpx or wtmpx files. * * Applications should only interact with this subsystem via * the getutxent(3c) family of APIs. */ struct utmpx { char ut_user[32]; /* user login name */ char ut_id[4]; /* inittab id */ char ut_line[32]; /* device name (console, lnxx) */ pid_t ut_pid; /* process id */ short ut_type; /* type of entry */ struct exit_status ut_exit; /* process termination/exit status */ struct timeval ut_tv; /* time entry was made */ int ut_session; /* session ID, used for windowing */ int pad[5]; /* reserved for future use */ short ut_syslen; /* significant length of ut_host */ /* including terminating null */ char ut_host[257]; /* remote host name */ }; # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.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 2015 Nexenta Systems, Inc. */ # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 # 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. */ # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 /* * This data structure describes the utmp *file* contents using * fixed-width data types. It should only be used by the implementation. * * Applications should use the getutxent(3c) family of routines to interact * with this database. */ struct futmpx { char ut_user[32]; /* user login name */ char ut_id[4]; /* inittab id */ char ut_line[32]; /* device name (console, lnxx) */ pid32_t ut_pid; /* process id */ int16_t ut_type; /* type of entry */ struct { int16_t e_termination; /* process termination status */ int16_t e_exit; /* process exit status */ } ut_exit; /* exit status of a process */ struct timeval32 ut_tv; /* time entry was made */ int32_t ut_session; /* session ID, user for windowing */ int32_t pad[5]; /* reserved for future use */ int16_t ut_syslen; /* significant length of ut_host */ char ut_host[257]; /* remote host name */ }; /* Define and macro for determing if a normal user wrote the entry */ /* and marking the utmpx entry as a normal user */ extern void endutxent(void); extern struct utmpx *getutxent(void); extern struct utmpx *getutxid(const struct utmpx *); extern struct utmpx *getutxline(const struct utmpx *); extern struct utmpx *pututxline(const struct utmpx *); extern void setutxent(void); extern int utmpxname(const char *); extern struct utmpx *makeutx(const struct utmpx *); extern struct utmpx *modutx(const struct utmpx *); extern void getutmp(const struct utmpx *, struct utmp *); extern void getutmpx(const struct utmp *, struct utmpx *); extern void updwtmp(const char *, struct utmp *); extern void updwtmpx(const char *, struct utmpx *); # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" /* * Warning: these are shared with the admin/install consolidation. * Do not insert states between any of the currently defined states, * and any new states must be evaluated for impact on range comparisons. */ # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" /* Owner, group, and mode (defined by packaging) for the config directory */ /* Owner, group, and mode (defined by packaging) for the index file */ /* The maximum length of the VERSION string in the pkginfo(4) file. */ /* * Shortened alias names for the zones rctls. */ # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" /* Default name for zone detached manifest */ /* * Bit flag definitions for passing into libzonecfg functions. */ /* * The integer field expresses the current values on a get. * On a put, it represents the new values if >= 0 or "don't change" if < 0. */ struct zoneent { char zone_name[64]; /* name of the zone */ int zone_state; /* configured | incomplete | installed */ char zone_path[1024]; /* path to zone storage */ uuid_t zone_uuid; /* unique ID for zone */ char zone_newname[64]; /* for doing renames */ }; typedef struct zone_dochandle *zone_dochandle_t; /* opaque handle */ typedef uint_t zone_state_t; typedef struct zone_fsopt { struct zone_fsopt *zone_fsopt_next; char zone_fsopt_opt[1024]; } zone_fsopt_t; struct zone_fstab { char zone_fs_special[1024]; /* special file */ char zone_fs_dir[1024]; /* mount point */ char zone_fs_type[16]; /* e.g. ufs */ zone_fsopt_t *zone_fs_options; /* mount options */ char zone_fs_raw[1024]; /* device to fsck */ }; struct zone_nwiftab { char zone_nwif_address[46]; /* shared-ip only */ char zone_nwif_allowed_address[46]; /* excl-ip only */ char zone_nwif_physical[32]; char zone_nwif_defrouter[46]; }; struct zone_devtab { char zone_dev_match[1024]; }; struct zone_rctlvaltab { char zone_rctlval_priv[256]; char zone_rctlval_limit[256]; char zone_rctlval_action[256]; struct zone_rctlvaltab *zone_rctlval_next; }; struct zone_rctltab { char zone_rctl_name[256]; struct zone_rctlvaltab *zone_rctl_valptr; }; struct zone_attrtab { char zone_attr_name[256]; char zone_attr_type[256]; char zone_attr_value[2 * 1024]; }; struct zone_dstab { char zone_dataset_name[256]; }; struct zone_psettab { char zone_ncpu_min[256]; char zone_ncpu_max[256]; char zone_importance[256]; }; struct zone_mcaptab { char zone_physmem_cap[256]; }; struct zone_pkgtab { char zone_pkg_name[256]; char zone_pkg_version[256]; }; struct zone_devpermtab { char zone_devperm_name[1024]; uid_t zone_devperm_uid; gid_t zone_devperm_gid; mode_t zone_devperm_mode; char *zone_devperm_acl; }; struct zone_admintab { char zone_admin_user[(sizeof (((struct utmpx *)0)->ut_user))]; char zone_admin_auths[4096]; }; typedef struct zone_userauths { char user[(sizeof (((struct utmpx *)0)->ut_user))]; char zonename[64]; struct zone_userauths *next; } zone_userauths_t; typedef struct { uu_avl_node_t zpe_entry; char *zpe_name; char *zpe_vers; } zone_pkg_entry_t; typedef enum zone_iptype { ZS_SHARED, ZS_EXCLUSIVE } zone_iptype_t; /* * Basic configuration management routines. */ extern zone_dochandle_t zonecfg_init_handle(void); extern int zonecfg_get_handle(const char *, zone_dochandle_t); extern int zonecfg_get_snapshot_handle(const char *, zone_dochandle_t); extern int zonecfg_get_template_handle(const char *, const char *, zone_dochandle_t); extern int zonecfg_get_xml_handle(const char *, zone_dochandle_t); extern int zonecfg_check_handle(zone_dochandle_t); extern void zonecfg_fini_handle(zone_dochandle_t); extern int zonecfg_destroy(const char *, boolean_t); extern int zonecfg_destroy_snapshot(const char *); extern int zonecfg_save(zone_dochandle_t); extern int zonecfg_create_snapshot(const char *); extern char *zonecfg_strerror(int); extern int zonecfg_access(const char *, int); extern void zonecfg_set_root(const char *); extern const char *zonecfg_get_root(void); extern boolean_t zonecfg_in_alt_root(void); extern int zonecfg_num_resources(zone_dochandle_t, char *); extern int zonecfg_del_all_resources(zone_dochandle_t, char *); extern boolean_t zonecfg_valid_ncpus(char *, char *); extern boolean_t zonecfg_valid_importance(char *); extern int zonecfg_str_to_bytes(char *, uint64_t *); extern boolean_t zonecfg_valid_memlimit(char *, uint64_t *); extern boolean_t zonecfg_valid_alias_limit(char *, char *, uint64_t *); /* * Zone name, path to zone directory, autoboot setting, pool, boot * arguments, and scheduling-class. */ extern int zonecfg_validate_zonename(const char *); extern int zonecfg_get_name(zone_dochandle_t, char *, size_t); extern int zonecfg_set_name(zone_dochandle_t, char *); extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t); extern int zonecfg_set_zonepath(zone_dochandle_t, char *); extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *); extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t); extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *); extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t); extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t); extern int zonecfg_set_pool(zone_dochandle_t, char *); extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t); extern int zonecfg_set_bootargs(zone_dochandle_t, char *); extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t); extern int zonecfg_set_sched(zone_dochandle_t, char *); extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int); /* * Set/retrieve the brand for the zone */ extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t); extern int zonecfg_set_brand(zone_dochandle_t, char *); /* * Filesystem configuration. */ extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *); extern int zonecfg_delete_filesystem(zone_dochandle_t, struct zone_fstab *); extern int zonecfg_modify_filesystem(zone_dochandle_t, struct zone_fstab *, struct zone_fstab *); extern int zonecfg_lookup_filesystem(zone_dochandle_t, struct zone_fstab *); extern int zonecfg_add_fs_option(struct zone_fstab *, char *); extern int zonecfg_remove_fs_option(struct zone_fstab *, char *); extern void zonecfg_free_fs_option_list(zone_fsopt_t *); extern int zonecfg_find_mounts(char *, int(*)(const struct mnttab *, void *), void *); /* * Network interface configuration. */ extern int zonecfg_add_nwif(zone_dochandle_t, struct zone_nwiftab *); extern int zonecfg_delete_nwif(zone_dochandle_t, struct zone_nwiftab *); extern int zonecfg_modify_nwif(zone_dochandle_t, struct zone_nwiftab *, struct zone_nwiftab *); extern int zonecfg_lookup_nwif(zone_dochandle_t, struct zone_nwiftab *); /* * Hostid emulation configuration. */ extern int zonecfg_get_hostid(zone_dochandle_t, char *, size_t); extern int zonecfg_set_hostid(zone_dochandle_t, const char *); /* * Allowed FS mounts configuration. */ extern int zonecfg_get_fs_allowed(zone_dochandle_t, char *, size_t); extern int zonecfg_set_fs_allowed(zone_dochandle_t, const char *); /* * Device configuration and rule matching. */ extern int zonecfg_add_dev(zone_dochandle_t, struct zone_devtab *); extern int zonecfg_delete_dev(zone_dochandle_t, struct zone_devtab *); extern int zonecfg_modify_dev(zone_dochandle_t, struct zone_devtab *, struct zone_devtab *); extern int zonecfg_lookup_dev(zone_dochandle_t, struct zone_devtab *); /* * Resource control configuration. */ extern int zonecfg_add_rctl(zone_dochandle_t, struct zone_rctltab *); extern int zonecfg_delete_rctl(zone_dochandle_t, struct zone_rctltab *); extern int zonecfg_modify_rctl(zone_dochandle_t, struct zone_rctltab *, struct zone_rctltab *); extern int zonecfg_lookup_rctl(zone_dochandle_t, struct zone_rctltab *); extern int zonecfg_add_rctl_value(struct zone_rctltab *, struct zone_rctlvaltab *); extern int zonecfg_remove_rctl_value(struct zone_rctltab *, struct zone_rctlvaltab *); extern void zonecfg_free_rctl_value_list(struct zone_rctlvaltab *); extern boolean_t zonecfg_aliased_rctl_ok(zone_dochandle_t, char *); extern int zonecfg_set_aliased_rctl(zone_dochandle_t, char *, uint64_t); extern int zonecfg_get_aliased_rctl(zone_dochandle_t, char *, uint64_t *); extern int zonecfg_rm_aliased_rctl(zone_dochandle_t, char *); extern int zonecfg_apply_rctls(char *, zone_dochandle_t); /* * Generic attribute configuration and type/value extraction. */ extern int zonecfg_add_attr(zone_dochandle_t, struct zone_attrtab *); extern int zonecfg_delete_attr(zone_dochandle_t, struct zone_attrtab *); extern int zonecfg_modify_attr(zone_dochandle_t, struct zone_attrtab *, struct zone_attrtab *); extern int zonecfg_lookup_attr(zone_dochandle_t, struct zone_attrtab *); extern int zonecfg_get_attr_boolean(const struct zone_attrtab *, boolean_t *); extern int zonecfg_get_attr_int(const struct zone_attrtab *, int64_t *); extern int zonecfg_get_attr_string(const struct zone_attrtab *, char *, size_t); extern int zonecfg_get_attr_uint(const struct zone_attrtab *, uint64_t *); /* * ZFS configuration. */ extern int zonecfg_add_ds(zone_dochandle_t, struct zone_dstab *); extern int zonecfg_delete_ds(zone_dochandle_t, struct zone_dstab *); extern int zonecfg_modify_ds(zone_dochandle_t, struct zone_dstab *, struct zone_dstab *); extern int zonecfg_lookup_ds(zone_dochandle_t, struct zone_dstab *); /* * cpu-set configuration. */ extern int zonecfg_add_pset(zone_dochandle_t, struct zone_psettab *); extern int zonecfg_delete_pset(zone_dochandle_t); extern int zonecfg_modify_pset(zone_dochandle_t, struct zone_psettab *); extern int zonecfg_lookup_pset(zone_dochandle_t, struct zone_psettab *); /* * mem-cap configuration. */ extern int zonecfg_delete_mcap(zone_dochandle_t); extern int zonecfg_modify_mcap(zone_dochandle_t, struct zone_mcaptab *); extern int zonecfg_lookup_mcap(zone_dochandle_t, struct zone_mcaptab *); /* * Temporary pool support functions. */ extern int zonecfg_destroy_tmp_pool(char *, char *, int); extern int zonecfg_bind_tmp_pool(zone_dochandle_t, zoneid_t, char *, int); extern int zonecfg_bind_pool(zone_dochandle_t, zoneid_t, char *, int); extern boolean_t zonecfg_warn_poold(zone_dochandle_t); extern int zonecfg_get_poolname(zone_dochandle_t, char *, char *, size_t); /* * Miscellaneous utility functions. */ extern int zonecfg_enable_rcapd(char *, int); /* * attach/detach support. */ extern int zonecfg_get_attach_handle(const char *, const char *, const char *, boolean_t, zone_dochandle_t); extern int zonecfg_attach_manifest(int, zone_dochandle_t, zone_dochandle_t); extern int zonecfg_detach_save(zone_dochandle_t, uint_t); extern boolean_t zonecfg_detached(const char *); extern void zonecfg_rm_detached(zone_dochandle_t, boolean_t forced); extern int zonecfg_dev_manifest(zone_dochandle_t); extern int zonecfg_devperms_apply(zone_dochandle_t, const char *, uid_t, gid_t, mode_t, const char *); extern void zonecfg_set_swinv(zone_dochandle_t); extern int zonecfg_add_pkg(zone_dochandle_t, char *, char *); /* * External zone verification support. */ extern int zonecfg_verify_save(zone_dochandle_t, char *); /* * '*ent' iterator routines. */ extern int zonecfg_setfsent(zone_dochandle_t); extern int zonecfg_getfsent(zone_dochandle_t, struct zone_fstab *); extern int zonecfg_endfsent(zone_dochandle_t); extern int zonecfg_setnwifent(zone_dochandle_t); extern int zonecfg_getnwifent(zone_dochandle_t, struct zone_nwiftab *); extern int zonecfg_endnwifent(zone_dochandle_t); extern int zonecfg_setdevent(zone_dochandle_t); extern int zonecfg_getdevent(zone_dochandle_t, struct zone_devtab *); extern int zonecfg_enddevent(zone_dochandle_t); extern int zonecfg_setattrent(zone_dochandle_t); extern int zonecfg_getattrent(zone_dochandle_t, struct zone_attrtab *); extern int zonecfg_endattrent(zone_dochandle_t); extern int zonecfg_setrctlent(zone_dochandle_t); extern int zonecfg_getrctlent(zone_dochandle_t, struct zone_rctltab *); extern int zonecfg_endrctlent(zone_dochandle_t); extern int zonecfg_setdsent(zone_dochandle_t); extern int zonecfg_getdsent(zone_dochandle_t, struct zone_dstab *); extern int zonecfg_enddsent(zone_dochandle_t); extern int zonecfg_getpsetent(zone_dochandle_t, struct zone_psettab *); extern int zonecfg_getmcapent(zone_dochandle_t, struct zone_mcaptab *); extern int zonecfg_getpkgdata(zone_dochandle_t, uu_avl_pool_t *, uu_avl_t *); extern int zonecfg_setdevperment(zone_dochandle_t); extern int zonecfg_getdevperment(zone_dochandle_t, struct zone_devpermtab *); extern int zonecfg_enddevperment(zone_dochandle_t); extern int zonecfg_setadminent(zone_dochandle_t); extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *); extern int zonecfg_endadminent(zone_dochandle_t); /* * Privilege-related functions. */ extern int zonecfg_default_privset(priv_set_t *, const char *); extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *, char **); extern int zonecfg_get_limitpriv(zone_dochandle_t, char **); extern int zonecfg_set_limitpriv(zone_dochandle_t, char *); /* * Higher-level routines. */ extern int zone_get_brand(char *, char *, size_t); extern int zone_get_rootpath(char *, char *, size_t); extern int zone_get_devroot(char *, char *, size_t); extern int zone_get_zonepath(char *, char *, size_t); extern int zone_get_state(char *, zone_state_t *); extern int zone_set_state(char *, zone_state_t); extern char *zone_state_str(zone_state_t); extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t); extern int zonecfg_get_uuid(const char *, uuid_t); extern int zonecfg_default_brand(char *, size_t); /* * Iterator for configured zones. */ extern FILE *setzoneent(void); extern char *getzoneent(FILE *); extern struct zoneent *getzoneent_private(FILE *); extern void endzoneent(FILE *); /* * File-system-related convenience functions. */ extern boolean_t zonecfg_valid_fs_type(const char *); /* * Network-related convenience functions. */ extern boolean_t zonecfg_same_net_address(char *, char *); extern int zonecfg_valid_net_address(char *, struct lifreq *); extern boolean_t zonecfg_ifname_exists(sa_family_t, char *); /* * Rctl-related common functions. */ extern boolean_t zonecfg_is_rctl(const char *); extern boolean_t zonecfg_valid_rctlname(const char *); extern boolean_t zonecfg_valid_rctlblk(const rctlblk_t *); extern boolean_t zonecfg_valid_rctl(const char *, const rctlblk_t *); extern int zonecfg_construct_rctlblk(const struct zone_rctlvaltab *, rctlblk_t *); /* * Live Upgrade support functions. Shared between ON and install gate. */ extern FILE *zonecfg_open_scratch(const char *, boolean_t); extern int zonecfg_lock_scratch(FILE *); extern void zonecfg_close_scratch(FILE *); extern int zonecfg_get_scratch(FILE *, char *, size_t, char *, size_t, char *, size_t); extern int zonecfg_find_scratch(FILE *, const char *, const char *, char *, size_t); extern int zonecfg_reverse_scratch(FILE *, const char *, char *, size_t, char *, size_t); extern int zonecfg_add_scratch(FILE *, const char *, const char *, const char *); extern int zonecfg_delete_scratch(FILE *, const char *); extern boolean_t zonecfg_is_scratch(const char *); /* * zoneadmd support functions. Shared between zoneadm and brand hook code. */ extern void zonecfg_init_lock_file(const char *, char **); extern void zonecfg_release_lock_file(const char *, int); extern int zonecfg_grab_lock_file(const char *, int *); extern boolean_t zonecfg_lock_file_held(int *); extern int zonecfg_ping_zoneadmd(const char *); extern int zonecfg_call_zoneadmd(const char *, zone_cmd_arg_t *, char *, boolean_t); extern int zonecfg_insert_userauths(zone_dochandle_t, char *, char *); extern int zonecfg_remove_userauths(zone_dochandle_t, char *, char *, boolean_t); extern int zonecfg_add_admin(zone_dochandle_t, struct zone_admintab *, char *); extern int zonecfg_delete_admin(zone_dochandle_t, struct zone_admintab *, char *); extern int zonecfg_modify_admin(zone_dochandle_t, struct zone_admintab *, struct zone_admintab *, char *); extern int zonecfg_delete_admins(zone_dochandle_t, char *); extern int zonecfg_lookup_admin(zone_dochandle_t, struct zone_admintab *); extern int zonecfg_authorize_users(zone_dochandle_t, char *); extern int zonecfg_update_userauths(zone_dochandle_t, char *); extern int zonecfg_deauthorize_user(zone_dochandle_t, char *, char *); extern int zonecfg_deauthorize_users(zone_dochandle_t, char *); extern boolean_t zonecfg_valid_auths(const char *, const char *); # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 /* * C++ prefix */ /* function prototypes */ /* PRINTFLIKE1 */ typedef void (*_z_printf_fcn_t)(char *a_format, ...); /* zone list structure */ typedef struct _zoneListElement_t *zoneList_t; /* zone brand list structure */ typedef struct _zoneBrandList zoneBrandList_t; /* flag for zone locking functions */ typedef unsigned long ZLOCKS_T; /* flags for zone locking */ /* * external function definitions */ /* zones.c */ extern boolean_t z_zones_are_implemented(void); extern void z_set_zone_root(const char *zroot); extern boolean_t z_zlist_is_zone_runnable(zoneList_t a_zoneList, int a_zoneIndex); extern boolean_t z_zlist_restore_zone_state(zoneList_t a_zoneList, int a_zoneIndex); extern boolean_t z_zlist_change_zone_state(zoneList_t a_zoneList, int a_zoneIndex, zone_state_t a_newState); extern char *z_get_zonename(void); extern zone_state_t z_zlist_get_current_state(zoneList_t a_zoneList, int a_zoneIndex); extern zone_state_t z_zlist_get_original_state(zoneList_t a_zoneList, int a_zoneIndex); extern int z_zoneExecCmdArray(int *r_status, char **r_results, char *a_inputFile, char *a_path, char *a_argv[], const char *a_zoneName, int *a_fds); extern int z_zone_exec(const char *zonename, const char *path, char *argv[], char *a_stdoutPath, char *a_stderrPath, int *a_fds); extern boolean_t z_create_zone_admin_file(char *a_zoneAdminFilename, char *a_userAdminFilename); extern void z_free_zone_list(zoneList_t a_zoneList); extern zoneList_t z_get_nonglobal_zone_list(void); extern zoneList_t z_get_nonglobal_zone_list_by_brand(zoneBrandList_t *); extern void z_free_brand_list(zoneBrandList_t *a_brandList); extern zoneBrandList_t *z_make_brand_list(const char *brandList, const char *delim); extern boolean_t z_lock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); extern boolean_t z_non_global_zones_exist(void); extern boolean_t z_running_in_global_zone(void); extern void z_set_output_functions(_z_printf_fcn_t a_echo_fcn, _z_printf_fcn_t a_echo_debug_fcn, _z_printf_fcn_t a_progerr_fcn); extern int z_set_zone_spec(const char *zlist); extern int z_verify_zone_spec(void); extern boolean_t z_on_zone_spec(const char *zonename); extern boolean_t z_global_only(void); extern boolean_t z_unlock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); extern boolean_t z_lock_this_zone(ZLOCKS_T a_lflags); extern boolean_t z_unlock_this_zone(ZLOCKS_T a_lflags); extern char *z_zlist_get_zonename(zoneList_t a_zoneList, int a_zoneId); extern char *z_zlist_get_zonepath(zoneList_t a_zoneList, int a_zoneId); extern char *z_zlist_get_scratch(zoneList_t a_zoneList, int a_zoneId); extern boolean_t z_umount_lz_mount(char *a_lzMountPoint); extern boolean_t z_mount_in_lz(char **r_lzMountPoint, char **r_lzRootPath, char *a_zoneName, char *a_gzPath, char *a_mountPointPrefix); extern boolean_t z_is_zone_branded(char *zoneName); extern boolean_t z_is_zone_brand_in_list(char *zoneName, zoneBrandList_t *brands); extern boolean_t z_zones_are_implemented(void); /* zones_exec.c */ extern int z_ExecCmdArray(int *r_status, char **r_results, char *a_inputFile, char *a_cmd, char **a_args); /*VARARGS*/ extern int z_ExecCmdList(int *r_status, char **r_results, char *a_inputFile, char *a_cmd, ...); /* zones_paths.c */ extern char *z_make_zone_root(char *); extern void z_path_canonize(char *file); extern void z_canoninplace(char *file); /* zones_lofs.c */ extern void z_destroyMountTable(void); extern int z_createMountTable(void); extern int z_isPathWritable(const char *); extern void z_resolve_lofs(char *path, size_t); /* zones_states.c */ extern int UmountAllZones(char *mntpnt); /* * C++ postfix */ # 42 "log.c" 2 /* * consolidation pkg command library includes */ # 1 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.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 */ # 38 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.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. */ # 39 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 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 */ # 40 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.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. */ # 41 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgdev.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 */ #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. */ # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgdev.h" 2 struct pkgdev { int rdonly; int mntflg; longlong_t capacity; /* number of 512-blocks on device */ char *name; char *dirname; char *pathname; char *mount; char *fstyp; char *cdevice; char *bdevice; char *norewind; }; # 42 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgstrct.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 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/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. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgstrct.h" 2 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgstrct.h" extern char *errstr; struct ainfo { char *local; mode_t mode; char owner[64 +1]; char group[64 +1]; major_t major; minor_t minor; }; struct cinfo { long cksum; fsblkcnt_t size; time_t modtime; }; struct pinfo { char status; char pkg[64 +1]; char editflag; char aclass[64 +1]; struct pinfo *next; }; struct cfent { short volno; char ftype; char pkg_class[64 +1]; int pkg_class_idx; char *path; struct ainfo ainfo; struct cinfo cinfo; short npkgs; struct pinfo *pinfo; }; /* averify() & cverify() error codes */ # 43 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 65 "/usr/include/openssl/e_os2.h" 3 4 /****************************************************************************** * Detect operating systems. This probably needs completing. * The result is that at least one OPENSSL_SYS_os macro should be defined. * However, if none is defined, Unix is assumed. **/ /* ---------------------- Macintosh, before MacOS X ----------------------- */ /* ---------------------- NetWare ----------------------------------------- */ /* --------------------- Microsoft operating systems ---------------------- */ /* * Note that MSDOS actually denotes 32-bit environments running on top of * MS-DOS, such as DJGPP one. */ /* * For 32 bit environment, there seems to be the CygWin environment and then * all the others that try to do the same thing Microsoft does... */ # 129 "/usr/include/openssl/e_os2.h" 3 4 /* Anything that tries to look like Microsoft is "Windows" */ # 138 "/usr/include/openssl/e_os2.h" 3 4 /* * DLL settings. This part is a bit tough, because it's up to the * application implementor how he or she will link the application, so it * requires some macro to be used. */ # 152 "/usr/include/openssl/e_os2.h" 3 4 /* ------------------------------- OpenVMS -------------------------------- */ # 166 "/usr/include/openssl/e_os2.h" 3 4 /* -------------------------------- OS/2 ---------------------------------- */ /* -------------------------------- Unix ---------------------------------- */ # 207 "/usr/include/openssl/e_os2.h" 3 4 /* -------------------------------- VOS ----------------------------------- */ # 218 "/usr/include/openssl/e_os2.h" 3 4 /* ------------------------------ VxWorks --------------------------------- */ /* -------------------------------- BeOS ---------------------------------- */ # 234 "/usr/include/openssl/e_os2.h" 3 4 /** * That's it for OS-specific stuff *****************************************************************************/ /* Specials for I/O an exit */ # 247 "/usr/include/openssl/e_os2.h" 3 4 /*- * Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare * certain global symbols that, with some compilers under VMS, have to be * defined and declared explicitely with globaldef and globalref. * Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare * DLL exports and imports for compilers under Win32. These are a little * more complicated to use. Basically, for any library that exports some * global variables, the following code must be present in the header file * that declares them, before OPENSSL_EXTERN is used: * * #ifdef SOME_BUILD_FLAG_MACRO * # undef OPENSSL_EXTERN * # define OPENSSL_EXTERN OPENSSL_EXPORT * #endif * * The default is to have OPENSSL_EXPORT, OPENSSL_IMPORT and OPENSSL_GLOBAL * have some generally sensible values, and for OPENSSL_EXTERN to have the * value OPENSSL_IMPORT. */ # 282 "/usr/include/openssl/e_os2.h" 3 4 /*- * Macros to allow global variables to be reached through function calls when * required (if a shared library version requires it, for example. * The way it's done allows definitions like this: * * // in foobar.c * OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) * // in foobar.h * OPENSSL_DECLARE_GLOBAL(int,foobar); * #define foobar OPENSSL_GLOBAL_REF(foobar) */ # 63 "/usr/include/openssl/bio.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 3 4 /* * 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. */ # 66 "/usr/include/openssl/bio.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 3 4 /* * 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. */ # 68 "/usr/include/openssl/bio.h" 2 3 4 # 1 "/usr/include/openssl/crypto.h" 1 3 4 /* crypto/crypto.h */ /* ==================================================================== * Copyright (c) 1998-2006 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 3 4 /* * 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 */ # 121 "/usr/include/openssl/crypto.h" 2 3 4 # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 123 "/usr/include/openssl/crypto.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 3 4 /* * 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. */ # 126 "/usr/include/openssl/crypto.h" 2 3 4 # 1 "/usr/include/openssl/stack.h" 1 3 4 /* crypto/stack/stack.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 66 "/usr/include/openssl/stack.h" 3 4 typedef struct stack_st { int num; char **data; int sorted; int num_alloc; int (*comp) (const void *, const void *); } _STACK; /* Use STACK_OF(...) instead */ int sk_num(const _STACK *); void *sk_value(const _STACK *, int); void *sk_set(_STACK *, int, void *); _STACK *sk_new(int (*cmp) (const void *, const void *)); _STACK *sk_new_null(void); void sk_free(_STACK *); void sk_pop_free(_STACK *st, void (*func) (void *)); _STACK *sk_deep_copy(_STACK *, void *(*)(void *), void (*)(void *)); int sk_insert(_STACK *sk, void *data, int where); void *sk_delete(_STACK *st, int loc); void *sk_delete_ptr(_STACK *st, void *p); int sk_find(_STACK *st, void *data); int sk_find_ex(_STACK *st, void *data); int sk_push(_STACK *st, void *data); int sk_unshift(_STACK *st, void *data); void *sk_shift(_STACK *st); void *sk_pop(_STACK *st); void sk_zero(_STACK *st); int (*sk_set_cmp_func(_STACK *sk, int (*c) (const void *, const void *))) (const void *, const void *); _STACK *sk_dup(_STACK *st); void sk_sort(_STACK *st); int sk_is_sorted(const _STACK *st); # 129 "/usr/include/openssl/crypto.h" 2 3 4 # 1 "/usr/include/openssl/safestack.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/stack.h" 1 3 4 /* crypto/stack/stack.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 59 "/usr/include/openssl/safestack.h" 2 3 4 # 69 "/usr/include/openssl/safestack.h" 3 4 /* * In C++ we get problems because an explicit cast is needed from (void *) we * use CHECKED_STACK_OF to ensure the correct type is passed in the macros * below. */ # 102 "/usr/include/openssl/safestack.h" 3 4 /* nada (obsolete in new safestack approach)*/ /*- * Strings are special: normally an lhash entry will point to a single * (somewhat) mutable object. In the case of strings: * * a) Instead of a single char, there is an array of chars, NUL-terminated. * b) The string may have be immutable. * * So, they need their own declarations. Especially important for * type-checking tools, such as Deputy. * * In practice, however, it appears to be hard to have a const * string. For now, I'm settling for dealing with the fact it is a * string at all. */ typedef char *OPENSSL_STRING; typedef const char *OPENSSL_CSTRING; /* * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned * above, instead of a single char each entry is a NUL-terminated array of * chars. So, we have to implement STRING specially for STACK_OF. This is * dealt with in the autogenerated macros below. */ struct stack_st_OPENSSL_STRING { _STACK stack; }; /* * Similarly, we sometimes use a block of characters, NOT nul-terminated. * These should also be distinguished from "normal" stacks. */ typedef void *OPENSSL_BLOCK; struct stack_st_OPENSSL_BLOCK { _STACK stack; }; /* * SKM_sk_... stack macros are internal to safestack.h: never use them * directly, use sk__... instead */ # 211 "/usr/include/openssl/safestack.h" 3 4 /* * This block of defines is updated by util/mkstack.pl, please do not touch! */ # 130 "/usr/include/openssl/crypto.h" 2 3 4 # 1 "/usr/include/openssl/opensslv.h" 1 3 4 /*- * Numeric release version identifier: * MNNFFPPS: major minor fix patch status * The status nibble has one of the values 0 for development, 1 to e for betas * 1 to 14, and f for release. The patch level is exactly that. * For example: * 0.9.3-dev 0x00903000 * 0.9.3-beta1 0x00903001 * 0.9.3-beta2-dev 0x00903002 * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) * 0.9.3 0x0090300f * 0.9.3a 0x0090301f * 0.9.4 0x0090400f * 1.2.3z 0x102031af * * For continuity reasons (because 0.9.5 is already out, and is coded * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level * part is slightly different, by setting the highest bit. This means * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start * with 0x0090600S... * * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ # 41 "/usr/include/openssl/opensslv.h" 3 4 /*- * The macros below are to be used for shared library (.so, .dll, ...) * versioning. That kind of versioning works a bit differently between * operating systems. The most usual scheme is to set a major and a minor * number, and have the runtime loader check that the major number is equal * to what it was at application link time, while the minor number has to * be greater or equal to what it was at application link time. With this * scheme, the version number is usually part of the file name, like this: * * libcrypto.so.0.9 * * Some unixen also make a softlink with the major verson number only: * * libcrypto.so.0 * * On Tru64 and IRIX 6.x it works a little bit differently. There, the * shared library version is stored in the file, and is actually a series * of versions, separated by colons. The rightmost version present in the * library when linking an application is stored in the application to be * matched at run time. When the application is run, a check is done to * see if the library version stored in the application matches any of the * versions in the version string of the library itself. * This version string can be constructed in any way, depending on what * kind of matching is desired. However, to implement the same scheme as * the one used in the other unixen, all compatible versions, from lowest * to highest, should be part of the string. Consecutive builds would * give the following versions strings: * * 3.0 * 3.0:3.1 * 3.0:3.1:3.2 * 4.0 * 4.0:4.1 * * Notice how version 4 is completely incompatible with version, and * therefore give the breach you can see. * * There may be other schemes as well that I haven't yet discovered. * * So, here's the way it works here: first of all, the library version * number doesn't need at all to match the overall OpenSSL version. * However, it's nice and more understandable if it actually does. * The current library version is stored in the macro SHLIB_VERSION_NUMBER, * which is just a piece of text in the format "M.m.e" (Major, minor, edit). * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, * we need to keep a history of version numbers, which is done in the * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and * should only keep the versions that are binary compatible with the current. */ # 131 "/usr/include/openssl/crypto.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 62 "/usr/include/openssl/ossl_typ.h" 3 4 # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 63 "/usr/include/openssl/ossl_typ.h" 2 3 4 # 83 "/usr/include/openssl/ossl_typ.h" 3 4 typedef struct asn1_string_st ASN1_INTEGER; typedef struct asn1_string_st ASN1_ENUMERATED; typedef struct asn1_string_st ASN1_BIT_STRING; typedef struct asn1_string_st ASN1_OCTET_STRING; typedef struct asn1_string_st ASN1_PRINTABLESTRING; typedef struct asn1_string_st ASN1_T61STRING; typedef struct asn1_string_st ASN1_IA5STRING; typedef struct asn1_string_st ASN1_GENERALSTRING; typedef struct asn1_string_st ASN1_UNIVERSALSTRING; typedef struct asn1_string_st ASN1_BMPSTRING; typedef struct asn1_string_st ASN1_UTCTIME; typedef struct asn1_string_st ASN1_TIME; typedef struct asn1_string_st ASN1_GENERALIZEDTIME; typedef struct asn1_string_st ASN1_VISIBLESTRING; typedef struct asn1_string_st ASN1_UTF8STRING; typedef struct asn1_string_st ASN1_STRING; typedef int ASN1_BOOLEAN; typedef int ASN1_NULL; typedef struct asn1_object_st ASN1_OBJECT; typedef struct ASN1_ITEM_st ASN1_ITEM; typedef struct asn1_pctx_st ASN1_PCTX; # 120 "/usr/include/openssl/ossl_typ.h" 3 4 typedef struct bignum_st BIGNUM; typedef struct bignum_ctx BN_CTX; typedef struct bn_blinding_st BN_BLINDING; typedef struct bn_mont_ctx_st BN_MONT_CTX; typedef struct bn_recp_ctx_st BN_RECP_CTX; typedef struct bn_gencb_st BN_GENCB; typedef struct buf_mem_st BUF_MEM; typedef struct evp_cipher_st EVP_CIPHER; typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; typedef struct env_md_st EVP_MD; typedef struct env_md_ctx_st EVP_MD_CTX; typedef struct evp_pkey_st EVP_PKEY; typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; typedef struct evp_pkey_method_st EVP_PKEY_METHOD; typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; typedef struct dh_st DH; typedef struct dh_method DH_METHOD; typedef struct dsa_st DSA; typedef struct dsa_method DSA_METHOD; typedef struct rsa_st RSA; typedef struct rsa_meth_st RSA_METHOD; typedef struct rand_meth_st RAND_METHOD; typedef struct ecdh_method ECDH_METHOD; typedef struct ecdsa_method ECDSA_METHOD; typedef struct x509_st X509; typedef struct X509_algor_st X509_ALGOR; typedef struct X509_crl_st X509_CRL; typedef struct x509_crl_method_st X509_CRL_METHOD; typedef struct x509_revoked_st X509_REVOKED; typedef struct X509_name_st X509_NAME; typedef struct X509_pubkey_st X509_PUBKEY; typedef struct x509_store_st X509_STORE; typedef struct x509_store_ctx_st X509_STORE_CTX; typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; typedef struct v3_ext_ctx X509V3_CTX; typedef struct conf_st CONF; typedef struct store_st STORE; typedef struct store_method_st STORE_METHOD; typedef struct ui_st UI; typedef struct ui_method_st UI_METHOD; typedef struct st_ERR_FNS ERR_FNS; typedef struct engine_st ENGINE; typedef struct ssl_st SSL; typedef struct ssl_ctx_st SSL_CTX; typedef struct comp_method_st COMP_METHOD; typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; typedef struct DIST_POINT_st DIST_POINT; typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; /* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */ typedef struct crypto_ex_data_st CRYPTO_EX_DATA; /* Callback types for crypto.h */ typedef int CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp); typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp); typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, int idx, long argl, void *argp); typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; typedef struct ocsp_response_st OCSP_RESPONSE; typedef struct ocsp_responder_id_st OCSP_RESPID; # 132 "/usr/include/openssl/crypto.h" 2 3 4 /* * Resolve problems on some operating systems with symbol names that clash * one way or another */ # 1 "/usr/include/openssl/symhacks.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 59 "/usr/include/openssl/symhacks.h" 2 3 4 /* * Hacks to solve the problem with linkers incapable of handling very long * symbol names. In the case of VMS, the limit is 31 characters on VMS for * VAX. */ /* * Note that this affects util/libeay.num and util/ssleay.num... you may * change those manually, but that's not recommended, as those files are * controlled centrally and updated on Unix, and the central definition may * disagree with yours, which in turn may come with shareable library * incompatibilities. */ # 481 "/usr/include/openssl/symhacks.h" 3 4 /* Case insensitive linking causes problems.... */ # 142 "/usr/include/openssl/crypto.h" 2 3 4 /* Backward compatibility to SSLeay */ /* * This is more to be used to check the correct DLL is being used in the MS * world. */ /* #define SSLEAY_OPTIONS 1 no longer supported */ /* Already declared in ossl_typ.h */ # 174 "/usr/include/openssl/crypto.h" 3 4 /* A generic structure to pass assorted data in a expandable way */ typedef struct openssl_item_st { int code; void *value; /* Not used for flag attributes */ size_t value_size; /* Max size of value for output, length for * input */ size_t *value_length; /* Returned length of value for output */ } OPENSSL_ITEM; /* * When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock * names in cryptlib.c */ # 256 "/usr/include/openssl/crypto.h" 3 4 /* * Some applications as well as some parts of OpenSSL need to allocate and * deallocate locks in a dynamic fashion. The following typedef makes this * possible in a type-safe manner. */ /* struct CRYPTO_dynlock_value has to be defined by the application. */ typedef struct { int references; struct CRYPTO_dynlock_value *data; } CRYPTO_dynlock; /* * The following can be used to detect memory leaks in the SSLeay library. It * used, it turns on malloc checking */ /* * The following are bit values to turn on or off options connected to the * malloc checking functionality */ /* Adds time to the memory checking information */ /* Adds thread number to the memory checking information */ /* predec of the BIO type */ typedef struct bio_st BIO_dummy; struct crypto_ex_data_st { struct stack_st_void *sk; /* gcc is screwing up this data structure :-( */ int dummy; }; struct stack_st_void { _STACK stack; }; /* * This stuff is basically class callback functions The current classes are * SSL_CTX, SSL, SSL_SESSION, and a few more */ typedef struct crypto_ex_data_func_st { long argl; /* Arbitary long */ void *argp; /* Arbitary void * */ CRYPTO_EX_new *new_func; CRYPTO_EX_free *free_func; CRYPTO_EX_dup *dup_func; } CRYPTO_EX_DATA_FUNCS; struct stack_st_CRYPTO_EX_DATA_FUNCS { _STACK stack; }; /* * Per class, we have a STACK of CRYPTO_EX_DATA_FUNCS for each CRYPTO_EX_DATA * entry. */ # 336 "/usr/include/openssl/crypto.h" 3 4 /* * Dynamically assigned indexes start from this value (don't use directly, * use via CRYPTO_ex_data_new_class). */ /* * This is the default callbacks, but we can have others as well: this is * needed in Win32 where the application malloc and the library malloc may * not be the same. */ # 356 "/usr/include/openssl/crypto.h" 3 4 /* * Set standard debugging functions (not done by default unless CRYPTO_MDEBUG * is defined) */ # 369 "/usr/include/openssl/crypto.h" 3 4 int CRYPTO_mem_ctrl(int mode); int CRYPTO_is_mem_check_on(void); /* for applications */ /* for library-internal use */ # 396 "/usr/include/openssl/crypto.h" 3 4 const char *SSLeay_version(int type); unsigned long SSLeay(void); int OPENSSL_issetugid(void); /* An opaque type representing an implementation of "ex_data" support */ typedef struct st_CRYPTO_EX_DATA_IMPL CRYPTO_EX_DATA_IMPL; /* Return an opaque pointer to the current "ex_data" implementation */ const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void); /* Sets the "ex_data" implementation to be used (if it's not too late) */ int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i); /* Get a new "ex_data" class, and return the corresponding "class_index" */ int CRYPTO_ex_data_new_class(void); /* Within a given class, get/register a new index */ int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); /* * Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a * given class (invokes whatever per-class callbacks are applicable) */ int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from); void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); /* * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular * index (relative to the class type involved) */ int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); /* * This function cleans up all "ex_data" state. It mustn't be called under * potential race-conditions. */ void CRYPTO_cleanup_all_ex_data(void); int CRYPTO_get_new_lockid(char *name); int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ void CRYPTO_lock(int mode, int type, const char *file, int line); void CRYPTO_set_locking_callback(void (*func) (int mode, int type, const char *file, int line)); void (*CRYPTO_get_locking_callback(void)) (int mode, int type, const char *file, int line); void CRYPTO_set_add_lock_callback(int (*func) (int *num, int mount, int type, const char *file, int line)); int (*CRYPTO_get_add_lock_callback(void)) (int *num, int mount, int type, const char *file, int line); /* Don't use this structure directly. */ typedef struct crypto_threadid_st { void *ptr; unsigned long val; } CRYPTO_THREADID; /* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); int CRYPTO_THREADID_set_callback(void (*threadid_func) (CRYPTO_THREADID *)); void (*CRYPTO_THREADID_get_callback(void)) (CRYPTO_THREADID *); void CRYPTO_THREADID_current(CRYPTO_THREADID *id); int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b); void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src); unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); void CRYPTO_set_id_callback(unsigned long (*func) (void)); unsigned long (*CRYPTO_get_id_callback(void)) (void); unsigned long CRYPTO_thread_id(void); const char *CRYPTO_get_lock_name(int type); int CRYPTO_add_lock(int *pointer, int amount, int type, const char *file, int line); int CRYPTO_get_new_dynlockid(void); void CRYPTO_destroy_dynlockid(int i); struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *(*dyn_create_function) (const char *file, int line)); void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function) (int mode, struct CRYPTO_dynlock_value *l, const char *file, int line)); void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function) (struct CRYPTO_dynlock_value *l, const char *file, int line)); struct CRYPTO_dynlock_value *(*CRYPTO_get_dynlock_create_callback(void)) (const char *file, int line); void (*CRYPTO_get_dynlock_lock_callback(void)) (int mode, struct CRYPTO_dynlock_value *l, const char *file, int line); void (*CRYPTO_get_dynlock_destroy_callback(void)) (struct CRYPTO_dynlock_value *l, const char *file, int line); /* * CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- call * the latter last if you need different functions */ int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), void (*f) (void *)); int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), void (*free_func) (void *)); int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), void *(*r) (void *, size_t, const char *, int), void (*f) (void *)); int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), void (*free_func) (void *)); int CRYPTO_set_mem_debug_functions(void (*m) (void *, int, const char *, int, int), void (*r) (void *, void *, int, const char *, int, int), void (*f) (void *, int), void (*so) (long), long (*go) (void)); void CRYPTO_get_mem_functions(void *(**m) (size_t), void *(**r) (void *, size_t), void (**f) (void *)); void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), void (**f) (void *)); void CRYPTO_get_mem_ex_functions(void *(**m) (size_t, const char *, int), void *(**r) (void *, size_t, const char *, int), void (**f) (void *)); void CRYPTO_get_locked_mem_ex_functions(void *(**m) (size_t, const char *, int), void (**f) (void *)); void CRYPTO_get_mem_debug_functions(void (**m) (void *, int, const char *, int, int), void (**r) (void *, void *, int, const char *, int, int), void (**f) (void *, int), void (**so) (long), long (**go) (void)); void *CRYPTO_malloc_locked(int num, const char *file, int line); void CRYPTO_free_locked(void *ptr); void *CRYPTO_malloc(int num, const char *file, int line); char *CRYPTO_strdup(const char *str, const char *file, int line); void CRYPTO_free(void *ptr); void *CRYPTO_realloc(void *addr, int num, const char *file, int line); void *CRYPTO_realloc_clean(void *addr, int old_num, int num, const char *file, int line); void *CRYPTO_remalloc(void *addr, int num, const char *file, int line); void OPENSSL_cleanse(void *ptr, size_t len); void CRYPTO_set_mem_debug_options(long bits); long CRYPTO_get_mem_debug_options(void); int CRYPTO_push_info_(const char *info, const char *file, int line); int CRYPTO_pop_info(void); int CRYPTO_remove_all_info(void); /* * Default debugging functions (enabled by CRYPTO_malloc_debug_init() macro; * used as default in CRYPTO_MDEBUG compilations): */ /*- * The last argument has the following significance: * * 0: called before the actual memory allocation has taken place * 1: called after the actual memory allocation has taken place */ void CRYPTO_dbg_malloc(void *addr, int num, const char *file, int line, int before_p); void CRYPTO_dbg_realloc(void *addr1, void *addr2, int num, const char *file, int line, int before_p); void CRYPTO_dbg_free(void *addr, int before_p); /*- * Tell the debugging code about options. By default, the following values * apply: * * 0: Clear all options. * V_CRYPTO_MDEBUG_TIME (1): Set the "Show Time" option. * V_CRYPTO_MDEBUG_THREAD (2): Set the "Show Thread Number" option. * V_CRYPTO_MDEBUG_ALL (3): 1 + 2 */ void CRYPTO_dbg_set_options(long bits); long CRYPTO_dbg_get_options(void); void CRYPTO_mem_leaks_fp(FILE *); void CRYPTO_mem_leaks(struct bio_st *bio); /* unsigned long order, char *file, int line, int num_bytes, char *addr */ typedef void *CRYPTO_MEM_LEAK_CB (unsigned long, const char *, int, int, void *); void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); /* die if we have to */ void OpenSSLDie(const char *file, int line, const char *assertion); unsigned long *OPENSSL_ia32cap_loc(void); int OPENSSL_isservice(void); int FIPS_mode(void); int FIPS_mode_set(int r); void OPENSSL_init(void); # 624 "/usr/include/openssl/crypto.h" 3 4 /* * CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. * It takes an amount of time dependent on |len|, but independent of the * contents of |a| and |b|. Unlike memcmp, it cannot be used to put elements * into a defined order as the return value when a != b is undefined, other * than to be non-zero. */ int CRYPTO_memcmp(const volatile void *a, const volatile void *b, size_t len); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_CRYPTO_strings(void); /* Error codes for the CRYPTO functions. */ /* Function codes. */ # 654 "/usr/include/openssl/crypto.h" 3 4 /* Reason codes. */ # 70 "/usr/include/openssl/bio.h" 2 3 4 # 83 "/usr/include/openssl/bio.h" 3 4 /* These are the 'types' of BIOs */ # 116 "/usr/include/openssl/bio.h" 3 4 /* * BIO_FILENAME_READ|BIO_CLOSE to open or close on free. * BIO_set_fp(in,stdin,BIO_NOCLOSE); */ /* * These are used in the following macros and are passed to BIO_ctrl() */ # 139 "/usr/include/openssl/bio.h" 3 4 /* callback is int cb(BIO *bio,state,ret); */ /* dgram BIO stuff */ # 157 "/usr/include/openssl/bio.h" 3 4 /* #ifdef IP_MTU_DISCOVER */ /* #endif */ # 196 "/usr/include/openssl/bio.h" 3 4 /* modifiers */ # 208 "/usr/include/openssl/bio.h" 3 4 /* * "UPLINK" flag denotes file descriptors provided by application. It * defaults to 0, as most platforms don't require UPLINK interface. */ /* Used in BIO_gethostbyname() */ /* Mostly used in the SSL BIO */ /*- * Not used anymore * #define BIO_FLAGS_PROTOCOL_DELAYED_READ 0x10 * #define BIO_FLAGS_PROTOCOL_DELAYED_WRITE 0x20 * #define BIO_FLAGS_PROTOCOL_STARTUP 0x40 */ /* * This is used with memory BIOs: it means we shouldn't free up or change the * data in any way. */ typedef struct bio_st BIO; void BIO_set_flags(BIO *b, int flags); int BIO_test_flags(const BIO *b, int flags); void BIO_clear_flags(BIO *b, int flags); # 252 "/usr/include/openssl/bio.h" 3 4 /* These are normally used internally in BIOs */ /* These should be used by the application to tell why we should retry */ /* * The next three are used in conjunction with the BIO_should_io_special() * condition. After this returns true, BIO *BIO_get_retry_BIO(BIO *bio, int * *reason); will walk the BIO stack and return the 'reason' for the special * and the offending BIO. Given a BIO, BIO_get_retry_reason(bio) will return * the code. */ /* * Returned from the SSL bio when the certificate retrieval code had an error */ /* Returned from the connect BIO when a connect would have blocked */ /* Returned from the accept BIO when an accept would have blocked */ /* These are passed by the BIO callback */ /* * The callback is called before and after the underling operation, The * BIO_CB_RETURN flag indicates if it is after the call */ long (*BIO_get_callback(const BIO *b)) (struct bio_st *, int, const char *, int, long, long); void BIO_set_callback(BIO *b, long (*callback) (struct bio_st *, int, const char *, int, long, long)); char *BIO_get_callback_arg(const BIO *b); void BIO_set_callback_arg(BIO *b, char *arg); const char *BIO_method_name(const BIO *b); int BIO_method_type(const BIO *b); typedef void bio_info_cb (struct bio_st *, int, const char *, int, long, long); typedef struct bio_method_st { int type; const char *name; int (*bwrite) (BIO *, const char *, int); int (*bread) (BIO *, char *, int); int (*bputs) (BIO *, const char *); int (*bgets) (BIO *, char *, int); long (*ctrl) (BIO *, int, long, void *); int (*create) (BIO *); int (*destroy) (BIO *); long (*callback_ctrl) (BIO *, int, bio_info_cb *); } BIO_METHOD; struct bio_st { BIO_METHOD *method; /* bio, mode, argp, argi, argl, ret */ long (*callback) (struct bio_st *, int, const char *, int, long, long); char *cb_arg; /* first argument for the callback */ int init; int shutdown; int flags; /* extra storage */ int retry_reason; int num; void *ptr; struct bio_st *next_bio; /* used by filter BIOs */ struct bio_st *prev_bio; /* used by filter BIOs */ int references; unsigned long num_read; unsigned long num_write; CRYPTO_EX_DATA ex_data; }; struct stack_st_BIO { _STACK stack; }; typedef struct bio_f_buffer_ctx_struct { /*- * Buffers are setup like this: * * <---------------------- size -----------------------> * +---------------------------------------------------+ * | consumed | remaining | free space | * +---------------------------------------------------+ * <-- off --><------- len -------> */ /*- BIO *bio; *//* * this is now in the BIO struct */ int ibuf_size; /* how big is the input buffer */ int obuf_size; /* how big is the output buffer */ char *ibuf; /* the char array */ int ibuf_len; /* how many bytes are in it */ int ibuf_off; /* write/read offset */ char *obuf; /* the char array */ int obuf_len; /* how many bytes are in it */ int obuf_off; /* write/read offset */ } BIO_F_BUFFER_CTX; /* Prefix and suffix callback in ASN1 BIO */ typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, void *parg); # 398 "/usr/include/openssl/bio.h" 3 4 /* connect BIO stuff */ # 407 "/usr/include/openssl/bio.h" 3 4 /* * #define BIO_CONN_get_param_hostname BIO_ctrl */ # 474 "/usr/include/openssl/bio.h" 3 4 /* BIO_s_connect() and BIO_s_socks4a_connect() */ # 486 "/usr/include/openssl/bio.h" 3 4 /* BIO_s_accept() */ /* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ # 499 "/usr/include/openssl/bio.h" 3 4 /* BIO_s_accept() and BIO_s_connect() */ /* BIO_s_proxy_client() */ /* BIO_set_nbio(b,n) */ /* BIO *BIO_get_filter_bio(BIO *bio); */ # 519 "/usr/include/openssl/bio.h" 3 4 /* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */ /* BIO_s_file() */ /* BIO_s_fd() and BIO_s_file() */ /* * name is cast to lose const, but might be better to route through a * function so we can do it safely */ # 552 "/usr/include/openssl/bio.h" 3 4 /* * WARNING WARNING, this ups the reference count on the read bio of the SSL * structure. This is because the ssl read BIO is now pointed to by the * next_bio field in the bio. So when you free the BIO, make sure you are * doing a BIO_free_all() to catch the underlying BIO. */ # 568 "/usr/include/openssl/bio.h" 3 4 /* defined in evp.h */ /* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)md) */ /* For the BIO_f_buffer() type */ /* Don't use the next one unless you know what you are doing :-) */ # 593 "/usr/include/openssl/bio.h" 3 4 /* ...pending macros have inappropriate return type */ size_t BIO_ctrl_pending(BIO *b); size_t BIO_ctrl_wpending(BIO *b); /* For the BIO_f_buffer() type */ /* For BIO_s_bio() */ /* macros with inappropriate type -- but ...pending macros use int too: */ size_t BIO_ctrl_get_write_guarantee(BIO *b); size_t BIO_ctrl_get_read_request(BIO *b); int BIO_ctrl_reset_read_request(BIO *b); /* ctrl macros for dgram */ # 633 "/usr/include/openssl/bio.h" 3 4 /* These two aren't currently implemented */ /* int BIO_get_ex_num(BIO *bio); */ /* void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)()); */ int BIO_set_ex_data(BIO *bio, int idx, void *data); void *BIO_get_ex_data(BIO *bio, int idx); int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); unsigned long BIO_number_read(BIO *bio); unsigned long BIO_number_written(BIO *bio); /* For BIO_f_asn1() */ int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, asn1_ps_func *prefix_free); int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, asn1_ps_func **pprefix_free); int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, asn1_ps_func *suffix_free); int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, asn1_ps_func **psuffix_free); BIO_METHOD *BIO_s_file(void); BIO *BIO_new_file(const char *filename, const char *mode); BIO *BIO_new_fp(FILE *stream, int close_flag); BIO *BIO_new(BIO_METHOD *type); int BIO_set(BIO *a, BIO_METHOD *type); int BIO_free(BIO *a); void BIO_vfree(BIO *a); int BIO_read(BIO *b, void *data, int len); int BIO_gets(BIO *bp, char *buf, int size); int BIO_write(BIO *b, const void *data, int len); int BIO_puts(BIO *bp, const char *buf); int BIO_indent(BIO *b, int indent, int max); long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); long BIO_callback_ctrl(BIO *b, int cmd, void (*fp) (struct bio_st *, int, const char *, int, long, long)); char *BIO_ptr_ctrl(BIO *bp, int cmd, long larg); long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg); BIO *BIO_push(BIO *b, BIO *append); BIO *BIO_pop(BIO *b); void BIO_free_all(BIO *a); BIO *BIO_find_type(BIO *b, int bio_type); BIO *BIO_next(BIO *b); BIO *BIO_get_retry_BIO(BIO *bio, int *reason); int BIO_get_retry_reason(BIO *bio); BIO *BIO_dup_chain(BIO *in); int BIO_nread0(BIO *bio, char **buf); int BIO_nread(BIO *bio, char **buf, int num); int BIO_nwrite0(BIO *bio, char **buf); int BIO_nwrite(BIO *bio, char **buf, int num); long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, long argl, long ret); BIO_METHOD *BIO_s_mem(void); BIO *BIO_new_mem_buf(const void *buf, int len); BIO_METHOD *BIO_s_socket(void); BIO_METHOD *BIO_s_connect(void); BIO_METHOD *BIO_s_accept(void); BIO_METHOD *BIO_s_fd(void); BIO_METHOD *BIO_s_log(void); BIO_METHOD *BIO_s_bio(void); BIO_METHOD *BIO_s_null(void); BIO_METHOD *BIO_f_null(void); BIO_METHOD *BIO_f_buffer(void); BIO_METHOD *BIO_f_nbio_test(void); BIO_METHOD *BIO_s_datagram(void); /* BIO_METHOD *BIO_f_ber(void); */ int BIO_sock_should_retry(int i); int BIO_sock_non_fatal_error(int error); int BIO_dgram_non_fatal_error(int error); int BIO_fd_should_retry(int i); int BIO_fd_non_fatal_error(int error); int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u), void *u, const char *s, int len); int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), void *u, const char *s, int len, int indent); int BIO_dump(BIO *b, const char *bytes, int len); int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); int BIO_dump_fp(FILE *fp, const char *s, int len); int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data, int datalen); struct hostent *BIO_gethostbyname(const char *name); /*- * We might want a thread-safe interface too: * struct hostent *BIO_gethostbyname_r(const char *name, * struct hostent *result, void *buffer, size_t buflen); * or something similar (caller allocates a struct hostent, * pointed to by "result", and additional buffer space for the various * substructures; if the buffer does not suffice, NULL is returned * and an appropriate error code is set). */ int BIO_sock_error(int sock); int BIO_socket_ioctl(int fd, long type, void *arg); int BIO_socket_nbio(int fd, int mode); int BIO_get_port(const char *str, unsigned short *port_ptr); int BIO_get_host_ip(const char *str, unsigned char *ip); int BIO_get_accept_socket(char *host_port, int mode); int BIO_accept(int sock, char **ip_port); int BIO_sock_init(void); void BIO_sock_cleanup(void); int BIO_set_tcp_ndelay(int sock, int turn_on); BIO *BIO_new_socket(int sock, int close_flag); BIO *BIO_new_dgram(int fd, int close_flag); # 771 "/usr/include/openssl/bio.h" 3 4 BIO *BIO_new_fd(int fd, int close_flag); BIO *BIO_new_connect(const char *host_port); BIO *BIO_new_accept(const char *host_port); int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, BIO **bio2, size_t writebuf2); /* * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default * value. */ void BIO_copy_next_retry(BIO *b); /* * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg); */ int BIO_printf(BIO *bio, const char *format, ...) __attribute__((__format__(__printf__, 2, 3))); int BIO_vprintf(BIO *bio, const char *format, va_list args) __attribute__((__format__(__printf__, 2, 0))); int BIO_snprintf(char *buf, size_t n, const char *format, ...) __attribute__((__format__(__printf__, 3, 4))); int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) __attribute__((__format__(__printf__, 3, 0))); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_BIO_strings(void); /* Error codes for the BIO functions. */ /* Function codes. */ # 849 "/usr/include/openssl/bio.h" 3 4 /* Reason codes. */ # 44 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/usr/include/openssl/x509.h" 1 3 4 /* crypto/x509/x509.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 68 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/symhacks.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 69 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/buffer.h" 1 3 4 /* crypto/buffer/buffer.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 63 "/usr/include/openssl/buffer.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 1 3 4 /* * 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 3 4 /* * 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 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 1 3 4 /* * 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 3 4 /* * 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 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3 4 /* * 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 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 3 4 /* * 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 3 4 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 3 4 typedef long max_align_t; # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 1 3 4 /* * 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" 3 4 /* * 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 3 4 /* * Allow global visibility for symbols defined in * C++ "std" namespace in . */ # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 3 4 /* * 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. */ # 69 "/usr/include/openssl/buffer.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 3 4 /* * 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. */ # 72 "/usr/include/openssl/buffer.h" 2 3 4 /* Already declared in ossl_typ.h */ /* typedef struct buf_mem_st BUF_MEM; */ struct buf_mem_st { size_t length; /* current number of bytes */ char *data; size_t max; /* size of buffer */ }; BUF_MEM *BUF_MEM_new(void); void BUF_MEM_free(BUF_MEM *a); int BUF_MEM_grow(BUF_MEM *str, size_t len); int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); size_t BUF_strnlen(const char *str, size_t maxlen); char *BUF_strdup(const char *str); /* * Like strndup, but in addition, explicitly guarantees to never read past the * first |siz| bytes of |str|. */ char *BUF_strndup(const char *str, size_t siz); void *BUF_memdup(const void *data, size_t siz); void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); /* safe string functions */ size_t BUF_strlcpy(char *dst, const char *src, size_t siz); size_t BUF_strlcat(char *dst, const char *src, size_t siz); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_BUF_strings(void); /* Error codes for the BUF functions. */ /* Function codes. */ /* Reason codes. */ # 71 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/evp.h" 1 3 4 /* crypto/evp/evp.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 66 "/usr/include/openssl/evp.h" 3 4 # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 67 "/usr/include/openssl/evp.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 71 "/usr/include/openssl/evp.h" 2 3 4 # 1 "/usr/include/openssl/symhacks.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 73 "/usr/include/openssl/evp.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 76 "/usr/include/openssl/evp.h" 2 3 4 /*- #define EVP_RC2_KEY_SIZE 16 #define EVP_RC4_KEY_SIZE 16 #define EVP_BLOWFISH_KEY_SIZE 16 #define EVP_CAST5_KEY_SIZE 16 #define EVP_RC5_32_12_16_KEY_SIZE 16 */ /* Default PKCS#5 iteration count */ # 1 "/usr/include/openssl/objects.h" 1 3 4 /* crypto/objects/objects.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 1 "/usr/include/openssl/obj_mac.h" 1 3 4 /* crypto/objects/obj_mac.h */ /* * THIS FILE IS GENERATED FROM objects.txt by objects.pl via the following * command: perl objects.pl objects.txt obj_mac.num obj_mac.h */ /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 66 "/usr/include/openssl/objects.h" 2 3 4 # 964 "/usr/include/openssl/objects.h" 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 965 "/usr/include/openssl/objects.h" 2 3 4 # 1 "/usr/include/openssl/asn1.h" 1 3 4 /* crypto/asn1/asn1.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 3 4 /* * 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. */ # 63 "/usr/include/openssl/asn1.h" 2 3 4 # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 64 "/usr/include/openssl/asn1.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 66 "/usr/include/openssl/asn1.h" 2 3 4 # 1 "/usr/include/openssl/stack.h" 1 3 4 /* crypto/stack/stack.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 68 "/usr/include/openssl/asn1.h" 2 3 4 # 1 "/usr/include/openssl/safestack.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 69 "/usr/include/openssl/asn1.h" 2 3 4 # 1 "/usr/include/openssl/symhacks.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 71 "/usr/include/openssl/asn1.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 73 "/usr/include/openssl/asn1.h" 2 3 4 # 1 "/usr/include/openssl/bn.h" 1 3 4 /* crypto/bn/bn.h */ /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright (c) 1998-2018 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the Eric Young open source * license provided above. * * The binary polynomial arithmetic software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 3 4 /* * 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 */ # 129 "/usr/include/openssl/bn.h" 2 3 4 # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 272 "/usr/include/openssl/opensslconf.h" 3 4 /* * OpenSSL revision 1.521 from 2005-12-15 in OpenSSL_1_0_0-stable branch changed * 64 bit sparcv9 configuration from SIXTY_FOUR_BIT_LONG to BN_LLONG. */ /* Should we define BN_DIV2W here? */ /* Only one for the following should be defined */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 130 "/usr/include/openssl/bn.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 3 4 /* * 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. */ # 132 "/usr/include/openssl/bn.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 134 "/usr/include/openssl/bn.h" 2 3 4 # 1 "/usr/include/openssl/crypto.h" 1 3 4 /* crypto/crypto.h */ /* ==================================================================== * Copyright (c) 1998-2006 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ # 135 "/usr/include/openssl/bn.h" 2 3 4 /* * These preprocessor symbols control various aspects of the bignum headers * and library code. They're not defined by any "normal" configuration, as * they are intended for development and testing purposes. NB: defining all * three can be useful for debugging application code as well as openssl * itself. BN_DEBUG - turn on various debugging alterations to the bignum * code BN_DEBUG_RAND - uses random poisoning of unused words to trip up * mismanagement of bignum internals. You must also define BN_DEBUG. */ /* #define BN_DEBUG */ /* #define BN_DEBUG_RAND */ /* * This next option uses the C libraries (2 word)/(1 word) function. If it is * not defined, I use my C version (which is slower). The reason for this * flag is that when the particular C compiler library routine is used, and * the library is linked with a different compiler, the library is missing. * This mostly happens when the library is built with gcc and then linked * using normal cc. This would be a common occurrence because gcc normally * produces code that is 2 times faster than system compilers for the big * number stuff. For machines with only one compiler (or shared libraries), * this should be on. Again this in only really a problem on machines using * "long long's", are 32bit, and are not using my assembler code. */ /* * assuming long is 64bit - this is the DEC Alpha unsigned long long is only * 64 bits :-(, don't define BN_LLONG for the DEC Alpha */ # 203 "/usr/include/openssl/bn.h" 3 4 /* * This is where the long long data type is 64 bits, but long is 32. For * machines where there are 64bit registers, this is the mode to use. IRIX, * on R4000 and above should use this mode, along with the relevant assembler * code :-). Do NOT define BN_LLONG. */ # 265 "/usr/include/openssl/bn.h" 3 4 /* * avoid leaking exponent information through timing, * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime, * BN_div() will call BN_div_no_branch, * BN_mod_inverse() will call BN_mod_inverse_no_branch. */ # 284 "/usr/include/openssl/bn.h" 3 4 /* used for debuging */ /* * get a clone of a BIGNUM with changed flags, for *temporary* use only (the * two BIGNUMs cannot not be used in parallel!) */ # 302 "/usr/include/openssl/bn.h" 3 4 /* Already declared in ossl_typ.h */ # 313 "/usr/include/openssl/bn.h" 3 4 struct bignum_st { unsigned int *d; /* Pointer to an array of 'BN_BITS2' bit * chunks. */ int top; /* Index of last used d +1. */ /* The next are internal book keeping for bn_expand. */ int dmax; /* Size of the d array. */ int neg; /* one if the number is negative */ int flags; }; /* Used for montgomery multiplication */ struct bn_mont_ctx_st { int ri; /* number of bits in R */ BIGNUM RR; /* used to convert to montgomery form */ BIGNUM N; /* The modulus */ BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1 (Ni is only * stored for bignum algorithm) */ unsigned int n0[2]; /* least significant word(s) of Ni; (type * changed with 0.9.9, was "BN_ULONG n0;" * before) */ int flags; }; /* * Used for reciprocal division/mod functions It cannot be shared between * threads */ struct bn_recp_ctx_st { BIGNUM N; /* the divisor */ BIGNUM Nr; /* the reciprocal */ int num_bits; int shift; int flags; }; /* Used for slow "generation" functions. */ struct bn_gencb_st { unsigned int ver; /* To handle binary (in)compatibility */ void *arg; /* callback-specific data */ union { /* if(ver==1) - handles old style callbacks */ void (*cb_1) (int, int, void *); /* if(ver==2) - new callback style */ int (*cb_2) (int, int, BN_GENCB *); } cb; }; /* Wrapper function to make using BN_GENCB easier, */ int BN_GENCB_call(BN_GENCB *cb, int a, int b); /* Macro to populate a BN_GENCB structure with an "old"-style callback */ /* Macro to populate a BN_GENCB structure with a "new"-style callback */ # 377 "/usr/include/openssl/bn.h" 3 4 /* * BN_prime_checks_for_size() returns the number of Miller-Rabin iterations * that will be done for checking that a random number is probably prime. The * error rate for accepting a composite number as prime depends on the size of * the prime |b|. The error rates used are for calculating an RSA key with 2 primes, * and so the level is what you would expect for a key of double the size of the * prime. * * This table is generated using the algorithm of FIPS PUB 186-4 * Digital Signature Standard (DSS), section F.1, page 117. * (https://dx.doi.org/10.6028/NIST.FIPS.186-4) * * The following magma script was used to generate the output: * securitybits:=125; * k:=1024; * for t:=1 to 65 do * for M:=3 to Floor(2*Sqrt(k-1)-1) do * S:=0; * // Sum over m * for m:=3 to M do * s:=0; * // Sum over j * for j:=2 to m do * s+:=(RealField(32)!2)^-(j+(k-1)/j); * end for; * S+:=2^(m-(m-1)*t)*s; * end for; * A:=2^(k-2-M*t); * B:=8*(Pi(RealField(32))^2-6)/3*2^(k-2)*S; * pkt:=2.00743*Log(2)*k*2^-k*(A+B); * seclevel:=Floor(-Log(2,pkt)); * if seclevel ge securitybits then * printf "k: %5o, security: %o bits (t: %o, M: %o)\n",k,seclevel,t,M; * break; * end if; * end for; * if seclevel ge securitybits then break; end if; * end for; * * It can be run online at: * http://magma.maths.usyd.edu.au/calc * * And will output: * k: 1024, security: 129 bits (t: 6, M: 23) * * k is the number of bits of the prime, securitybits is the level we want to * reach. * * prime length | RSA key size | # MR tests | security level * -------------+--------------|------------+--------------- * (b) >= 6394 | >= 12788 | 3 | 256 bit * (b) >= 3747 | >= 7494 | 3 | 192 bit * (b) >= 1345 | >= 2690 | 4 | 128 bit * (b) >= 1080 | >= 2160 | 5 | 128 bit * (b) >= 852 | >= 1704 | 5 | 112 bit * (b) >= 476 | >= 952 | 5 | 80 bit * (b) >= 400 | >= 800 | 6 | 80 bit * (b) >= 347 | >= 694 | 7 | 80 bit * (b) >= 308 | >= 616 | 8 | 80 bit * (b) >= 55 | >= 110 | 27 | 64 bit * (b) >= 6 | >= 12 | 34 | 64 bit */ # 451 "/usr/include/openssl/bn.h" 3 4 /* Note that BN_abs_is_word didn't work reliably for w == 0 until 0.9.8 */ # 472 "/usr/include/openssl/bn.h" 3 4 const BIGNUM *BN_value_one(void); char *BN_options(void); BN_CTX *BN_CTX_new(void); void BN_CTX_init(BN_CTX *c); void BN_CTX_free(BN_CTX *c); void BN_CTX_start(BN_CTX *ctx); BIGNUM *BN_CTX_get(BN_CTX *ctx); void BN_CTX_end(BN_CTX *ctx); int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); int BN_num_bits(const BIGNUM *a); int BN_num_bits_word(unsigned int); BIGNUM *BN_new(void); void BN_init(BIGNUM *); void BN_clear_free(BIGNUM *a); BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); void BN_swap(BIGNUM *a, BIGNUM *b); BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret); int BN_bn2bin(const BIGNUM *a, unsigned char *to); BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); int BN_bn2mpi(const BIGNUM *a, unsigned char *to); int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); /** BN_set_negative sets sign of a BIGNUM * \param b pointer to the BIGNUM object * \param n 0 if the BIGNUM b should be positive and a value != 0 otherwise */ void BN_set_negative(BIGNUM *b, int n); /** BN_is_negative returns 1 if the BIGNUM is negative * \param a pointer to the BIGNUM object * \return 1 if a < 0 and 0 otherwise */ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, BN_CTX *ctx); int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); unsigned int BN_mod_word(const BIGNUM *a, unsigned int w); unsigned int BN_div_word(BIGNUM *a, unsigned int w); int BN_mul_word(BIGNUM *a, unsigned int w); int BN_add_word(BIGNUM *a, unsigned int w); int BN_sub_word(BIGNUM *a, unsigned int w); int BN_set_word(BIGNUM *a, unsigned int w); unsigned int BN_get_word(const BIGNUM *a); int BN_cmp(const BIGNUM *a, const BIGNUM *b); void BN_free(BIGNUM *a); int BN_is_bit_set(const BIGNUM *a, int n); int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); int BN_lshift1(BIGNUM *r, const BIGNUM *a); int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx); int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont); int BN_mod_exp_mont_word(BIGNUM *r, unsigned int a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx); int BN_mask_bits(BIGNUM *a, int n); int BN_print_fp(FILE *fp, const BIGNUM *a); int BN_print(BIO *fp, const BIGNUM *a); int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); int BN_rshift1(BIGNUM *r, const BIGNUM *a); void BN_clear(BIGNUM *a); BIGNUM *BN_dup(const BIGNUM *a); int BN_ucmp(const BIGNUM *a, const BIGNUM *b); int BN_set_bit(BIGNUM *a, int n); int BN_clear_bit(BIGNUM *a, int n); char *BN_bn2hex(const BIGNUM *a); char *BN_bn2dec(const BIGNUM *a); int BN_hex2bn(BIGNUM **a, const char *str); int BN_dec2bn(BIGNUM **a, const char *str); int BN_asc2bn(BIGNUM **a, const char *str); int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /* returns * -2 for * error */ BIGNUM *BN_mod_inverse(BIGNUM *ret, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); BIGNUM *BN_mod_sqrt(BIGNUM *ret, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); void BN_consttime_swap(unsigned int swap, BIGNUM *a, BIGNUM *b, int nwords); /* Deprecated versions */ BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, const BIGNUM *add, const BIGNUM *rem, void (*callback) (int, int, void *), void *cb_arg); int BN_is_prime(const BIGNUM *p, int nchecks, void (*callback) (int, int, void *), BN_CTX *ctx, void *cb_arg); int BN_is_prime_fasttest(const BIGNUM *p, int nchecks, void (*callback) (int, int, void *), BN_CTX *ctx, void *cb_arg, int do_trial_division); /* Newer versions */ int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb); int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, int do_trial_division, BN_GENCB *cb); int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, const BIGNUM *Xp, const BIGNUM *Xp1, const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb); int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb); BN_MONT_CTX *BN_MONT_CTX_new(void); void BN_MONT_CTX_init(BN_MONT_CTX *ctx); int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_MONT_CTX *mont, BN_CTX *ctx); int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, BN_CTX *ctx); void BN_MONT_CTX_free(BN_MONT_CTX *mont); int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx); BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from); BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock, const BIGNUM *mod, BN_CTX *ctx); /* BN_BLINDING flags */ BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); void BN_BLINDING_free(BN_BLINDING *b); int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx); int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, BN_CTX *); unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *); void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long); CRYPTO_THREADID *BN_BLINDING_thread_id(BN_BLINDING *); unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, int (*bn_mod_exp) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx), BN_MONT_CTX *m_ctx); void BN_set_params(int mul, int high, int low, int mont); int BN_get_params(int which); /* 0, mul, 1 high, 2 low, 3 mont */ void BN_RECP_CTX_init(BN_RECP_CTX *recp); BN_RECP_CTX *BN_RECP_CTX_new(void); void BN_RECP_CTX_free(BN_RECP_CTX *recp); int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx); int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, BN_RECP_CTX *recp, BN_CTX *ctx); int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx); int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, BN_RECP_CTX *recp, BN_CTX *ctx); /* * Functions for arithmetic over binary polynomials represented by BIGNUMs. * The BIGNUM::neg property of BIGNUMs representing binary polynomials is * ignored. Note that input arguments are not const so that their bit arrays * can be expanded to the appropriate size if needed. */ /* * r = a + b */ int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); /* * r=a mod p */ int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); /* r = (a * b) mod p */ int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); /* r = (a * a) mod p */ int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); /* r = (1 / b) mod p */ int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); /* r = (a / b) mod p */ int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); /* r = (a ^ b) mod p */ int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); /* r = sqrt(a) mod p */ int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); /* r^2 + r = a mod p */ int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); /*- * Some functions allow for representation of the irreducible polynomials * as an unsigned int[], say p. The irreducible f(t) is then of the form: * t^p[0] + t^p[1] + ... + t^p[k] * where m = p[0] > p[1] > ... > p[k] = 0. */ /* r = a mod p */ int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); /* r = (a * b) mod p */ int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const int p[], BN_CTX *ctx); /* r = (a * a) mod p */ int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], BN_CTX *ctx); /* r = (1 / b) mod p */ int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], BN_CTX *ctx); /* r = (a / b) mod p */ int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const int p[], BN_CTX *ctx); /* r = (a ^ b) mod p */ int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const int p[], BN_CTX *ctx); /* r = sqrt(a) mod p */ int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, const int p[], BN_CTX *ctx); /* r^2 + r = a mod p */ int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, const int p[], BN_CTX *ctx); int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); int BN_GF2m_arr2poly(const int p[], BIGNUM *a); /* * faster mod functions for the 'NIST primes' 0 <= a < p^2 */ int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); const BIGNUM *BN_get0_nist_prime_192(void); const BIGNUM *BN_get0_nist_prime_224(void); const BIGNUM *BN_get0_nist_prime_256(void); const BIGNUM *BN_get0_nist_prime_384(void); const BIGNUM *BN_get0_nist_prime_521(void); /* library internal functions */ # 788 "/usr/include/openssl/bn.h" 3 4 BIGNUM *bn_expand2(BIGNUM *a, int words); BIGNUM *bn_dup_expand(const BIGNUM *a, int words); /* unused */ /*- * Bignum consistency macros * There is one "API" macro, bn_fix_top(), for stripping leading zeroes from * bignum data after direct manipulations on the data. There is also an * "internal" macro, bn_check_top(), for verifying that there are no leading * zeroes. Unfortunately, some auditing is required due to the fact that * bn_fix_top() has become an overabused duct-tape because bignum data is * occasionally passed around in an inconsistent state. So the following * changes have been made to sort this out; * - bn_fix_top()s implementation has been moved to bn_correct_top() * - if BN_DEBUG isn't defined, bn_fix_top() maps to bn_correct_top(), and * bn_check_top() is as before. * - if BN_DEBUG *is* defined; * - bn_check_top() tries to pollute unused words even if the bignum 'top' is * consistent. (ed: only if BN_DEBUG_RAND is defined) * - bn_fix_top() maps to bn_check_top() rather than "fixing" anything. * The idea is to have debug builds flag up inconsistent bignums when they * occur. If that occurs in a bn_fix_top(), we examine the code in question; if * the use of bn_fix_top() was appropriate (ie. it follows directly after code * that manipulates the bignum) it is converted to bn_correct_top(), and if it * was not appropriate, we convert it permanently to bn_check_top() and track * down the cause of the bug. Eventually, no internal code should be using the * bn_fix_top() macro. External applications and libraries should try this with * their own code too, both in terms of building against the openssl headers * with BN_DEBUG defined *and* linking with a version of OpenSSL built with it * defined. This not only improves external code, it provides more test * coverage for openssl's own code. */ # 914 "/usr/include/openssl/bn.h" 3 4 unsigned int bn_mul_add_words(unsigned int *rp, const unsigned int *ap, int num, unsigned int w); unsigned int bn_mul_words(unsigned int *rp, const unsigned int *ap, int num, unsigned int w); void bn_sqr_words(unsigned int *rp, const unsigned int *ap, int num); unsigned int bn_div_words(unsigned int h, unsigned int l, unsigned int d); unsigned int bn_add_words(unsigned int *rp, const unsigned int *ap, const unsigned int *bp, int num); unsigned int bn_sub_words(unsigned int *rp, const unsigned int *ap, const unsigned int *bp, int num); /* Primes from RFC 2409 */ BIGNUM *get_rfc2409_prime_768(BIGNUM *bn); BIGNUM *get_rfc2409_prime_1024(BIGNUM *bn); /* Primes from RFC 3526 */ BIGNUM *get_rfc3526_prime_1536(BIGNUM *bn); BIGNUM *get_rfc3526_prime_2048(BIGNUM *bn); BIGNUM *get_rfc3526_prime_3072(BIGNUM *bn); BIGNUM *get_rfc3526_prime_4096(BIGNUM *bn); BIGNUM *get_rfc3526_prime_6144(BIGNUM *bn); BIGNUM *get_rfc3526_prime_8192(BIGNUM *bn); int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_BN_strings(void); /* Error codes for the BN functions. */ /* Function codes. */ # 991 "/usr/include/openssl/bn.h" 3 4 /* Reason codes. */ # 75 "/usr/include/openssl/asn1.h" 2 3 4 # 132 "/usr/include/openssl/asn1.h" 3 4 /* For use with d2i_ASN1_type_bytes() */ # 152 "/usr/include/openssl/asn1.h" 3 4 /* For use with ASN1_mbstring_copy() */ # 161 "/usr/include/openssl/asn1.h" 3 4 struct X509_algor_st; struct stack_st_X509_ALGOR { _STACK stack; }; /* * We MUST make sure that, except for constness, asn1_ctx_st and * asn1_const_ctx are exactly the same. Fortunately, as soon as the old ASN1 * parsing macros are gone, we can throw this away as well... */ typedef struct asn1_ctx_st { unsigned char *p; /* work char pointer */ int eos; /* end of sequence read for indefinite * encoding */ int error; /* error code to use when returning an error */ int inf; /* constructed if 0x20, indefinite is 0x21 */ int tag; /* tag from last 'get object' */ int xclass; /* class from last 'get object' */ long slen; /* length of last 'get object' */ unsigned char *max; /* largest value of p allowed */ unsigned char *q; /* temporary variable */ unsigned char **pp; /* variable */ int line; /* used in error processing */ } ASN1_CTX; typedef struct asn1_const_ctx_st { const unsigned char *p; /* work char pointer */ int eos; /* end of sequence read for indefinite * encoding */ int error; /* error code to use when returning an error */ int inf; /* constructed if 0x20, indefinite is 0x21 */ int tag; /* tag from last 'get object' */ int xclass; /* class from last 'get object' */ long slen; /* length of last 'get object' */ const unsigned char *max; /* largest value of p allowed */ const unsigned char *q; /* temporary variable */ const unsigned char **pp; /* variable */ int line; /* used in error processing */ } ASN1_const_CTX; /* * These are used internally in the ASN1_OBJECT to keep track of whether the * names and data need to be free()ed */ struct asn1_object_st { const char *sn, *ln; int nid; int length; const unsigned char *data; /* data remains const after init */ int flags; /* Should we free this one */ }; /* * This indicates that the ASN1_STRING is not a real value but just a place * holder for the location where indefinite length constructed data should be * inserted in the memory buffer */ /* * This flag is used by the CMS code to indicate that a string is not * complete and is a place holder for content when it had all been accessed. * The flag will be reset when content has been written to it. */ /* * This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING * type. */ /* This is the base type that holds just about everything :-) */ struct asn1_string_st { int length; int type; unsigned char *data; /* * The value of the following field depends on the type being held. It * is mostly being used for BIT_STRING so if the input data has a * non-zero 'unused bits' value, it will be handled correctly */ long flags; }; /* * ASN1_ENCODING structure: this is used to save the received encoding of an * ASN1 type. This is useful to get round problems with invalid encodings * which can break signatures. */ typedef struct ASN1_ENCODING_st { unsigned char *enc; /* DER encoding */ long len; /* Length of encoding */ int modified; /* set to 1 if 'enc' is invalid */ } ASN1_ENCODING; /* Used with ASN1 LONG type: if a long is set to this it is omitted */ # 272 "/usr/include/openssl/asn1.h" 3 4 typedef struct asn1_string_table_st { int nid; long minsize; long maxsize; unsigned long mask; unsigned long flags; } ASN1_STRING_TABLE; struct stack_st_ASN1_STRING_TABLE { _STACK stack; }; /* size limits: this stuff is taken straight from RFC2459 */ # 293 "/usr/include/openssl/asn1.h" 3 4 /* * Declarations for template structures: for full definitions see asn1t.h */ typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; typedef struct ASN1_TLC_st ASN1_TLC; /* This is just an opaque pointer */ typedef struct ASN1_VALUE_st ASN1_VALUE; /* Declare ASN1 functions: the implement macro in in asn1t.h */ # 363 "/usr/include/openssl/asn1.h" 3 4 typedef void *d2i_of_void(void **,const unsigned char **,long); typedef int i2d_of_void(void *,unsigned char **); /*- * The following macros and typedefs allow an ASN1_ITEM * to be embedded in a structure and referenced. Since * the ASN1_ITEM pointers need to be globally accessible * (possibly from shared libraries) they may exist in * different forms. On platforms that support it the * ASN1_ITEM structure itself will be globally exported. * Other platforms will export a function that returns * an ASN1_ITEM pointer. * * To handle both cases transparently the macros below * should be used instead of hard coding an ASN1_ITEM * pointer in a structure. * * The structure will look like this: * * typedef struct SOMETHING_st { * ... * ASN1_ITEM_EXP *iptr; * ... * } SOMETHING; * * It would be initialised as e.g.: * * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; * * and the actual pointer extracted with: * * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); * * Finally an ASN1_ITEM pointer can be extracted from an * appropriate reference with: ASN1_ITEM_rptr(X509). This * would be used when a function takes an ASN1_ITEM * argument. * */ /* ASN1_ITEM pointer exported type */ typedef const ASN1_ITEM ASN1_ITEM_EXP; /* Macro to obtain ASN1_ITEM pointer from exported type */ /* Macro to include ASN1_ITEM pointer from base type */ # 440 "/usr/include/openssl/asn1.h" 3 4 /* Parameters used by ASN1_STRING_print_ex() */ /* * These determine which characters to escape: RFC2253 special characters, * control characters and MSB set characters */ /* * This flag determines how we do escaping: normally RC2253 backslash only, * set this to use backslash and quote. */ /* These three flags are internal use only. */ /* Character is a valid PrintableString character */ /* Character needs escaping if it is the first character */ /* Character needs escaping if it is the last character */ /* * NB the internal flags are safely reused below by flags handled at the top * level. */ /* * If this is set we convert all character strings to UTF8 first */ /* * If this is set we don't attempt to interpret content: just assume all * strings are 1 byte per character. This will produce some pretty odd * looking output! */ /* If this is set we include the string type in the output */ /* * This determines which strings to display and which to 'dump' (hex dump of * content octets or DER encoding). We can only dump non character strings or * everything. If we don't dump 'unknown' they are interpreted as character * strings with 1 octet per character and are subject to the usual escaping * options. */ /* * These determine what 'dumping' does, we can dump the content octets or the * DER encoding: both use the RFC2253 #XXXXX notation. */ /* * All the string flags consistent with RFC2253, escaping control characters * isn't essential in RFC2253 but it is advisable anyway. */ # 519 "/usr/include/openssl/asn1.h" 3 4 struct stack_st_ASN1_INTEGER { _STACK stack; }; struct stack_st_ASN1_GENERALSTRING { _STACK stack; }; typedef struct asn1_type_st { int type; union { char *ptr; ASN1_BOOLEAN boolean; ASN1_STRING *asn1_string; ASN1_OBJECT *object; ASN1_INTEGER *integer; ASN1_ENUMERATED *enumerated; ASN1_BIT_STRING *bit_string; ASN1_OCTET_STRING *octet_string; ASN1_PRINTABLESTRING *printablestring; ASN1_T61STRING *t61string; ASN1_IA5STRING *ia5string; ASN1_GENERALSTRING *generalstring; ASN1_BMPSTRING *bmpstring; ASN1_UNIVERSALSTRING *universalstring; ASN1_UTCTIME *utctime; ASN1_GENERALIZEDTIME *generalizedtime; ASN1_VISIBLESTRING *visiblestring; ASN1_UTF8STRING *utf8string; /* * set and sequence are left complete and still contain the set or * sequence bytes */ ASN1_STRING *set; ASN1_STRING *sequence; ASN1_VALUE *asn1_value; } value; } ASN1_TYPE; struct stack_st_ASN1_TYPE { _STACK stack; }; typedef struct stack_st_ASN1_TYPE ASN1_SEQUENCE_ANY; ASN1_SEQUENCE_ANY *d2i_ASN1_SEQUENCE_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len); int i2d_ASN1_SEQUENCE_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out); extern const ASN1_ITEM ASN1_SEQUENCE_ANY_it; ASN1_SEQUENCE_ANY *d2i_ASN1_SET_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len); int i2d_ASN1_SET_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out); extern const ASN1_ITEM ASN1_SET_ANY_it; typedef struct NETSCAPE_X509_st { ASN1_OCTET_STRING *header; X509 *cert; } NETSCAPE_X509; /* This is used to contain a list of bit names */ typedef struct BIT_STRING_BITNAME_st { int bitnum; const char *lname; const char *sname; } BIT_STRING_BITNAME; /* Macros for string operations */ # 772 "/usr/include/openssl/asn1.h" 3 4 /* for the is_set parameter to i2d_ASN1_SET */ ASN1_TYPE *ASN1_TYPE_new(void); void ASN1_TYPE_free(ASN1_TYPE *a); ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len); int i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out); extern const ASN1_ITEM ASN1_ANY_it; int ASN1_TYPE_get(ASN1_TYPE *a); void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); ASN1_OBJECT *ASN1_OBJECT_new(void); void ASN1_OBJECT_free(ASN1_OBJECT *a); int i2d_ASN1_OBJECT(ASN1_OBJECT *a, unsigned char **pp); ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long length); ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long length); extern const ASN1_ITEM ASN1_OBJECT_it; struct stack_st_ASN1_OBJECT { _STACK stack; }; ASN1_STRING *ASN1_STRING_new(void); void ASN1_STRING_free(ASN1_STRING *a); void ASN1_STRING_clear_free(ASN1_STRING *a); int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); ASN1_STRING *ASN1_STRING_type_new(int type); int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); /* * Since this is used to store all sorts of things, via macros, for now, * make its data void * */ int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); int ASN1_STRING_length(const ASN1_STRING *x); void ASN1_STRING_length_set(ASN1_STRING *x, int n); int ASN1_STRING_type(ASN1_STRING *x); unsigned char *ASN1_STRING_data(ASN1_STRING *x); ASN1_BIT_STRING *ASN1_BIT_STRING_new(void); void ASN1_BIT_STRING_free(ASN1_BIT_STRING *a); ASN1_BIT_STRING *d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len); int i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_BIT_STRING_it; int i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp); ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **pp, long length); int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n); int ASN1_BIT_STRING_check(ASN1_BIT_STRING *a, unsigned char *flags, int flags_len); int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, BIT_STRING_BITNAME *tbl, int indent); int ASN1_BIT_STRING_num_asc(char *name, BIT_STRING_BITNAME *tbl); int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, char *name, int value, BIT_STRING_BITNAME *tbl); int i2d_ASN1_BOOLEAN(int a, unsigned char **pp); int d2i_ASN1_BOOLEAN(int *a, const unsigned char **pp, long length); ASN1_INTEGER *ASN1_INTEGER_new(void); void ASN1_INTEGER_free(ASN1_INTEGER *a); ASN1_INTEGER *d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len); int i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out); extern const ASN1_ITEM ASN1_INTEGER_it; int i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp); ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length); ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length); ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); ASN1_ENUMERATED *ASN1_ENUMERATED_new(void); void ASN1_ENUMERATED_free(ASN1_ENUMERATED *a); ASN1_ENUMERATED *d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len); int i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out); extern const ASN1_ITEM ASN1_ENUMERATED_it; int ASN1_UTCTIME_check(const ASN1_UTCTIME *a); ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t); ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec); int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, time_t t); ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day, long offset_sec); int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); int ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, const ASN1_TIME *to); ASN1_OCTET_STRING *ASN1_OCTET_STRING_new(void); void ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a); ASN1_OCTET_STRING *d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len); int i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_OCTET_STRING_it; ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b); int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, int len); ASN1_VISIBLESTRING *ASN1_VISIBLESTRING_new(void); void ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a); ASN1_VISIBLESTRING *d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len); int i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_VISIBLESTRING_it; ASN1_UNIVERSALSTRING *ASN1_UNIVERSALSTRING_new(void); void ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a); ASN1_UNIVERSALSTRING *d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len); int i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_UNIVERSALSTRING_it; ASN1_UTF8STRING *ASN1_UTF8STRING_new(void); void ASN1_UTF8STRING_free(ASN1_UTF8STRING *a); ASN1_UTF8STRING *d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len); int i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_UTF8STRING_it; ASN1_NULL *ASN1_NULL_new(void); void ASN1_NULL_free(ASN1_NULL *a); ASN1_NULL *d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len); int i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out); extern const ASN1_ITEM ASN1_NULL_it; ASN1_BMPSTRING *ASN1_BMPSTRING_new(void); void ASN1_BMPSTRING_free(ASN1_BMPSTRING *a); ASN1_BMPSTRING *d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len); int i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_BMPSTRING_it; int UTF8_getc(const unsigned char *str, int len, unsigned long *val); int UTF8_putc(unsigned char *str, int len, unsigned long value); ASN1_STRING *ASN1_PRINTABLE_new(void); void ASN1_PRINTABLE_free(ASN1_STRING *a); ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len); int i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_PRINTABLE_it; ASN1_STRING *DIRECTORYSTRING_new(void); void DIRECTORYSTRING_free(ASN1_STRING *a); ASN1_STRING *d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len); int i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out); extern const ASN1_ITEM DIRECTORYSTRING_it; ASN1_STRING *DISPLAYTEXT_new(void); void DISPLAYTEXT_free(ASN1_STRING *a); ASN1_STRING *d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len); int i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out); extern const ASN1_ITEM DISPLAYTEXT_it; ASN1_PRINTABLESTRING *ASN1_PRINTABLESTRING_new(void); void ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a); ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len); int i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_PRINTABLESTRING_it; ASN1_T61STRING *ASN1_T61STRING_new(void); void ASN1_T61STRING_free(ASN1_T61STRING *a); ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len); int i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_T61STRING_it; ASN1_IA5STRING *ASN1_IA5STRING_new(void); void ASN1_IA5STRING_free(ASN1_IA5STRING *a); ASN1_IA5STRING *d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len); int i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_IA5STRING_it; ASN1_GENERALSTRING *ASN1_GENERALSTRING_new(void); void ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a); ASN1_GENERALSTRING *d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len); int i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_GENERALSTRING_it; ASN1_UTCTIME *ASN1_UTCTIME_new(void); void ASN1_UTCTIME_free(ASN1_UTCTIME *a); ASN1_UTCTIME *d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len); int i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out); extern const ASN1_ITEM ASN1_UTCTIME_it; ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_new(void); void ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a); ASN1_GENERALIZEDTIME *d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len); int i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out); extern const ASN1_ITEM ASN1_GENERALIZEDTIME_it; ASN1_TIME *ASN1_TIME_new(void); void ASN1_TIME_free(ASN1_TIME *a); ASN1_TIME *d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len); int i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out); extern const ASN1_ITEM ASN1_TIME_it; extern const ASN1_ITEM ASN1_OCTET_STRING_NDEF_it; ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec); int ASN1_TIME_check(ASN1_TIME *t); ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME **out); int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); int i2d_ASN1_SET(struct stack_st_OPENSSL_BLOCK *a, unsigned char **pp, i2d_of_void *i2d, int ex_tag, int ex_class, int is_set); struct stack_st_OPENSSL_BLOCK *d2i_ASN1_SET(struct stack_st_OPENSSL_BLOCK **a, const unsigned char **pp, long length, d2i_of_void *d2i, void (*free_func) (OPENSSL_BLOCK), int ex_tag, int ex_class); int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a); int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); int i2a_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *a); int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); int i2a_ASN1_OBJECT(BIO *bp, ASN1_OBJECT *a); int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); int i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type); int i2t_ASN1_OBJECT(char *buf, int buf_len, ASN1_OBJECT *a); int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num); ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len, const char *sn, const char *ln); int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); long ASN1_INTEGER_get(const ASN1_INTEGER *a); ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a); ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai); BIGNUM *ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED *ai, BIGNUM *bn); /* General */ /* given a string, return the correct type, max is the maximum length */ int ASN1_PRINTABLE_type(const unsigned char *s, int max); int i2d_ASN1_bytes(ASN1_STRING *a, unsigned char **pp, int tag, int xclass); ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, long length, int Ptag, int Pclass); unsigned long ASN1_tag2bit(int tag); /* type is one or more of the B_ASN1_ values. */ ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, long length, int type); /* PARSING */ int asn1_Finish(ASN1_CTX *c); int asn1_const_Finish(ASN1_const_CTX *c); /* SPECIALS */ int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, int *pclass, long omax); int ASN1_check_infinite_end(unsigned char **p, long len); int ASN1_const_check_infinite_end(const unsigned char **p, long len); void ASN1_put_object(unsigned char **pp, int constructed, int length, int tag, int xclass); int ASN1_put_eoc(unsigned char **pp); int ASN1_object_size(int constructed, int length, int tag); /* Used to implement other functions */ void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); # 976 "/usr/include/openssl/asn1.h" 3 4 void *ASN1_item_dup(const ASN1_ITEM *it, void *x); /* ASN1 alloc/free macros for when a type is only used internally */ void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); # 1006 "/usr/include/openssl/asn1.h" 3 4 int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags); int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); # 1034 "/usr/include/openssl/asn1.h" 3 4 int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags); int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, unsigned char *buf, int off); int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent); int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, int dump); const char *ASN1_tag2str(int tag); /* Used to load and write netscape format cert */ NETSCAPE_X509 *NETSCAPE_X509_new(void); void NETSCAPE_X509_free(NETSCAPE_X509 *a); NETSCAPE_X509 *d2i_NETSCAPE_X509(NETSCAPE_X509 **a, const unsigned char **in, long len); int i2d_NETSCAPE_X509(NETSCAPE_X509 *a, unsigned char **out); extern const ASN1_ITEM NETSCAPE_X509_it; int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len); int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, int max_len); int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned char *data, int len); int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, unsigned char *data, int max_len); struct stack_st_OPENSSL_BLOCK *ASN1_seq_unpack(const unsigned char *buf, int len, d2i_of_void *d2i, void (*free_func) (OPENSSL_BLOCK)); unsigned char *ASN1_seq_pack(struct stack_st_OPENSSL_BLOCK *safes, i2d_of_void *i2d, unsigned char **buf, int *len); void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i); void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it); ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, ASN1_OCTET_STRING **oct); ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_OCTET_STRING **oct); void ASN1_STRING_set_default_mask(unsigned long mask); int ASN1_STRING_set_default_mask_asc(const char *p); unsigned long ASN1_STRING_get_default_mask(void); int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, int inform, unsigned long mask); int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, int inform, unsigned long mask, long minsize, long maxsize); ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, const unsigned char *in, int inlen, int inform, int nid); ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); void ASN1_STRING_TABLE_cleanup(void); /* ASN1 template functions */ /* Old API compatible functions */ ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, long len, const ASN1_ITEM *it); int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); void ASN1_add_oid_module(void); ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf); ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf); /* ASN1 Print flags */ /* Indicate missing OPTIONAL fields */ /* Mark start and end of SEQUENCE */ /* Mark start and end of SEQUENCE/SET OF */ /* Show the ASN1 type of primitives */ /* Don't show ASN1 type of ANY */ /* Don't show ASN1 type of MSTRINGs */ /* Don't show field names in SEQUENCE */ /* Show structure names of each SEQUENCE field */ /* Don't show structure name even at top level */ int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, const ASN1_ITEM *it, const ASN1_PCTX *pctx); ASN1_PCTX *ASN1_PCTX_new(void); void ASN1_PCTX_free(ASN1_PCTX *p); unsigned long ASN1_PCTX_get_flags(ASN1_PCTX *p); void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); unsigned long ASN1_PCTX_get_nm_flags(ASN1_PCTX *p); void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); unsigned long ASN1_PCTX_get_cert_flags(ASN1_PCTX *p); void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); unsigned long ASN1_PCTX_get_oid_flags(ASN1_PCTX *p); void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); unsigned long ASN1_PCTX_get_str_flags(ASN1_PCTX *p); void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); BIO_METHOD *BIO_f_asn1(void); BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const ASN1_ITEM *it); int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const char *hdr, const ASN1_ITEM *it); int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, int ctype_nid, int econt_nid, struct stack_st_X509_ALGOR *mdalgs, const ASN1_ITEM *it); ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); int SMIME_crlf_copy(BIO *in, BIO *out, int flags); int SMIME_text(BIO *in, BIO *out); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_ASN1_strings(void); /* Error codes for the ASN1 functions. */ /* Function codes. */ # 1298 "/usr/include/openssl/asn1.h" 3 4 /* Reason codes. */ # 966 "/usr/include/openssl/objects.h" 2 3 4 # 984 "/usr/include/openssl/objects.h" 3 4 typedef struct obj_name_st { int type; int alias; const char *name; const char *data; } OBJ_NAME; int OBJ_NAME_init(void); int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *), int (*cmp_func) (const char *, const char *), void (*free_func) (const char *, int, const char *)); const char *OBJ_NAME_get(const char *name, int type); int OBJ_NAME_add(const char *name, int type, const char *data); int OBJ_NAME_remove(const char *name, int type); void OBJ_NAME_cleanup(int type); /* -1 for everything */ void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg), void *arg); void OBJ_NAME_do_all_sorted(int type, void (*fn) (const OBJ_NAME *, void *arg), void *arg); ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); ASN1_OBJECT *OBJ_nid2obj(int n); const char *OBJ_nid2ln(int n); const char *OBJ_nid2sn(int n); int OBJ_obj2nid(const ASN1_OBJECT *o); ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name); int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); int OBJ_txt2nid(const char *s); int OBJ_ln2nid(const char *s); int OBJ_sn2nid(const char *s); int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); const void *OBJ_bsearch_(const void *key, const void *base, int num, int size, int (*cmp) (const void *, const void *)); const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, int size, int (*cmp) (const void *, const void *), int flags); # 1035 "/usr/include/openssl/objects.h" 3 4 /*- * Unsolved problem: if a type is actually a pointer type, like * nid_triple is, then its impossible to get a const where you need * it. Consider: * * typedef int nid_triple[3]; * const void *a_; * const nid_triple const *a = a_; * * The assignement discards a const because what you really want is: * * const int const * const *a = a_; * * But if you do that, you lose the fact that a is an array of 3 ints, * which breaks comparison functions. * * Thus we end up having to cast, sadly, or unpack the * declarations. Or, as I finally did in this case, delcare nid_triple * to be a struct, which it should have been in the first place. * * Ben, August 2008. * * Also, strictly speaking not all types need be const, but handling * the non-constness means a lot of complication, and in practice * comparison routines do always not touch their arguments. */ # 1104 "/usr/include/openssl/objects.h" 3 4 int OBJ_new_nid(int num); int OBJ_add_object(const ASN1_OBJECT *obj); int OBJ_create(const char *oid, const char *sn, const char *ln); void OBJ_cleanup(void); int OBJ_create_objects(BIO *in); int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); int OBJ_add_sigid(int signid, int dig_id, int pkey_id); void OBJ_sigid_free(void); extern int obj_cleanup_defer; void check_defer(int nid); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_OBJ_strings(void); /* Error codes for the OBJ functions. */ /* Function codes. */ # 1136 "/usr/include/openssl/objects.h" 3 4 /* Reason codes. */ # 95 "/usr/include/openssl/evp.h" 2 3 4 # 125 "/usr/include/openssl/evp.h" 3 4 /* * Type needs to be a bit field Sub-type needs to be for variations on the * method, as in, can it do arbitrary encryption.... */ struct evp_pkey_st { int type; int save_type; int references; const EVP_PKEY_ASN1_METHOD *ameth; ENGINE *engine; union { char *ptr; struct rsa_st *rsa; /* RSA */ struct dsa_st *dsa; /* DSA */ struct dh_st *dh; /* DH */ struct ec_key_st *ec; /* ECC */ } pkey; int save_parameters; struct stack_st_X509_ATTRIBUTE *attributes; /* [ 0 ] */ } /* EVP_PKEY */ ; struct env_md_st { int type; int pkey_type; int md_size; unsigned long flags; int (*init) (EVP_MD_CTX *ctx); int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); int (*final) (EVP_MD_CTX *ctx, unsigned char *md); int (*copy) (EVP_MD_CTX *to, const EVP_MD_CTX *from); int (*cleanup) (EVP_MD_CTX *ctx); /* FIXME: prototype these some day */ int (*sign) (int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, void *key); int (*verify) (int type, const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, unsigned int siglen, void *key); int required_pkey_type[5]; /* EVP_PKEY_xxx */ int block_size; int ctx_size; /* how big does the ctx->md_data need to be */ /* control function */ int (*md_ctrl) (EVP_MD_CTX *ctx, int cmd, int p1, void *p2); } /* EVP_MD */ ; typedef int evp_sign_method(int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, void *key); typedef int evp_verify_method(int type, const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, unsigned int siglen, void *key); /* digest can only handle a single block */ /* * digest is a "clone" digest used * which is a copy of an existing * one for a specific public key type. * EVP_dss1() etc */ /* Digest uses EVP_PKEY_METHOD for signing instead of MD specific signing */ /* DigestAlgorithmIdentifier flags... */ /* NULL or absent parameter accepted. Use NULL */ /* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ /* Custom handling via ctrl */ /* Note if suitable for use in FIPS mode */ /* Digest ctrls */ /* Minimum Algorithm specific ctrl value */ # 268 "/usr/include/openssl/evp.h" 3 4 struct env_md_ctx_st { const EVP_MD *digest; ENGINE *engine; /* functional reference if 'digest' is * ENGINE-provided */ unsigned long flags; void *md_data; /* Public key context for sign/verify */ EVP_PKEY_CTX *pctx; /* Update function: usually copied from EVP_MD */ int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); } /* EVP_MD_CTX */ ; /* values for EVP_MD_CTX flags */ /* * FIPS and pad options are ignored in 1.0.0, definitions are here so we * don't accidentally reuse the values for other purposes. */ /* * The following PAD options are also currently ignored in 1.0.0, digest * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() * instead. */ struct evp_cipher_st { int nid; int block_size; /* Default value for variable length ciphers */ int key_len; int iv_len; /* Various flags */ unsigned long flags; /* init key */ int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc); /* encrypt/decrypt data */ int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t inl); /* cleanup ctx */ int (*cleanup) (EVP_CIPHER_CTX *); /* how big ctx->cipher_data needs to be */ int ctx_size; /* Populate a ASN1_TYPE with parameters */ int (*set_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); /* Get parameters from a ASN1_TYPE */ int (*get_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); /* Miscellaneous operations */ int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr); /* Application data */ void *app_data; } /* EVP_CIPHER */ ; /* Values for cipher flags */ /* Modes for ciphers */ # 351 "/usr/include/openssl/evp.h" 3 4 /* Set if variable length cipher */ /* Set if the iv handling should be done by the cipher itself */ /* Set if the cipher's init() function should be called if key is NULL */ /* Call ctrl() to init cipher parameters */ /* Don't use standard key length function */ /* Don't use standard block padding */ /* cipher handles random key generation */ /* cipher has its own additional copying logic */ /* Allow use default ASN1 get/set iv */ /* Buffer length in bits not bytes: CFB1 mode only */ /* Note if suitable for use in FIPS mode */ /* Allow non FIPS cipher in FIPS mode */ /* * Cipher handles any and all padding logic as well as finalisation. */ /* * Cipher context flag to indicate we can handle wrap mode: if allowed in * older applications it could overflow buffers. */ /* ctrl() values */ # 410 "/usr/include/openssl/evp.h" 3 4 /* * AEAD cipher deduces payload length and returns number of bytes required to * store MAC and eventual padding. Subsequent call to EVP_Cipher even * appends/verifies MAC. */ /* Used by composite AEAD ciphers, no-op in GCM, CCM... */ /* Set the GCM invocation field, decrypt only */ /* RFC 5246 defines additional data to be 13 bytes in length */ typedef struct { unsigned char *out; const unsigned char *inp; size_t len; unsigned int interleave; } EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM; /* GCM TLS constants */ /* Length of fixed part of IV derived from PRF */ /* Length of explicit part of IV part of TLS records */ /* Length of tag for TLS */ typedef struct evp_cipher_info_st { const EVP_CIPHER *cipher; unsigned char iv[16]; } EVP_CIPHER_INFO; struct evp_cipher_ctx_st { const EVP_CIPHER *cipher; ENGINE *engine; /* functional reference if 'cipher' is * ENGINE-provided */ int encrypt; /* encrypt or decrypt */ int buf_len; /* number we have left */ unsigned char oiv[16]; /* original iv */ unsigned char iv[16]; /* working iv */ unsigned char buf[32]; /* saved partial block */ int num; /* used by cfb/ofb/ctr mode */ void *app_data; /* application stuff */ int key_len; /* May change for variable length cipher */ unsigned long flags; /* Various flags */ void *cipher_data; /* per EVP data */ int final_used; int block_mask; unsigned char final[32]; /* possible final block */ } /* EVP_CIPHER_CTX */ ; typedef struct evp_Encode_Ctx_st { /* number saved in a partial encode/decode */ int num; /* * The length is either the output line length (in input bytes) or the * shortest input line length that is ok. Once decoding begins, the * length is adjusted up each time a longer line is decoded */ int length; /* data to encode */ unsigned char enc_data[80]; /* number read on current line */ int line_num; int expect_nl; } EVP_ENCODE_CTX; /* Password based encryption function */ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, int passlen, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int en_de); # 510 "/usr/include/openssl/evp.h" 3 4 /* Add some extra combinations */ int EVP_MD_type(const EVP_MD *md); int EVP_MD_pkey_type(const EVP_MD *md); int EVP_MD_size(const EVP_MD *md); int EVP_MD_block_size(const EVP_MD *md); unsigned long EVP_MD_flags(const EVP_MD *md); const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); int EVP_CIPHER_nid(const EVP_CIPHER *cipher); int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); # 574 "/usr/include/openssl/evp.h" 3 4 int EVP_Cipher(EVP_CIPHER_CTX *c, unsigned char *out, const unsigned char *in, unsigned int inl); # 586 "/usr/include/openssl/evp.h" 3 4 void EVP_MD_CTX_init(EVP_MD_CTX *ctx); int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); EVP_MD_CTX *EVP_MD_CTX_create(void); void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl); int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt); int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); int EVP_Digest(const void *data, size_t count, unsigned char *md, unsigned int *size, const EVP_MD *type, ENGINE *impl); int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in); int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, const char *prompt, int verify); void EVP_set_pw_prompt(const char *prompt); char *EVP_get_pw_prompt(void); int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, const unsigned char *salt, const unsigned char *data, int datal, int count, unsigned char *key, unsigned char *iv); void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags); void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags); int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags); int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, const unsigned char *key, const unsigned char *iv); int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv); int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl); int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, const unsigned char *key, const unsigned char *iv); int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv); int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl); int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, const unsigned char *key, const unsigned char *iv, int enc); int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc); int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl); int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, EVP_PKEY *pkey); int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, unsigned int siglen, EVP_PKEY *pkey); int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen); int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, size_t siglen); int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *ek, int ekl, const unsigned char *iv, EVP_PKEY *priv); int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, unsigned char **ek, int *ekl, unsigned char *iv, EVP_PKEY **pubk, int npubk); int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); void EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl); void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n); void EVP_DecodeInit(EVP_ENCODE_CTX *ctx); int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl); int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a); int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a); EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a); int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); BIO_METHOD *BIO_f_md(void); BIO_METHOD *BIO_f_base64(void); BIO_METHOD *BIO_f_cipher(void); BIO_METHOD *BIO_f_reliable(void); void BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k, const unsigned char *i, int enc); const EVP_MD *EVP_md_null(void); const EVP_MD *EVP_md2(void); const EVP_MD *EVP_md4(void); const EVP_MD *EVP_md5(void); const EVP_MD *EVP_sha(void); const EVP_MD *EVP_sha1(void); const EVP_MD *EVP_dss(void); const EVP_MD *EVP_dss1(void); const EVP_MD *EVP_ecdsa(void); const EVP_MD *EVP_sha224(void); const EVP_MD *EVP_sha256(void); const EVP_MD *EVP_sha384(void); const EVP_MD *EVP_sha512(void); const EVP_MD *EVP_ripemd160(void); const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ const EVP_CIPHER *EVP_des_ecb(void); const EVP_CIPHER *EVP_des_ede(void); const EVP_CIPHER *EVP_des_ede3(void); const EVP_CIPHER *EVP_des_ede_ecb(void); const EVP_CIPHER *EVP_des_ede3_ecb(void); const EVP_CIPHER *EVP_des_cfb64(void); const EVP_CIPHER *EVP_des_cfb1(void); const EVP_CIPHER *EVP_des_cfb8(void); const EVP_CIPHER *EVP_des_ede_cfb64(void); const EVP_CIPHER *EVP_des_ede3_cfb64(void); const EVP_CIPHER *EVP_des_ede3_cfb1(void); const EVP_CIPHER *EVP_des_ede3_cfb8(void); const EVP_CIPHER *EVP_des_ofb(void); const EVP_CIPHER *EVP_des_ede_ofb(void); const EVP_CIPHER *EVP_des_ede3_ofb(void); const EVP_CIPHER *EVP_des_cbc(void); const EVP_CIPHER *EVP_des_ede_cbc(void); const EVP_CIPHER *EVP_des_ede3_cbc(void); const EVP_CIPHER *EVP_desx_cbc(void); const EVP_CIPHER *EVP_des_ede3_wrap(void); /* * This should now be supported through the dev_crypto ENGINE. But also, why * are rc4 and md5 declarations made here inside a "NO_DES" precompiler * branch? */ # 785 "/usr/include/openssl/evp.h" 3 4 const EVP_CIPHER *EVP_rc4(void); const EVP_CIPHER *EVP_rc4_40(void); const EVP_CIPHER *EVP_rc4_hmac_md5(void); # 799 "/usr/include/openssl/evp.h" 3 4 const EVP_CIPHER *EVP_rc2_ecb(void); const EVP_CIPHER *EVP_rc2_cbc(void); const EVP_CIPHER *EVP_rc2_40_cbc(void); const EVP_CIPHER *EVP_rc2_64_cbc(void); const EVP_CIPHER *EVP_rc2_cfb64(void); const EVP_CIPHER *EVP_rc2_ofb(void); const EVP_CIPHER *EVP_bf_ecb(void); const EVP_CIPHER *EVP_bf_cbc(void); const EVP_CIPHER *EVP_bf_cfb64(void); const EVP_CIPHER *EVP_bf_ofb(void); const EVP_CIPHER *EVP_cast5_ecb(void); const EVP_CIPHER *EVP_cast5_cbc(void); const EVP_CIPHER *EVP_cast5_cfb64(void); const EVP_CIPHER *EVP_cast5_ofb(void); # 829 "/usr/include/openssl/evp.h" 3 4 const EVP_CIPHER *EVP_aes_128_ecb(void); const EVP_CIPHER *EVP_aes_128_cbc(void); const EVP_CIPHER *EVP_aes_128_cfb1(void); const EVP_CIPHER *EVP_aes_128_cfb8(void); const EVP_CIPHER *EVP_aes_128_cfb128(void); const EVP_CIPHER *EVP_aes_128_ofb(void); const EVP_CIPHER *EVP_aes_128_ctr(void); const EVP_CIPHER *EVP_aes_128_ccm(void); const EVP_CIPHER *EVP_aes_128_gcm(void); const EVP_CIPHER *EVP_aes_128_xts(void); const EVP_CIPHER *EVP_aes_128_wrap(void); const EVP_CIPHER *EVP_aes_192_ecb(void); const EVP_CIPHER *EVP_aes_192_cbc(void); const EVP_CIPHER *EVP_aes_192_cfb1(void); const EVP_CIPHER *EVP_aes_192_cfb8(void); const EVP_CIPHER *EVP_aes_192_cfb128(void); const EVP_CIPHER *EVP_aes_192_ofb(void); const EVP_CIPHER *EVP_aes_192_ctr(void); const EVP_CIPHER *EVP_aes_192_ccm(void); const EVP_CIPHER *EVP_aes_192_gcm(void); const EVP_CIPHER *EVP_aes_192_wrap(void); const EVP_CIPHER *EVP_aes_256_ecb(void); const EVP_CIPHER *EVP_aes_256_cbc(void); const EVP_CIPHER *EVP_aes_256_cfb1(void); const EVP_CIPHER *EVP_aes_256_cfb8(void); const EVP_CIPHER *EVP_aes_256_cfb128(void); const EVP_CIPHER *EVP_aes_256_ofb(void); const EVP_CIPHER *EVP_aes_256_ctr(void); const EVP_CIPHER *EVP_aes_256_ccm(void); const EVP_CIPHER *EVP_aes_256_gcm(void); const EVP_CIPHER *EVP_aes_256_xts(void); const EVP_CIPHER *EVP_aes_256_wrap(void); const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void); const EVP_CIPHER *EVP_camellia_128_ecb(void); const EVP_CIPHER *EVP_camellia_128_cbc(void); const EVP_CIPHER *EVP_camellia_128_cfb1(void); const EVP_CIPHER *EVP_camellia_128_cfb8(void); const EVP_CIPHER *EVP_camellia_128_cfb128(void); const EVP_CIPHER *EVP_camellia_128_ofb(void); const EVP_CIPHER *EVP_camellia_192_ecb(void); const EVP_CIPHER *EVP_camellia_192_cbc(void); const EVP_CIPHER *EVP_camellia_192_cfb1(void); const EVP_CIPHER *EVP_camellia_192_cfb8(void); const EVP_CIPHER *EVP_camellia_192_cfb128(void); const EVP_CIPHER *EVP_camellia_192_ofb(void); const EVP_CIPHER *EVP_camellia_256_ecb(void); const EVP_CIPHER *EVP_camellia_256_cbc(void); const EVP_CIPHER *EVP_camellia_256_cfb1(void); const EVP_CIPHER *EVP_camellia_256_cfb8(void); const EVP_CIPHER *EVP_camellia_256_cfb128(void); const EVP_CIPHER *EVP_camellia_256_ofb(void); # 905 "/usr/include/openssl/evp.h" 3 4 void OPENSSL_add_all_algorithms_noconf(void); void OPENSSL_add_all_algorithms_conf(void); # 916 "/usr/include/openssl/evp.h" 3 4 void OpenSSL_add_all_ciphers(void); void OpenSSL_add_all_digests(void); int EVP_add_cipher(const EVP_CIPHER *cipher); int EVP_add_digest(const EVP_MD *digest); const EVP_CIPHER *EVP_get_cipherbyname(const char *name); const EVP_MD *EVP_get_digestbyname(const char *name); void EVP_cleanup(void); void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, const char *from, const char *to, void *x), void *arg); void EVP_CIPHER_do_all_sorted(void (*fn) (const EVP_CIPHER *ciph, const char *from, const char *to, void *x), void *arg); void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph, const char *from, const char *to, void *x), void *arg); void EVP_MD_do_all_sorted(void (*fn) (const EVP_MD *ciph, const char *from, const char *to, void *x), void *arg); int EVP_PKEY_decrypt_old(unsigned char *dec_key, const unsigned char *enc_key, int enc_key_len, EVP_PKEY *private_key); int EVP_PKEY_encrypt_old(unsigned char *enc_key, const unsigned char *key, int key_len, EVP_PKEY *pub_key); int EVP_PKEY_type(int type); int EVP_PKEY_id(const EVP_PKEY *pkey); int EVP_PKEY_base_id(const EVP_PKEY *pkey); int EVP_PKEY_bits(EVP_PKEY *pkey); int EVP_PKEY_size(EVP_PKEY *pkey); int EVP_PKEY_set_type(EVP_PKEY *pkey, int type); int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key); void *EVP_PKEY_get0(EVP_PKEY *pkey); struct rsa_st; int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); struct dsa_st; int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); struct dh_st; int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); struct ec_key_st; int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); EVP_PKEY *EVP_PKEY_new(void); void EVP_PKEY_free(EVP_PKEY *pkey); EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length); int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode); int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx); int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx); int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx); int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); int EVP_CIPHER_type(const EVP_CIPHER *ctx); /* calls methods */ int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); /* These are used by EVP_CIPHER methods */ int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); /* PKCS5 password based encryption */ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int en_de); int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, const unsigned char *salt, int saltlen, int iter, int keylen, unsigned char *out); int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, const unsigned char *salt, int saltlen, int iter, const EVP_MD *digest, int keylen, unsigned char *out); int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int en_de); void PKCS5_PBE_add(void); int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); /* PBE type */ /* Can appear as the outermost AlgorithmIdentifier */ /* Is an PRF type OID */ int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, int md_nid, EVP_PBE_KEYGEN *keygen); int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, EVP_PBE_KEYGEN *keygen); int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid, EVP_PBE_KEYGEN **pkeygen); void EVP_PBE_cleanup(void); # 1064 "/usr/include/openssl/evp.h" 3 4 int EVP_PKEY_asn1_get_count(void); const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, const char *str, int len); int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth); int EVP_PKEY_asn1_add_alias(int to, int from); int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, int *ppkey_flags, const char **pinfo, const char **ppem_str, const EVP_PKEY_ASN1_METHOD *ameth); const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(EVP_PKEY *pkey); EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info); void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src); void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, int (*pub_decode) (EVP_PKEY *pk, X509_PUBKEY *pub), int (*pub_encode) (X509_PUBKEY *pub, const EVP_PKEY *pk), int (*pub_cmp) (const EVP_PKEY *a, const EVP_PKEY *b), int (*pub_print) (BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx), int (*pkey_size) (const EVP_PKEY *pk), int (*pkey_bits) (const EVP_PKEY *pk)); void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, int (*priv_decode) (EVP_PKEY *pk, PKCS8_PRIV_KEY_INFO *p8inf), int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pk), int (*priv_print) (BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx)); void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, int (*param_decode) (EVP_PKEY *pkey, const unsigned char **pder, int derlen), int (*param_encode) (const EVP_PKEY *pkey, unsigned char **pder), int (*param_missing) (const EVP_PKEY *pk), int (*param_copy) (EVP_PKEY *to, const EVP_PKEY *from), int (*param_cmp) (const EVP_PKEY *a, const EVP_PKEY *b), int (*param_print) (BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx)); void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, void (*pkey_free) (EVP_PKEY *pkey)); void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_ctrl) (EVP_PKEY *pkey, int op, long arg1, void *arg2)); void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, int (*item_verify) (EVP_MD_CTX *ctx, const ASN1_ITEM *it, void *asn, X509_ALGOR *a, ASN1_BIT_STRING *sig, EVP_PKEY *pkey), int (*item_sign) (EVP_MD_CTX *ctx, const ASN1_ITEM *it, void *asn, X509_ALGOR *alg1, X509_ALGOR *alg2, ASN1_BIT_STRING *sig)); # 1185 "/usr/include/openssl/evp.h" 3 4 /* Used by GOST key encryption in TLS */ # 1199 "/usr/include/openssl/evp.h" 3 4 /* * Method handles all operations: don't assume any digest related defaults. */ const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags); void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, const EVP_PKEY_METHOD *meth); void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src); void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, int cmd, int p1, void *p2); int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, const char *value); int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, const unsigned char *key, int keylen); void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen); int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen, const unsigned char *tbs, size_t tbslen); int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, unsigned char *rout, size_t *routlen, const unsigned char *sig, size_t siglen); int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, const unsigned char *in, size_t inlen); int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, const unsigned char *in, size_t inlen); int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); typedef int EVP_PKEY_gen_cb (EVP_PKEY_CTX *ctx); int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, int (*init) (EVP_PKEY_CTX *ctx)); void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, int (*copy) (EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src)); void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, void (*cleanup) (EVP_PKEY_CTX *ctx)); void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, int (*paramgen_init) (EVP_PKEY_CTX *ctx), int (*paramgen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)); void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, int (*keygen_init) (EVP_PKEY_CTX *ctx), int (*keygen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)); void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, int (*sign_init) (EVP_PKEY_CTX *ctx), int (*sign) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen)); void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, int (*verify_init) (EVP_PKEY_CTX *ctx), int (*verify) (EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen, const unsigned char *tbs, size_t tbslen)); void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, int (*verify_recover_init) (EVP_PKEY_CTX *ctx), int (*verify_recover) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen)); void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, int (*signctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), int (*signctx) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, EVP_MD_CTX *mctx)); void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, int (*verifyctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), int (*verifyctx) (EVP_PKEY_CTX *ctx, const unsigned char *sig, int siglen, EVP_MD_CTX *mctx)); void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, int (*encrypt_init) (EVP_PKEY_CTX *ctx), int (*encryptfn) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, const unsigned char *in, size_t inlen)); void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, int (*decrypt_init) (EVP_PKEY_CTX *ctx), int (*decrypt) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, const unsigned char *in, size_t inlen)); void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, int (*derive_init) (EVP_PKEY_CTX *ctx), int (*derive) (EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)); void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1, void *p2), int (*ctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value)); void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth, int (**pinit) (EVP_PKEY_CTX *ctx)); void EVP_PKEY_meth_get_copy(EVP_PKEY_METHOD *pmeth, int (**pcopy) (EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src)); void EVP_PKEY_meth_get_cleanup(EVP_PKEY_METHOD *pmeth, void (**pcleanup) (EVP_PKEY_CTX *ctx)); void EVP_PKEY_meth_get_paramgen(EVP_PKEY_METHOD *pmeth, int (**pparamgen_init) (EVP_PKEY_CTX *ctx), int (**pparamgen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)); void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth, int (**pkeygen_init) (EVP_PKEY_CTX *ctx), int (**pkeygen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)); void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, int (**psign_init) (EVP_PKEY_CTX *ctx), int (**psign) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen)); void EVP_PKEY_meth_get_verify(EVP_PKEY_METHOD *pmeth, int (**pverify_init) (EVP_PKEY_CTX *ctx), int (**pverify) (EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen, const unsigned char *tbs, size_t tbslen)); void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD *pmeth, int (**pverify_recover_init) (EVP_PKEY_CTX *ctx), int (**pverify_recover) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen)); void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD *pmeth, int (**psignctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), int (**psignctx) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, EVP_MD_CTX *mctx)); void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD *pmeth, int (**pverifyctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), int (**pverifyctx) (EVP_PKEY_CTX *ctx, const unsigned char *sig, int siglen, EVP_MD_CTX *mctx)); void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD *pmeth, int (**pencrypt_init) (EVP_PKEY_CTX *ctx), int (**pencryptfn) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, const unsigned char *in, size_t inlen)); void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth, int (**pdecrypt_init) (EVP_PKEY_CTX *ctx), int (**pdecrypt) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, const unsigned char *in, size_t inlen)); void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth, int (**pderive_init) (EVP_PKEY_CTX *ctx), int (**pderive) (EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)); void EVP_PKEY_meth_get_ctrl(EVP_PKEY_METHOD *pmeth, int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1, void *p2), int (**pctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value)); void EVP_add_alg_module(void); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_EVP_strings(void); /* Error codes for the EVP functions. */ /* Function codes. */ # 1554 "/usr/include/openssl/evp.h" 3 4 /* Reason codes. */ # 74 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 77 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/stack.h" 1 3 4 /* crypto/stack/stack.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 79 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/asn1.h" 1 3 4 /* crypto/asn1/asn1.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 80 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/safestack.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 81 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/ec.h" 1 3 4 /* crypto/ec/ec.h */ /* * Originally written by Bodo Moeller for the OpenSSL project. */ /** * \file crypto/ec/ec.h Include file for the OpenSSL EC functions * \author Originally written by Bodo Moeller for the OpenSSL project */ /* ==================================================================== * Copyright (c) 1998-2019 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the OpenSSL open source * license provided above. * * The elliptic curve binary polynomial software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 80 "/usr/include/openssl/ec.h" 2 3 4 # 1 "/usr/include/openssl/asn1.h" 1 3 4 /* crypto/asn1/asn1.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 86 "/usr/include/openssl/ec.h" 2 3 4 # 1 "/usr/include/openssl/symhacks.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 87 "/usr/include/openssl/ec.h" 2 3 4 # 1 "/usr/include/openssl/bn.h" 1 3 4 /* crypto/bn/bn.h */ /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright (c) 1998-2018 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the Eric Young open source * license provided above. * * The binary polynomial arithmetic software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 89 "/usr/include/openssl/ec.h" 2 3 4 # 103 "/usr/include/openssl/ec.h" 3 4 /** Enum for the point conversion form as defined in X9.62 (ECDSA) * for the encoding of a elliptic curve point (x,y) */ typedef enum { /** the point is encoded as z||x, where the octet z specifies * which solution of the quadratic equation y is */ POINT_CONVERSION_COMPRESSED = 2, /** the point is encoded as z||x||y, where z is the octet 0x04 */ POINT_CONVERSION_UNCOMPRESSED = 4, /** the point is encoded as z||x||y, where the octet z specifies * which solution of the quadratic equation y is */ POINT_CONVERSION_HYBRID = 6 } point_conversion_form_t; typedef struct ec_method_st EC_METHOD; typedef struct ec_group_st /*- EC_METHOD *meth; -- field definition -- curve coefficients -- optional generator with associated information (order, cofactor) -- optional extra data (precomputed table for fast computation of multiples of generator) -- ASN1 stuff */ EC_GROUP; typedef struct ec_point_st EC_POINT; /********************************************************************/ /* EC_METHODs for curves over GF(p) */ /********************************************************************/ /** Returns the basic GFp ec methods which provides the basis for the * optimized methods. * \return EC_METHOD object */ const EC_METHOD *EC_GFp_simple_method(void); /** Returns GFp methods using montgomery multiplication. * \return EC_METHOD object */ const EC_METHOD *EC_GFp_mont_method(void); /** Returns GFp methods using optimized methods for NIST recommended curves * \return EC_METHOD object */ const EC_METHOD *EC_GFp_nist_method(void); # 169 "/usr/include/openssl/ec.h" 3 4 /********************************************************************/ /* EC_METHOD for curves over GF(2^m) */ /********************************************************************/ /** Returns the basic GF2m ec method * \return EC_METHOD object */ const EC_METHOD *EC_GF2m_simple_method(void); /********************************************************************/ /* EC_GROUP functions */ /********************************************************************/ /** Creates a new EC_GROUP object * \param meth EC_METHOD to use * \return newly created EC_GROUP object or NULL in case of an error. */ EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); /** Frees a EC_GROUP object * \param group EC_GROUP object to be freed. */ void EC_GROUP_free(EC_GROUP *group); /** Clears and frees a EC_GROUP object * \param group EC_GROUP object to be cleared and freed. */ void EC_GROUP_clear_free(EC_GROUP *group); /** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. * \param dst destination EC_GROUP object * \param src source EC_GROUP object * \return 1 on success and 0 if an error occurred. */ int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); /** Creates a new EC_GROUP object and copies the copies the content * form src to the newly created EC_KEY object * \param src source EC_GROUP object * \return newly created EC_GROUP object or NULL in case of an error. */ EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); /** Returns the EC_METHOD of the EC_GROUP object. * \param group EC_GROUP object * \return EC_METHOD used in this EC_GROUP object. */ const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); /** Returns the field type of the EC_METHOD. * \param meth EC_METHOD object * \return NID of the underlying field type OID. */ int EC_METHOD_get_field_type(const EC_METHOD *meth); /** Sets the generator and it's order/cofactor of a EC_GROUP object. * \param group EC_GROUP object * \param generator EC_POINT object with the generator. * \param order the order of the group generated by the generator. * \param cofactor the index of the sub-group generated by the generator * in the group of all points on the elliptic curve. * \return 1 on success and 0 if an error occured */ int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor); /** Returns the generator of a EC_GROUP object. * \param group EC_GROUP object * \return the currently used generator (possibly NULL). */ const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); /** Returns the montgomery data for order(Generator) * \param group EC_GROUP object * \return the currently used generator (possibly NULL). */ BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group); /** Gets the order of a EC_GROUP * \param group EC_GROUP object * \param order BIGNUM to which the order is copied * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); /** Gets the cofactor of a EC_GROUP * \param group EC_GROUP object * \param cofactor BIGNUM to which the cofactor is copied * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx); /** Sets the name of a EC_GROUP object * \param group EC_GROUP object * \param nid NID of the curve name OID */ void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); /** Returns the curve name of a EC_GROUP object * \param group EC_GROUP object * \return NID of the curve name OID or 0 if not set. */ int EC_GROUP_get_curve_name(const EC_GROUP *group); void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); int EC_GROUP_get_asn1_flag(const EC_GROUP *group); void EC_GROUP_set_point_conversion_form(EC_GROUP *group, point_conversion_form_t form); point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); size_t EC_GROUP_get_seed_len(const EC_GROUP *); size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); /** Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b * \param group EC_GROUP object * \param p BIGNUM with the prime number * \param a BIGNUM with parameter a of the equation * \param b BIGNUM with parameter b of the equation * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /** Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b * \param group EC_GROUP object * \param p BIGNUM for the prime number * \param a BIGNUM for parameter a of the equation * \param b BIGNUM for parameter b of the equation * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); /** Sets the parameter of a ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b * \param group EC_GROUP object * \param p BIGNUM with the polynomial defining the underlying field * \param a BIGNUM with parameter a of the equation * \param b BIGNUM with parameter b of the equation * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /** Gets the parameter of the ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b * \param group EC_GROUP object * \param p BIGNUM for the polynomial defining the underlying field * \param a BIGNUM for parameter a of the equation * \param b BIGNUM for parameter b of the equation * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); /** Returns the number of bits needed to represent a field element * \param group EC_GROUP object * \return number of bits needed to represent a field element */ int EC_GROUP_get_degree(const EC_GROUP *group); /** Checks whether the parameter in the EC_GROUP define a valid ec group * \param group EC_GROUP object * \param ctx BN_CTX object (optional) * \return 1 if group is a valid ec group and 0 otherwise */ int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); /** Checks whether the discriminant of the elliptic curve is zero or not * \param group EC_GROUP object * \param ctx BN_CTX object (optional) * \return 1 if the discriminant is not zero and 0 otherwise */ int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); /** Compares two EC_GROUP objects * \param a first EC_GROUP object * \param b second EC_GROUP object * \param ctx BN_CTX object (optional) * \return 0 if both groups are equal and 1 otherwise */ int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); /* * EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() after * choosing an appropriate EC_METHOD */ /** Creates a new EC_GROUP object with the specified parameters defined * over GFp (defined by the equation y^2 = x^3 + a*x + b) * \param p BIGNUM with the prime number * \param a BIGNUM with the parameter a of the equation * \param b BIGNUM with the parameter b of the equation * \param ctx BN_CTX object (optional) * \return newly created EC_GROUP object with the specified parameters */ EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /** Creates a new EC_GROUP object with the specified parameters defined * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) * \param p BIGNUM with the polynomial defining the underlying field * \param a BIGNUM with the parameter a of the equation * \param b BIGNUM with the parameter b of the equation * \param ctx BN_CTX object (optional) * \return newly created EC_GROUP object with the specified parameters */ EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /** Creates a EC_GROUP object with a curve specified by a NID * \param nid NID of the OID of the curve name * \return newly created EC_GROUP object with specified curve or NULL * if an error occurred */ EC_GROUP *EC_GROUP_new_by_curve_name(int nid); /********************************************************************/ /* handling of internal curves */ /********************************************************************/ typedef struct { int nid; const char *comment; } EC_builtin_curve; /* * EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number of all * available curves or zero if a error occurred. In case r ist not zero * nitems EC_builtin_curve structures are filled with the data of the first * nitems internal groups */ size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); const char *EC_curve_nid2nist(int nid); int EC_curve_nist2nid(const char *name); /********************************************************************/ /* EC_POINT functions */ /********************************************************************/ /** Creates a new EC_POINT object for the specified EC_GROUP * \param group EC_GROUP the underlying EC_GROUP object * \return newly created EC_POINT object or NULL if an error occurred */ EC_POINT *EC_POINT_new(const EC_GROUP *group); /** Frees a EC_POINT object * \param point EC_POINT object to be freed */ void EC_POINT_free(EC_POINT *point); /** Clears and frees a EC_POINT object * \param point EC_POINT object to be cleared and freed */ void EC_POINT_clear_free(EC_POINT *point); /** Copies EC_POINT object * \param dst destination EC_POINT object * \param src source EC_POINT object * \return 1 on success and 0 if an error occured */ int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); /** Creates a new EC_POINT object and copies the content of the supplied * EC_POINT * \param src source EC_POINT object * \param group underlying the EC_GROUP object * \return newly created EC_POINT object or NULL if an error occurred */ EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); /** Returns the EC_METHOD used in EC_POINT object * \param point EC_POINT object * \return the EC_METHOD used */ const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); /** Sets a point to infinity (neutral element) * \param group underlying EC_GROUP object * \param point EC_POINT to set to infinity * \return 1 on success and 0 if an error occured */ int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); /** Sets the jacobian projective coordinates of a EC_POINT over GFp * \param group underlying EC_GROUP object * \param p EC_POINT object * \param x BIGNUM with the x-coordinate * \param y BIGNUM with the y-coordinate * \param z BIGNUM with the z-coordinate * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *ctx); /** Gets the jacobian projective coordinates of a EC_POINT over GFp * \param group underlying EC_GROUP object * \param p EC_POINT object * \param x BIGNUM for the x-coordinate * \param y BIGNUM for the y-coordinate * \param z BIGNUM for the z-coordinate * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx); /** Sets the affine coordinates of a EC_POINT over GFp * \param group underlying EC_GROUP object * \param p EC_POINT object * \param x BIGNUM with the x-coordinate * \param y BIGNUM with the y-coordinate * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); /** Gets the affine coordinates of a EC_POINT over GFp * \param group underlying EC_GROUP object * \param p EC_POINT object * \param x BIGNUM for the x-coordinate * \param y BIGNUM for the y-coordinate * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); /** Sets the x9.62 compressed coordinates of a EC_POINT over GFp * \param group underlying EC_GROUP object * \param p EC_POINT object * \param x BIGNUM with x-coordinate * \param y_bit integer with the y-Bit (either 0 or 1) * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx); /** Sets the affine coordinates of a EC_POINT over GF2m * \param group underlying EC_GROUP object * \param p EC_POINT object * \param x BIGNUM with the x-coordinate * \param y BIGNUM with the y-coordinate * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); /** Gets the affine coordinates of a EC_POINT over GF2m * \param group underlying EC_GROUP object * \param p EC_POINT object * \param x BIGNUM for the x-coordinate * \param y BIGNUM for the y-coordinate * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); /** Sets the x9.62 compressed coordinates of a EC_POINT over GF2m * \param group underlying EC_GROUP object * \param p EC_POINT object * \param x BIGNUM with x-coordinate * \param y_bit integer with the y-Bit (either 0 or 1) * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx); /** Encodes a EC_POINT object to a octet string * \param group underlying EC_GROUP object * \param p EC_POINT object * \param form point conversion form * \param buf memory buffer for the result. If NULL the function returns * required buffer size. * \param len length of the memory buffer * \param ctx BN_CTX object (optional) * \return the length of the encoded octet string or 0 if an error occurred */ size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, point_conversion_form_t form, unsigned char *buf, size_t len, BN_CTX *ctx); /** Decodes a EC_POINT from a octet string * \param group underlying EC_GROUP object * \param p EC_POINT object * \param buf memory buffer with the encoded ec point * \param len length of the encoded ec point * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, const unsigned char *buf, size_t len, BN_CTX *ctx); /* other interfaces to point2oct/oct2point: */ BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, BIGNUM *, BN_CTX *); EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, EC_POINT *, BN_CTX *); char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, BN_CTX *); EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, EC_POINT *, BN_CTX *); /********************************************************************/ /* functions for doing EC_POINT arithmetic */ /********************************************************************/ /** Computes the sum of two EC_POINT * \param group underlying EC_GROUP object * \param r EC_POINT object for the result (r = a + b) * \param a EC_POINT object with the first summand * \param b EC_POINT object with the second summand * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); /** Computes the double of a EC_POINT * \param group underlying EC_GROUP object * \param r EC_POINT object for the result (r = 2 * a) * \param a EC_POINT object * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx); /** Computes the inverse of a EC_POINT * \param group underlying EC_GROUP object * \param a EC_POINT object to be inverted (it's used for the result as well) * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); /** Checks whether the point is the neutral element of the group * \param group the underlying EC_GROUP object * \param p EC_POINT object * \return 1 if the point is the neutral element and 0 otherwise */ int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); /** Checks whether the point is on the curve * \param group underlying EC_GROUP object * \param point EC_POINT object to check * \param ctx BN_CTX object (optional) * \return 1 if point if on the curve and 0 otherwise */ int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx); /** Compares two EC_POINTs * \param group underlying EC_GROUP object * \param a first EC_POINT object * \param b second EC_POINT object * \param ctx BN_CTX object (optional) * \return 0 if both points are equal and a value != 0 otherwise */ int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx); /** Computes r = generator * n sum_{i=0}^{num-1} p[i] * m[i] * \param group underlying EC_GROUP object * \param r EC_POINT object for the result * \param n BIGNUM with the multiplier for the group generator (optional) * \param num number futher summands * \param p array of size num of EC_POINT objects * \param m array of size num of BIGNUM objects * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, size_t num, const EC_POINT *p[], const BIGNUM *m[], BN_CTX *ctx); /** Computes r = generator * n + q * m * \param group underlying EC_GROUP object * \param r EC_POINT object for the result * \param n BIGNUM with the multiplier for the group generator (optional) * \param q EC_POINT object with the first factor of the second summand * \param m BIGNUM with the second factor of the second summand * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); /** Stores multiples of generator for faster point multiplication * \param group EC_GROUP object * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occured */ int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); /** Reports whether a precomputation has been done * \param group EC_GROUP object * \return 1 if a pre-computation has been done and 0 otherwise */ int EC_GROUP_have_precompute_mult(const EC_GROUP *group); /********************************************************************/ /* ASN1 stuff */ /********************************************************************/ /* * EC_GROUP_get_basis_type() returns the NID of the basis type used to * represent the field elements */ int EC_GROUP_get_basis_type(const EC_GROUP *); int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, unsigned int *k2, unsigned int *k3); typedef struct ecpk_parameters_st ECPKPARAMETERS; EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); # 731 "/usr/include/openssl/ec.h" 3 4 int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); /********************************************************************/ /* EC_KEY functions */ /********************************************************************/ typedef struct ec_key_st EC_KEY; /* some values for the encoding_flag */ /* some values for the flags field */ /** Creates a new EC_KEY object. * \return EC_KEY object or NULL if an error occurred. */ EC_KEY *EC_KEY_new(void); int EC_KEY_get_flags(const EC_KEY *key); void EC_KEY_set_flags(EC_KEY *key, int flags); void EC_KEY_clear_flags(EC_KEY *key, int flags); /** Creates a new EC_KEY object using a named curve as underlying * EC_GROUP object. * \param nid NID of the named curve. * \return EC_KEY object or NULL if an error occurred. */ EC_KEY *EC_KEY_new_by_curve_name(int nid); /** Frees a EC_KEY object. * \param key EC_KEY object to be freed. */ void EC_KEY_free(EC_KEY *key); /** Copies a EC_KEY object. * \param dst destination EC_KEY object * \param src src EC_KEY object * \return dst or NULL if an error occurred. */ EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); /** Creates a new EC_KEY object and copies the content from src to it. * \param src the source EC_KEY object * \return newly created EC_KEY object or NULL if an error occurred. */ EC_KEY *EC_KEY_dup(const EC_KEY *src); /** Increases the internal reference count of a EC_KEY object. * \param key EC_KEY object * \return 1 on success and 0 if an error occurred. */ int EC_KEY_up_ref(EC_KEY *key); /** Returns the EC_GROUP object of a EC_KEY object * \param key EC_KEY object * \return the EC_GROUP object (possibly NULL). */ const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); /** Sets the EC_GROUP of a EC_KEY object. * \param key EC_KEY object * \param group EC_GROUP to use in the EC_KEY object (note: the EC_KEY * object will use an own copy of the EC_GROUP). * \return 1 on success and 0 if an error occurred. */ int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); /** Returns the private key of a EC_KEY object. * \param key EC_KEY object * \return a BIGNUM with the private key (possibly NULL). */ const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); /** Sets the private key of a EC_KEY object. * \param key EC_KEY object * \param prv BIGNUM with the private key (note: the EC_KEY object * will use an own copy of the BIGNUM). * \return 1 on success and 0 if an error occurred. */ int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); /** Returns the public key of a EC_KEY object. * \param key the EC_KEY object * \return a EC_POINT object with the public key (possibly NULL) */ const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); /** Sets the public key of a EC_KEY object. * \param key EC_KEY object * \param pub EC_POINT object with the public key (note: the EC_KEY object * will use an own copy of the EC_POINT object). * \return 1 on success and 0 if an error occurred. */ int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); unsigned EC_KEY_get_enc_flags(const EC_KEY *key); void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); /* functions to set/get method specific data */ void *EC_KEY_get_key_method_data(EC_KEY *key, void *(*dup_func) (void *), void (*free_func) (void *), void (*clear_free_func) (void *)); /** Sets the key method data of an EC_KEY object, if none has yet been set. * \param key EC_KEY object * \param data opaque data to install. * \param dup_func a function that duplicates |data|. * \param free_func a function that frees |data|. * \param clear_free_func a function that wipes and frees |data|. * \return the previously set data pointer, or NULL if |data| was inserted. */ void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, void *(*dup_func) (void *), void (*free_func) (void *), void (*clear_free_func) (void *)); /* wrapper functions for the underlying EC_GROUP object */ void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); /** Creates a table of pre-computed multiples of the generator to * accelerate further EC_KEY operations. * \param key EC_KEY object * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred. */ int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); /** Creates a new ec private (and optional a new public) key. * \param key EC_KEY object * \return 1 on success and 0 if an error occurred. */ int EC_KEY_generate_key(EC_KEY *key); /** Verifies that a private and/or public key is valid. * \param key the EC_KEY object * \return 1 on success and 0 otherwise. */ int EC_KEY_check_key(const EC_KEY *key); /** Sets a public key from affine coordindates performing * neccessary NIST PKV tests. * \param key the EC_KEY object * \param x public key x coordinate * \param y public key y coordinate * \return 1 on success and 0 otherwise. */ int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, BIGNUM *y); /********************************************************************/ /* de- and encoding functions for SEC1 ECPrivateKey */ /********************************************************************/ /** Decodes a private key from a memory buffer. * \param key a pointer to a EC_KEY object which should be used (or NULL) * \param in pointer to memory with the DER encoded private key * \param len length of the DER encoded private key * \return the decoded private key or NULL if an error occurred. */ EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); /** Encodes a private key object and stores the result in a buffer. * \param key the EC_KEY object to encode * \param out the buffer for the result (if NULL the function returns number * of bytes needed). * \return 1 on success and 0 if an error occurred. */ int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); /********************************************************************/ /* de- and encoding functions for EC parameters */ /********************************************************************/ /** Decodes ec parameter from a memory buffer. * \param key a pointer to a EC_KEY object which should be used (or NULL) * \param in pointer to memory with the DER encoded ec parameters * \param len length of the DER encoded ec parameters * \return a EC_KEY object with the decoded parameters or NULL if an error * occurred. */ EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); /** Encodes ec parameter and stores the result in a buffer. * \param key the EC_KEY object with ec paramters to encode * \param out the buffer for the result (if NULL the function returns number * of bytes needed). * \return 1 on success and 0 if an error occurred. */ int i2d_ECParameters(EC_KEY *key, unsigned char **out); /********************************************************************/ /* de- and encoding functions for EC public key */ /* (octet string, not DER -- hence 'o2i' and 'i2o') */ /********************************************************************/ /** Decodes a ec public key from a octet string. * \param key a pointer to a EC_KEY object which should be used * \param in memory buffer with the encoded public key * \param len length of the encoded public key * \return EC_KEY object with decoded public key or NULL if an error * occurred. */ EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); /** Encodes a ec public key in an octet string. * \param key the EC_KEY object with the public key * \param out the buffer for the result (if NULL the function returns number * of bytes needed). * \return 1 on success and 0 if an error occurred */ int i2o_ECPublicKey(EC_KEY *key, unsigned char **out); /** Prints out the ec parameters on human readable form. * \param bp BIO object to which the information is printed * \param key EC_KEY object * \return 1 on success and 0 if an error occurred */ int ECParameters_print(BIO *bp, const EC_KEY *key); /** Prints out the contents of a EC_KEY object * \param bp BIO object to which the information is printed * \param key EC_KEY object * \param off line offset * \return 1 on success and 0 if an error occurred */ int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); /** Prints out the ec parameters on human readable form. * \param fp file descriptor to which the information is printed * \param key EC_KEY object * \return 1 on success and 0 if an error occurred */ int ECParameters_print_fp(FILE *fp, const EC_KEY *key); /** Prints out the contents of a EC_KEY object * \param fp file descriptor to which the information is printed * \param key EC_KEY object * \param off line offset * \return 1 on success and 0 if an error occurred */ int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); # 1067 "/usr/include/openssl/ec.h" 3 4 /* KDF types */ /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_EC_strings(void); /* Error codes for the EC functions. */ /* Function codes. */ # 1227 "/usr/include/openssl/ec.h" 3 4 /* Reason codes. */ # 84 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/ecdsa.h" 1 3 4 /* crypto/ecdsa/ecdsa.h */ /** * \file crypto/ecdsa/ecdsa.h Include file for the OpenSSL ECDSA functions * \author Written by Nils Larsch for the OpenSSL project */ /* ==================================================================== * Copyright (c) 2000-2005 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * licensing@OpenSSL.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 63 "/usr/include/openssl/ecdsa.h" 2 3 4 # 1 "/usr/include/openssl/ec.h" 1 3 4 /* crypto/ec/ec.h */ /* * Originally written by Bodo Moeller for the OpenSSL project. */ /** * \file crypto/ec/ec.h Include file for the OpenSSL EC functions * \author Originally written by Bodo Moeller for the OpenSSL project */ /* ==================================================================== * Copyright (c) 1998-2019 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the OpenSSL open source * license provided above. * * The elliptic curve binary polynomial software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 69 "/usr/include/openssl/ecdsa.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 70 "/usr/include/openssl/ecdsa.h" 2 3 4 # 1 "/usr/include/openssl/bn.h" 1 3 4 /* crypto/bn/bn.h */ /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright (c) 1998-2018 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the Eric Young open source * license provided above. * * The binary polynomial arithmetic software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 72 "/usr/include/openssl/ecdsa.h" 2 3 4 typedef struct ECDSA_SIG_st { BIGNUM *r; BIGNUM *s; } ECDSA_SIG; /** Allocates and initialize a ECDSA_SIG structure * \return pointer to a ECDSA_SIG structure or NULL if an error occurred */ ECDSA_SIG *ECDSA_SIG_new(void); /** frees a ECDSA_SIG structure * \param sig pointer to the ECDSA_SIG structure */ void ECDSA_SIG_free(ECDSA_SIG *sig); /** DER encode content of ECDSA_SIG object (note: this function modifies *pp * (*pp += length of the DER encoded signature)). * \param sig pointer to the ECDSA_SIG object * \param pp pointer to a unsigned char pointer for the output or NULL * \return the length of the DER encoded ECDSA_SIG object or 0 */ int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); /** Decodes a DER encoded ECDSA signature (note: this function changes *pp * (*pp += len)). * \param sig pointer to ECDSA_SIG pointer (may be NULL) * \param pp memory buffer with the DER encoded signature * \param len length of the buffer * \return pointer to the decoded ECDSA_SIG structure (or NULL) */ ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); /** Computes the ECDSA signature of the given hash value using * the supplied private key and returns the created signature. * \param dgst pointer to the hash value * \param dgst_len length of the hash value * \param eckey EC_KEY object containing a private EC key * \return pointer to a ECDSA_SIG structure or NULL if an error occurred */ ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, EC_KEY *eckey); /** Computes ECDSA signature of a given hash value using the supplied * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). * \param dgst pointer to the hash value to sign * \param dgstlen length of the hash value * \param kinv BIGNUM with a pre-computed inverse k (optional) * \param rp BIGNUM with a pre-computed rp value (optioanl), * see ECDSA_sign_setup * \param eckey EC_KEY object containing a private EC key * \return pointer to a ECDSA_SIG structure or NULL if an error occurred */ ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); /** Verifies that the supplied signature is a valid ECDSA * signature of the supplied hash value using the supplied public key. * \param dgst pointer to the hash value * \param dgst_len length of the hash value * \param sig ECDSA_SIG structure * \param eckey EC_KEY object containing a public EC key * \return 1 if the signature is valid, 0 if the signature is invalid * and -1 on error */ int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey); const ECDSA_METHOD *ECDSA_OpenSSL(void); /** Sets the default ECDSA method * \param meth new default ECDSA_METHOD */ void ECDSA_set_default_method(const ECDSA_METHOD *meth); /** Returns the default ECDSA method * \return pointer to ECDSA_METHOD structure containing the default method */ const ECDSA_METHOD *ECDSA_get_default_method(void); /** Sets method to be used for the ECDSA operations * \param eckey EC_KEY object * \param meth new method * \return 1 on success and 0 otherwise */ int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth); /** Returns the maximum length of the DER encoded signature * \param eckey EC_KEY object * \return numbers of bytes required for the DER encoded signature */ int ECDSA_size(const EC_KEY *eckey); /** Precompute parts of the signing operation * \param eckey EC_KEY object containing a private EC key * \param ctx BN_CTX object (optional) * \param kinv BIGNUM pointer for the inverse of k * \param rp BIGNUM pointer for x coordinate of k * generator * \return 1 on success and 0 otherwise */ int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); /** Computes ECDSA signature of a given hash value using the supplied * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). * \param type this parameter is ignored * \param dgst pointer to the hash value to sign * \param dgstlen length of the hash value * \param sig memory for the DER encoded created signature * \param siglen pointer to the length of the returned signature * \param eckey EC_KEY object containing a private EC key * \return 1 on success and 0 otherwise */ int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); /** Computes ECDSA signature of a given hash value using the supplied * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). * \param type this parameter is ignored * \param dgst pointer to the hash value to sign * \param dgstlen length of the hash value * \param sig buffer to hold the DER encoded signature * \param siglen pointer to the length of the returned signature * \param kinv BIGNUM with a pre-computed inverse k (optional) * \param rp BIGNUM with a pre-computed rp value (optioanl), * see ECDSA_sign_setup * \param eckey EC_KEY object containing a private EC key * \return 1 on success and 0 otherwise */ int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); /** Verifies that the given signature is valid ECDSA signature * of the supplied hash value using the specified public key. * \param type this parameter is ignored * \param dgst pointer to the hash value * \param dgstlen length of the hash value * \param sig pointer to the DER encoded signature * \param siglen length of the DER encoded signature * \param eckey EC_KEY object containing a public EC key * \return 1 if the signature is valid, 0 if the signature is invalid * and -1 on error */ int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, const unsigned char *sig, int siglen, EC_KEY *eckey); /* the standard ex_data functions */ int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int ECDSA_set_ex_data(EC_KEY *d, int idx, void *arg); void *ECDSA_get_ex_data(EC_KEY *d, int idx); /** Allocates and initialize a ECDSA_METHOD structure * \param ecdsa_method pointer to ECDSA_METHOD to copy. (May be NULL) * \return pointer to a ECDSA_METHOD structure or NULL if an error occurred */ ECDSA_METHOD *ECDSA_METHOD_new(const ECDSA_METHOD *ecdsa_method); /** frees a ECDSA_METHOD structure * \param ecdsa_method pointer to the ECDSA_METHOD structure */ void ECDSA_METHOD_free(ECDSA_METHOD *ecdsa_method); /** Sets application specific data in the ECDSA_METHOD * \param ecdsa_method pointer to existing ECDSA_METHOD * \param app application specific data to set */ void ECDSA_METHOD_set_app_data(ECDSA_METHOD *ecdsa_method, void *app); /** Returns application specific data from a ECDSA_METHOD structure * \param ecdsa_method pointer to ECDSA_METHOD structure * \return pointer to application specific data. */ void *ECDSA_METHOD_get_app_data(ECDSA_METHOD *ecdsa_method); /** Set the ECDSA_do_sign function in the ECDSA_METHOD * \param ecdsa_method pointer to existing ECDSA_METHOD * \param ecdsa_do_sign a funtion of type ECDSA_do_sign */ void ECDSA_METHOD_set_sign(ECDSA_METHOD *ecdsa_method, ECDSA_SIG *(*ecdsa_do_sign) (const unsigned char *dgst, int dgst_len, const BIGNUM *inv, const BIGNUM *rp, EC_KEY *eckey)); /** Set the ECDSA_sign_setup function in the ECDSA_METHOD * \param ecdsa_method pointer to existing ECDSA_METHOD * \param ecdsa_sign_setup a funtion of type ECDSA_sign_setup */ void ECDSA_METHOD_set_sign_setup(ECDSA_METHOD *ecdsa_method, int (*ecdsa_sign_setup) (EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **r)); /** Set the ECDSA_do_verify function in the ECDSA_METHOD * \param ecdsa_method pointer to existing ECDSA_METHOD * \param ecdsa_do_verify a funtion of type ECDSA_do_verify */ void ECDSA_METHOD_set_verify(ECDSA_METHOD *ecdsa_method, int (*ecdsa_do_verify) (const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)); void ECDSA_METHOD_set_flags(ECDSA_METHOD *ecdsa_method, int flags); /** Set the flags field in the ECDSA_METHOD * \param ecdsa_method pointer to existing ECDSA_METHOD * \param flags flags value to set */ void ECDSA_METHOD_set_name(ECDSA_METHOD *ecdsa_method, char *name); /** Set the name field in the ECDSA_METHOD * \param ecdsa_method pointer to existing ECDSA_METHOD * \param name name to set */ /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_ECDSA_strings(void); /* Error codes for the ECDSA functions. */ /* Function codes. */ /* Reason codes. */ # 88 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/ecdh.h" 1 3 4 /* crypto/ecdh/ecdh.h */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * The Elliptic Curve Public-Key Crypto Library (ECC Code) included * herein is developed by SUN MICROSYSTEMS, INC., and is contributed * to the OpenSSL project. * * The ECC Code is licensed pursuant to the OpenSSL open source * license provided below. * * The ECDH software is originally written by Douglas Stebila of * Sun Microsystems Laboratories. * */ /* ==================================================================== * Copyright (c) 2000-2002 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * licensing@OpenSSL.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 73 "/usr/include/openssl/ecdh.h" 2 3 4 # 1 "/usr/include/openssl/ec.h" 1 3 4 /* crypto/ec/ec.h */ /* * Originally written by Bodo Moeller for the OpenSSL project. */ /** * \file crypto/ec/ec.h Include file for the OpenSSL EC functions * \author Originally written by Bodo Moeller for the OpenSSL project */ /* ==================================================================== * Copyright (c) 1998-2019 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the OpenSSL open source * license provided above. * * The elliptic curve binary polynomial software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 79 "/usr/include/openssl/ecdh.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 80 "/usr/include/openssl/ecdh.h" 2 3 4 # 1 "/usr/include/openssl/bn.h" 1 3 4 /* crypto/bn/bn.h */ /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright (c) 1998-2018 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the Eric Young open source * license provided above. * * The binary polynomial arithmetic software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 82 "/usr/include/openssl/ecdh.h" 2 3 4 # 90 "/usr/include/openssl/ecdh.h" 3 4 const ECDH_METHOD *ECDH_OpenSSL(void); void ECDH_set_default_method(const ECDH_METHOD *); const ECDH_METHOD *ECDH_get_default_method(void); int ECDH_set_method(EC_KEY *, const ECDH_METHOD *); int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *ecdh, void *(*KDF) (const void *in, size_t inlen, void *out, size_t *outlen)); int ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg); void *ECDH_get_ex_data(EC_KEY *d, int idx); int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, const unsigned char *Z, size_t Zlen, const unsigned char *sinfo, size_t sinfolen, const EVP_MD *md); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_ECDH_strings(void); /* Error codes for the ECDH functions. */ /* Function codes. */ /* Reason codes. */ # 92 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/rsa.h" 1 3 4 /* crypto/rsa/rsa.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 1 "/usr/include/openssl/asn1.h" 1 3 4 /* crypto/asn1/asn1.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 63 "/usr/include/openssl/rsa.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 66 "/usr/include/openssl/rsa.h" 2 3 4 # 1 "/usr/include/openssl/crypto.h" 1 3 4 /* crypto/crypto.h */ /* ==================================================================== * Copyright (c) 1998-2006 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ # 68 "/usr/include/openssl/rsa.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 69 "/usr/include/openssl/rsa.h" 2 3 4 # 1 "/usr/include/openssl/bn.h" 1 3 4 /* crypto/bn/bn.h */ /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright (c) 1998-2018 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the Eric Young open source * license provided above. * * The binary polynomial arithmetic software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 71 "/usr/include/openssl/rsa.h" 2 3 4 # 81 "/usr/include/openssl/rsa.h" 3 4 /* Declared already in ossl_typ.h */ /* typedef struct rsa_st RSA; */ /* typedef struct rsa_meth_st RSA_METHOD; */ struct rsa_meth_st { const char *name; int (*rsa_pub_enc) (int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); int (*rsa_pub_dec) (int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); int (*rsa_priv_enc) (int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); int (*rsa_priv_dec) (int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); /* Can be null */ int (*rsa_mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); /* Can be null */ int (*bn_mod_exp) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); /* called at new */ int (*init) (RSA *rsa); /* called at free */ int (*finish) (RSA *rsa); /* RSA_METHOD_FLAG_* things */ int flags; /* may be needed! */ char *app_data; /* * New sign and verify functions: some libraries don't allow arbitrary * data to be signed/verified: this allows them to be used. Note: for * this to work the RSA_public_decrypt() and RSA_private_encrypt() should * *NOT* be used RSA_sign(), RSA_verify() should be used instead. Note: * for backwards compatibility this functionality is only enabled if the * RSA_FLAG_SIGN_VER option is set in 'flags'. */ int (*rsa_sign) (int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, const RSA *rsa); int (*rsa_verify) (int dtype, const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, unsigned int siglen, const RSA *rsa); /* * If this callback is NULL, the builtin software RSA key-gen will be * used. This is for behavioural compatibility whilst the code gets * rewired, but one day it would be nice to assume there are no such * things as "builtin software" implementations. */ int (*rsa_keygen) (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); }; struct rsa_st { /* * The first parameter is used to pickup errors where this is passed * instead of aEVP_PKEY, it is set to 0 */ int pad; long version; const RSA_METHOD *meth; /* functional reference if 'meth' is ENGINE-provided */ ENGINE *engine; BIGNUM *n; BIGNUM *e; BIGNUM *d; BIGNUM *p; BIGNUM *q; BIGNUM *dmp1; BIGNUM *dmq1; BIGNUM *iqmp; /* be careful using this if the RSA structure is shared */ CRYPTO_EX_DATA ex_data; int references; int flags; /* Used to cache montgomery values */ BN_MONT_CTX *_method_mod_n; BN_MONT_CTX *_method_mod_p; BN_MONT_CTX *_method_mod_q; /* * all BIGNUM values are actually in the following data, if it is not * NULL */ char *bignum_data; BN_BLINDING *blinding; BN_BLINDING *mt_blinding; }; # 176 "/usr/include/openssl/rsa.h" 3 4 /* exponent limit enforced for "large" modulus only */ # 190 "/usr/include/openssl/rsa.h" 3 4 /* * This flag means the private key operations will be handled by rsa_mod_exp * and that they do not depend on the private key components being present: * for example a key stored in external hardware. Without this flag * bn_mod_exp gets called when private key components are absent. */ /* * This flag in the RSA_METHOD enables the new rsa_sign, rsa_verify * functions. */ /* * new with 0.9.6j and 0.9.7b; the built-in * RSA implementation now uses blinding by * default (ignoring RSA_FLAG_BLINDING), * but other engines might not need it */ /* * new with 0.9.8f; the built-in RSA * implementation now uses constant time * operations by default in private key operations, * e.g., constant time modular exponentiation, * modular inverse without leaking branches, * division without leaking branches. This * flag disables these constant time * operations and results in faster RSA * private key operations. */ # 312 "/usr/include/openssl/rsa.h" 3 4 /* EVP_PKEY_ only */ RSA *RSA_new(void); RSA *RSA_new_method(ENGINE *engine); int RSA_size(const RSA *rsa); /* Deprecated version */ RSA *RSA_generate_key(int bits, unsigned long e, void (*callback) (int, int, void *), void *cb_arg); /* New version */ int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); int RSA_check_key(const RSA *); /* next 4 return -1 on error */ int RSA_public_encrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); int RSA_private_encrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); int RSA_public_decrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); int RSA_private_decrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); void RSA_free(RSA *r); /* "up" the RSA object's reference count */ int RSA_up_ref(RSA *r); int RSA_flags(const RSA *r); void RSA_set_default_method(const RSA_METHOD *meth); const RSA_METHOD *RSA_get_default_method(void); const RSA_METHOD *RSA_get_method(const RSA *rsa); int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); /* This function needs the memory locking malloc callbacks to be installed */ int RSA_memory_lock(RSA *r); /* these are the actual SSLeay RSA functions */ const RSA_METHOD *RSA_PKCS1_SSLeay(void); const RSA_METHOD *RSA_null_method(void); RSA *d2i_RSAPublicKey(RSA **a, const unsigned char **in, long len); int i2d_RSAPublicKey(const RSA *a, unsigned char **out); extern const ASN1_ITEM RSAPublicKey_it; RSA *d2i_RSAPrivateKey(RSA **a, const unsigned char **in, long len); int i2d_RSAPrivateKey(const RSA *a, unsigned char **out); extern const ASN1_ITEM RSAPrivateKey_it; typedef struct rsa_pss_params_st { X509_ALGOR *hashAlgorithm; X509_ALGOR *maskGenAlgorithm; ASN1_INTEGER *saltLength; ASN1_INTEGER *trailerField; } RSA_PSS_PARAMS; RSA_PSS_PARAMS *RSA_PSS_PARAMS_new(void); void RSA_PSS_PARAMS_free(RSA_PSS_PARAMS *a); RSA_PSS_PARAMS *d2i_RSA_PSS_PARAMS(RSA_PSS_PARAMS **a, const unsigned char **in, long len); int i2d_RSA_PSS_PARAMS(RSA_PSS_PARAMS *a, unsigned char **out); extern const ASN1_ITEM RSA_PSS_PARAMS_it; typedef struct rsa_oaep_params_st { X509_ALGOR *hashFunc; X509_ALGOR *maskGenFunc; X509_ALGOR *pSourceFunc; } RSA_OAEP_PARAMS; RSA_OAEP_PARAMS *RSA_OAEP_PARAMS_new(void); void RSA_OAEP_PARAMS_free(RSA_OAEP_PARAMS *a); RSA_OAEP_PARAMS *d2i_RSA_OAEP_PARAMS(RSA_OAEP_PARAMS **a, const unsigned char **in, long len); int i2d_RSA_OAEP_PARAMS(RSA_OAEP_PARAMS *a, unsigned char **out); extern const ASN1_ITEM RSA_OAEP_PARAMS_it; int RSA_print_fp(FILE *fp, const RSA *r, int offset); int RSA_print(BIO *bp, const RSA *r, int offset); int i2d_RSA_NET(const RSA *a, unsigned char **pp, int (*cb) (char *buf, int len, const char *prompt, int verify), int sgckey); RSA *d2i_RSA_NET(RSA **a, const unsigned char **pp, long length, int (*cb) (char *buf, int len, const char *prompt, int verify), int sgckey); int i2d_Netscape_RSA(const RSA *a, unsigned char **pp, int (*cb) (char *buf, int len, const char *prompt, int verify)); RSA *d2i_Netscape_RSA(RSA **a, const unsigned char **pp, long length, int (*cb) (char *buf, int len, const char *prompt, int verify)); /* * The following 2 functions sign and verify a X509_SIG ASN1 object inside * PKCS#1 padded RSA encryption */ int RSA_sign(int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, RSA *rsa); int RSA_verify(int type, const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); /* * The following 2 function sign and verify a ASN1_OCTET_STRING object inside * PKCS#1 padded RSA encryption */ int RSA_sign_ASN1_OCTET_STRING(int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, RSA *rsa); int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, unsigned int m_length, unsigned char *sigbuf, unsigned int siglen, RSA *rsa); int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); void RSA_blinding_off(RSA *rsa); BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, const unsigned char *f, int fl); int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, const unsigned char *f, int fl, int rsa_len); int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, const unsigned char *f, int fl); int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, const unsigned char *f, int fl, int rsa_len); int PKCS1_MGF1(unsigned char *mask, long len, const unsigned char *seed, long seedlen, const EVP_MD *dgst); int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, const unsigned char *f, int fl, const unsigned char *p, int pl); int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, const unsigned char *f, int fl, int rsa_len, const unsigned char *p, int pl); int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, const unsigned char *from, int flen, const unsigned char *param, int plen, const EVP_MD *md, const EVP_MD *mgf1md); int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, const unsigned char *from, int flen, int num, const unsigned char *param, int plen, const EVP_MD *md, const EVP_MD *mgf1md); int RSA_padding_add_SSLv23(unsigned char *to, int tlen, const unsigned char *f, int fl); int RSA_padding_check_SSLv23(unsigned char *to, int tlen, const unsigned char *f, int fl, int rsa_len); int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned char *f, int fl); int RSA_padding_check_none(unsigned char *to, int tlen, const unsigned char *f, int fl, int rsa_len); int RSA_padding_add_X931(unsigned char *to, int tlen, const unsigned char *f, int fl); int RSA_padding_check_X931(unsigned char *to, int tlen, const unsigned char *f, int fl, int rsa_len); int RSA_X931_hash_id(int nid); int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, const EVP_MD *Hash, const unsigned char *EM, int sLen); int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, const unsigned char *mHash, const EVP_MD *Hash, int sLen); int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, const EVP_MD *Hash, const EVP_MD *mgf1Hash, const unsigned char *EM, int sLen); int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, const unsigned char *mHash, const EVP_MD *Hash, const EVP_MD *mgf1Hash, int sLen); int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int RSA_set_ex_data(RSA *r, int idx, void *arg); void *RSA_get_ex_data(const RSA *r, int idx); RSA *RSAPublicKey_dup(RSA *rsa); RSA *RSAPrivateKey_dup(RSA *rsa); /* * If this flag is set the RSA method is FIPS compliant and can be used in * FIPS mode. This is set in the validated module method. If an application * sets this flag in its own methods it is its responsibility to ensure the * result is compliant. */ /* * If this flag is set the operations normally disabled in FIPS mode are * permitted it is then the applications responsibility to ensure that the * usage is compliant. */ /* * Application has decided PRNG is good enough to generate a key: don't * check. */ /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_RSA_strings(void); /* Error codes for the RSA functions. */ /* Function codes. */ # 592 "/usr/include/openssl/rsa.h" 3 4 /* Reason codes. */ # 97 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/dsa.h" 1 3 4 /* crypto/dsa/dsa.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* * The DSS routines are based on patches supplied by * Steven Schoch . He basically did the * work and I have just tweaked them a little to fit into my * stylistic vision for SSLeay :-) */ # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 69 "/usr/include/openssl/dsa.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 76 "/usr/include/openssl/dsa.h" 2 3 4 # 1 "/usr/include/openssl/crypto.h" 1 3 4 /* crypto/crypto.h */ /* ==================================================================== * Copyright (c) 1998-2006 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ # 78 "/usr/include/openssl/dsa.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 79 "/usr/include/openssl/dsa.h" 2 3 4 # 1 "/usr/include/openssl/bn.h" 1 3 4 /* crypto/bn/bn.h */ /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright (c) 1998-2018 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the Eric Young open source * license provided above. * * The binary polynomial arithmetic software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 82 "/usr/include/openssl/dsa.h" 2 3 4 # 1 "/usr/include/openssl/dh.h" 1 3 4 /* crypto/dh/dh.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 63 "/usr/include/openssl/dh.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 70 "/usr/include/openssl/dh.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 72 "/usr/include/openssl/dh.h" 2 3 4 # 1 "/usr/include/openssl/bn.h" 1 3 4 /* crypto/bn/bn.h */ /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright (c) 1998-2018 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * Portions of the attached software ("Contribution") are developed by * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. * * The Contribution is licensed pursuant to the Eric Young open source * license provided above. * * The binary polynomial arithmetic software is originally written by * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. * */ # 74 "/usr/include/openssl/dh.h" 2 3 4 # 82 "/usr/include/openssl/dh.h" 3 4 /* * new with 0.9.7h; the built-in DH * implementation now uses constant time * modular exponentiation for secret exponents * by default. This flag causes the * faster variable sliding window method to * be used for all exponents. */ /* * If this flag is set the DH method is FIPS compliant and can be used in * FIPS mode. This is set in the validated module method. If an application * sets this flag in its own methods it is its reposibility to ensure the * result is compliant. */ /* * If this flag is set the operations normally disabled in FIPS mode are * permitted it is then the applications responsibility to ensure that the * usage is compliant. */ /* Already defined in ossl_typ.h */ /* typedef struct dh_st DH; */ /* typedef struct dh_method DH_METHOD; */ struct dh_method { const char *name; /* Methods here */ int (*generate_key) (DH *dh); int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh); /* Can be null */ int (*bn_mod_exp) (const DH *dh, BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); int (*init) (DH *dh); int (*finish) (DH *dh); int flags; char *app_data; /* If this is non-NULL, it will be used to generate parameters */ int (*generate_params) (DH *dh, int prime_len, int generator, BN_GENCB *cb); }; struct dh_st { /* * This first argument is used to pick up errors when a DH is passed * instead of a EVP_PKEY */ int pad; int version; BIGNUM *p; BIGNUM *g; long length; /* optional */ BIGNUM *pub_key; /* g^x % p */ BIGNUM *priv_key; /* x */ int flags; BN_MONT_CTX *method_mont_p; /* Place holders if we want to do X9.42 DH */ BIGNUM *q; BIGNUM *j; unsigned char *seed; int seedlen; BIGNUM *counter; int references; CRYPTO_EX_DATA ex_data; const DH_METHOD *meth; ENGINE *engine; }; /* #define DH_GENERATOR_3 3 */ /* DH_check error codes */ # 174 "/usr/include/openssl/dh.h" 3 4 /* DH_check_pub_key error codes */ /* * primes p where (p-1)/2 is prime too are called "safe"; we define this for * backward compatibility: */ # 209 "/usr/include/openssl/dh.h" 3 4 DH *DHparams_dup(DH *); const DH_METHOD *DH_OpenSSL(void); void DH_set_default_method(const DH_METHOD *meth); const DH_METHOD *DH_get_default_method(void); int DH_set_method(DH *dh, const DH_METHOD *meth); DH *DH_new_method(ENGINE *engine); DH *DH_new(void); void DH_free(DH *dh); int DH_up_ref(DH *dh); int DH_size(const DH *dh); int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int DH_set_ex_data(DH *d, int idx, void *arg); void *DH_get_ex_data(DH *d, int idx); /* Deprecated version */ DH *DH_generate_parameters(int prime_len, int generator, void (*callback) (int, int, void *), void *cb_arg); /* New version */ int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, BN_GENCB *cb); int DH_check(const DH *dh, int *codes); int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes); int DH_generate_key(DH *dh); int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); int i2d_DHparams(const DH *a, unsigned char **pp); DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); int i2d_DHxparams(const DH *a, unsigned char **pp); int DHparams_print_fp(FILE *fp, const DH *x); int DHparams_print(BIO *bp, const DH *x); /* RFC 5114 parameters */ DH *DH_get_1024_160(void); DH *DH_get_2048_224(void); DH *DH_get_2048_256(void); /* RFC2631 KDF */ int DH_KDF_X9_42(unsigned char *out, size_t outlen, const unsigned char *Z, size_t Zlen, ASN1_OBJECT *key_oid, const unsigned char *ukm, size_t ukmlen, const EVP_MD *md); # 357 "/usr/include/openssl/dh.h" 3 4 /* KDF types */ /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_DH_strings(void); /* Error codes for the DH functions. */ /* Function codes. */ # 392 "/usr/include/openssl/dh.h" 3 4 /* Reason codes. */ # 84 "/usr/include/openssl/dsa.h" 2 3 4 # 92 "/usr/include/openssl/dsa.h" 3 4 /* * new with 0.9.7h; the built-in DSA implementation now uses constant time * modular exponentiation for secret exponents by default. This flag causes * the faster variable sliding window method to be used for all exponents. */ /* * If this flag is set the DSA method is FIPS compliant and can be used in * FIPS mode. This is set in the validated module method. If an application * sets this flag in its own methods it is its reposibility to ensure the * result is compliant. */ /* * If this flag is set the operations normally disabled in FIPS mode are * permitted it is then the applications responsibility to ensure that the * usage is compliant. */ /* Already defined in ossl_typ.h */ /* typedef struct dsa_st DSA; */ /* typedef struct dsa_method DSA_METHOD; */ typedef struct DSA_SIG_st { BIGNUM *r; BIGNUM *s; } DSA_SIG; struct dsa_method { const char *name; DSA_SIG *(*dsa_do_sign) (const unsigned char *dgst, int dlen, DSA *dsa); int (*dsa_sign_setup) (DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); int (*dsa_do_verify) (const unsigned char *dgst, int dgst_len, DSA_SIG *sig, DSA *dsa); int (*dsa_mod_exp) (DSA *dsa, BIGNUM *rr, BIGNUM *a1, BIGNUM *p1, BIGNUM *a2, BIGNUM *p2, BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont); /* Can be null */ int (*bn_mod_exp) (DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); int (*init) (DSA *dsa); int (*finish) (DSA *dsa); int flags; char *app_data; /* If this is non-NULL, it is used to generate DSA parameters */ int (*dsa_paramgen) (DSA *dsa, int bits, const unsigned char *seed, int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB *cb); /* If this is non-NULL, it is used to generate DSA keys */ int (*dsa_keygen) (DSA *dsa); }; struct dsa_st { /* * This first variable is used to pick up errors where a DSA is passed * instead of of a EVP_PKEY */ int pad; long version; int write_params; BIGNUM *p; BIGNUM *q; /* == 20 */ BIGNUM *g; BIGNUM *pub_key; /* y public key */ BIGNUM *priv_key; /* x private key */ BIGNUM *kinv; /* Signing pre-calc */ BIGNUM *r; /* Signing pre-calc */ int flags; /* Normally used to cache montgomery values */ BN_MONT_CTX *method_mont_p; int references; CRYPTO_EX_DATA ex_data; const DSA_METHOD *meth; /* functional reference if 'meth' is ENGINE-provided */ ENGINE *engine; }; # 187 "/usr/include/openssl/dsa.h" 3 4 DSA *DSAparams_dup(DSA *x); DSA_SIG *DSA_SIG_new(void); void DSA_SIG_free(DSA_SIG *a); int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); DSA_SIG *d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); int DSA_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig, DSA *dsa); const DSA_METHOD *DSA_OpenSSL(void); void DSA_set_default_method(const DSA_METHOD *); const DSA_METHOD *DSA_get_default_method(void); int DSA_set_method(DSA *dsa, const DSA_METHOD *); DSA *DSA_new(void); DSA *DSA_new_method(ENGINE *engine); void DSA_free(DSA *r); /* "up" the DSA object's reference count */ int DSA_up_ref(DSA *r); int DSA_size(const DSA *); /* next 4 return -1 on error */ int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); int DSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, DSA *dsa); int DSA_verify(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int siglen, DSA *dsa); int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int DSA_set_ex_data(DSA *d, int idx, void *arg); void *DSA_get_ex_data(DSA *d, int idx); DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); /* Deprecated version */ DSA *DSA_generate_parameters(int bits, unsigned char *seed, int seed_len, int *counter_ret, unsigned long *h_ret, void (*callback) (int, int, void *), void *cb_arg); /* New version */ int DSA_generate_parameters_ex(DSA *dsa, int bits, const unsigned char *seed, int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB *cb); int DSA_generate_key(DSA *a); int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); int i2d_DSAparams(const DSA *a, unsigned char **pp); int DSAparams_print(BIO *bp, const DSA *x); int DSA_print(BIO *bp, const DSA *x, int off); int DSAparams_print_fp(FILE *fp, const DSA *x); int DSA_print_fp(FILE *bp, const DSA *x, int off); /* * Primality test according to FIPS PUB 186-4, Appendix C.3. Since we only * have one value here we set the number of checks to 64 which is the 128 bit * security level that is the highest level and valid for creating a 3072 bit * DSA key. */ /* * Convert DSA structure (key or just parameters) into DH structure (be * careful to avoid small subgroup attacks when using this!) */ DH *DSA_dup_DH(const DSA *r); # 278 "/usr/include/openssl/dsa.h" 3 4 /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_DSA_strings(void); /* Error codes for the DSA functions. */ /* Function codes. */ # 316 "/usr/include/openssl/dsa.h" 3 4 /* Reason codes. */ # 100 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/dh.h" 1 3 4 /* crypto/dh/dh.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 103 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/sha.h" 1 3 4 /* crypto/sha/sha.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 63 "/usr/include/openssl/sha.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 1 3 4 /* * 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. */ # 64 "/usr/include/openssl/sha.h" 2 3 4 # 77 "/usr/include/openssl/sha.h" 3 4 /*- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then ! * ! SHA_LONG_LOG2 has to be defined along. ! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ # 100 "/usr/include/openssl/sha.h" 3 4 typedef struct SHAstate_st { unsigned int h0, h1, h2, h3, h4; unsigned int Nl, Nh; unsigned int data[16]; unsigned int num; } SHA_CTX; int SHA_Init(SHA_CTX *c); int SHA_Update(SHA_CTX *c, const void *data, size_t len); int SHA_Final(unsigned char *md, SHA_CTX *c); unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md); void SHA_Transform(SHA_CTX *c, const unsigned char *data); int SHA1_Init(SHA_CTX *c); int SHA1_Update(SHA_CTX *c, const void *data, size_t len); int SHA1_Final(unsigned char *md, SHA_CTX *c); unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); void SHA1_Transform(SHA_CTX *c, const unsigned char *data); # 134 "/usr/include/openssl/sha.h" 3 4 typedef struct SHA256state_st { unsigned int h[8]; unsigned int Nl, Nh; unsigned int data[16]; unsigned int num, md_len; } SHA256_CTX; int SHA224_Init(SHA256_CTX *c); int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); int SHA224_Final(unsigned char *md, SHA256_CTX *c); unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); int SHA256_Init(SHA256_CTX *c); int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); int SHA256_Final(unsigned char *md, SHA256_CTX *c); unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md); void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); /* * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 * being exactly 64-bit wide. See Implementation Notes in sha512.c * for further details. */ /* * SHA-512 treats input data as a * contiguous array of 64 bit * wide big-endian values. */ # 183 "/usr/include/openssl/sha.h" 3 4 typedef struct SHA512state_st { unsigned long long h[8]; unsigned long long Nl, Nh; union { unsigned long long d[16]; unsigned char p[(16*8)]; } u; unsigned int num, md_len; } SHA512_CTX; int SHA384_Init(SHA512_CTX *c); int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); int SHA384_Final(unsigned char *md, SHA512_CTX *c); unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); int SHA512_Init(SHA512_CTX *c); int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); int SHA512_Final(unsigned char *md, SHA512_CTX *c); unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); # 108 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 110 "/usr/include/openssl/x509.h" 2 3 4 # 137 "/usr/include/openssl/x509.h" 3 4 typedef struct X509_objects_st { int nid; int (*a2i) (void); int (*i2a) (void); } X509_OBJECTS; struct X509_algor_st { ASN1_OBJECT *algorithm; ASN1_TYPE *parameter; } /* X509_ALGOR */ ; typedef struct stack_st_X509_ALGOR X509_ALGORS; typedef struct X509_val_st { ASN1_TIME *notBefore; ASN1_TIME *notAfter; } X509_VAL; struct X509_pubkey_st { X509_ALGOR *algor; ASN1_BIT_STRING *public_key; EVP_PKEY *pkey; }; typedef struct X509_sig_st { X509_ALGOR *algor; ASN1_OCTET_STRING *digest; } X509_SIG; typedef struct X509_name_entry_st { ASN1_OBJECT *object; ASN1_STRING *value; int set; int size; /* temp variable */ } X509_NAME_ENTRY; struct stack_st_X509_NAME_ENTRY { _STACK stack; }; /* we always keep X509_NAMEs in 2 forms. */ struct X509_name_st { struct stack_st_X509_NAME_ENTRY *entries; int modified; /* true if 'bytes' needs to be built */ BUF_MEM *bytes; /* unsigned long hash; Keep the hash around for lookups */ unsigned char *canon_enc; int canon_enclen; } /* X509_NAME */ ; struct stack_st_X509_NAME { _STACK stack; }; typedef struct X509_extension_st { ASN1_OBJECT *object; ASN1_BOOLEAN critical; ASN1_OCTET_STRING *value; } X509_EXTENSION; typedef struct stack_st_X509_EXTENSION X509_EXTENSIONS; struct stack_st_X509_EXTENSION { _STACK stack; }; /* a sequence of these are used */ typedef struct x509_attributes_st { ASN1_OBJECT *object; int single; /* 0 for a set, 1 for a single item (which is * wrong) */ union { char *ptr; /* * 0 */ struct stack_st_ASN1_TYPE *set; /* * 1 */ ASN1_TYPE *single; } value; } X509_ATTRIBUTE; struct stack_st_X509_ATTRIBUTE { _STACK stack; }; typedef struct X509_req_info_st { ASN1_ENCODING enc; ASN1_INTEGER *version; X509_NAME *subject; X509_PUBKEY *pubkey; /* d=2 hl=2 l= 0 cons: cont: 00 */ struct stack_st_X509_ATTRIBUTE *attributes; /* [ 0 ] */ } X509_REQ_INFO; typedef struct X509_req_st { X509_REQ_INFO *req_info; X509_ALGOR *sig_alg; ASN1_BIT_STRING *signature; int references; } X509_REQ; typedef struct x509_cinf_st { ASN1_INTEGER *version; /* [ 0 ] default of v1 */ ASN1_INTEGER *serialNumber; X509_ALGOR *signature; X509_NAME *issuer; X509_VAL *validity; X509_NAME *subject; X509_PUBKEY *key; ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ struct stack_st_X509_EXTENSION *extensions; /* [ 3 ] optional in v3 */ ASN1_ENCODING enc; } X509_CINF; /* * This stuff is certificate "auxiliary info" it contains details which are * useful in certificate stores and databases. When used this is tagged onto * the end of the certificate itself */ typedef struct x509_cert_aux_st { struct stack_st_ASN1_OBJECT *trust; /* trusted uses */ struct stack_st_ASN1_OBJECT *reject; /* rejected uses */ ASN1_UTF8STRING *alias; /* "friendly name" */ ASN1_OCTET_STRING *keyid; /* key id of private key */ struct stack_st_X509_ALGOR *other; /* other unspecified info */ } X509_CERT_AUX; struct x509_st { X509_CINF *cert_info; X509_ALGOR *sig_alg; ASN1_BIT_STRING *signature; int valid; int references; char *name; CRYPTO_EX_DATA ex_data; /* These contain copies of various extension values */ long ex_pathlen; long ex_pcpathlen; unsigned long ex_flags; unsigned long ex_kusage; unsigned long ex_xkusage; unsigned long ex_nscert; ASN1_OCTET_STRING *skid; AUTHORITY_KEYID *akid; X509_POLICY_CACHE *policy_cache; struct stack_st_DIST_POINT *crldp; struct stack_st_GENERAL_NAME *altname; NAME_CONSTRAINTS *nc; unsigned char sha1_hash[20]; X509_CERT_AUX *aux; } /* X509 */ ; struct stack_st_X509 { _STACK stack; }; /* This is used for a table of trust checking functions */ typedef struct x509_trust_st { int trust; int flags; int (*check_trust) (struct x509_trust_st *, X509 *, int); char *name; int arg1; void *arg2; } X509_TRUST; struct stack_st_X509_TRUST { _STACK stack; }; typedef struct x509_cert_pair_st { X509 *forward; X509 *reverse; } X509_CERT_PAIR; /* standard trust ids */ # 335 "/usr/include/openssl/x509.h" 3 4 /* Keep these up to date! */ /* trust_flags values */ /* check_trust return codes */ /* Flags for X509_print_ex() */ # 366 "/usr/include/openssl/x509.h" 3 4 /* Flags specific to X509_NAME_print_ex() */ /* The field separator information */ # 381 "/usr/include/openssl/x509.h" 3 4 /* How the field name is shown */ # 392 "/usr/include/openssl/x509.h" 3 4 /* * This determines if we dump fields we don't recognise: RFC2253 requires * this. */ /* Complete set of RFC2253 flags */ /* readable oneline form */ /* readable multiline form */ # 427 "/usr/include/openssl/x509.h" 3 4 struct x509_revoked_st { ASN1_INTEGER *serialNumber; ASN1_TIME *revocationDate; struct stack_st_X509_EXTENSION /* optional */ *extensions; /* Set up if indirect CRL */ struct stack_st_GENERAL_NAME *issuer; /* Revocation reason */ int reason; int sequence; /* load sequence */ }; struct stack_st_X509_REVOKED { _STACK stack; }; typedef struct X509_crl_info_st { ASN1_INTEGER *version; X509_ALGOR *sig_alg; X509_NAME *issuer; ASN1_TIME *lastUpdate; ASN1_TIME *nextUpdate; struct stack_st_X509_REVOKED *revoked; struct stack_st_X509_EXTENSION /* [0] */ *extensions; ASN1_ENCODING enc; } X509_CRL_INFO; struct X509_crl_st { /* actual signature */ X509_CRL_INFO *crl; X509_ALGOR *sig_alg; ASN1_BIT_STRING *signature; int references; int flags; /* Copies of various extensions */ AUTHORITY_KEYID *akid; ISSUING_DIST_POINT *idp; /* Convenient breakdown of IDP */ int idp_flags; int idp_reasons; /* CRL and base CRL numbers for delta processing */ ASN1_INTEGER *crl_number; ASN1_INTEGER *base_crl_number; unsigned char sha1_hash[20]; struct stack_st_GENERAL_NAMES *issuers; const X509_CRL_METHOD *meth; void *meth_data; } /* X509_CRL */ ; struct stack_st_X509_CRL { _STACK stack; }; typedef struct private_key_st { int version; /* The PKCS#8 data types */ X509_ALGOR *enc_algor; ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ /* When decrypted, the following will not be NULL */ EVP_PKEY *dec_pkey; /* used to encrypt and decrypt */ int key_length; char *key_data; int key_free; /* true if we should auto free key_data */ /* expanded version of 'enc_algor' */ EVP_CIPHER_INFO cipher; int references; } X509_PKEY; typedef struct X509_info_st { X509 *x509; X509_CRL *crl; X509_PKEY *x_pkey; EVP_CIPHER_INFO enc_cipher; int enc_len; char *enc_data; int references; } X509_INFO; struct stack_st_X509_INFO { _STACK stack; }; /* * The next 2 structures and their 8 routines were sent to me by Pat Richard * and are used to manipulate Netscapes spki structures - * useful if you are writing a CA web page */ typedef struct Netscape_spkac_st { X509_PUBKEY *pubkey; ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ } NETSCAPE_SPKAC; typedef struct Netscape_spki_st { NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ X509_ALGOR *sig_algor; ASN1_BIT_STRING *signature; } NETSCAPE_SPKI; /* Netscape certificate sequence structure */ typedef struct Netscape_certificate_sequence { ASN1_OBJECT *type; struct stack_st_X509 *certs; } NETSCAPE_CERT_SEQUENCE; /*- Unused (and iv length is wrong) typedef struct CBCParameter_st { unsigned char iv[8]; } CBC_PARAM; */ /* Password based encryption structure */ typedef struct PBEPARAM_st { ASN1_OCTET_STRING *salt; ASN1_INTEGER *iter; } PBEPARAM; /* Password based encryption V2 structures */ typedef struct PBE2PARAM_st { X509_ALGOR *keyfunc; X509_ALGOR *encryption; } PBE2PARAM; typedef struct PBKDF2PARAM_st { /* Usually OCTET STRING but could be anything */ ASN1_TYPE *salt; ASN1_INTEGER *iter; ASN1_INTEGER *keylength; X509_ALGOR *prf; } PBKDF2PARAM; /* PKCS#8 private key info structure */ struct pkcs8_priv_key_info_st { /* Flag for various broken formats */ int broken; ASN1_INTEGER *version; X509_ALGOR *pkeyalg; /* Should be OCTET STRING but some are broken */ ASN1_TYPE *pkey; struct stack_st_X509_ATTRIBUTE *attributes; }; # 1 "/usr/include/openssl/x509_vfy.h" 1 3 4 /* crypto/x509/x509_vfy.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 70 "/usr/include/openssl/x509_vfy.h" 3 4 # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 71 "/usr/include/openssl/x509_vfy.h" 2 3 4 # 1 "/usr/include/openssl/lhash.h" 1 3 4 /* crypto/lhash/lhash.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* * Header for dynamic hash table routines Author - Eric Young */ # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 67 "/usr/include/openssl/lhash.h" 2 3 4 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 3 4 /* * 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. */ # 69 "/usr/include/openssl/lhash.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 73 "/usr/include/openssl/lhash.h" 2 3 4 typedef struct lhash_node_st { void *data; struct lhash_node_st *next; unsigned long hash; } LHASH_NODE; typedef int (*LHASH_COMP_FN_TYPE) (const void *, const void *); typedef unsigned long (*LHASH_HASH_FN_TYPE) (const void *); typedef void (*LHASH_DOALL_FN_TYPE) (void *); typedef void (*LHASH_DOALL_ARG_FN_TYPE) (void *, void *); /* * Macros for declaring and implementing type-safe wrappers for LHASH * callbacks. This way, callbacks can be provided to LHASH structures without * function pointer casting and the macro-defined callbacks provide * per-variable casting before deferring to the underlying type-specific * callbacks. NB: It is possible to place a "static" in front of both the * DECLARE and IMPLEMENT macros if the functions are strictly internal. */ /* First: "hash" functions */ # 110 "/usr/include/openssl/lhash.h" 3 4 /* Second: "compare" functions */ # 120 "/usr/include/openssl/lhash.h" 3 4 /* Third: "doall" functions */ # 129 "/usr/include/openssl/lhash.h" 3 4 /* Fourth: "doall_arg" functions */ # 139 "/usr/include/openssl/lhash.h" 3 4 typedef struct lhash_st { LHASH_NODE **b; LHASH_COMP_FN_TYPE comp; LHASH_HASH_FN_TYPE hash; unsigned int num_nodes; unsigned int num_alloc_nodes; unsigned int p; unsigned int pmax; unsigned long up_load; /* load times 256 */ unsigned long down_load; /* load times 256 */ unsigned long num_items; unsigned long num_expands; unsigned long num_expand_reallocs; unsigned long num_contracts; unsigned long num_contract_reallocs; unsigned long num_hash_calls; unsigned long num_comp_calls; unsigned long num_insert; unsigned long num_replace; unsigned long num_delete; unsigned long num_no_delete; unsigned long num_retrieve; unsigned long num_retrieve_miss; unsigned long num_hash_comps; int error; } _LHASH; /* Do not use _LHASH directly, use LHASH_OF * and friends */ /* * Indicates a malloc() error in the last call, this is only bad in * lh_insert(). */ _LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c); void lh_free(_LHASH *lh); void *lh_insert(_LHASH *lh, void *data); void *lh_delete(_LHASH *lh, const void *data); void *lh_retrieve(_LHASH *lh, const void *data); void lh_doall(_LHASH *lh, LHASH_DOALL_FN_TYPE func); void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg); unsigned long lh_strhash(const char *c); unsigned long lh_num_items(const _LHASH *lh); void lh_stats(const _LHASH *lh, FILE *out); void lh_node_stats(const _LHASH *lh, FILE *out); void lh_node_usage_stats(const _LHASH *lh, FILE *out); void lh_stats_bio(const _LHASH *lh, BIO *out); void lh_node_stats_bio(const _LHASH *lh, BIO *out); void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); /* Type checking... */ # 206 "/usr/include/openssl/lhash.h" 3 4 /* Define wrapper functions. */ # 233 "/usr/include/openssl/lhash.h" 3 4 struct lhash_st_OPENSSL_STRING { int dummy; }; struct lhash_st_OPENSSL_CSTRING { int dummy; }; # 73 "/usr/include/openssl/x509_vfy.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 75 "/usr/include/openssl/x509_vfy.h" 2 3 4 # 1 "/usr/include/openssl/crypto.h" 1 3 4 /* crypto/crypto.h */ /* ==================================================================== * Copyright (c) 1998-2006 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ # 76 "/usr/include/openssl/x509_vfy.h" 2 3 4 # 1 "/usr/include/openssl/symhacks.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 77 "/usr/include/openssl/x509_vfy.h" 2 3 4 # 92 "/usr/include/openssl/x509_vfy.h" 3 4 typedef struct x509_file_st { int num_paths; /* number of paths to files or directories */ int num_alloced; char **paths; /* the list of paths or directories */ int *path_type; } X509_CERT_FILE_CTX; /*******************************/ /*- SSL_CTX -> X509_STORE -> X509_LOOKUP ->X509_LOOKUP_METHOD -> X509_LOOKUP ->X509_LOOKUP_METHOD SSL -> X509_STORE_CTX ->X509_STORE The X509_STORE holds the tables etc for verification stuff. A X509_STORE_CTX is used while validating a single certificate. The X509_STORE has X509_LOOKUPs for looking up certs. The X509_STORE then calls a function to actually verify the certificate chain. */ typedef struct x509_object_st { /* one of the above types */ int type; union { char *ptr; X509 *x509; X509_CRL *crl; EVP_PKEY *pkey; } data; } X509_OBJECT; typedef struct x509_lookup_st X509_LOOKUP; struct stack_st_X509_LOOKUP { _STACK stack; }; struct stack_st_X509_OBJECT { _STACK stack; }; /* This is a static that defines the function interface */ typedef struct x509_lookup_method_st { const char *name; int (*new_item) (X509_LOOKUP *ctx); void (*free) (X509_LOOKUP *ctx); int (*init) (X509_LOOKUP *ctx); int (*shutdown) (X509_LOOKUP *ctx); int (*ctrl) (X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret); int (*get_by_subject) (X509_LOOKUP *ctx, int type, X509_NAME *name, X509_OBJECT *ret); int (*get_by_issuer_serial) (X509_LOOKUP *ctx, int type, X509_NAME *name, ASN1_INTEGER *serial, X509_OBJECT *ret); int (*get_by_fingerprint) (X509_LOOKUP *ctx, int type, unsigned char *bytes, int len, X509_OBJECT *ret); int (*get_by_alias) (X509_LOOKUP *ctx, int type, char *str, int len, X509_OBJECT *ret); } X509_LOOKUP_METHOD; typedef struct X509_VERIFY_PARAM_ID_st X509_VERIFY_PARAM_ID; /* * This structure hold all parameters associated with a verify operation by * including an X509_VERIFY_PARAM structure in related structures the * parameters used can be customized */ typedef struct X509_VERIFY_PARAM_st { char *name; time_t check_time; /* Time to use */ unsigned long inh_flags; /* Inheritance flags */ unsigned long flags; /* Various verify flags */ int purpose; /* purpose to check untrusted certificates */ int trust; /* trust setting to check */ int depth; /* Verify depth */ struct stack_st_ASN1_OBJECT *policies; /* Permissible policies */ X509_VERIFY_PARAM_ID *id; /* opaque ID data */ } X509_VERIFY_PARAM; struct stack_st_X509_VERIFY_PARAM { _STACK stack; }; /* * This is used to hold everything. It is used for all certificate * validation. Once we have a certificate chain, the 'verify' function is * then called to actually check the cert chain. */ struct x509_store_st { /* The following is a cache of trusted certs */ int cache; /* if true, stash any hits */ struct stack_st_X509_OBJECT *objs; /* Cache of all objects */ /* These are external lookup methods */ struct stack_st_X509_LOOKUP *get_cert_methods; X509_VERIFY_PARAM *param; /* Callbacks for various operations */ /* called to verify a certificate */ int (*verify) (X509_STORE_CTX *ctx); /* error callback */ int (*verify_cb) (int ok, X509_STORE_CTX *ctx); /* get issuers cert from ctx */ int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); /* check issued */ int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); /* Check revocation status of chain */ int (*check_revocation) (X509_STORE_CTX *ctx); /* retrieve CRL */ int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); /* Check CRL validity */ int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); /* Check certificate against CRL */ int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); struct stack_st_X509 *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); struct stack_st_X509_CRL *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); int (*cleanup) (X509_STORE_CTX *ctx); CRYPTO_EX_DATA ex_data; int references; } /* X509_STORE */ ; int X509_STORE_set_depth(X509_STORE *store, int depth); /* This is the functions plus an instance of the local variables. */ struct x509_lookup_st { int init; /* have we been started */ int skip; /* don't use us. */ X509_LOOKUP_METHOD *method; /* the functions */ char *method_data; /* method data */ X509_STORE *store_ctx; /* who owns us */ } /* X509_LOOKUP */ ; /* * This is a used when verifying cert chains. Since the gathering of the * cert chain can take some time (and have to be 'retried', this needs to be * kept and passed around. */ struct x509_store_ctx_st { /* X509_STORE_CTX */ X509_STORE *ctx; /* used when looking up certs */ int current_method; /* The following are set by the caller */ /* The cert to check */ X509 *cert; /* chain of X509s - untrusted - passed in */ struct stack_st_X509 *untrusted; /* set of CRLs passed in */ struct stack_st_X509_CRL *crls; X509_VERIFY_PARAM *param; /* Other info for use with get_issuer() */ void *other_ctx; /* Callbacks for various operations */ /* called to verify a certificate */ int (*verify) (X509_STORE_CTX *ctx); /* error callback */ int (*verify_cb) (int ok, X509_STORE_CTX *ctx); /* get issuers cert from ctx */ int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); /* check issued */ int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); /* Check revocation status of chain */ int (*check_revocation) (X509_STORE_CTX *ctx); /* retrieve CRL */ int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); /* Check CRL validity */ int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); /* Check certificate against CRL */ int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); int (*check_policy) (X509_STORE_CTX *ctx); struct stack_st_X509 *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); struct stack_st_X509_CRL *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); int (*cleanup) (X509_STORE_CTX *ctx); /* The following is built up */ /* if 0, rebuild chain */ int valid; /* index of last untrusted cert */ int last_untrusted; /* chain of X509s - built up and trusted */ struct stack_st_X509 *chain; /* Valid policy tree */ X509_POLICY_TREE *tree; /* Require explicit policy value */ int explicit_policy; /* When something goes wrong, this is why */ int error_depth; int error; X509 *current_cert; /* cert currently being tested as valid issuer */ X509 *current_issuer; /* current CRL */ X509_CRL *current_crl; /* score of current CRL */ int current_crl_score; /* Reason mask */ unsigned int current_reasons; /* For CRL path validation: parent context */ X509_STORE_CTX *parent; CRYPTO_EX_DATA ex_data; } /* X509_STORE_CTX */ ; void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # 345 "/usr/include/openssl/x509_vfy.h" 3 4 /* These are 'informational' when looking for issuer cert */ # 377 "/usr/include/openssl/x509_vfy.h" 3 4 /* Suite B mode algorithm violation */ /* Host, email and IP check errors */ /* Caller error */ /* Issuer lookup error */ /* Certificate verify flags */ /* Send issuer+subject checks to verify_cb */ /* Use check time instead of current time */ /* Lookup CRLs */ /* Lookup CRLs for whole chain */ /* Ignore unhandled critical extensions */ /* Disable workarounds for broken certificates */ /* Enable proxy certificate validation */ /* Enable policy checking */ /* Policy variable require-explicit-policy */ /* Policy variable inhibit-any-policy */ /* Policy variable inhibit-policy-mapping */ /* Notify callback that policy is OK */ /* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ /* Delta CRL support */ /* Check selfsigned CA signature */ /* Use trusted store first */ /* Suite B 128 bit only mode: not normally used */ /* Suite B 192 bit only mode */ /* Suite B 128 bit mode allowing 192 bit algorithms */ /* Allow partial chains if at least one certificate is in trusted store */ /* * If the initial chain is not trusted, do not attempt to build an alternative * chain. Alternate chain checking was introduced in 1.0.2b. Setting this flag * will force the behaviour to match that of previous versions. */ # 453 "/usr/include/openssl/x509_vfy.h" 3 4 /* Internal use: mask of policy related options */ int X509_OBJECT_idx_by_subject(struct stack_st_X509_OBJECT *h, int type, X509_NAME *name); X509_OBJECT *X509_OBJECT_retrieve_by_subject(struct stack_st_X509_OBJECT *h, int type, X509_NAME *name); X509_OBJECT *X509_OBJECT_retrieve_match(struct stack_st_X509_OBJECT *h, X509_OBJECT *x); void X509_OBJECT_up_ref_count(X509_OBJECT *a); void X509_OBJECT_free_contents(X509_OBJECT *a); X509_STORE *X509_STORE_new(void); void X509_STORE_free(X509_STORE *v); struct stack_st_X509 *X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); struct stack_st_X509_CRL *X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); int X509_STORE_set_trust(X509_STORE *ctx, int trust); int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); void X509_STORE_set_verify_cb(X509_STORE *ctx, int (*verify_cb) (int, X509_STORE_CTX *)); void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, struct stack_st_X509_CRL *(*cb) (X509_STORE_CTX *ctx, X509_NAME *nm)); X509_STORE_CTX *X509_STORE_CTX_new(void); int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); void X509_STORE_CTX_free(X509_STORE_CTX *ctx); int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, struct stack_st_X509 *chain); void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, struct stack_st_X509 *sk); void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx); X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); X509_LOOKUP_METHOD *X509_LOOKUP_file(void); int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); int X509_STORE_get_by_subject(X509_STORE_CTX *vs, int type, X509_NAME *name, X509_OBJECT *ret); int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret); int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); void X509_LOOKUP_free(X509_LOOKUP *ctx); int X509_LOOKUP_init(X509_LOOKUP *ctx); int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, int type, X509_NAME *name, X509_OBJECT *ret); int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, int type, X509_NAME *name, ASN1_INTEGER *serial, X509_OBJECT *ret); int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, int type, unsigned char *bytes, int len, X509_OBJECT *ret); int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, int type, char *str, int len, X509_OBJECT *ret); int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); int X509_STORE_load_locations(X509_STORE *ctx, const char *file, const char *dir); int X509_STORE_set_default_paths(X509_STORE *ctx); int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data); void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx); int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s); int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); struct stack_st_X509 *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); struct stack_st_X509 *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x); void X509_STORE_CTX_set_chain(X509_STORE_CTX *c, struct stack_st_X509 *sk); void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c, struct stack_st_X509_CRL *sk); int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, int purpose, int trust); void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, time_t t); void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, int (*verify_cb) (int, X509_STORE_CTX *)); X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx); void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); /* X509_VERIFY_PARAM functions */ X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, const X509_VERIFY_PARAM *from); int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, const X509_VERIFY_PARAM *from); int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags); int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, unsigned long flags); unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, ASN1_OBJECT *policy); int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, struct stack_st_ASN1_OBJECT *policies); int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, const char *name, size_t namelen); int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, const char *name, size_t namelen); void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, unsigned int flags); char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *); int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, const char *email, size_t emaillen); int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, const unsigned char *ip, size_t iplen); int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char *ipasc); int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); int X509_VERIFY_PARAM_get_count(void); const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); void X509_VERIFY_PARAM_table_cleanup(void); int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, struct stack_st_X509 *certs, struct stack_st_ASN1_OBJECT *policy_oids, unsigned int flags); void X509_policy_tree_free(X509_POLICY_TREE *tree); int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, int i); struct stack_st_X509_POLICY_NODE *X509_policy_tree_get0_policies(const X509_POLICY_TREE *tree); struct stack_st_X509_POLICY_NODE *X509_policy_tree_get0_user_policies(const X509_POLICY_TREE *tree); int X509_policy_level_node_count(X509_POLICY_LEVEL *level); X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i); const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); struct stack_st_POLICYQUALINFO *X509_policy_node_get0_qualifiers(const X509_POLICY_NODE *node); const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE *node); # 582 "/usr/include/openssl/x509.h" 2 3 4 # 1 "/usr/include/openssl/pkcs7.h" 1 3 4 /* crypto/pkcs7/pkcs7.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 1 "/usr/include/openssl/asn1.h" 1 3 4 /* crypto/asn1/asn1.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 63 "/usr/include/openssl/pkcs7.h" 2 3 4 # 1 "/usr/include/openssl/bio.h" 1 3 4 /* crypto/bio/bio.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 64 "/usr/include/openssl/pkcs7.h" 2 3 4 # 1 "/usr/include/openssl/e_os2.h" 1 3 4 /* e_os2.h */ /* ==================================================================== * Copyright (c) 1998-2000 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 1 "/usr/include/openssl/opensslconf.h" 1 3 4 /* opensslconf.h */ /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ /* OpenSSL was configured with the following options: */ # 108 "/usr/include/openssl/opensslconf.h" 3 4 /* The OPENSSL_NO_* macros are also defined as NO_* if the application asks for it. This is a transient feature that is provided for those who haven't had the time to do the appropriate changes in their applications. */ # 204 "/usr/include/openssl/opensslconf.h" 3 4 /* crypto/opensslconf.h.in */ /* Generate 80386 code? */ # 57 "/usr/include/openssl/e_os2.h" 2 3 4 # 65 "/usr/include/openssl/pkcs7.h" 2 3 4 # 1 "/usr/include/openssl/symhacks.h" 1 3 4 /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 67 "/usr/include/openssl/pkcs7.h" 2 3 4 # 1 "/usr/include/openssl/ossl_typ.h" 1 3 4 /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. 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 acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ # 68 "/usr/include/openssl/pkcs7.h" 2 3 4 # 79 "/usr/include/openssl/pkcs7.h" 3 4 /*- Encryption_ID DES-CBC Digest_ID MD5 Digest_Encryption_ID rsaEncryption Key_Encryption_ID rsaEncryption */ typedef struct pkcs7_issuer_and_serial_st { X509_NAME *issuer; ASN1_INTEGER *serial; } PKCS7_ISSUER_AND_SERIAL; typedef struct pkcs7_signer_info_st { ASN1_INTEGER *version; /* version 1 */ PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; X509_ALGOR *digest_alg; struct stack_st_X509_ATTRIBUTE *auth_attr; /* [ 0 ] */ X509_ALGOR *digest_enc_alg; ASN1_OCTET_STRING *enc_digest; struct stack_st_X509_ATTRIBUTE *unauth_attr; /* [ 1 ] */ /* The private key to sign with */ EVP_PKEY *pkey; } PKCS7_SIGNER_INFO; struct stack_st_PKCS7_SIGNER_INFO { _STACK stack; }; typedef struct pkcs7_recip_info_st { ASN1_INTEGER *version; /* version 0 */ PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; X509_ALGOR *key_enc_algor; ASN1_OCTET_STRING *enc_key; X509 *cert; /* get the pub-key from this */ } PKCS7_RECIP_INFO; struct stack_st_PKCS7_RECIP_INFO { _STACK stack; }; typedef struct pkcs7_signed_st { ASN1_INTEGER *version; /* version 1 */ struct stack_st_X509_ALGOR *md_algs; /* md used */ struct stack_st_X509 *cert; /* [ 0 ] */ struct stack_st_X509_CRL *crl; /* [ 1 ] */ struct stack_st_PKCS7_SIGNER_INFO *signer_info; struct pkcs7_st *contents; } PKCS7_SIGNED; /* * The above structure is very very similar to PKCS7_SIGN_ENVELOPE. How about * merging the two */ typedef struct pkcs7_enc_content_st { ASN1_OBJECT *content_type; X509_ALGOR *algorithm; ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ const EVP_CIPHER *cipher; } PKCS7_ENC_CONTENT; typedef struct pkcs7_enveloped_st { ASN1_INTEGER *version; /* version 0 */ struct stack_st_PKCS7_RECIP_INFO *recipientinfo; PKCS7_ENC_CONTENT *enc_data; } PKCS7_ENVELOPE; typedef struct pkcs7_signedandenveloped_st { ASN1_INTEGER *version; /* version 1 */ struct stack_st_X509_ALGOR *md_algs; /* md used */ struct stack_st_X509 *cert; /* [ 0 ] */ struct stack_st_X509_CRL *crl; /* [ 1 ] */ struct stack_st_PKCS7_SIGNER_INFO *signer_info; PKCS7_ENC_CONTENT *enc_data; struct stack_st_PKCS7_RECIP_INFO *recipientinfo; } PKCS7_SIGN_ENVELOPE; typedef struct pkcs7_digest_st { ASN1_INTEGER *version; /* version 0 */ X509_ALGOR *md; /* md used */ struct pkcs7_st *contents; ASN1_OCTET_STRING *digest; } PKCS7_DIGEST; typedef struct pkcs7_encrypted_st { ASN1_INTEGER *version; /* version 0 */ PKCS7_ENC_CONTENT *enc_data; } PKCS7_ENCRYPT; typedef struct pkcs7_st { /* * The following is non NULL if it contains ASN1 encoding of this * structure */ unsigned char *asn1; long length; int state; /* used during processing */ int detached; ASN1_OBJECT *type; /* content as defined by the type */ /* * all encryption/message digests are applied to the 'contents', leaving * out the 'type' field. */ union { char *ptr; /* NID_pkcs7_data */ ASN1_OCTET_STRING *data; /* NID_pkcs7_signed */ PKCS7_SIGNED *sign; /* NID_pkcs7_enveloped */ PKCS7_ENVELOPE *enveloped; /* NID_pkcs7_signedAndEnveloped */ PKCS7_SIGN_ENVELOPE *signed_and_enveloped; /* NID_pkcs7_digest */ PKCS7_DIGEST *digest; /* NID_pkcs7_encrypted */ PKCS7_ENCRYPT *encrypted; /* Anything else */ ASN1_TYPE *other; } d; } PKCS7; struct stack_st_PKCS7 { _STACK stack; }; # 227 "/usr/include/openssl/pkcs7.h" 3 4 /* S/MIME related flags */ # 246 "/usr/include/openssl/pkcs7.h" 3 4 /* Flags: for compatibility with older code */ # 258 "/usr/include/openssl/pkcs7.h" 3 4 PKCS7_ISSUER_AND_SERIAL *PKCS7_ISSUER_AND_SERIAL_new(void); void PKCS7_ISSUER_AND_SERIAL_free(PKCS7_ISSUER_AND_SERIAL *a); PKCS7_ISSUER_AND_SERIAL *d2i_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL **a, const unsigned char **in, long len); int i2d_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL *a, unsigned char **out); extern const ASN1_ITEM PKCS7_ISSUER_AND_SERIAL_it; int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *type, unsigned char *md, unsigned int *len); PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); PKCS7 *PKCS7_dup(PKCS7 *p7); PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); PKCS7_SIGNER_INFO *PKCS7_SIGNER_INFO_new(void); void PKCS7_SIGNER_INFO_free(PKCS7_SIGNER_INFO *a); PKCS7_SIGNER_INFO *d2i_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO **a, const unsigned char **in, long len); int i2d_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO *a, unsigned char **out); extern const ASN1_ITEM PKCS7_SIGNER_INFO_it; PKCS7_RECIP_INFO *PKCS7_RECIP_INFO_new(void); void PKCS7_RECIP_INFO_free(PKCS7_RECIP_INFO *a); PKCS7_RECIP_INFO *d2i_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO **a, const unsigned char **in, long len); int i2d_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO *a, unsigned char **out); extern const ASN1_ITEM PKCS7_RECIP_INFO_it; PKCS7_SIGNED *PKCS7_SIGNED_new(void); void PKCS7_SIGNED_free(PKCS7_SIGNED *a); PKCS7_SIGNED *d2i_PKCS7_SIGNED(PKCS7_SIGNED **a, const unsigned char **in, long len); int i2d_PKCS7_SIGNED(PKCS7_SIGNED *a, unsigned char **out); extern const ASN1_ITEM PKCS7_SIGNED_it; PKCS7_ENC_CONTENT *PKCS7_ENC_CONTENT_new(void); void PKCS7_ENC_CONTENT_free(PKCS7_ENC_CONTENT *a); PKCS7_ENC_CONTENT *d2i_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT **a, const unsigned char **in, long len); int i2d_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT *a, unsigned char **out); extern const ASN1_ITEM PKCS7_ENC_CONTENT_it; PKCS7_ENVELOPE *PKCS7_ENVELOPE_new(void); void PKCS7_ENVELOPE_free(PKCS7_ENVELOPE *a); PKCS7_ENVELOPE *d2i_PKCS7_ENVELOPE(PKCS7_ENVELOPE **a, const unsigned char **in, long len); int i2d_PKCS7_ENVELOPE(PKCS7_ENVELOPE *a, unsigned char **out); extern const ASN1_ITEM PKCS7_ENVELOPE_it; PKCS7_SIGN_ENVELOPE *PKCS7_SIGN_ENVELOPE_new(void); void PKCS7_SIGN_ENVELOPE_free(PKCS7_SIGN_ENVELOPE *a); PKCS7_SIGN_ENVELOPE *d2i_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE **a, const unsigned char **in, long len); int i2d_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE *a, unsigned char **out); extern const ASN1_ITEM PKCS7_SIGN_ENVELOPE_it; PKCS7_DIGEST *PKCS7_DIGEST_new(void); void PKCS7_DIGEST_free(PKCS7_DIGEST *a); PKCS7_DIGEST *d2i_PKCS7_DIGEST(PKCS7_DIGEST **a, const unsigned char **in, long len); int i2d_PKCS7_DIGEST(PKCS7_DIGEST *a, unsigned char **out); extern const ASN1_ITEM PKCS7_DIGEST_it; PKCS7_ENCRYPT *PKCS7_ENCRYPT_new(void); void PKCS7_ENCRYPT_free(PKCS7_ENCRYPT *a); PKCS7_ENCRYPT *d2i_PKCS7_ENCRYPT(PKCS7_ENCRYPT **a, const unsigned char **in, long len); int i2d_PKCS7_ENCRYPT(PKCS7_ENCRYPT *a, unsigned char **out); extern const ASN1_ITEM PKCS7_ENCRYPT_it; PKCS7 *PKCS7_new(void); void PKCS7_free(PKCS7 *a); PKCS7 *d2i_PKCS7(PKCS7 **a, const unsigned char **in, long len); int i2d_PKCS7(PKCS7 *a, unsigned char **out); extern const ASN1_ITEM PKCS7_it; extern const ASN1_ITEM PKCS7_ATTR_SIGN_it; extern const ASN1_ITEM PKCS7_ATTR_VERIFY_it; int i2d_PKCS7_NDEF(PKCS7 *a, unsigned char **out); int PKCS7_print_ctx(BIO *out, PKCS7 *x, int indent, const ASN1_PCTX *pctx); long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); int PKCS7_set_type(PKCS7 *p7, int type); int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, const EVP_MD *dgst); int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); int PKCS7_content_new(PKCS7 *p7, int nid); int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, X509 *x509); BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, EVP_PKEY *pkey, const EVP_MD *dgst); X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); struct stack_st_PKCS7_SIGNER_INFO *PKCS7_get_signer_info(PKCS7 *p7); PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, X509_ALGOR **pdig, X509_ALGOR **psig); void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); ASN1_OCTET_STRING *PKCS7_digest_from_attributes(struct stack_st_X509_ATTRIBUTE *sk); int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, void *data); int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, void *value); ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid); ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid); int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, struct stack_st_X509_ATTRIBUTE *sk); int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, struct stack_st_X509_ATTRIBUTE *sk); PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, struct stack_st_X509 *certs, BIO *data, int flags); PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, X509 *signcert, EVP_PKEY *pkey, const EVP_MD *md, int flags); int PKCS7_final(PKCS7 *p7, BIO *data, int flags); int PKCS7_verify(PKCS7 *p7, struct stack_st_X509 *certs, X509_STORE *store, BIO *indata, BIO *out, int flags); struct stack_st_X509 *PKCS7_get0_signers(PKCS7 *p7, struct stack_st_X509 *certs, int flags); PKCS7 *PKCS7_encrypt(struct stack_st_X509 *certs, BIO *in, const EVP_CIPHER *cipher, int flags); int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags); int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, struct stack_st_X509_ALGOR *cap); struct stack_st_X509_ALGOR *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); int PKCS7_simple_smimecap(struct stack_st_X509_ALGOR *sk, int nid, int arg); int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, const unsigned char *md, int mdlen); int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_PKCS7_strings(void); /* Error codes for the PKCS7 functions. */ /* Function codes. */ # 421 "/usr/include/openssl/pkcs7.h" 3 4 /* Reason codes. */ # 583 "/usr/include/openssl/x509.h" 2 3 4 # 592 "/usr/include/openssl/x509.h" 3 4 /* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */ # 608 "/usr/include/openssl/x509.h" 3 4 void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), int (*crl_free) (X509_CRL *crl), int (*crl_lookup) (X509_CRL *crl, X509_REVOKED **ret, ASN1_INTEGER *ser, X509_NAME *issuer), int (*crl_verify) (X509_CRL *crl, EVP_PKEY *pk)); void X509_CRL_METHOD_free(X509_CRL_METHOD *m); void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); void *X509_CRL_get_meth_data(X509_CRL *crl); /* * This one is only used so that a binary form can output, as in * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) */ const char *X509_verify_cert_error_string(long n); int X509_verify(X509 *a, EVP_PKEY *r); int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len); char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent); int X509_signature_print(BIO *bp, X509_ALGOR *alg, ASN1_STRING *sig); int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert); int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl); int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md, unsigned int *len); int X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md, unsigned int *len); int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md, unsigned int *len); int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md, unsigned int *len); int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md, unsigned int *len); X509 *d2i_X509_fp(FILE *fp, X509 **x509); int i2d_X509_fp(FILE *fp, X509 *x509); X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl); X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req); RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa); RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa); RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO **p8inf); int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf); int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); X509 *d2i_X509_bio(BIO *bp, X509 **x509); int i2d_X509_bio(BIO *bp, X509 *x509); X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl); X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req); RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa); RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa); RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO **p8inf); int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf); int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); X509 *X509_dup(X509 *x509); X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); X509_CRL *X509_CRL_dup(X509_CRL *crl); X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); X509_REQ *X509_REQ_dup(X509_REQ *req); X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, X509_ALGOR *algor); void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); X509_NAME *X509_NAME_dup(X509_NAME *xn); X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); int X509_cmp_time(const ASN1_TIME *s, time_t *t); int X509_cmp_current_time(const ASN1_TIME *s); ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t); ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, int offset_day, long offset_sec, time_t *t); ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj); const char *X509_get_default_cert_area(void); const char *X509_get_default_cert_dir(void); const char *X509_get_default_cert_file(void); const char *X509_get_default_cert_dir_env(void); const char *X509_get_default_cert_file_env(void); const char *X509_get_default_private_dir(void); X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey); X509_ALGOR *X509_ALGOR_new(void); void X509_ALGOR_free(X509_ALGOR *a); X509_ALGOR *d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len); int i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out); extern const ASN1_ITEM X509_ALGOR_it; X509_ALGORS *d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len); int i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out); extern const ASN1_ITEM X509_ALGORS_it; X509_VAL *X509_VAL_new(void); void X509_VAL_free(X509_VAL *a); X509_VAL *d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len); int i2d_X509_VAL(X509_VAL *a, unsigned char **out); extern const ASN1_ITEM X509_VAL_it; X509_PUBKEY *X509_PUBKEY_new(void); void X509_PUBKEY_free(X509_PUBKEY *a); X509_PUBKEY *d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len); int i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out); extern const ASN1_ITEM X509_PUBKEY_it; int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); int X509_get_pubkey_parameters(EVP_PKEY *pkey, struct stack_st_X509 *chain); int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp); DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length); int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length); X509_SIG *X509_SIG_new(void); void X509_SIG_free(X509_SIG *a); X509_SIG *d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len); int i2d_X509_SIG(X509_SIG *a, unsigned char **out); extern const ASN1_ITEM X509_SIG_it; X509_REQ_INFO *X509_REQ_INFO_new(void); void X509_REQ_INFO_free(X509_REQ_INFO *a); X509_REQ_INFO *d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len); int i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out); extern const ASN1_ITEM X509_REQ_INFO_it; X509_REQ *X509_REQ_new(void); void X509_REQ_free(X509_REQ *a); X509_REQ *d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len); int i2d_X509_REQ(X509_REQ *a, unsigned char **out); extern const ASN1_ITEM X509_REQ_it; X509_ATTRIBUTE *X509_ATTRIBUTE_new(void); void X509_ATTRIBUTE_free(X509_ATTRIBUTE *a); X509_ATTRIBUTE *d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len); int i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out); extern const ASN1_ITEM X509_ATTRIBUTE_it; X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); X509_EXTENSION *X509_EXTENSION_new(void); void X509_EXTENSION_free(X509_EXTENSION *a); X509_EXTENSION *d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len); int i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out); extern const ASN1_ITEM X509_EXTENSION_it; X509_EXTENSIONS *d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len); int i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out); extern const ASN1_ITEM X509_EXTENSIONS_it; X509_NAME_ENTRY *X509_NAME_ENTRY_new(void); void X509_NAME_ENTRY_free(X509_NAME_ENTRY *a); X509_NAME_ENTRY *d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len); int i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out); extern const ASN1_ITEM X509_NAME_ENTRY_it; X509_NAME *X509_NAME_new(void); void X509_NAME_free(X509_NAME *a); X509_NAME *d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len); int i2d_X509_NAME(X509_NAME *a, unsigned char **out); extern const ASN1_ITEM X509_NAME_it; int X509_NAME_set(X509_NAME **xn, X509_NAME *name); X509_CINF *X509_CINF_new(void); void X509_CINF_free(X509_CINF *a); X509_CINF *d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len); int i2d_X509_CINF(X509_CINF *a, unsigned char **out); extern const ASN1_ITEM X509_CINF_it; X509 *X509_new(void); void X509_free(X509 *a); X509 *d2i_X509(X509 **a, const unsigned char **in, long len); int i2d_X509(X509 *a, unsigned char **out); extern const ASN1_ITEM X509_it; X509_CERT_AUX *X509_CERT_AUX_new(void); void X509_CERT_AUX_free(X509_CERT_AUX *a); X509_CERT_AUX *d2i_X509_CERT_AUX(X509_CERT_AUX **a, const unsigned char **in, long len); int i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out); extern const ASN1_ITEM X509_CERT_AUX_it; X509_CERT_PAIR *X509_CERT_PAIR_new(void); void X509_CERT_PAIR_free(X509_CERT_PAIR *a); X509_CERT_PAIR *d2i_X509_CERT_PAIR(X509_CERT_PAIR **a, const unsigned char **in, long len); int i2d_X509_CERT_PAIR(X509_CERT_PAIR *a, unsigned char **out); extern const ASN1_ITEM X509_CERT_PAIR_it; int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int X509_set_ex_data(X509 *r, int idx, void *arg); void *X509_get_ex_data(X509 *r, int idx); int i2d_X509_AUX(X509 *a, unsigned char **pp); X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); int i2d_re_X509_tbs(X509 *x, unsigned char **pp); void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg, const X509 *x); int X509_get_signature_nid(const X509 *x); int X509_alias_set1(X509 *x, unsigned char *name, int len); int X509_keyid_set1(X509 *x, unsigned char *id, int len); unsigned char *X509_alias_get0(X509 *x, int *len); unsigned char *X509_keyid_get0(X509 *x, int *len); int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *, int); int X509_TRUST_set(int *t, int trust); int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj); void X509_trust_clear(X509 *x); void X509_reject_clear(X509 *x); X509_REVOKED *X509_REVOKED_new(void); void X509_REVOKED_free(X509_REVOKED *a); X509_REVOKED *d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len); int i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out); extern const ASN1_ITEM X509_REVOKED_it; X509_CRL_INFO *X509_CRL_INFO_new(void); void X509_CRL_INFO_free(X509_CRL_INFO *a); X509_CRL_INFO *d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len); int i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out); extern const ASN1_ITEM X509_CRL_INFO_it; X509_CRL *X509_CRL_new(void); void X509_CRL_free(X509_CRL *a); X509_CRL *d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len); int i2d_X509_CRL(X509_CRL *a, unsigned char **out); extern const ASN1_ITEM X509_CRL_it; int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); int X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret, ASN1_INTEGER *serial); int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); X509_PKEY *X509_PKEY_new(void); void X509_PKEY_free(X509_PKEY *a); int i2d_X509_PKEY(X509_PKEY *a, unsigned char **pp); X509_PKEY *d2i_X509_PKEY(X509_PKEY **a, const unsigned char **pp, long length); NETSCAPE_SPKI *NETSCAPE_SPKI_new(void); void NETSCAPE_SPKI_free(NETSCAPE_SPKI *a); NETSCAPE_SPKI *d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len); int i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out); extern const ASN1_ITEM NETSCAPE_SPKI_it; NETSCAPE_SPKAC *NETSCAPE_SPKAC_new(void); void NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a); NETSCAPE_SPKAC *d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len); int i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out); extern const ASN1_ITEM NETSCAPE_SPKAC_it; NETSCAPE_CERT_SEQUENCE *NETSCAPE_CERT_SEQUENCE_new(void); void NETSCAPE_CERT_SEQUENCE_free(NETSCAPE_CERT_SEQUENCE *a); NETSCAPE_CERT_SEQUENCE *d2i_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE **a, const unsigned char **in, long len); int i2d_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE *a, unsigned char **out); extern const ASN1_ITEM NETSCAPE_CERT_SEQUENCE_it; X509_INFO *X509_INFO_new(void); void X509_INFO_free(X509_INFO *a); char *X509_NAME_oneline(X509_NAME *a, char *buf, int size); int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, unsigned char *md, unsigned int *len); int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, X509_ALGOR *algor2, ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey, const EVP_MD *type); int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data, unsigned char *md, unsigned int *len); int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, ASN1_BIT_STRING *signature, void *data, EVP_PKEY *pkey); int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, ASN1_BIT_STRING *signature, void *data, EVP_PKEY *pkey, const EVP_MD *type); int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, ASN1_BIT_STRING *signature, void *asn, EVP_MD_CTX *ctx); int X509_set_version(X509 *x, long version); int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); ASN1_INTEGER *X509_get_serialNumber(X509 *x); int X509_set_issuer_name(X509 *x, X509_NAME *name); X509_NAME *X509_get_issuer_name(X509 *a); int X509_set_subject_name(X509 *x, X509_NAME *name); X509_NAME *X509_get_subject_name(X509 *a); int X509_set_notBefore(X509 *x, const ASN1_TIME *tm); int X509_set_notAfter(X509 *x, const ASN1_TIME *tm); int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); EVP_PKEY *X509_get_pubkey(X509 *x); ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); int X509_certificate_type(X509 *x, EVP_PKEY *pubkey /* optional */ ); int X509_REQ_set_version(X509_REQ *x, long version); int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); int X509_REQ_extension_nid(int nid); int *X509_REQ_get_extension_nids(void); void X509_REQ_set_extension_nids(int *nids); struct stack_st_X509_EXTENSION *X509_REQ_get_extensions(X509_REQ *req); int X509_REQ_add_extensions_nid(X509_REQ *req, struct stack_st_X509_EXTENSION *exts, int nid); int X509_REQ_add_extensions(X509_REQ *req, struct stack_st_X509_EXTENSION *exts); int X509_REQ_get_attr_count(const X509_REQ *req); int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos); int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, ASN1_OBJECT *obj, int lastpos); X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len); int X509_REQ_add1_attr_by_NID(X509_REQ *req, int nid, int type, const unsigned char *bytes, int len); int X509_REQ_add1_attr_by_txt(X509_REQ *req, const char *attrname, int type, const unsigned char *bytes, int len); int X509_CRL_set_version(X509_CRL *x, long version); int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); int X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); int X509_CRL_sort(X509_CRL *crl); int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, EVP_PKEY *skey, const EVP_MD *md, unsigned int flags); int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); int X509_check_private_key(X509 *x509, EVP_PKEY *pkey); int X509_chain_check_suiteb(int *perror_depth, X509 *x, struct stack_st_X509 *chain, unsigned long flags); int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags); struct stack_st_X509 *X509_chain_up_ref(struct stack_st_X509 *chain); int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); unsigned long X509_issuer_and_serial_hash(X509 *a); int X509_issuer_name_cmp(const X509 *a, const X509 *b); unsigned long X509_issuer_name_hash(X509 *a); int X509_subject_name_cmp(const X509 *a, const X509 *b); unsigned long X509_subject_name_hash(X509 *x); unsigned long X509_issuer_name_hash_old(X509 *a); unsigned long X509_subject_name_hash_old(X509 *x); int X509_cmp(const X509 *a, const X509 *b); int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); unsigned long X509_NAME_hash(X509_NAME *x); unsigned long X509_NAME_hash_old(X509_NAME *x); int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag, unsigned long cflag); int X509_print_fp(FILE *bp, X509 *x); int X509_CRL_print_fp(FILE *bp, X509_CRL *x); int X509_REQ_print_fp(FILE *bp, X509_REQ *req); int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, unsigned long flags); int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, unsigned long flags); int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflag, unsigned long cflag); int X509_print(BIO *bp, X509 *x); int X509_ocspid_print(BIO *bp, X509 *x); int X509_CERT_AUX_print(BIO *bp, X509_CERT_AUX *x, int indent); int X509_CRL_print(BIO *bp, X509_CRL *x); int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, unsigned long cflag); int X509_REQ_print(BIO *bp, X509_REQ *req); int X509_NAME_entry_count(X509_NAME *name); int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf, int len); int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, char *buf, int len); /* * NOTE: you should be passsing -1, not 0 as lastpos. The functions that use * lastpos, search after that position on. */ int X509_NAME_get_index_by_NID(X509_NAME *name, int nid, int lastpos); int X509_NAME_get_index_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int lastpos); X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc); X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); int X509_NAME_add_entry(X509_NAME *name, X509_NAME_ENTRY *ne, int loc, int set); int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, unsigned char *bytes, int len, int loc, int set); int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, unsigned char *bytes, int len, int loc, int set); X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, const char *field, int type, const unsigned char *bytes, int len); X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type, unsigned char *bytes, int len); int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, const unsigned char *bytes, int len, int loc, int set); X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len); int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, ASN1_OBJECT *obj); int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, const unsigned char *bytes, int len); ASN1_OBJECT *X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *ne); ASN1_STRING *X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne); int X509v3_get_ext_count(const struct stack_st_X509_EXTENSION *x); int X509v3_get_ext_by_NID(const struct stack_st_X509_EXTENSION *x, int nid, int lastpos); int X509v3_get_ext_by_OBJ(const struct stack_st_X509_EXTENSION *x, ASN1_OBJECT *obj, int lastpos); int X509v3_get_ext_by_critical(const struct stack_st_X509_EXTENSION *x, int crit, int lastpos); X509_EXTENSION *X509v3_get_ext(const struct stack_st_X509_EXTENSION *x, int loc); X509_EXTENSION *X509v3_delete_ext(struct stack_st_X509_EXTENSION *x, int loc); struct stack_st_X509_EXTENSION *X509v3_add_ext(struct stack_st_X509_EXTENSION **x, X509_EXTENSION *ex, int loc); int X509_get_ext_count(X509 *x); int X509_get_ext_by_NID(X509 *x, int nid, int lastpos); int X509_get_ext_by_OBJ(X509 *x, ASN1_OBJECT *obj, int lastpos); int X509_get_ext_by_critical(X509 *x, int crit, int lastpos); X509_EXTENSION *X509_get_ext(X509 *x, int loc); X509_EXTENSION *X509_delete_ext(X509 *x, int loc); int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); void *X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx); int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, unsigned long flags); int X509_CRL_get_ext_count(X509_CRL *x); int X509_CRL_get_ext_by_NID(X509_CRL *x, int nid, int lastpos); int X509_CRL_get_ext_by_OBJ(X509_CRL *x, ASN1_OBJECT *obj, int lastpos); int X509_CRL_get_ext_by_critical(X509_CRL *x, int crit, int lastpos); X509_EXTENSION *X509_CRL_get_ext(X509_CRL *x, int loc); X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); void *X509_CRL_get_ext_d2i(X509_CRL *x, int nid, int *crit, int *idx); int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, unsigned long flags); int X509_REVOKED_get_ext_count(X509_REVOKED *x); int X509_REVOKED_get_ext_by_NID(X509_REVOKED *x, int nid, int lastpos); int X509_REVOKED_get_ext_by_OBJ(X509_REVOKED *x, ASN1_OBJECT *obj, int lastpos); int X509_REVOKED_get_ext_by_critical(X509_REVOKED *x, int crit, int lastpos); X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED *x, int loc); X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc); void *X509_REVOKED_get_ext_d2i(X509_REVOKED *x, int nid, int *crit, int *idx); int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, unsigned long flags); X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, int nid, int crit, ASN1_OCTET_STRING *data); X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, ASN1_OBJECT *obj, int crit, ASN1_OCTET_STRING *data); int X509_EXTENSION_set_object(X509_EXTENSION *ex, ASN1_OBJECT *obj); int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data); ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex); ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); int X509_EXTENSION_get_critical(X509_EXTENSION *ex); int X509at_get_attr_count(const struct stack_st_X509_ATTRIBUTE *x); int X509at_get_attr_by_NID(const struct stack_st_X509_ATTRIBUTE *x, int nid, int lastpos); int X509at_get_attr_by_OBJ(const struct stack_st_X509_ATTRIBUTE *sk, ASN1_OBJECT *obj, int lastpos); X509_ATTRIBUTE *X509at_get_attr(const struct stack_st_X509_ATTRIBUTE *x, int loc); X509_ATTRIBUTE *X509at_delete_attr(struct stack_st_X509_ATTRIBUTE *x, int loc); struct stack_st_X509_ATTRIBUTE *X509at_add1_attr(struct stack_st_X509_ATTRIBUTE **x, X509_ATTRIBUTE *attr); struct stack_st_X509_ATTRIBUTE *X509at_add1_attr_by_OBJ(struct stack_st_X509_ATTRIBUTE **x, const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len); struct stack_st_X509_ATTRIBUTE *X509at_add1_attr_by_NID(struct stack_st_X509_ATTRIBUTE **x, int nid, int type, const unsigned char *bytes, int len); struct stack_st_X509_ATTRIBUTE *X509at_add1_attr_by_txt(struct stack_st_X509_ATTRIBUTE **x, const char *attrname, int type, const unsigned char *bytes, int len); void *X509at_get0_data_by_OBJ(struct stack_st_X509_ATTRIBUTE *x, ASN1_OBJECT *obj, int lastpos, int type); X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, int atrtype, const void *data, int len); X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, const ASN1_OBJECT *obj, int atrtype, const void *data, int len); X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, const char *atrname, int type, const unsigned char *bytes, int len); int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, const void *data, int len); void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, void *data); int X509_ATTRIBUTE_count(X509_ATTRIBUTE *attr); ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); int EVP_PKEY_get_attr_count(const EVP_PKEY *key); int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos); int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, ASN1_OBJECT *obj, int lastpos); X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len); int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, int nid, int type, const unsigned char *bytes, int len); int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, const char *attrname, int type, const unsigned char *bytes, int len); int X509_verify_cert(X509_STORE_CTX *ctx); /* lookup a cert from a X509 STACK */ X509 *X509_find_by_issuer_and_serial(struct stack_st_X509 *sk, X509_NAME *name, ASN1_INTEGER *serial); X509 *X509_find_by_subject(struct stack_st_X509 *sk, X509_NAME *name); PBEPARAM *PBEPARAM_new(void); void PBEPARAM_free(PBEPARAM *a); PBEPARAM *d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len); int i2d_PBEPARAM(PBEPARAM *a, unsigned char **out); extern const ASN1_ITEM PBEPARAM_it; PBE2PARAM *PBE2PARAM_new(void); void PBE2PARAM_free(PBE2PARAM *a); PBE2PARAM *d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len); int i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out); extern const ASN1_ITEM PBE2PARAM_it; PBKDF2PARAM *PBKDF2PARAM_new(void); void PBKDF2PARAM_free(PBKDF2PARAM *a); PBKDF2PARAM *d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len); int i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out); extern const ASN1_ITEM PBKDF2PARAM_it; int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, const unsigned char *salt, int saltlen); X509_ALGOR *PKCS5_pbe_set(int alg, int iter, const unsigned char *salt, int saltlen); X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, unsigned char *salt, int saltlen); X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, unsigned char *salt, int saltlen, unsigned char *aiv, int prf_nid); X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid, int keylen); /* PKCS#8 utilities */ PKCS8_PRIV_KEY_INFO *PKCS8_PRIV_KEY_INFO_new(void); void PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long len); int i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out); extern const ASN1_ITEM PKCS8_PRIV_KEY_INFO_it; EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, int ptype, void *pval, unsigned char *penc, int penclen); int PKCS8_pkey_get0(ASN1_OBJECT **ppkalg, const unsigned char **pk, int *ppklen, X509_ALGOR **pa, PKCS8_PRIV_KEY_INFO *p8); int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int ptype, void *pval, unsigned char *penc, int penclen); int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk, int *ppklen, X509_ALGOR **pa, X509_PUBKEY *pub); int X509_check_trust(X509 *x, int id, int flags); int X509_TRUST_get_count(void); X509_TRUST *X509_TRUST_get0(int idx); int X509_TRUST_get_by_id(int id); int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int), char *name, int arg1, void *arg2); void X509_TRUST_cleanup(void); int X509_TRUST_get_flags(X509_TRUST *xp); char *X509_TRUST_get0_name(X509_TRUST *xp); int X509_TRUST_get_trust(X509_TRUST *xp); /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ void ERR_load_X509_strings(void); /* Error codes for the X509 functions. */ /* Function codes. */ # 1291 "/usr/include/openssl/x509.h" 3 4 /* Reason codes. */ # 45 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" 1 /* * Copyright 2014 Garrett D'Amore * * 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 */ /* * BIND 4.9.3: * * Copyright (c) 1980, 1983, 1988, 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. * - * Portions Copyright (c) 1993 by Digital Equipment Corporation. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies, and that * the name of Digital Equipment Corporation not be used in advertising or * publicity pertaining to distribution of the document or software without * specific, written prior permission. * * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * --Copyright-- * * End BIND 4.9.3 */ /* * Structures returned by network data base library. * All addresses are supplied in host order, and * returned in network order (suitable for use in system calls). */ # 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. */ # 77 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.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) * */ # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.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. */ # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.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. */ # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" 2 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" struct hostent { char *h_name; /* official name of host */ char **h_aliases; /* alias list */ int h_addrtype; /* host address type */ int h_length; /* length of address */ char **h_addr_list; /* list of addresses from name server */ }; /* * addrinfo introduced with IPv6 for Protocol-Independent Hostname * and Service Name Translation. */ struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME, ... */ int ai_family; /* PF_xxx */ int ai_socktype; /* SOCK_xxx */ int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ socklen_t ai_addrlen; char *ai_canonname; /* canonical name for hostname */ struct sockaddr *ai_addr; /* binary address */ struct addrinfo *ai_next; /* next structure in linked list */ }; /* * The flag 0x8000 is currently reserved for private use between libnsl and * libsocket. See lib/libsocket/inet/getaddrinfo.c for more information. */ /* addrinfo flags */ /* getipnodebyname() flags */ /* * These were defined in RFC 2553 but not SUSv3 * or RFC 3493 which obsoleted 2553. */ /* addrinfo errors */ # 166 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" /* getnameinfo flags */ /* Not listed in any standards document */ /* getnameinfo max sizes as defined in RFC 2553 obsoleted in RFC 3493 */ /* * Scope delimit character */ /* * Algorithm entry for /etc/inet/ipsecalgs which defines IPsec protocols * and algorithms. */ typedef struct ipsecalgent { char **a_names; /* algorithm names */ int a_proto_num; /* protocol number */ int a_alg_num; /* algorithm number */ char *a_mech_name; /* encryption framework mechanism name */ int *a_block_sizes; /* supported block sizes */ int *a_key_sizes; /* supported key sizes */ int a_key_increment; /* key size increment */ int *a_mech_params; /* mechanism specific parameters */ int a_alg_flags; /* algorithm flags */ } ipsecalgent_t; /* well-known IPsec protocol numbers */ /* * Assumption here is that a network number * fits in 32 bits -- probably a poor one. */ struct netent { char *n_name; /* official name of net */ char **n_aliases; /* alias list */ int n_addrtype; /* net address type */ in_addr_t n_net; /* network # */ }; struct protoent { char *p_name; /* official protocol name */ char **p_aliases; /* alias list */ int p_proto; /* protocol # */ }; struct servent { char *s_name; /* official service name */ char **s_aliases; /* alias list */ int s_port; /* port # */ char *s_proto; /* protocol to use */ }; struct hostent *gethostbyname_r (const char *, struct hostent *, char *, int, int *h_errnop); struct hostent *gethostbyaddr_r (const char *, int, int, struct hostent *, char *, int, int *h_errnop); struct hostent *getipnodebyname(const char *, int, int, int *); struct hostent *getipnodebyaddr(const void *, size_t, int, int *); void freehostent(struct hostent *); struct hostent *gethostent_r(struct hostent *, char *, int, int *h_errnop); struct servent *getservbyname_r (const char *name, const char *, struct servent *, char *, int); struct servent *getservbyport_r (int port, const char *, struct servent *, char *, int); struct servent *getservent_r(struct servent *, char *, int); struct netent *getnetbyname_r (const char *, struct netent *, char *, int); struct netent *getnetbyaddr_r(long, int, struct netent *, char *, int); struct netent *getnetent_r(struct netent *, char *, int); struct protoent *getprotobyname_r (const char *, struct protoent *, char *, int); struct protoent *getprotobynumber_r (int, struct protoent *, char *, int); struct protoent *getprotoent_r(struct protoent *, char *, int); int getnetgrent_r(char **, char **, char **, char *, int); int innetgr(const char *, const char *, const char *, const char *); /* Old interfaces that return a pointer to a static area; MT-unsafe */ struct hostent *gethostbyname(const char *); struct hostent *gethostent(void); struct netent *getnetbyaddr(in_addr_t, int); struct netent *getnetbyname(const char *); struct netent *getnetent(void); struct protoent *getprotobyname(const char *); struct protoent *getprotobynumber(int); struct protoent *getprotoent(void); struct servent *getservbyname(const char *, const char *); struct servent *getservbyport(int, const char *); struct servent *getservent(void); /* gethostbyaddr() second argument is a size_t only in unix95/unix98 */ struct hostent *gethostbyaddr(const void *, socklen_t, int); int endhostent(void); int endnetent(void); int endprotoent(void); int endservent(void); int sethostent(int); int setnetent(int); int setprotoent(int); int setservent(int); # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" int getaddrinfo(const char *, const char *, const struct addrinfo *, struct addrinfo **); void freeaddrinfo(struct addrinfo *); const char *gai_strerror(int); int getnameinfo(const struct sockaddr *, socklen_t, char *, socklen_t, char *, socklen_t, int); int getnetgrent(char **, char **, char **); int setnetgrent(const char *); int endnetgrent(void); int rcmd(char **, unsigned short, const char *, const char *, const char *, int *); int rcmd_af(char **, unsigned short, const char *, const char *, const char *, int *, int); int rresvport_af(int *, int); int rresvport_addr(int *, struct sockaddr_storage *); int rexec(char **, unsigned short, const char *, const char *, const char *, int *); int rexec_af(char **, unsigned short, const char *, const char *, const char *, int *, int); int rresvport(int *); int ruserok(const char *, int, const char *, const char *); /* BIND */ struct hostent *gethostbyname2(const char *, int); void herror(const char *); const char *hstrerror(int); /* End BIND */ /* IPsec algorithm prototype definitions */ struct ipsecalgent *getipsecalgbyname(const char *, int, int *); struct ipsecalgent *getipsecalgbynum(int, int, int *); int getipsecprotobyname(const char *doi_name); char *getipsecprotobynum(int doi_domain); void freeipsecalgent(struct ipsecalgent *ptr); /* END IPsec algorithm prototype definitions */ /* * Error return codes from gethostbyname() and gethostbyaddr() * (when using the resolver) */ extern int h_errno; # 377 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" /* * Error return codes from gethostbyname() and gethostbyaddr() * (left in extern int h_errno). */ # 389 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" /* BIND */ /* End BIND */ # 46 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/boot_http.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 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/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/boot_http.h" 2 # 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. */ # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/boot_http.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/parseURL.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 2002-2003 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/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. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/parseURL.h" 2 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/parseURL.h" typedef struct { char hostname[256]; ushort_t port; } url_hport_t; typedef struct { boolean_t https; url_hport_t hport; char abspath[1024]; } url_t; extern int url_parse_hostport(const char *, url_hport_t *, ushort_t); extern int url_parse(const char *, url_t *); # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/boot_http.h" 2 /* State information returned by http_conn_info() */ typedef struct { url_t uri; /* URI last loaded */ url_hport_t proxy; /* proxy, if any being used */ boolean_t keepalive; /* Keepalive setting being used */ uint_t read_timeout; /* Timeout to use for socket reads */ } http_conninfo_t; /* Structure for version of the http file */ typedef struct { uint_t maj_ver; /* Major version */ uint_t min_ver; /* Minor version */ uint_t micro_ver; /* Micro version */ } boot_http_ver_t; /* Internal Libhttp errors */ /* necessarily the underlying transport */ /* connection). */ /* error. */ /* No matching entry */ # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/boot_http.h" /* Sources of errors */ typedef struct { uint_t code; /* status code */ char *statusmsg; /* status message */ uint_t nresphdrs; /* number of response headers */ } http_respinfo_t; typedef void *http_handle_t; boot_http_ver_t const *http_get_version(void); void http_set_p12_format(int); void http_set_verbose(boolean_t); int http_set_cipher_list(const char *); http_handle_t http_srv_init(const url_t *); int http_set_proxy(http_handle_t, const url_hport_t *); int http_set_keepalive(http_handle_t, boolean_t); int http_set_socket_read_timeout(http_handle_t, uint_t); int http_set_basic_auth(http_handle_t, const char *, const char *); int http_set_random_file(http_handle_t, const char *); int http_set_certificate_authority_file(const char *); int http_set_client_certificate_file(http_handle_t, const char *); int http_set_password(http_handle_t, const char *); int http_set_key_file_password(http_handle_t, const char *); int http_set_private_key_file(http_handle_t, const char *); int http_srv_connect(http_handle_t); int http_head_request(http_handle_t, const char *); int http_get_request(http_handle_t, const char *); int http_get_range_request(http_handle_t, const char *, offset_t, offset_t); void http_free_respinfo(http_respinfo_t *); int http_process_headers(http_handle_t, http_respinfo_t **); int http_process_part_headers(http_handle_t, http_respinfo_t **); char *http_get_header_value(http_handle_t, const char *); char *http_get_response_header(http_handle_t, uint_t); int http_read_body(http_handle_t, char *, size_t); int http_srv_disconnect(http_handle_t); int http_srv_close(http_handle_t); http_conninfo_t *http_get_conn_info(http_handle_t); int http_conn_is_https(http_handle_t, boolean_t *); ulong_t http_get_lasterr(http_handle_t, uint_t *); void http_decode_err(ulong_t, int *, int *, int *); char const *http_errorstr(uint_t, ulong_t); # 47 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkgerr.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 2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Module: pkgerr.h * Description: * * Implements error routines to handle the creation, * management, and destruction of error objects, which * hold error messages and codes returned from libpkg * routines that support the objects defined herein. */ # 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. */ # 42 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkgerr.h" 2 /* * Public Definitions */ typedef enum { PKGERR_OK = 0, PKGERR_EXIST, PKGERR_READ, PKGERR_CORRUPT, PKGERR_PARSE, PKGERR_BADPASS, PKGERR_BADALIAS, PKGERR_INTERNAL, PKGERR_UNSUP, PKGERR_NOALIAS, PKGERR_NOALIASMATCH, PKGERR_MULTIPLE, PKGERR_INCOMPLETE, PKGERR_NOPRIVKEY, PKGERR_NOPUBKEY, PKGERR_NOCACERT, PKGERR_NOMEM, PKGERR_CHAIN, PKGERR_LOCKED, PKGERR_WRITE, PKGERR_UNLOCK, PKGERR_TIME, PKGERR_DUPLICATE, PKGERR_WEB, PKGERR_VERIFY } PKG_ERR_CODE; /* * Public Structures */ /* external reference to PKG_ERR object (contents private) */ typedef PKG_ERR_CODE pkg_err_t; typedef struct _pkg_err_struct PKG_ERR; /* * Public Methods */ PKG_ERR *pkgerr_new(); void pkgerr_add(PKG_ERR *, PKG_ERR_CODE, char *, ...); void pkgerr_clear(PKG_ERR *); int pkgerr_dump(PKG_ERR *, FILE *); int pkgerr_num(PKG_ERR *); char *pkgerr_get(PKG_ERR *, int); void pkgerr_free(PKG_ERR *); # 48 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/keystore.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 2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Module: keystore.h * Description: This module contains the structure definitions for processing * package keystore files. */ # 1 "/usr/include/openssl/evp.h" 1 3 4 /* crypto/evp/evp.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ # 42 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/keystore.h" 2 # 1 "/usr/include/openssl/x509.h" 1 3 4 /* crypto/x509/x509.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * 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 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 cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ # 43 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/keystore.h" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkgerr.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 2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 44 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/keystore.h" 2 /* keystore structures */ /* this opaque type represents a keystore */ typedef void *keystore_handle_t; /* flags passed to open_keystore */ /* opens keystore read-only. Attempts to modify results in an error */ /* opens keystore read-write */ /* * tells open_keystore to fall back to app-generic paths in the case that * the app-specific paths do not exist. */ /* * tells open_keystore to use the app-specific paths no matter what, * failing if they cannot be used for any reason. */ /* masks off various types of flags */ /* default is read-only, soft */ /* * possible encoding formats used by the library, used * by print_cert */ typedef enum { KEYSTORE_FORMAT_PEM, KEYSTORE_FORMAT_DER, KEYSTORE_FORMAT_TEXT } keystore_encoding_format_t; /* * structure passed back to password callback for determining how * to prompt for passphrase, and where to record errors */ typedef struct { PKG_ERR *err; } keystore_passphrase_data; /* max length of a passphrase. One could use a short story! */ /* callback for collecting passphrase when open_keystore() is called */ typedef int keystore_passphrase_cb(char *, int, int, void *); /* names of the individual files within the keystore path */ /* keystore.c */ extern int open_keystore(PKG_ERR *, char *, char *, keystore_passphrase_cb, long flags, keystore_handle_t *); extern int print_certs(PKG_ERR *, keystore_handle_t, char *, keystore_encoding_format_t, FILE *); extern int check_cert(PKG_ERR *, X509 *); extern int check_cert_and_key(PKG_ERR *, X509 *, EVP_PKEY *); extern int print_cert(PKG_ERR *, X509 *, keystore_encoding_format_t, char *, boolean_t, FILE *); extern int close_keystore(PKG_ERR *, keystore_handle_t, keystore_passphrase_cb); extern int merge_ca_cert(PKG_ERR *, X509 *, keystore_handle_t); extern int merge_cert_and_key(PKG_ERR *, X509 *, EVP_PKEY *, char *, keystore_handle_t); extern int delete_cert_and_keys(PKG_ERR *, keystore_handle_t, char *); extern int find_key_cert_pair(PKG_ERR *, keystore_handle_t, char *, EVP_PKEY **, X509 **); extern int find_ca_certs(PKG_ERR *, keystore_handle_t, struct stack_st_X509 **); extern int find_cl_certs(PKG_ERR *, keystore_handle_t, struct stack_st_X509 **); # 49 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/cfext.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. */ # 35 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/cfext.h" # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgstrct.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 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 36 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/cfext.h" 2 struct mergstat { unsigned setuid:1; /* pkgmap entry has setuid */ unsigned setgid:1; /* ... and/or setgid bit set */ unsigned contchg:1; /* contents of the files different */ unsigned attrchg:1; /* attributes are different */ unsigned shared:1; /* > 1 pkg associated with this */ unsigned osetuid:1; /* installed set[ug]id process ... */ unsigned osetgid:1; /* ... being overwritten by pkg. */ unsigned rogue:1; /* conflicting file not owned by a package */ unsigned dir2nondir:1; /* was a directory & now a non-directory */ unsigned replace:1; /* merge makes no sense for this object pair */ unsigned denied:1; /* for some reason this was not allowed in */ unsigned preloaded:1; /* already checked in a prior pkg op */ unsigned processed:1; /* already installed or removed */ unsigned parentsyml2dir:1; /* parent directory changed from symlink to a directory */ }; /* * This is information required by pkgadd for fast operation. A * cfextra struct is tagged to each cfent structure requiring * processing. This is how we avoid some unneeded repetition. The * entries incorporating the word 'local' refer to the path that * gets us to the delivered package file. In other words, to install * a file we usually copy from 'local' to 'path' below. In the case * of a link, where no actual copying takes place, local is the source * of the link. Note that environment variables are not evaluated in * the locals unless they are links since the literal path is how * pkgadd finds the entry under the reloc directory. */ struct cfextra { struct cfent cf_ent; /* basic contents file entry */ struct mergstat mstat; /* merge status for installs */ uint32_t fsys_value; /* fstab[] entry index */ uint32_t fsys_base; /* actual base filesystem in fs_tab[] */ char *client_path; /* the client-relative path */ char *server_path; /* the server-relative path */ char *map_path; /* as read from the pkgmap */ char *client_local; /* client_relative local */ char *server_local; /* server relative local */ }; # 50 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" 2 /* * The contents database file interface. */ typedef struct pkg_server *PKGserver; /* Some commands modify the internal database: add them here */ # 82 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" typedef enum { INVALID, /* Not initialized */ NEVER, /* Don't start, does check if it is running. */ FLUSH_LOG, /* Run it once to incorporate the log. */ RUN_ONCE, /* Run until the current client stops. */ TIMEOUT, /* Run until a timeout occurs. */ PERMANENT, /* Run until it is externally terminated. */ DEFAULTMODE = TIMEOUT /* The default mode, must come last */ } start_mode_t; typedef struct pkgcmd { int cmd; char buf[1]; } pkgcmd_t; typedef struct pkgfilter { int cmd; int len; char buf[1]; } pkgfilter_t; /* * Virtual File Protocol definitions */ /* * flags associated with virtual file protocol operations; note that these flags * may only occupy the low order 16 bits of the 32-bit unsigned flag. */ typedef unsigned long VFPFLAGS_T; # 121 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* virtual file protocol object */ typedef struct _vfp VFP_T; /* structure behind the virtual file protocol object */ struct _vfp { FILE *_vfpFile; /* -> opened FILE */ char *_vfpCurr; /* -> current byte to read/write */ char *_vfpHighWater; /* -> last byte modified */ char *_vfpEnd; /* -> last data byte */ char *_vfpPath; /* -> path associated with FILE */ char *_vfpStart; /* -> first data byte */ void *_vfpExtra; /* undefined */ size_t _vfpSize; /* size of mapped/allocated area */ size_t _vfpMapSize; /* # mapped bytes */ VFPFLAGS_T _vfpFlags; /* flags associated with vfp/data */ int _vfpOverflow; /* non-zero if buffer write overflow */ blkcnt_t _vfpCkStBlocks; /* checkpoint # blocks */ dev_t _vfpCkDev; /* checkpoint device i.d. */ ino_t _vfpCkIno; /* checkpoint inode # */ off_t _vfpCkSize; /* checkpoint size */ time_t _vfpCkMtime; /* checkpoint modification time */ }; /* * get highest modified byte (length) contained in vfp * * determine number of bytes to write - it will be the highest of: * -- the current pointer into the file - this is updated whenever * the location of the file is changed by a single byte * -- the last "high water mark" - the last known location that * was written to the file - updated only when the location * of the file is directly changed - e.g. vfpSetCurrCharPtr, * vfpTruncate, vfpRewind. * this reduces the "bookkeeping" that needs to be done to know * how many bytes to write out to the file - typically a file is * written sequentially so the current file pointer is sufficient * to determine how many bytes to write out. */ # 169 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* * increment current pointer by specified delta * if the delta exceeds the buffer size, set pointer to buffer end */ # 185 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* get the path associated with the vfp */ /* get a string from the vfp into a fixed size buffer */ # 207 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* get number of bytes remaining to read */ /* get number of bytes remaining to write */ /* put current character and increment to next */ /* put integer to current character and increment */ /* put long to current character and increment */ /* get current character and increment to next */ /* get current character - do not increment */ /* get pointer to current character */ /* increment current character pointer */ /* decrement current character pointer */ /* get pointer to first data byte in buffer */ /* get pointer to last data byte in buffer */ /* set pointer to current character */ /* set pointer to last data byte in buffer */ # 267 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* seek to end of file - one past last data byte in file */ /* get number of bytes between current char and specified char */ /* put string to current character and increment */ # 284 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* put fixed number of bytes to current character and increment */ # 298 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* put format one arg to current character and increment */ struct dm_buf { char *text_buffer; /* start of allocated buffer */ int offset; /* number of bytes into the text_buffer */ int allocation; /* size of buffer in bytes */ }; /* This structure is used to hold a dynamically growing string */ struct dstr { char *pc; int len; int max; }; /* setmapmode() defines */ # 330 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* max length for printed attributes */ /* * These three defines indicate that the prototype file contains a '?' * meaning do not specify this data in the pkgmap entry. */ # 366 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* Settings for network admin defaults */ # 377 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.h" /* package header magic tokens */ /* name of security files */ /* * The next three mean that no mode, owner or group was specified or that the * one specified is invalid for some reason. Sometimes this is an error in * which case it is generally converted to CUR* with a warning. Other times * it means "look it up" by stating the existing file system object pointred * to in the prototype file. */ /* string comparitor abbreviators */ extern FILE *epopen(char *cmd, char *mode); extern char **gpkglist(char *dir, char **pkg, char **catg); extern int is_not_valid_length(char **category); extern int is_not_valid_category(char **category, char *progname); extern int is_same_CATEGORY(char **category, char *installed_category); extern char **get_categories(char *catg_arg); extern void pkglist_cont(char *keyword); extern char **pkgalias(char *pkg); extern char *get_prog_name(void); extern char *set_prog_name(char *name); extern int averify(int fix, char *ftype, char *path, struct ainfo *ainfo); extern int ckparam(char *param, char *value); extern int ckvolseq(char *dir, int part, int nparts); extern int cverify(int fix, char *ftype, char *path, struct cinfo *cinfo, int allow_checksum); extern unsigned long compute_checksum(int *r_cksumerr, char *a_path); extern int fverify(int fix, char *ftype, char *path, struct ainfo *ainfo, struct cinfo *cinfo); extern char *getErrbufAddr(void); extern int getErrbufSize(void); extern char *getErrstr(void); extern void setErrstr(char *errstr); extern int devtype(char *alias, struct pkgdev *devp); extern int ds_totread; /* total number of parts read */ extern int ds_close(int pkgendflg); extern int ds_findpkg(char *device, char *pkg); extern int ds_getinfo(char *string); extern int ds_getpkg(char *device, int n, char *dstdir); extern int ds_ginit(char *device); extern boolean_t ds_fd_open(void); extern int ds_init(char *device, char **pkg, char *norewind); extern int BIO_ds_dump_header(PKG_ERR *, BIO *); extern int BIO_ds_dump(PKG_ERR *, char *, BIO *); extern int BIO_dump_cmd(char *cmd, BIO *bio); extern int ds_next(char *, char *); extern int ds_readbuf(char *device); extern int epclose(FILE *pp); extern int esystem(char *cmd, int ifd, int ofd); extern int e_ExecCmdArray(int *r_status, char **r_results, char *a_inputFile, char *a_cmd, char **a_args); extern int e_ExecCmdList(int *r_status, char **r_results, char *a_inputFile, char *a_cmd, ...); extern int gpkgmap(struct cfent *ept, FILE *fp); extern int gpkgmapvfp(struct cfent *ept, VFP_T *fpv); extern void setmapmode(int mode_no); extern int isFdRemote(int a_fd); extern int isFstypeRemote(char *a_fstype); extern int isPathRemote(char *a_path); extern int iscpio(char *path, int *iscomp); extern int isdir(char *path); extern int isfile(char *dir, char *file); extern int fmkdir(char *a_path, int a_mode); extern int pkgexecl(char *filein, char *fileout, char *uname, char *gname, ...); extern int pkgexecv(char *filein, char *fileout, char *uname, char *gname, char *arg[]); extern int pkghead(char *device); extern int pkgmount(struct pkgdev *devp, char *pkg, int part, int nparts, int getvolflg); extern int pkgtrans(char *device1, char *device2, char **pkg, int options, keystore_handle_t, char *); extern int pkgumount(struct pkgdev *devp); extern int ppkgmap(struct cfent *ept, FILE *fp); extern int putcfile(struct cfent *ept, FILE *fp); extern int putcvfpfile(struct cfent *ept, VFP_T *vfp); extern int rrmdir(char *path); extern void set_memalloc_failure_func(void (*)(int)); extern void *xmalloc(size_t size); extern void *xrealloc(void *ptr, size_t size); extern char *xstrdup(char *str); extern void set_passphrase_prompt(char *); extern void set_passphrase_passarg(char *); extern int pkg_passphrase_cb(char *, int, int, void *); extern int srchcfile(struct cfent *ept, char *path, PKGserver server); extern struct group *cgrgid(gid_t gid); extern struct group *cgrnam(char *nam); extern struct passwd *cpwnam(char *nam); extern struct passwd *cpwuid(uid_t uid); extern struct group *clgrgid(gid_t gid); extern struct group *clgrnam(char *nam); extern struct passwd *clpwnam(char *nam); extern struct passwd *clpwuid(uid_t uid); extern void basepath(char *path, char *basedir, char *ir); extern void canonize(char *file); extern void canonize_slashes(char *file); extern void checksum_off(void); extern void checksum_on(void); extern void cvtpath(char *path, char *copy); extern void ds_order(char *list[]); extern void ds_putinfo(char *buf, size_t); extern void ds_skiptoend(char *device); extern void ecleanup(void); /*PRINTFLIKE1*/ extern void logerr(char *fmt, ...); extern int mappath(int flag, char *path); extern int mapvar(int flag, char *varname); /*PRINTFLIKE1*/ extern void progerr(char *fmt, ...); extern void pkgerr(PKG_ERR *); extern void rpterr(void); extern void tputcfent(struct cfent *ept, FILE *fp); extern void set_nonABI_symlinks(void); extern int nonABI_symlinks(void); extern void disable_attribute_check(void); extern int get_disable_attribute_check(void); /* security.c */ extern void sec_init(void); extern char *get_subject_display_name(X509 *); extern char *get_issuer_display_name(X509 *); extern char *get_serial_num(X509 *); extern char *get_fingerprint(X509 *, const EVP_MD *); extern int get_cert_chain(PKG_ERR *, X509 *, struct stack_st_X509 *, struct stack_st_X509 *, struct stack_st_X509 **); /* pkgstr.c */ void pkgstrConvertUllToTimeString_r(unsigned long long a_time, char *a_buf, int a_bufLen); char *pkgstrConvertPathToBasename(char *a_path); char *pkgstrConvertPathToDirname(char *a_path); char *pkgstrDup(char *a_str); char *pkgstrLocatePathBasename(char *a_path); void pkgstrScaleNumericString(char *a_buf, unsigned long long scale); void pkgstrAddToken(char **a_old, char *a_new, char a_separator); boolean_t pkgstrContainsToken(char *a_string, char *a_token, char *a_separators); void pkgstrExpandTokens(char **a_old, char *a_string, char a_separator, char *a_separators); char *pkgstrGetToken(char *r_sep, char *a_string, int a_index, char *a_separators); void pkgstrGetToken_r(char *r_sep, char *a_string, int a_index, char *a_separators, char *a_buf, int a_bufLen); unsigned long pkgstrNumTokens(char *a_string, char *a_separators); char *pkgstrPrintf(char *a_format, ...); void pkgstrPrintf_r(char *a_buf, int a_bufLen, char *a_format, ...); void pkgstrRemoveToken(char **r_string, char *a_token, char *a_separators, int a_index); void pkgstrRemoveLeadingWhitespace(char **a_str); /* vfpops.c */ extern int vfpCheckpointFile(VFP_T **r_destVfp, VFP_T **a_vfp, char *a_path); extern int vfpCheckpointOpen(VFP_T **a_cvfp, VFP_T **r_vfp, char *a_path, char *a_mode, VFPFLAGS_T a_flags); extern int vfpClearModified(VFP_T *a_vfp); extern int vfpClose(VFP_T **r_vfp); extern int vfpGetModified(VFP_T *a_vfp); extern int vfpOpen(VFP_T **r_vfp, char *a_path, char *a_mode, VFPFLAGS_T a_flags); extern void vfpRewind(VFP_T *a_vfp); extern ssize_t vfpSafePwrite(int a_fildes, void *a_buf, size_t a_nbyte, off_t a_offset); extern ssize_t vfpSafeWrite(int a_fildes, void *a_buf, size_t a_nbyte); extern int vfpSetFlags(VFP_T *a_vfp, VFPFLAGS_T a_flags); extern int vfpSetModified(VFP_T *a_vfp); extern int vfpSetSize(VFP_T *a_vfp, size_t a_size); extern void vfpTruncate(VFP_T *a_vfp); extern int vfpWriteToFile(VFP_T *a_vfp, char *a_path); /* handlelocalfs.c */ boolean_t enable_local_fs(void); boolean_t restore_local_fs(void); /* pkgserv.c */ extern PKGserver pkgopenserver(const char *, const char *, boolean_t); extern void pkgcloseserver(PKGserver); extern int pkgcmd(PKGserver, void *, size_t, char **, size_t *, int *); extern boolean_t pkgsync_needed(const char *, const char *, boolean_t); extern int pkgsync(const char *, const char *, boolean_t); extern int pkgservercommitfile(VFP_T *, PKGserver); extern int pkgopenfilter(PKGserver server, const char *pkginst); extern void pkgclosefilter(PKGserver); extern char *pkggetentry(PKGserver, int *, int *); extern char *pkggetentry_named(PKGserver, const char *, int *, int *); extern void pkgserversetmode(start_mode_t); extern start_mode_t pkgservergetmode(void); extern start_mode_t pkgparsemode(const char *); extern char *pkgmodeargument(start_mode_t); # 48 "log.c" 2 /* * local pkg command library includes */ # 1 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.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 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 */ # 38 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.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. */ # 39 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.h" 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 */ # 40 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgstrct.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 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 41 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.h" 2 /* Settings for procedure scripts */ /* Settings for class action scripts */ /* Settings for non-privileged scripts */ # 64 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.h" /* Settings for admin "rscriptalt" option */ # 80 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.h" /* Additional cfent/cfextra codes. */ /* This holds admin file data. */ struct admin { char *mail; char *instance; char *partial; char *runlevel; char *idepend; char *rdepend; char *space; char *setuid; char *conflict; char *action; char *networktimeout; char *networkretries; char *authentication; char *keystore; char *proxy; char *basedir; char *rscriptalt; }; /* * This table details the status of all filesystems available to the target * host. */ struct fstable { char *name; /* name of filesystem, (mount point) */ int namlen; /* The length of the name (mountpoint) */ fsblkcnt_t bsize; /* fundamental file system block size */ fsblkcnt_t frsize; /* file system fragment size */ fsblkcnt_t bfree; /* total # of free blocks */ fsblkcnt_t bused; /* total # of used blocks */ fsblkcnt_t ffree; /* total # of free file nodes */ fsblkcnt_t fused; /* total # of used file nodes */ char *fstype; /* type of filesystem - nfs, lo, ... */ char *remote_name; /* client's mounted filesystem */ unsigned writeable:1; /* access permission */ unsigned write_tested:1; /* access permission fully tested */ unsigned remote:1; /* on a remote filesystem */ unsigned mounted:1; /* actually mounted right now */ unsigned srvr_map:1; /* use server_map() */ unsigned cl_mounted:1; /* mounted in client space */ unsigned mnt_failed:1; /* attempt to loopback mount failed */ unsigned served:1; /* filesystem comes from a server */ }; # 54 "log.c" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.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) 1993, 2010, Oracle and/or its affiliates. All rights reserved. */ # 34 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" # 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. */ # 35 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.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 */ # 36 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.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/usr/src/cmd/svr4pkg/hdrs/libinst.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 */ # 38 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgstrct.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 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 39 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkginfo.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) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkginfo.h" struct pkginfo { char *pkginst; char *name; char *arch; char *version; char *vendor; char *basedir; char *catg; char status; }; extern char *pkgdir; extern char *pkgparam(char *, char *); extern int pkginfo(struct pkginfo *, char *, ...), pkgnmchk(char *, char *, int); # 40 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/pkglib.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 */ # 41 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/lib/libpkg/common/cfext.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. */ # 42 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.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 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 */ # 43 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" 2 /* signal handler function definition */ typedef void (sighdlrFunc_t)(int); /* maximum parameter length */ /* flag for check_applicability */ typedef unsigned long CAF_T; /* flags for check_applicability */ /* path to the request file in the package directory */ /* path to the copyright file in the package directory */ /* path to the depend file in the package directory */ /* * name of environment variable set to non-global zone name being installed: * pkgadd/pkginstall expects this name and passes it on to any scripts that * are run if it is set. */ /* * name of environment variable set to indicate this package should be installed * in the current zone only - see PSARC/2004/789 - New Pkginfo(4) attributes * for zones */ /* * name of environment variable set to indicate this package should be installed * in all zones, and only from the global zone - see PSARC/2003/460 */ /* * name of environment variable set to indicate this package should be installed * hollow (db update only) when installed in nonglobal zone - see PSARC/2003/460 */ /* * General purpose return codes used for functions which don't return a basic * success or failure. For those functions wherein a yes/no result is * possible, then 1 means OK and 0 means FAIL. */ /* These are the file status indicators for the contents file */ # 128 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" /* control bits for pkgdbmerg() */ /* control bits for file verification by class */ /* control bit for path type to pass to CAS */ /* findscripts() argument */ struct cl_attr { char name[64 +1]; /* name of class */ char *inst_script; /* install class action script */ char *rem_script; /* remove class action script */ unsigned src_verify:3; /* source verification level */ unsigned dst_verify:4; /* destination verification level */ unsigned relpath_2_CAS:1; /* CAS gets relative paths */ }; /* Common quit declaration used across many package commands */ extern void quit(int) __attribute__((__noreturn__)); /* listmgr.c */ extern int bl_create (int count_per_block, int struct_size, char *desc); extern char *bl_next_avail (int list_handle); extern char *bl_get_record (int list_handle, int recno); extern void bl_free (int list_handle); extern int ar_create (int count_per_block, int struct_size, char *desc); extern char **ar_next_avail (int list_handle); extern char **ar_get_head (int list_handle); extern int ar_delete (int list_handle, int index); extern void ar_free (int list_handle); /* doulimit.c */ extern int set_ulimit (char *script, char *err_msg); extern int clr_ulimit (void); extern int assign_ulimit (char *fslimit); /* dryrun.c */ extern void set_continue_not_ok (void); extern int continue_is_ok (void); extern int in_dryrun_mode (void); extern int in_continue_mode (void); extern void init_dryrunfile (char *dr_dir); extern void init_contfile (char *cn_dir); extern void set_dr_exitmsg (char *value); extern void set_dr_info (int type, int value); extern void write_dryrun_file (struct cfextra **extlist); /* instvol.c */ extern void regfiles_free (void); /* lockinst.c */ extern int lockinst (char *util_name, char *pkg_name, char *place); extern void lockupd (char *place); extern void unlockinst (void); extern char *pathdup (char *s); extern char *pathalloc (int n); extern char *fixpath (char *path); extern char *get_info_basedir (void); extern char *get_basedir (void); extern char *get_client_basedir (void); extern int set_basedirs (int reloc, char *adm_basedir, char *pkginst, int nointeract); extern int eval_path (char **server_ptr, char **client_ptr, char **map_ptr, char *path); extern int get_orig_offset (void); extern char *get_inst_root (void); extern char *get_mount_point (uint32_t n); extern char *get_remote_path (uint32_t n); extern void set_env_cbdir (void); extern int set_inst_root (char *path); extern void put_path_params (void); extern int mkpath (char *p); extern void mkbasedir (int flag, char *path); extern int is_an_inst_root (void); extern int is_a_basedir (void); extern int is_a_cl_basedir (void); extern int is_relocatable (void); extern char *orig_path (char *path); extern char *orig_path_ptr (char *path); extern char *qreason (int caller, int retcode, int started, int includeZonename); extern char *qstrdup (char *s); extern char *srcpath (char *d, char *p, int part, int nparts); extern char *trans_srcp_pi (char *local_path); extern int copyf (char *from, char *to, time_t mytime); extern int copyFile (int, int, char *, char *, struct stat *, long); extern int openLocal (char *a_path, int a_oflag, char *a_tmpdir); extern int dockdeps (char *depfile, int removeFlag, boolean_t a_preinstallCheck); extern int finalck (struct cfent *ept, int attrchg, int contchg, boolean_t a_warning); /* dockdeps.c */ extern void setUpdate (void); extern int isUpdate (void); /* mntinfo.c */ extern int get_mntinfo (int map_client, char *vfstab_file); extern uint32_t fsys (char *path); extern struct fstable *get_fs_entry (uint32_t n); extern int mount_client (void); extern int unmount_client (void); extern uint32_t resolved_fsys (char *path); extern char *get_server_host (uint32_t n); extern char *server_map (char *path, uint32_t fsys_value); extern int use_srvr_map (char *path, uint32_t *fsys_value); extern int use_srvr_map_n (uint32_t n); extern int is_fs_writeable (char *path, uint32_t *fsys_value); extern int is_remote_fs (char *path, uint32_t *fsys_value); extern int is_served (char *path, uint32_t *fsys_value); extern int is_mounted (char *path, uint32_t *fsys_value); extern int is_fs_writeable_n (uint32_t n); extern int is_remote_fs_n (uint32_t n); extern int is_served_n (uint32_t n); extern int is_mounted_n (uint32_t n); extern fsblkcnt_t get_blk_size_n (uint32_t n); extern fsblkcnt_t get_frag_size_n (uint32_t n); extern fsblkcnt_t get_blk_used_n (uint32_t n); extern fsblkcnt_t get_blk_free_n (uint32_t n); extern fsblkcnt_t get_inode_used_n (uint32_t n); extern fsblkcnt_t get_inode_free_n (uint32_t n); extern void set_blk_used_n (uint32_t n, fsblkcnt_t value); extern char *get_source_name_n (uint32_t n); extern char *get_fs_name_n (uint32_t n); extern int load_fsentry (struct fstable *fs_entry, char *name, char *fstype, char *remote_name); extern int isreloc (char *pkginstdir); extern int is_local_host (char *hostname); extern void fs_tab_free (void); /* pkgdbmerg.c */ extern int pkgdbmerg (PKGserver server, VFP_T *tmpvfp, struct cfextra **extlist); extern int files_installed (void); /* ocfile.c */ extern int trunc_tcfile (int fd); extern int ocfile (PKGserver *serverp, VFP_T **tmpvfp, fsblkcnt_t map_blks); extern int swapcfile (PKGserver server, VFP_T **a_tmpvfp, char *pkginst, int dbchg); extern int set_cfdir (char *cfdir); extern int socfile (PKGserver *server, boolean_t quiet); extern int relslock (void); extern int pkgWlock (int verbose); extern int iscfile (void); extern int vcfile (void); extern fsblkcnt_t nblk (fsblkcnt_t size, ulong_t bsize, ulong_t frsize); extern struct cfent **procmap (VFP_T *vfp, int mapflag, char *ir); extern void repl_cfent (struct cfent *new, struct cfent *old); extern struct cfextra **pkgobjmap (VFP_T *vfp, int mapflag, char *ir); extern void pkgobjinit (void); extern int seed_pkgobjmap (struct cfextra *ext_entry, char *path, char *local); extern int init_pkgobjspace (void); /* eptstat.c */ extern void pinfo_free (void); extern struct pinfo *eptstat (struct cfent *entry, char *pkg, char c); /* echo.c */ /*PRINTFLIKE1*/ extern void echo (char *a_fmt, ...); /*PRINTFLIKE1*/ extern void echoDebug (char *a_fmt, ...); extern boolean_t echoGetFlag (void); extern boolean_t echoDebugGetFlag (void); extern boolean_t echoSetFlag (boolean_t a_debugFlag); extern boolean_t echoDebugSetFlag (boolean_t a_debugFlag); /* ptext.c */ /*PRINTFLIKE2*/ extern void ptext (FILE *fp, char *fmt, ...); /* putparam.c */ extern void putparam (char *param, char *value); extern void getuserlocale (void); extern void putuserlocale (void); extern void putConditionInfo (char *, char *); /* setadmin.c */ extern void setadminFile (char *file); extern char *setadminSetting (char *a_paramName, char *a_paramValue); extern char *set_keystore_admin (void); extern boolean_t get_proxy_port_admin (char **, ushort_t *); extern boolean_t check_keystore_admin (char **); extern int web_ck_retries (void); extern int web_ck_timeout (void); extern int web_ck_authentication (void); /* setlist.c */ extern char *cl_iscript (int idx); extern char *cl_rscript (int idx); extern void find_CAS (int CAS_type, char *bin_ptr, char *inst_ptr); extern int setlist (struct cl_attr ***plist, char *slist); extern void addlist (struct cl_attr ***plist, char *item); extern char *cl_nam (int cl_idx); extern char *flex_device(char *device_name, int dev_ok); extern int cl_getn (void); extern int cl_idx (char *cl_nam); extern void cl_sets (char *slist); extern void cl_setl (struct cl_attr **cl_lst); extern void cl_putl (char *parm_name, struct cl_attr **list); extern int cl_deliscript (int i); extern unsigned cl_svfy (int i); extern unsigned cl_dvfy (int i); extern unsigned cl_pthrel (int i); /* passwd.c */ extern int pkg_passphrase_cb (char *, int, int, void *); extern void set_passarg (char *); extern void set_prompt (char *); /* fixpath.c */ extern void export_client_env(char *); extern void set_partial_inst(void); extern int is_partial_inst(void); extern void set_depend_pkginfo_DB(boolean_t a_setting); extern boolean_t is_depend_pkginfo_DB(void); extern void disable_spool_create(void); extern int is_spool_create(void); /* open_package_datastream.c */ extern boolean_t open_package_datastream(int a_argc, char **a_argv, char *a_spoolto, char *a_device, int *r_repeat, char **r_idsName, char *a_tmpdir, struct pkgdev *a_pkgdev, int a_optind); /* setup_temporary_directory.c */ extern boolean_t setup_temporary_directory(char **r_dirname, char *a_tmpdir, char *a_suffix); /* unpack_package_from_stream.c */ extern boolean_t unpack_package_from_stream(char *a_idsName, char *a_pkginst, char *a_tempDir); /* pkgops.c */ extern boolean_t pkgAddPackageToGzonlyList(char *a_pkgInst, char *a_rootPath); extern void pkgAddThisZonePackage(char *a_pkgInst); extern boolean_t pkgRemovePackageFromGzonlyList(char *a_rootPath, char *a_pkgInst); extern FILE *pkgOpenInGzOnlyFile(char *a_rootPath); extern void pkginfoFree(struct pkginfo **r_info); extern boolean_t pkginfoIsPkgInstalled(struct pkginfo **r_pinfo, char *a_pkgInst); extern boolean_t pkgIsPkgInGzOnly(char *a_rootPath, char *a_pkgInst); extern boolean_t pkgIsPkgInGzOnlyFP(FILE *a_fp, char *a_pkgInst); extern boolean_t pkginfoParamTruth(FILE *a_fp, char *a_param, char *a_value, boolean_t a_default); extern int pkgGetPackageList(char ***r_pkgList, char **a_argv, int a_optind, char *a_categories, char **a_categoryList, struct pkgdev *a_pkgdev); extern void pkgLocateHighestInst(char *r_path, int r_pathLen, char *r_pkgInst, int r_pkgInstLen, char *a_rootPath, char *a_pkgInst); extern boolean_t pkgPackageIsThisZone(char *a_pkgInst); extern char *pkgGetGzOnlyPath(void); extern boolean_t pkgTestInstalled(char *a_packageName, char *a_rootPath); /* depchk.c */ struct depckErrorRecord { int ier_numZones; char *ier_packageName; char **ier_zones; char **ier_values; }; typedef struct depckErrorRecord depckErrorRecord_t; struct depckError { int er_numEntries; depckErrorRecord_t *er_theEntries; }; typedef struct depckError depckError_t; typedef int (depcklFunc_t)(char *a_msg, char *a_pkg); /* * ignore_values: * == NULL - record one message for each instance of "name" found * == "" - record multiple instances * != "" - record multiple instances if value not in ignore_values */ struct depckl_struct { char *name; char *ignore_values; char **err_msg; depcklFunc_t *depcklFunc; depckError_t *record; }; typedef struct depckl_struct depckl_t; extern int depchkReportErrors(depckl_t *depckl); extern void depchkRecordError(depckError_t *a_erc, char *a_pkginst, char *a_zoneName, char *a_value); /* log.c */ /* types of log messages we recognize */ typedef enum { LOG_MSG_ERR, LOG_MSG_WRN, LOG_MSG_INFO, LOG_MSG_DEBUG } LogMsgType; /*PRINTFLIKE2*/ extern void log_msg(LogMsgType, const char *, ...); extern void log_set_verbose(boolean_t); extern boolean_t log_get_verbose(void); /* * typedef for the 'ckreturn' function */ typedef void (ckreturnFunc_t)(int a_retcode); /* sml.c */ /* null reference to SML_TAG object */ /* null reference to SML_TAG * object */ /* is reference to SML_TAG object valid? */ /* is indirect reference to SML_TAG object valid? */ /* definitions for sml passed from pkginstall to pkgcond */ # 505 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libinst.h" typedef struct _sml_tag_struct SML_TAG; typedef struct _sml_parameter_struct SML_PARAM; struct _sml_tag_struct { char *name; /* tag name */ int params_num; /* # params in *params */ SML_PARAM *params; /* tag parameters */ int tags_num; /* # subtags in *tags */ SML_TAG *tags; /* tag subtags */ }; struct _sml_parameter_struct { char *name; /* tag name */ char *value; /* parameters */ }; SML_TAG *smlAddTag(SML_TAG **r_tag, int a_index, SML_TAG *a_subTag); boolean_t smlFstatCompareEq(struct stat *statbuf, SML_TAG *tag, char *path); char *smlConvertTagToString(SML_TAG *tag); /*PRINTFLIKE2*/ void smlDbgPrintTag(SML_TAG *a_tag, char *a_format, ...); void smlDelTag(SML_TAG *tag, SML_TAG *sub_tag); void smlDelParam(SML_TAG *tag, char *name); SML_TAG *smlDup(SML_TAG *tag); boolean_t smlFindAndDelTag(SML_TAG *tag, char *findTag); void smlFreeTag(SML_TAG *tag); char *smlGetElementName(SML_TAG *a_tag); int smlGetNumParams(SML_TAG *a_tag); char *smlGetParam(SML_TAG *tag, char *name); /*PRINTFLIKE2*/ char *smlGetParamF(SML_TAG *tag, char *format, ...); void smlGetParam_r(SML_TAG *tag, char *name, char *buf, int bufLen); char *smlGetParamByTag(SML_TAG *tag, int index, char *tagName, char *parmName); char *smlGetParamByTagParam(SML_TAG *tag, int index, char *tagName, char *parmName, char *parmValue, char *parmReturn); char *smlGetParamName(SML_TAG *tag, int index); SML_TAG *smlGetTag(SML_TAG *tag, int index); SML_TAG *smlGetTagByName(SML_TAG *tag, int index, char *name); SML_TAG *smlGetTagByTagParam(SML_TAG *tag, int index, char *tagName, char *paramName, char *paramValue); boolean_t smlGetVerbose(void); int smlLoadTagFromFile(SML_TAG **r_tag, char *a_fileName); SML_TAG *smlNewTag(char *name); boolean_t smlParamEq(SML_TAG *tag, char *findTag, char *findParam, char *str); /*PRINTFLIKE4*/ boolean_t smlParamEqF(SML_TAG *tag, char *findTag, char *findParam, char *format, ...); void smlPrintTag(SML_TAG *tag); int smlReadOneTag(SML_TAG **r_tag, char *a_str); int smlConvertStringToTag(SML_TAG **r_tag, char *str); void smlSetFileStatInfo(SML_TAG **tag, struct stat *statbuf, char *path); void smlSetParam(SML_TAG *tag, char *name, char *value); /*PRINTFLIKE3*/ void smlSetParamF(SML_TAG *tag, char *name, char *format, ...); void smlSetVerbose(boolean_t a_setting); int smlWriteTagToFd(SML_TAG *tag, int fd); int smlWriteTagToFile(SML_TAG *tag, char *filename); /*PRINTFLIKE3*/ void sml_strPrintf_r(char *a_buf, int a_bufLen, char *a_format, ...); /*PRINTFLIKE1*/ char *sml_strPrintf(char *a_format, ...); char *sml_XmlEncodeString(char *a_plainTextString); char *sml_XmlDecodeString(char *a_xmlEncodedString); # 55 "log.c" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libadm.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 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/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/usr/src/cmd/svr4pkg/hdrs/libadm.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vtoc.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 2015 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 Toomas Soome */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.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/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. */ # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.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 2015 Nexenta Systems, Inc. */ # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.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. */ # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.h" 2 /* * Miscellaneous defines */ # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.h" /* * Reserve two cylinders on SCSI disks. * One is for the backup disk label and the other is for the deviceid. * * IPI disks only reserve one cylinder, but they will go away soon. * CDROMs do not reserve any cylinders. */ /* * Format of a Sun disk label. * Resides in cylinder 0, head 0, sector 0. * * sizeof (struct dk_label) should be 512 (the current sector size), * but should the sector size increase, this structure should remain * at the beginning of the sector. */ typedef daddr_t blkaddr_t; typedef daddr32_t blkaddr32_t; /* * partition headers: section 1 * Returned in struct dk_allmap by ioctl DKIOC[SG]APART (dkio(7I)) */ struct dk_map { blkaddr_t dkl_cylno; /* starting cylinder */ blkaddr_t dkl_nblk; /* number of blocks; if == 0, */ /* partition is undefined */ }; /* * partition headers: section 1 * Fixed size for on-disk dk_label */ struct dk_map32 { blkaddr32_t dkl_cylno; /* starting cylinder */ blkaddr32_t dkl_nblk; /* number of blocks; if == 0, */ /* partition is undefined */ }; /* * partition headers: section 2, * brought over from AT&T SVr4 vtoc structure. */ struct dk_map2 { uint16_t p_tag; /* ID tag of partition */ uint16_t p_flag; /* permission flag */ }; struct dkl_partition { uint16_t p_tag; /* ID tag of partition */ uint16_t p_flag; /* permision flags */ blkaddr32_t p_start; /* start sector no of partition */ blkaddr32_t p_size; /* # of blocks in partition */ }; /* * VTOC inclusions from AT&T SVr4 * Fixed sized types for on-disk VTOC */ struct dk_vtoc { uint32_t v_bootinfo[3]; /* info for mboot (unsupported) */ uint32_t v_sanity; /* to verify vtoc sanity */ uint32_t v_version; /* layout version */ char v_volume[8]; /* volume name */ uint16_t v_sectorsz; /* sector size in bytes */ uint16_t v_nparts; /* number of partitions */ uint32_t v_reserved[10]; /* free space */ struct dkl_partition v_part[16]; /* partition headers */ time32_t timestamp[16]; /* partition timestamp (unsupported) */ char v_asciilabel[128]; /* for compatibility */ # 154 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.h" }; /* * define the amount of disk label padding needed to make * the entire structure occupy 512 bytes. */ # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.h" struct dk_label { struct dk_vtoc dkl_vtoc; /* vtoc inclusions from AT&T SVr4 */ uint32_t dkl_pcyl; /* # of physical cylinders */ uint32_t dkl_ncyl; /* # of data cylinders */ uint16_t dkl_acyl; /* # of alternate cylinders */ uint16_t dkl_bcyl; /* cyl offset (for fixed head area) */ uint32_t dkl_nhead; /* # of heads */ uint32_t dkl_nsect; /* # of data sectors per track */ uint16_t dkl_intrlv; /* interleave factor */ uint16_t dkl_skew; /* skew factor */ uint16_t dkl_apc; /* alternates per cyl (SCSI only) */ uint16_t dkl_rpm; /* revolutions per minute */ uint16_t dkl_write_reinstruct; /* # sectors to skip, writes */ uint16_t dkl_read_reinstruct; /* # sectors to skip, reads */ uint16_t dkl_extra[4]; /* for compatible expansion */ char dkl_pad[(512 - ((sizeof (struct dk_vtoc) + (4 * sizeof (uint32_t)) + (12 * sizeof (uint16_t)) + (2 * (sizeof (uint16_t))))))]; /* unused part of 512 bytes */ # 217 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.h" uint16_t dkl_magic; /* identifies this label format */ uint16_t dkl_cksum; /* xor checksum of sector */ }; # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/dklabel.h" struct fk_label { /* DOS floppy label */ uchar_t fkl_type; uchar_t fkl_magich; uchar_t fkl_magicl; uchar_t filler; }; /* * Layout of stored fabricated device id (on-disk) */ struct dk_devid { uchar_t dkd_rev_hi; /* revision (MSB) */ uchar_t dkd_rev_lo; /* revision (LSB) */ uchar_t dkd_flags; /* flags (not used yet) */ uchar_t dkd_devid[((512) - ((sizeof (uchar_t) * 7)))]; /* devid stored here */ uchar_t dkd_checksum3; /* checksum (MSB) */ uchar_t dkd_checksum2; uchar_t dkd_checksum1; uchar_t dkd_checksum0; /* checksum (LSB) */ }; # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vtoc.h" 2 /* * Note: the VTOC is not implemented fully, nor in the manner * that AT&T implements it. AT&T puts the vtoc structure * into a sector, usually the second sector (pdsector is first). * * Sun incorporates the tag, flag, version, and volume vtoc fields into * its Disk Label, which already has some vtoc-equivalent fields. * Upon reading the vtoc with read_vtoc(), the following exceptions * occur: * v_bootinfo [all] returned as zero * v_sanity returned as VTOC_SANE * if Disk Label was sane * v_sectorsz returned as 512 * v_reserved [all] retunred as zero * timestamp [all] returned as zero * * See dklabel.h, read_vtoc(), and write_vtoc(). */ /* (from dkio.h) */ /* * Partition identification tags */ # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vtoc.h" /* Tags for EFI/GPT labels */ /* * Partition permission flags */ /* * error codes for reading & writing vtoc */ struct partition { ushort_t p_tag; /* ID tag of partition */ ushort_t p_flag; /* permission flags */ daddr_t p_start; /* start sector no of partition */ long p_size; /* # of blocks in partition */ }; struct vtoc { unsigned long v_bootinfo[3]; /* info needed by mboot (unsupported) */ unsigned long v_sanity; /* to verify vtoc sanity */ unsigned long v_version; /* layout version */ char v_volume[8]; /* volume name */ ushort_t v_sectorsz; /* sector size in bytes */ ushort_t v_nparts; /* number of partitions */ unsigned long v_reserved[10]; /* free space */ struct partition v_part[16]; /* partition headers */ time_t timestamp[16]; /* partition timestamp (unsupported) */ char v_asciilabel[128]; /* for compatibility */ }; struct extpartition { ushort_t p_tag; /* ID tag of partition */ ushort_t p_flag; /* permission flags */ ushort_t p_pad[2]; diskaddr_t p_start; /* start sector no of partition */ diskaddr_t p_size; /* # of blocks in partition */ }; struct extvtoc { uint64_t v_bootinfo[3]; /* info needed by mboot (unsupported) */ uint64_t v_sanity; /* to verify vtoc sanity */ uint64_t v_version; /* layout version */ char v_volume[8]; /* volume name */ ushort_t v_sectorsz; /* sector size in bytes */ ushort_t v_nparts; /* number of partitions */ ushort_t pad[2]; uint64_t v_reserved[10]; struct extpartition v_part[16]; /* partition headers */ uint64_t timestamp[16]; /* partition timestamp (unsupported) */ char v_asciilabel[128]; /* for compatibility */ }; # 334 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vtoc.h" /* * These defines are the mode parameter for the checksum routines. */ extern int read_vtoc(int, struct vtoc *); extern int write_vtoc(int, struct vtoc *); extern int read_extvtoc(int, struct extvtoc *); extern int write_extvtoc(int, struct extvtoc *); # 33 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libadm.h" 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 */ # 34 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libadm.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. */ # 35 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libadm.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkgstrct.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 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ # 36 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libadm.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/pkginfo.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) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ # 37 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libadm.h" 2 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/valtools.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 */ #pragma ident "%Z%%M% %I% %E% SMI" struct _choice_ { char *token; char *text; struct _choice_ *next; }; struct _menu_ { char *label; int attr; short longest; short nchoices; struct _choice_ *choice; char **invis; }; typedef struct _menu_ CKMENU; # 38 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libadm.h" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/install.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 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/usr/src/cmd/svr4pkg/hdrs/libadm.h" 2 # 47 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/libadm.h" /* * ckdate.c */ extern int ckdate_err (char *fmt, char *error); extern int ckdate_hlp (char *fmt, char *help); extern int ckdate_val (char *fmt, char *input); extern int ckdate (char *date, char *fmt, char *defstr, char *error, char *help, char *prompt); /* * ckgid.c */ extern int ckgid_dsp (void); extern int ckgid_val (char *grpnm); extern int ckgrpfile (void); extern void ckgid_err (int disp, char *error); extern void ckgid_hlp (int disp, char *help); extern int ckgid (char *gid, short disp, char *defstr, char *error, char *help, char *prompt); /* * ckint.c */ extern int ckint_val (char *value, short base); extern void ckint_err (short base, char *error); extern void ckint_hlp (short base, char *help); extern int ckint (long *intval, short base, char *defstr, char *error, char *help, char *prompt); /* * ckitem.c */ extern CKMENU *allocmenu (char *label, int attr); extern void ckitem_err (CKMENU *menup, char *error); extern void ckitem_hlp (CKMENU *menup, char *help); extern int ckitem (CKMENU *menup, char *item[], short max, char *defstr, char *error, char *help, char *prompt); extern int setitem (CKMENU *menup, char *choice); extern int setinvis (CKMENU *menup, char *choice); extern void printmenu (CKMENU *menup); /* * ckkeywd.c */ extern int ckkeywd (char *strval, char *keyword[], char *defstr, char *error, char *help, char *prompt); /* * ckpath.c */ extern int ckpath_stx (int pflags); extern int ckpath_val (char *path, int pflags); extern void ckpath_err (int pflags, char *error, char *input); extern void ckpath_hlp (int pflags, char *help); extern int ckpath (char *pathval, int pflags, char *defstr, char *error, char *help, char *prompt); /* * ckrange.c */ extern void ckrange_err (long lower, long upper, int base, char *error); extern void ckrange_hlp (long lower, long upper, int base, char *help); extern int ckrange_val (long lower, long upper, int base, char *input); extern int ckrange (long *rngval, long lower, long upper, short base, char *defstr, char *error, char *help, char *prompt); /* * ckstr.c */ extern int ckstr_val (char *regexp[], int length, char *input); extern void ckstr_err (char *regexp[], int length, char *error, char *input); extern void ckstr_hlp (char *regexp[], int length, char *help); extern int ckstr (char *strval, char *regexp[], int length, char *defstr, char *error, char *help, char *prompt); /* * cktime.c */ extern int cktime_val (char *fmt, char *input); extern int cktime_err (char *fmt, char *error); extern int cktime_hlp (char *fmt, char *help); extern int fmtcheck (char *fmt); extern int cktime (char *tod, char *fmt, char *defstr, char *error, char *help, char *prompt); /* * ckuid.c */ extern int ckuid_dsp (void); extern int ckuid_val (char *usrnm); extern int ckpwdfile (void); extern void ckuid_err (short disp, char *error); extern void ckuid_hlp (int disp, char *help); extern int ckuid (char *uid, short disp, char *defstr, char *error, char *help, char *prompt); /* * ckyorn.c */ extern int ckyorn_val (char *str); extern void ckyorn_err (char *error); extern void ckyorn_hlp (char *help); extern int ckyorn (char *yorn, char *defstr, char *error, char *help, char *prompt); /* * devattr.c */ extern char *devattr (char *device, char *attribute); /* * devreserv.c */ extern char *_rsvtabpath (void); extern int _openlkfile (void); extern int _closelkfile (void); extern int unreserv (long key, char *device); extern char **devreserv (long key, char **rsvlst[]); extern int devfree (long key, char *device); extern struct reservdev **reservdev (void); /* * devtab.c */ extern void _setdevtab (void); extern void _enddevtab (void); extern char *_devtabpath (void); extern int _opendevtab (char *mode); extern int _validalias (char *alias); extern struct devtabent *_getdevtabent (void); extern void _freedevtabent (struct devtabent *ent); extern struct devtabent *_getdevrec (char *device); /* * dgrpent.c */ extern void _setdgrptab (void); extern void _enddgrptab (void); extern char *_dgrptabpath (void); extern int _opendgrptab (char *mode); extern struct dgrptabent *_getdgrptabent (void); extern void _freedgrptabent (struct dgrptabent *ent); extern struct dgrptabent *_getdgrprec (char *dgroup); /* * fulldevnm.c */ extern char *getfullblkname (char *cp); extern char *getfullrawname (char *cp); /* * getdev.c */ extern char **getdev (char **devices, char **criteria, int options); /* * getdgrp.c */ extern char **getdgrp (char **dgroups, char **criteria, int options); /* * getinput.c */ extern int getinput (char *s); /* * getvol.c */ extern int getvol (char *device, char *label, int options, char *prompt); extern int _getvol (char *device, char *label, int options, char *prompt, char *norewind); extern void doremovecmd (char *device, int echo); /* * listdev.c */ extern char **listdev (char *device); /* * listdgrp.c */ extern char **listdgrp (char *dgroup); /* * memory.c */ extern long sysmem (void); extern long asysmem (void); /* * pkginfo.c */ extern int pkginfo (struct pkginfo *info, char *pkginst, ...); extern int fpkginfo (struct pkginfo *info, char *pkginst); extern char *fpkginst (char *pkg, ...); /* * pkgnmchk.c */ extern int pkgnmchk (register char *pkg, register char *spec, int presvr4flg); extern void set_ABI_namelngth (void); extern int get_ABI_namelngth (void); /* * pkgparam.c */ extern char *fpkgparam (FILE *fp, char *param); extern char *pkgparam (char *pkg, char *param); extern void set_PKGpaths (char *path); extern char *get_PKGLOC (void); extern char *get_PKGADM (void); extern void set_PKGADM(char *newpath); extern void set_PKGLOC(char *newpath); /* * putdev.c */ extern int _putdevtabrec (FILE *stream, struct devtabent *rec); extern int _adddevtabrec (char *alias, char **attrval); extern int _moddevtabrec (char *device, char **attrval); extern int _rmdevtabrec (char *device); extern int _rmdevtabattrs (char *device, char **attributes, char ***notfounds); /* * putdgrp.c */ extern int _putdgrptabrec (FILE *stream, struct dgrptabent *rec); extern int _adddgrptabrec (char *dgrp, char **members); extern int _rmdgrptabrec (char *dgrp); extern int _rmdgrpmems (char *dgrp, char **mems, char ***notfounds); /* * puterror.c */ extern void puterror (FILE *fp, char *defmesg, char *error); /* * puthelp.c */ extern void puthelp (FILE *fp, char *defmesg, char *help); /* * putprmpt.c */ extern void putprmpt (FILE *fp, char *prompt, char *choices[], char *defstr); /* * puttext.c */ extern int puttext (FILE *fp, char *str, int lmarg, int rmarg); /* * rdwr_vtoc.c */ extern int read_vtoc (int fd, struct vtoc *vtoc); extern int write_vtoc (int fd, struct vtoc *vtoc); # 56 "log.c" 2 # 1 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.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. */ /* * Module: messages * Group: pkg commands * Description: l10n strings for all pkg commands */ # 44 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.h" /* BEGIN CSTYLED */ /* * I18N: these messages are questions asked of the user */ # 57 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.h" /* * I18N: these messages are debugging message and are only displayed * when special debugging output has been enabled - these messages * will never be displayed during normal product usage */ # 401 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.h" /* * I18N: these messages are error messages that can be displayed * during the normal usage of the products */ # 675 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.h" /* * I18N: these messages are help messages that are displayed when the * user answers a question with "?" - asking for help to be displayed */ # 852 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.h" /* * These messages are output by qreason() - they are the "reason" * for the success/fail of the operation */ # 980 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.h" /* WITH ZONE NAME */ # 1175 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.h" /* * I18N: MSG_GZONLY_FILE_HEADER must NOT be translated! * ----- This message is placed at the beginning of an internal (private) * ----- database file. The contents of the message is a warning telling * ----- anyone who examines the contents of the database to not modify the * ----- database manually (by hand). * ----- Do NOT change or translate this text! */ # 1191 "/home/git3/dehawe/titanic_53/usr/src/cmd/svr4pkg/hdrs/messages.h" /* END CSTYLED */ # 57 "log.c" 2 /* Should be defined by cc -D */ /* local static data */ static boolean_t verbose = B_FALSE; /* * Name: log_msg * Description: Outputs messages to logging facility. * Scope: public * Arguments: a_type - the severity of the message * a_format - the printf format, plus its arguments * Returns: none */ /*PRINTFLIKE2*/ void log_msg(LogMsgType a_type, const char *a_format, ...) { FILE *out; char *rstr = (char *)0; char bfr[1]; char *prefix; size_t vres = 0; va_list ap; char *p = get_prog_name(); /* process message based on type */ switch (a_type) { case LOG_MSG_ERR: default: /* treat unknown type as LOG_MSG_ERR */ out = (&__iob[2]); prefix = gettext("ERROR"); break; case LOG_MSG_WRN: /* warning message */ out = (&__iob[2]); prefix = gettext("WARNING"); break; case LOG_MSG_INFO: /* information message */ out = (&__iob[1]); prefix = 0; break; case LOG_MSG_DEBUG: /* debugging message */ if (!log_get_verbose()) { /* no debug messages if not verbose mode */ return; } out = (&__iob[2]); prefix = 0; /* output debug prefix to match echoDebug() format */ (void) fprintf((&__iob[2]), "# [%6d %3d", getpid(), getzoneid()); if ((p != (char *)0) && (*p != '\0')) { fprintf((&__iob[2]), " %-11s", p); } (void) fprintf((&__iob[2]), "] "); break; } /* output prefix if specified */ if (prefix != 0) { (void) fprintf(out, "%s: ", prefix); } /* determine size of the message in bytes */ __builtin_va_start(ap, a_format); vres = vsnprintf(bfr, 1, a_format, ap); __builtin_va_end(ap); /* allocate storage to hold the message */ rstr = (char *)malloc(vres+2); /* generate the results of the printf conversion */ __builtin_va_start(ap, a_format); vres = vsnprintf(rstr, vres+1, a_format, ap); __builtin_va_end(ap); /* output formatted message to appropriate destination */ if (fprintf(out, "%s\n", rstr) < 0) { if (out != (&__iob[2])) { /* * nothing output, try stderr as a * last resort */ (void) fprintf((&__iob[2]), gettext("failed to log message using format <%s>"), a_format); } } /* free temporary message storage */ free(rstr); } /* * Name: set_verbose * Description: Turns on verbose output * Scope: public * Arguments: verbose = B_TRUE indicates verbose mode * Returns: none */ void log_set_verbose(boolean_t setting) { verbose = setting; } /* * Name: get_verbose * Description: Returns whether or not to output verbose messages * Scope: public * Arguments: none * Returns: B_TRUE - verbose messages should be output */ boolean_t log_get_verbose() { return (verbose); }