1 # 1 "../common/zones_utils.c"
2 # 1 "<built-in>"
3 # 1 "<command-line>"
4 # 1 "../common/zones_utils.c"
5 /*
6  * CDDL HEADER START
7  *
8  * The contents of this file are subject to the terms of the
9  * Common Development and Distribution License (the "License").
10  * You may not use this file except in compliance with the License.
11  *
12  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13  * or http://www.opensolaris.org/os/licensing.
14  * See the License for the specific language governing permissions
15  * and limitations under the License.
16  *
17  * When distributing Covered Code, include this CDDL HEADER in each
18  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19  * If applicable, add the following below this CDDL HEADER, with the
20  * fields enclosed by brackets "[]" replaced with your own identifying
21  * information: Portions Copyright [yyyy] [name of copyright owner]
22  *
23  * CDDL HEADER END
24  */
25 /*
26  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
27  */
28 
29 
30 
31 /*
32  * Module:	zones.c
33  * Group:	libinstzones
34  * Description:	Provide "zones" interface for install consolidation code
35  *
36  * Public Methods:
37  *
38  *  _z_close_file_descriptors - close a file descriptor "a_fd" not in the
39  *	list "a_fds"
40  *  _z_echo - Output an interactive message if interaction is enabled
41  *  _z_echoDebug - Output a debugging message if debugging is enabled
42  *  _z_is_directory - determine if specified path exists and is a directory
43  *  _z_program_error - Output an error message to the appropriate destinations
44  *  _z_pluginCatchSigint - SIGINT/SIGHUP interrupt handler
45  *  _z_running_in_global_zone - Determine if this process is running in the
46  *	global zone
47  *  _z_zones_are_implemented - Determine if zones are supported by the
48  *	current system
49  *  _z_brands_are_implemented - determine if branded zones are implemented on
50  *		this system
51  */
52 
53 /*
54  * System includes
55  */
56 
57 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
58 /*
59  * CDDL HEADER START
60  *
61  * The contents of this file are subject to the terms of the
62  * Common Development and Distribution License (the "License").
63  * You may not use this file except in compliance with the License.
64  *
65  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
66  * or http://www.opensolaris.org/os/licensing.
67  * See the License for the specific language governing permissions
68  * and limitations under the License.
69  *
70  * When distributing Covered Code, include this CDDL HEADER in each
71  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
72  * If applicable, add the following below this CDDL HEADER, with the
73  * fields enclosed by brackets "[]" replaced with your own identifying
74  * information: Portions Copyright [yyyy] [name of copyright owner]
75  *
76  * CDDL HEADER END
77  */
78 
79 /*
80  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
81  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
82  */
83 
84 /*	Copyright (c) 1988 AT&T	*/
85 /*	  All Rights Reserved  	*/
86 
87 /*
88  * User-visible pieces of the ANSI C standard I/O package.
89  */
90 
91 
92 
93 
94 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
95 /*
96  * CDDL HEADER START
97  *
98  * The contents of this file are subject to the terms of the
99  * Common Development and Distribution License (the "License").
100  * You may not use this file except in compliance with the License.
101  *
102  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
103  * or http://www.opensolaris.org/os/licensing.
104  * See the License for the specific language governing permissions
105  * and limitations under the License.
106  *
107  * When distributing Covered Code, include this CDDL HEADER in each
108  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
109  * If applicable, add the following below this CDDL HEADER, with the
110  * fields enclosed by brackets "[]" replaced with your own identifying
111  * information: Portions Copyright [yyyy] [name of copyright owner]
112  *
113  * CDDL HEADER END
114  */
115 
116 /*
117  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
118  * Copyright 2016 Joyent, Inc.
119  *
120  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
121  * Use is subject to license terms.
122  */
123 
124 
125 
126 
127 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1
128 /*
129  * CDDL HEADER START
130  *
131  * The contents of this file are subject to the terms of the
132  * Common Development and Distribution License, Version 1.0 only
133  * (the "License").  You may not use this file except in compliance
134  * with the License.
135  *
136  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
137  * or http://www.opensolaris.org/os/licensing.
138  * See the License for the specific language governing permissions
139  * and limitations under the License.
140  *
141  * When distributing Covered Code, include this CDDL HEADER in each
142  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
143  * If applicable, add the following below this CDDL HEADER, with the
144  * fields enclosed by brackets "[]" replaced with your own identifying
145  * information: Portions Copyright [yyyy] [name of copyright owner]
146  *
147  * CDDL HEADER END
148  */
149 /*
150  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
151  * Use is subject to license terms.
152  */
153 /*
154  * Copyright 2015 EveryCity Ltd. All rights reserved.
155  */
156 
157 
158 
159 
160 /*
161  * This file contains definitions designed to enable different compilers
162  * to be used harmoniously on Solaris systems.
163  */
164 
165 
166 
167 
168 
169 /*
170  * Allow for version tests for compiler bugs and features.
171  */
172 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
173 /*
174  * analogous to lint's PRINTFLIKEn
175  */
176 
177 
178 
179 
180 
181 /*
182  * Handle the kernel printf routines that can take '%b' too
183  */
184 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
185 /*
186  * This one's pretty obvious -- the function never returns
187  */
188 
189 
190 /*
191  * The function is 'extern inline' and expects GNU C89 behaviour, not C99
192  * behaviour.
193  *
194  * Should only be used on 'extern inline' definitions for GCC.
195  */
196 
197 
198 
199 
200 
201 
202 /*
203  * The function has control flow such that it may return multiple times (in
204  * the manner of setjmp or vfork)
205  */
206 
207 
208 
209 
210 
211 
212 /*
213  * This is an appropriate label for functions that do not
214  * modify their arguments, e.g. strlen()
215  */
216 
217 
218 /*
219  * This is a stronger form of __pure__. Can be used for functions
220  * that do not modify their arguments and don't depend on global
221  * memory.
222  */
223 
224 
225 
226 
227 /*
228  * This attribute, attached to a variable, means that the variable is meant to
229  * be possibly unused. GCC will not produce a warning for this variable.
230  */
231 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
232 /*
233  * Shorthand versions for readability
234  */
235 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
236 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
237 /*
238  * CDDL HEADER START
239  *
240  * The contents of this file are subject to the terms of the
241  * Common Development and Distribution License (the "License").
242  * You may not use this file except in compliance with the License.
243  *
244  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
245  * or http://www.opensolaris.org/os/licensing.
246  * See the License for the specific language governing permissions
247  * and limitations under the License.
248  *
249  *
250  * When distributing Covered Code, include this CDDL HEADER in each
251  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
252  * If applicable, add the following below this CDDL HEADER, with the
253  * fields enclosed by brackets "[]" replaced with your own identifying
254  * information: Portions Copyright [yyyy] [name of copyright owner]
255  *
256  * CDDL HEADER END
257  */
258 
259 /*
260  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
261  * Use is subject to license terms.
262  * Copyright 2016 Joyent, Inc.
263  */
264 
265 
266 
267 
268 /*
269  * This header file serves to group a set of well known defines and to
270  * set these for each instruction set architecture.  These defines may
271  * be divided into two groups;  characteristics of the processor and
272  * implementation choices for Solaris on a processor.
273  *
274  * Processor Characteristics:
275  *
276  * _LITTLE_ENDIAN / _BIG_ENDIAN:
277  *	The natural byte order of the processor.  A pointer to an int points
278  *	to the least/most significant byte of that int.
279  *
280  * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD:
281  *	The processor specific direction of stack growth.  A push onto the
282  *	stack increases/decreases the stack pointer, so it stores data at
283  *	successively higher/lower addresses.  (Stackless machines ignored
284  *	without regrets).
285  *
286  * _LONG_LONG_HTOL / _LONG_LONG_LTOH:
287  *	A pointer to a long long points to the most/least significant long
288  *	within that long long.
289  *
290  * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH:
291  *	The C compiler assigns bit fields from the high/low to the low/high end
292  *	of an int (most to least significant vs. least to most significant).
293  *
294  * _IEEE_754:
295  *	The processor (or supported implementations of the processor)
296  *	supports the ieee-754 floating point standard.  No other floating
297  *	point standards are supported (or significant).  Any other supported
298  *	floating point formats are expected to be cased on the ISA processor
299  *	symbol.
300  *
301  * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED:
302  *	The C Compiler implements objects of type `char' as `unsigned' or
303  *	`signed' respectively.  This is really an implementation choice of
304  *	the compiler writer, but it is specified in the ABI and tends to
305  *	be uniform across compilers for an instruction set architecture.
306  *	Hence, it has the properties of a processor characteristic.
307  *
308  * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT /
309  * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT /
310  * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT:
311  *	The ABI defines alignment requirements of each of the primitive
312  *	object types.  Some, if not all, may be hardware requirements as
313  * 	well.  The values are expressed in "byte-alignment" units.
314  *
315  * _MAX_ALIGNMENT:
316  *	The most stringent alignment requirement as specified by the ABI.
317  *	Equal to the maximum of all the above _XXX_ALIGNMENT values.
318  *
319  * _MAX_ALIGNMENT_TYPE:
320  * 	The name of the C type that has the value descried in _MAX_ALIGNMENT.
321  *
322  * _ALIGNMENT_REQUIRED:
323  *	True or false (1 or 0) whether or not the hardware requires the ABI
324  *	alignment.
325  *
326  * _LONG_LONG_ALIGNMENT_32
327  *	The 32-bit ABI supported by a 64-bit kernel may have different
328  *	alignment requirements for primitive object types.  The value of this
329  *	identifier is expressed in "byte-alignment" units.
330  *
331  * _HAVE_CPUID_INSN
332  *	This indicates that the architecture supports the 'cpuid'
333  *	instruction as defined by Intel.  (Intel allows other vendors
334  *	to extend the instruction for their own purposes.)
335  *
336  *
337  * Implementation Choices:
338  *
339  * _ILP32 / _LP64:
340  *	This specifies the compiler data type implementation as specified in
341  *	the relevant ABI.  The choice between these is strongly influenced
342  *	by the underlying hardware, but is not absolutely tied to it.
343  *	Currently only two data type models are supported:
344  *
345  *	_ILP32:
346  *		Int/Long/Pointer are 32 bits.  This is the historical UNIX
347  *		and Solaris implementation.  Due to its historical standing,
348  *		this is the default case.
349  *
350  *	_LP64:
351  *		Long/Pointer are 64 bits, Int is 32 bits.  This is the chosen
352  *		implementation for 64-bit ABIs such as SPARC V9.
353  *
354  *	_I32LPx:
355  *		A compilation environment where 'int' is 32-bit, and
356  *		longs and pointers are simply the same size.
357  *
358  *	In all cases, Char is 8 bits and Short is 16 bits.
359  *
360  * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16:
361  *	This specifies the form of the disk VTOC (or label):
362  *
363  *	_SUNOS_VTOC_8:
364  *		This is a VTOC form which is upwardly compatible with the
365  *		SunOS 4.x disk label and allows 8 partitions per disk.
366  *
367  *	_SUNOS_VTOC_16:
368  *		In this format the incore vtoc image matches the ondisk
369  *		version.  It allows 16 slices per disk, and is not
370  *		compatible with the SunOS 4.x disk label.
371  *
372  *	Note that these are not the only two VTOC forms possible and
373  *	additional forms may be added.  One possible form would be the
374  *	SVr4 VTOC form.  The symbol for that is reserved now, although
375  *	it is not implemented.
376  *
377  *	_SVR4_VTOC_16:
378  *		This VTOC form is compatible with the System V Release 4
379  *		VTOC (as implemented on the SVr4 Intel and 3b ports) with
380  *		16 partitions per disk.
381  *
382  *
383  * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR
384  *	This describes the type of addresses used by system DMA:
385  *
386  *	_DMA_USES_PHYSADDR:
387  *		This type of DMA, used in the x86 implementation,
388  *		requires physical addresses for DMA buffers.  The 24-bit
389  *		addresses used by some legacy boards is the source of the
390  *		"low-memory" (<16MB) requirement for some devices using DMA.
391  *
392  *	_DMA_USES_VIRTADDR:
393  *		This method of DMA allows the use of virtual addresses for
394  *		DMA transfers.
395  *
396  * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT
397  *      This indicates the presence/absence of an fdisk table.
398  *
399  *      _FIRMWARE_NEEDS_FDISK
400  *              The fdisk table is required by system firmware.  If present,
401  *              it allows a disk to be subdivided into multiple fdisk
402  *              partitions, each of which is equivalent to a separate,
403  *              virtual disk.  This enables the co-existence of multiple
404  *              operating systems on a shared hard disk.
405  *
406  *      _NO_FDISK_PRESENT
407  *              If the fdisk table is absent, it is assumed that the entire
408  *              media is allocated for a single operating system.
409  *
410  * _HAVE_TEM_FIRMWARE
411  *	Defined if this architecture has the (fallback) option of
412  *	using prom_* calls for doing I/O if a suitable kernel driver
413  *	is not available to do it.
414  *
415  * _DONT_USE_1275_GENERIC_NAMES
416  *		Controls whether or not device tree node names should
417  *		comply with the IEEE 1275 "Generic Names" Recommended
418  *		Practice. With _DONT_USE_GENERIC_NAMES, device-specific
419  *		names identifying the particular device will be used.
420  *
421  * __i386_COMPAT
422  *	This indicates whether the i386 ABI is supported as a *non-native*
423  *	mode for the platform.  When this symbol is defined:
424  *	-	32-bit xstat-style system calls are enabled
425  *	-	32-bit xmknod-style system calls are enabled
426  *	-	32-bit system calls use i386 sizes -and- alignments
427  *
428  *	Note that this is NOT defined for the i386 native environment!
429  *
430  * __x86
431  *	This is ONLY a synonym for defined(__i386) || defined(__amd64)
432  *	which is useful only insofar as these two architectures share
433  *	common attributes.  Analogous to __sparc.
434  *
435  * _PSM_MODULES
436  *	This indicates whether or not the implementation uses PSM
437  *	modules for processor support, reading /etc/mach from inside
438  *	the kernel to extract a list.
439  *
440  * _RTC_CONFIG
441  *	This indicates whether or not the implementation uses /etc/rtc_config
442  *	to configure the real-time clock in the kernel.
443  *
444  * _UNIX_KRTLD
445  *	This indicates that the implementation uses a dynamically
446  *	linked unix + krtld to form the core kernel image at boot
447  *	time, or (in the absence of this symbol) a prelinked kernel image.
448  *
449  * _OBP
450  *	This indicates the firmware interface is OBP.
451  *
452  * _SOFT_HOSTID
453  *	This indicates that the implementation obtains the hostid
454  *	from the file /etc/hostid, rather than from hardware.
455  */
456 
457 
458 
459 
460 
461 /*
462  * The following set of definitions characterize Solaris on AMD's
463  * 64-bit systems.
464  */
465 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
466 /*
467  * Define the appropriate "processor characteristics"
468  */
469 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
470 /*
471  * Different alignment constraints for the i386 ABI in compatibility mode
472  */
473 
474 
475 /*
476  * Define the appropriate "implementation choices".
477  */
478 # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
479 /*
480  * The feature test macro __i386 is generic for all processors implementing
481  * the Intel 386 instruction set or a superset of it.  Specifically, this
482  * includes all members of the 386, 486, and Pentium family of processors.
483  */
484 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
485 
486 
487 
488 
489 
490 /*
491  * Values of _POSIX_C_SOURCE
492  *
493  *		undefined   not a POSIX compilation
494  *		1	    POSIX.1-1990 compilation
495  *		2	    POSIX.2-1992 compilation
496  *		199309L	    POSIX.1b-1993 compilation (Real Time)
497  *		199506L	    POSIX.1c-1995 compilation (POSIX Threads)
498  *		200112L	    POSIX.1-2001 compilation (Austin Group Revision)
499  *		200809L     POSIX.1-2008 compilation
500  */
501 
502 
503 
504 
505 /*
506  * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS,
507  * and _STDC_C99 are Sun implementation specific macros created in order to
508  * compress common standards specified feature test macros for easier reading.
509  * These macros should not be used by the application developer as
510  * unexpected results may occur. Instead, the user should reference
511  * standards(5) for correct usage of the standards feature test macros.
512  *
513  * __XOPEN_OR_POSIX     Used in cases where a symbol is defined by both
514  *                      X/Open or POSIX or in the negative, when neither
515  *                      X/Open or POSIX defines a symbol.
516  *
517  * _STRICT_STDC         __STDC__ is specified by the C Standards and defined
518  *                      by the compiler. For Sun compilers the value of
519  *                      __STDC__ is either 1, 0, or not defined based on the
520  *                      compilation mode (see cc(1)). When the value of
521  *                      __STDC__ is 1 and in the absence of any other feature
522  *                      test macros, the namespace available to the application
523  *                      is limited to only those symbols defined by the C
524  *                      Standard. _STRICT_STDC provides a more readable means
525  *                      of identifying symbols defined by the standard, or in
526  *                      the negative, symbols that are extensions to the C
527  *                      Standard. See additional comments for GNU C differences.
528  *
529  * _STDC_C99            __STDC_VERSION__ is specified by the C standards and
530  *                      defined by the compiler and indicates the version of
531  *                      the C standard. A value of 199901L indicates a
532  *                      compiler that complies with ISO/IEC 9899:1999, other-
533  *                      wise known as the C99 standard.
534  *
535  * _STDC_C11		Like _STDC_C99 except that the value of __STDC_VERSION__
536  *                      is 201112L indicating a compiler that compiles with
537  *                      ISO/IEXC 9899:2011, otherwise known as the C11 standard.
538  *
539  * _STRICT_SYMBOLS	Used in cases where symbol visibility is restricted
540  *                      by the standards, and the user has not explicitly
541  *                      relaxed the strictness via __EXTENSIONS__.
542  */
543 
544 
545 
546 
547 
548 /*
549  * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC
550  * 99899:2011 specify the following predefined macro name:
551  *
552  * __STDC__	The integer constant 1, intended to indicate a conforming
553  *		implementation.
554  *
555  * Furthermore, a strictly conforming program shall use only those features
556  * of the language and library specified in these standards. A conforming
557  * implementation shall accept any strictly conforming program.
558  *
559  * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for
560  * strictly conforming environments and __STDC__ to 0 for environments that
561  * use ANSI C semantics but allow extensions to the C standard. For non-ANSI
562  * C semantics, Sun's C compiler does not define __STDC__.
563  *
564  * The GNU C project interpretation is that __STDC__ should always be defined
565  * to 1 for compilation modes that accept ANSI C syntax regardless of whether
566  * or not extensions to the C standard are used. Violations of conforming
567  * behavior are conditionally flagged as warnings via the use of the
568  * -pedantic option. In addition to defining __STDC__ to 1, the GNU C
569  * compiler also defines __STRICT_ANSI__ as a means of specifying strictly
570  * conforming environments using the -ansi or -std=<standard> options.
571  *
572  * In the absence of any other compiler options, Sun and GNU set the value
573  * of __STDC__ as follows when using the following options:
574  *
575  *				Value of __STDC__  __STRICT_ANSI__
576  *
577  * cc -Xa (default)			0	      undefined
578  * cc -Xt (transitional)		0             undefined
579  * cc -Xc (strictly conforming)		1	      undefined
580  * cc -Xs (K&R C)		    undefined	      undefined
581  *
582  * gcc (default)			1	      undefined
583  * gcc -ansi, -std={c89, c99,...)  	1              defined
584  * gcc -traditional (K&R)	    undefined	      undefined
585  *
586  * The default compilation modes for Sun C compilers versus GNU C compilers
587  * results in a differing value for __STDC__ which results in a more
588  * restricted namespace when using Sun compilers. To allow both GNU and Sun
589  * interpretations to peacefully co-exist, we use the following Sun
590  * implementation _STRICT_STDC_ macro:
591  */
592 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
593 /*
594  * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011
595  */
596 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
597 /*
598  * Use strict symbol visibility.
599  */
600 
601 
602 
603 
604 
605 /*
606  * Large file interfaces:
607  *
608  *	_LARGEFILE_SOURCE
609  *		1		large file-related additions to POSIX
610  *				interfaces requested (fseeko, etc.)
611  *	_LARGEFILE64_SOURCE
612  *		1		transitional large-file-related interfaces
613  *				requested (seek64, stat64, etc.)
614  *
615  * The corresponding announcement macros are respectively:
616  *	_LFS_LARGEFILE
617  *	_LFS64_LARGEFILE
618  * (These are set in <unistd.h>.)
619  *
620  * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as
621  * well.
622  *
623  * The large file interfaces are made visible regardless of the initial values
624  * of the feature test macros under certain circumstances:
625  *    -	If no explicit standards-conforming environment is requested (neither
626  *	of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of
627  *	__STDC__ does not imply standards conformance).
628  *    -	Extended system interfaces are explicitly requested (__EXTENSIONS__
629  * 	is defined).
630  *    -	Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is
631  *	defined).  (Note that this dependency is an artifact of the current
632  *	kernel implementation and may change in future releases.)
633  */
634 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
635 /*
636  * Large file compilation environment control:
637  *
638  * The setting of _FILE_OFFSET_BITS controls the size of various file-related
639  * types and governs the mapping between file-related source function symbol
640  * names and the corresponding binary entry points.
641  *
642  * In the 32-bit environment, the default value is 32; if not set, set it to
643  * the default here, to simplify tests in other headers.
644  *
645  * In the 64-bit compilation environment, the only value allowed is 64.
646  */
647 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
648 /*
649  * Use of _XOPEN_SOURCE
650  *
651  * The following X/Open specifications are supported:
652  *
653  * X/Open Portability Guide, Issue 3 (XPG3)
654  * X/Open CAE Specification, Issue 4 (XPG4)
655  * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2)
656  * X/Open CAE Specification, Issue 5 (XPG5)
657  * Open Group Technical Standard, Issue 6 (XPG6), also referred to as
658  *    IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002.
659  * Open Group Technical Standard, Issue 7 (XPG7), also referred to as
660  *    IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009.
661  *
662  * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1).
663  * XPG5 is also referred to as UNIX 98 or the Single Unix Specification,
664  *     Version 2 (SUSv2)
665  * XPG6 is the result of a merge of the X/Open and POSIX specifications
666  *     and as such is also referred to as IEEE Std. 1003.1-2001 in
667  *     addition to UNIX 03 and SUSv3.
668  * XPG7 is also referred to as UNIX 08 and SUSv4.
669  *
670  * When writing a conforming X/Open application, as per the specification
671  * requirements, the appropriate feature test macros must be defined at
672  * compile time. These are as follows. For more info, see standards(5).
673  *
674  * Feature Test Macro				     Specification
675  * ------------------------------------------------  -------------
676  * _XOPEN_SOURCE                                         XPG3
677  * _XOPEN_SOURCE && _XOPEN_VERSION = 4                   XPG4
678  * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1           XPG4v2
679  * _XOPEN_SOURCE = 500                                   XPG5
680  * _XOPEN_SOURCE = 600  (or POSIX_C_SOURCE=200112L)      XPG6
681  * _XOPEN_SOURCE = 700  (or POSIX_C_SOURCE=200809L)      XPG7
682  *
683  * In order to simplify the guards within the headers, the following
684  * implementation private test macros have been created. Applications
685  * must NOT use these private test macros as unexpected results will
686  * occur.
687  *
688  * Note that in general, the use of these private macros is cumulative.
689  * For example, the use of _XPG3 with no other restrictions on the X/Open
690  * namespace will make the symbols visible for XPG3 through XPG6
691  * compilation environments. The use of _XPG4_2 with no other X/Open
692  * namespace restrictions indicates that the symbols were introduced in
693  * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation
694  * environments, but not for XPG3 or XPG4 compilation environments.
695  *
696  * _XPG3    X/Open Portability Guide, Issue 3 (XPG3)
697  * _XPG4    X/Open CAE Specification, Issue 4 (XPG4)
698  * _XPG4_2  X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS)
699  * _XPG5    X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2)
700  * _XPG6    Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3)
701  * _XPG7    Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4)
702  */
703 
704 /* X/Open Portability Guide, Issue 3 */
705 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
706 /*
707  * _XOPEN_VERSION is defined by the X/Open specifications and is not
708  * normally defined by the application, except in the case of an XPG4
709  * application.  On the implementation side, _XOPEN_VERSION defined with
710  * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined
711  * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application.
712  * _XOPEN_VERSION  defined with a value of 500 indicates an XPG5 (UNIX 98)
713  * application and with a value of 600 indicates an XPG6 (UNIX 03)
714  * application and with a value of 700 indicates an XPG7 (UNIX 08).
715  * The appropriate version is determined by the use of the
716  * feature test macros described earlier.  The value of _XOPEN_VERSION
717  * defaults to 3 otherwise indicating support for XPG3 applications.
718  */
719 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
720 /*
721  * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly
722  * conforming environments.  ISO 9899:1999 says it does.
723  *
724  * The presence of _LONGLONG_TYPE says "long long exists" which is therefore
725  * defined in all but strictly conforming environments that disallow it.
726  */
727 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
728 /*
729  * The following macro defines a value for the ISO C99 restrict
730  * keyword so that _RESTRICT_KYWD resolves to "restrict" if
731  * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string)
732  * if any other compiler is used. This allows for the use of single
733  * prototype declarations regardless of compiler version.
734  */
735 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
736 /*
737  * The following macro defines a value for the ISO C11 _Noreturn
738  * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if
739  * an ISO C11 compiler is used and "" (null string) if any other
740  * compiler is used. This allows for the use of single prototype
741  * declarations regardless of compiler version.
742  */
743 
744 
745 
746 
747 
748 
749 
750 /*
751  * The following macro indicates header support for the ANSI C++
752  * standard.  The ISO/IEC designation for this is ISO/IEC FDIS 14882.
753  */
754 
755 
756 /*
757  * The following macro indicates header support for the C99 standard,
758  * ISO/IEC 9899:1999, Programming Languages - C.
759  */
760 
761 
762 /*
763  * The following macro indicates header support for the C99 standard,
764  * ISO/IEC 9899:2011, Programming Languages - C.
765  */
766 
767 
768 /*
769  * The following macro indicates header support for DTrace. The value is an
770  * integer that corresponds to the major version number for DTrace.
771  */
772 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
773 
774 
775 
776 
777 
778 /*
779  * Do all of our 'redefine_extname' processing before
780  * declarations of the associated functions are seen.
781  * This is necessary to keep gcc happy.
782  */
783 
784 
785 /* large file compilation environment setup */
786 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
787 /* In the LP64 compilation environment, all APIs are already large file */
788 
789 
790 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
791 #pragma redefine_extname fopen64 fopen
792 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
793 
794 
795 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
796 #pragma redefine_extname freopen64 freopen
797 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
798 
799 
800 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
801 #pragma redefine_extname tmpfile64 tmpfile
802 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
803 
804 
805 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
806 #pragma redefine_extname fgetpos64 fgetpos
807 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
808 
809 
810 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
811 #pragma redefine_extname fsetpos64 fsetpos
812 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
813 
814 
815 
816 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
817 #pragma redefine_extname fseeko64 fseeko
818 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
819 
820 
821 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
822 #pragma redefine_extname ftello64 ftello
823 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
824 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1
826 /*
827  * CDDL HEADER START
828  *
829  * The contents of this file are subject to the terms of the
830  * Common Development and Distribution License, Version 1.0 only
831  * (the "License").  You may not use this file except in compliance
832  * with the License.
833  *
834  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
835  * or http://www.opensolaris.org/os/licensing.
836  * See the License for the specific language governing permissions
837  * and limitations under the License.
838  *
839  * When distributing Covered Code, include this CDDL HEADER in each
840  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
841  * If applicable, add the following below this CDDL HEADER, with the
842  * fields enclosed by brackets "[]" replaced with your own identifying
843  * information: Portions Copyright [yyyy] [name of copyright owner]
844  *
845  * CDDL HEADER END
846  */
847 /*
848  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
849  * Copyright 2014 PALO, Richard.
850  *
851  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
852  * Use is subject to license terms.
853  */
854 
855 /*	Copyright (c) 1988 AT&T	*/
856 /*	  All Rights Reserved  	*/
857 
858 /*
859  * An application should not include this header directly.  Instead it
860  * should be included only through the inclusion of other Sun headers.
861  *
862  * The contents of this header is limited to identifiers specified in the
863  * C Standard.  Any new identifiers specified in future amendments to the
864  * C Standard must be placed in this header.  If these new identifiers
865  * are required to also be in the C++ Standard "std" namespace, then for
866  * anything other than macro definitions, corresponding "using" directives
867  * must also be added to <stdio.h>.
868  */
869 
870 /*
871  * User-visible pieces of the ANSI C standard I/O package.
872  */
873 
874 
875 
876 
877 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
878 /*
879  * CDDL HEADER START
880  *
881  * The contents of this file are subject to the terms of the
882  * Common Development and Distribution License (the "License").
883  * You may not use this file except in compliance with the License.
884  *
885  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
886  * or http://www.opensolaris.org/os/licensing.
887  * See the License for the specific language governing permissions
888  * and limitations under the License.
889  *
890  * When distributing Covered Code, include this CDDL HEADER in each
891  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
892  * If applicable, add the following below this CDDL HEADER, with the
893  * fields enclosed by brackets "[]" replaced with your own identifying
894  * information: Portions Copyright [yyyy] [name of copyright owner]
895  *
896  * CDDL HEADER END
897  */
898 
899 /*
900  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
901  * Copyright 2016 Joyent, Inc.
902  *
903  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
904  * Use is subject to license terms.
905  */
906 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
907 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
908 /*
909  * This file and its contents are supplied under the terms of the
910  * Common Development and Distribution License ("CDDL"), version 1.0.
911  * You may only use this file in accordance with the terms of version
912  * 1.0 of the CDDL.
913  *
914  * A full copy of the text of the CDDL should have accompanied this
915  * source.  A copy of the CDDL is also available via the Internet at
916  * http://www.illumos.org/license/CDDL.
917  */
918 
919 /*
920  * Copyright 2014-2016 PALO, Richard.
921  */
922 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
923 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
924 /*
925  * CDDL HEADER START
926  *
927  * The contents of this file are subject to the terms of the
928  * Common Development and Distribution License, Version 1.0 only
929  * (the "License").  You may not use this file except in compliance
930  * with the License.
931  *
932  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
933  * or http://www.opensolaris.org/os/licensing.
934  * See the License for the specific language governing permissions
935  * and limitations under the License.
936  *
937  * When distributing Covered Code, include this CDDL HEADER in each
938  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
939  * If applicable, add the following below this CDDL HEADER, with the
940  * fields enclosed by brackets "[]" replaced with your own identifying
941  * information: Portions Copyright [yyyy] [name of copyright owner]
942  *
943  * CDDL HEADER END
944  */
945 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
946 /*	  All Rights Reserved	*/
947 
948 
949 /*
950  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
951  *
952  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
953  * Use is subject to license terms.
954  */
955 
956 
957 
958 
959 /*
960  * An application should not include this header directly.  Instead it
961  * should be included only through the inclusion of other Sun headers.
962  *
963  * The purpose of this header is to provide the type definitions for
964  * the va_list argument used by a number of printf and printf like
965  * functions. The headers that define these various function prototypes
966  * #include this header directly. These include but are not necessarily
967  * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and
968  * <syslog.h>. The type definitions included in this header are for
969  * the benefit of consumers of va_list.
970  *
971  * Any application that accepts variable argument lists must as documented,
972  * include either <varargs.h> or the preferred <stdarg.h>. Doing so will
973  * pull in the appropriate compiler protocols defined in <sys/va_impl.h>
974  * which is in turn is included by <varargs.h> and <stdarg.h>. See comments
975  * in <sys/va_impl.h> for more detailed information regarding implementation
976  * and compiler specific protocols.
977  */
978 
979 /*
980  * The common definitions exported by this header or compilers using
981  * this header are:
982  *
983  * the identifier __builtin_va_alist for the variable list pseudo parameter
984  * the type __va_alist_type for the variable list pseudo parameter
985  * the type __va_list defining the type of the variable list iterator
986  *
987  * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros
988  * (__GNUC__) and processor macros (e.g. __amd64) are intended to be
989  * defined by the compilation system, not the user of the system.
990  */
991 
992 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
993 /*
994  * CDDL HEADER START
995  *
996  * The contents of this file are subject to the terms of the
997  * Common Development and Distribution License (the "License").
998  * You may not use this file except in compliance with the License.
999  *
1000  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1001  * or http://www.opensolaris.org/os/licensing.
1002  * See the License for the specific language governing permissions
1003  * and limitations under the License.
1004  *
1005  *
1006  * When distributing Covered Code, include this CDDL HEADER in each
1007  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1008  * If applicable, add the following below this CDDL HEADER, with the
1009  * fields enclosed by brackets "[]" replaced with your own identifying
1010  * information: Portions Copyright [yyyy] [name of copyright owner]
1011  *
1012  * CDDL HEADER END
1013  */
1014 
1015 /*
1016  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1017  * Use is subject to license terms.
1018  * Copyright 2016 Joyent, Inc.
1019  */
1020 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2
1021 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h"
1022 typedef __builtin_va_list __gnuc_va_list;
1023 /*
1024  * XX64 This seems unnecessary .. but is needed because vcmn_err is
1025  *	defined with __va_list instead of plain old va_list.
1026  *	Perhaps that should be fixed!
1027  */
1028 typedef __builtin_va_list __va_list;
1029 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1030 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1
1031 /*
1032  * CDDL HEADER START
1033  *
1034  * The contents of this file are subject to the terms of the
1035  * Common Development and Distribution License, Version 1.0 only
1036  * (the "License").  You may not use this file except in compliance
1037  * with the License.
1038  *
1039  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1040  * or http://www.opensolaris.org/os/licensing.
1041  * See the License for the specific language governing permissions
1042  * and limitations under the License.
1043  *
1044  * When distributing Covered Code, include this CDDL HEADER in each
1045  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1046  * If applicable, add the following below this CDDL HEADER, with the
1047  * fields enclosed by brackets "[]" replaced with your own identifying
1048  * information: Portions Copyright [yyyy] [name of copyright owner]
1049  *
1050  * CDDL HEADER END
1051  */
1052 /*
1053  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1054  * Use is subject to license terms.
1055  */
1056 
1057 
1058 
1059 
1060 #pragma ident "%Z%%M%	%I%	%E% SMI"
1061 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h"
1062 typedef struct __FILE __FILE;
1063 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1064 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1
1065 /*
1066  * CDDL HEADER START
1067  *
1068  * The contents of this file are subject to the terms of the
1069  * Common Development and Distribution License (the "License").
1070  * You may not use this file except in compliance with the License.
1071  *
1072  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1073  * or http://www.opensolaris.org/os/licensing.
1074  * See the License for the specific language governing permissions
1075  * and limitations under the License.
1076  *
1077  * When distributing Covered Code, include this CDDL HEADER in each
1078  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1079  * If applicable, add the following below this CDDL HEADER, with the
1080  * fields enclosed by brackets "[]" replaced with your own identifying
1081  * information: Portions Copyright [yyyy] [name of copyright owner]
1082  *
1083  * CDDL HEADER END
1084  */
1085 
1086 /*
1087  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1088  * Use is subject to license terms.
1089  */
1090 
1091 
1092 
1093 
1094 #pragma ident "%Z%%M%	%I%	%E% SMI"
1095 
1096 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
1097 /*
1098  * CDDL HEADER START
1099  *
1100  * The contents of this file are subject to the terms of the
1101  * Common Development and Distribution License (the "License").
1102  * You may not use this file except in compliance with the License.
1103  *
1104  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1105  * or http://www.opensolaris.org/os/licensing.
1106  * See the License for the specific language governing permissions
1107  * and limitations under the License.
1108  *
1109  *
1110  * When distributing Covered Code, include this CDDL HEADER in each
1111  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1112  * If applicable, add the following below this CDDL HEADER, with the
1113  * fields enclosed by brackets "[]" replaced with your own identifying
1114  * information: Portions Copyright [yyyy] [name of copyright owner]
1115  *
1116  * CDDL HEADER END
1117  */
1118 
1119 /*
1120  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1121  * Use is subject to license terms.
1122  * Copyright 2016 Joyent, Inc.
1123  */
1124 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2
1125 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h"
1126 struct __FILE {
1127  long __pad[16];
1128 };
1129 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1130 
1131 /*
1132  * If feature test macros are set that enable interfaces that use types
1133  * defined in <sys/types.h>, get those types by doing the include.
1134  *
1135  * Note that in asking for the interfaces associated with this feature test
1136  * macro one also asks for definitions of the POSIX types.
1137  */
1138 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1139 typedef __FILE FILE;
1140 
1141 
1142 
1143 
1144 
1145 typedef unsigned long size_t; /* size of something in bytes */
1146 
1147 
1148 
1149 
1150 
1151 
1152 typedef long fpos_t;
1153 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1154 /*
1155  * The value of _NFILE is defined in the Processor Specific ABI.  The value
1156  * is chosen for historical reasons rather than for truly processor related
1157  * attribute.  Note that the SPARC Processor Specific ABI uses the common
1158  * UNIX historical value of 20 so it is allowed to fall through.
1159  */
1160 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1161 extern __FILE __iob[20];
1162 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1163 extern int remove(const char *);
1164 extern int rename(const char *, const char *);
1165 extern FILE *tmpfile(void);
1166 extern char *tmpnam(char *);
1167 extern int fclose(FILE *);
1168 extern int fflush(FILE *);
1169 extern FILE *fopen(const char *, const char *);
1170 extern FILE *freopen(const char *,
1171    const char *, FILE *);
1172 extern void setbuf(FILE *, char *);
1173 extern int setvbuf(FILE *, char *, int,
1174    size_t);
1175 /* PRINTFLIKE2 */
1176 extern int fprintf(FILE *, const char *, ...);
1177 /* SCANFLIKE2 */
1178 extern int fscanf(FILE *, const char *, ...);
1179 /* PRINTFLIKE1 */
1180 extern int printf(const char *, ...);
1181 /* SCANFLIKE1 */
1182 extern int scanf(const char *, ...);
1183 /* PRINTFLIKE2 */
1184 extern int sprintf(char *, const char *, ...);
1185 /* SCANFLIKE2 */
1186 extern int sscanf(const char *,
1187    const char *, ...);
1188 extern int vfprintf(FILE *, const char *,
1189    __va_list);
1190 extern int vprintf(const char *, __va_list);
1191 extern int vsprintf(char *, const char *,
1192    __va_list);
1193 extern int fgetc(FILE *);
1194 extern char *fgets(char *, int, FILE *);
1195 extern int fputc(int, FILE *);
1196 extern int fputs(const char *, FILE *);
1197 
1198 
1199 extern int getc(FILE *);
1200 extern int putc(int, FILE *);
1201 
1202 
1203 
1204 extern int getchar(void);
1205 extern int putchar(int);
1206 
1207 
1208 /*
1209  * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11
1210  * environment has been requested, we remove it.
1211  */
1212 
1213 extern char *gets(char *);
1214 
1215 extern int puts(const char *);
1216 extern int ungetc(int, FILE *);
1217 extern size_t fread(void *, size_t, size_t,
1218  FILE *);
1219 extern size_t fwrite(const void *, size_t, size_t,
1220  FILE *);
1221 
1222 extern int fgetpos(FILE *, fpos_t *);
1223 extern int fsetpos(FILE *, const fpos_t *);
1224 
1225 extern int fseek(FILE *, long, int);
1226 extern long ftell(FILE *);
1227 extern void rewind(FILE *);
1228 
1229 
1230 extern void clearerr(FILE *);
1231 extern int feof(FILE *);
1232 extern int ferror(FILE *);
1233 
1234 extern void perror(const char *);
1235 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
1236 
1237 /*
1238  * If feature test macros are set that enable interfaces that use types
1239  * defined in <sys/types.h>, get those types by doing the include.
1240  *
1241  * Note that in asking for the interfaces associated with this feature test
1242  * macro one also asks for definitions of the POSIX types.
1243  */
1244 
1245 /*
1246  * Allow global visibility for symbols defined in
1247  * C++ "std" namespace in <iso/stdio_iso.h>.
1248  */
1249 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1250 /*
1251  * This header needs to be included here because it relies on the global
1252  * visibility of FILE and size_t in the C++ environment.
1253  */
1254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1
1255 /*
1256  * CDDL HEADER START
1257  *
1258  * The contents of this file are subject to the terms of the
1259  * Common Development and Distribution License, Version 1.0 only
1260  * (the "License").  You may not use this file except in compliance
1261  * with the License.
1262  *
1263  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1264  * or http://www.opensolaris.org/os/licensing.
1265  * See the License for the specific language governing permissions
1266  * and limitations under the License.
1267  *
1268  * When distributing Covered Code, include this CDDL HEADER in each
1269  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1270  * If applicable, add the following below this CDDL HEADER, with the
1271  * fields enclosed by brackets "[]" replaced with your own identifying
1272  * information: Portions Copyright [yyyy] [name of copyright owner]
1273  *
1274  * CDDL HEADER END
1275  */
1276 /*
1277  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1278  *
1279  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1280  * Use is subject to license terms.
1281  */
1282 
1283 /*
1284  * An application should not include this header directly.  Instead it
1285  * should be included only through the inclusion of other Sun headers.
1286  *
1287  * The contents of this header is limited to identifiers specified in
1288  * the C99 standard and in conflict with the C++ implementation of the
1289  * standard header.  The C++ standard may adopt the C99 standard at
1290  * which point it is expected that the symbols included here will
1291  * become part of the C++ std namespace.
1292  */
1293 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
1294 /*
1295  * The following have been added as a result of the ISO/IEC 9899:1999
1296  * standard. For a strictly conforming C application, visibility is
1297  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1298  * For non-strictly conforming C applications, there are no restrictions
1299  * on the C namespace.
1300  */
1301 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
1302 extern int vfscanf(FILE *, const char *, __va_list);
1303 extern int vscanf(const char *, __va_list);
1304 extern int vsscanf(const char *, const char *,
1305   __va_list);
1306 
1307 
1308 
1309 
1310 extern int snprintf(char *, size_t, const char *,
1311  ...);
1312 extern int vsnprintf(char *, size_t, const char *,
1313  __va_list);
1314 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
1315 # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1316 typedef long off_t;
1317 
1318 
1319 
1320 
1321 
1322 typedef off_t off64_t;
1323 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1324 typedef fpos_t fpos64_t;
1325 
1326 
1327 
1328 
1329 
1330 /*
1331  * XPG4 requires that va_list be defined in <stdio.h> "as described in
1332  * <stdarg.h>".  ANSI-C and POSIX require that the namespace of <stdio.h>
1333  * not be polluted with this name.
1334  */
1335 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1336 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1337 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1338 extern unsigned char _sibuf[], _sobuf[];
1339 
1340 
1341 /* large file compilation environment setup */
1342 # 241 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1343 /* In the LP64 compilation environment, all APIs are already large file */
1344 # 259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1345 typedef long ssize_t; /* size of something in bytes or -1 */
1346 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1347 extern char *tmpnam_r(char *);
1348 
1349 
1350 
1351 
1352 extern int fcloseall(void);
1353 extern void setbuffer(FILE *, char *, size_t);
1354 extern int setlinebuf(FILE *);
1355 /* PRINTFLIKE2 */
1356 extern int asprintf(char **, const char *, ...);
1357 /* PRINTFLIKE2 */
1358 extern int vasprintf(char **, const char *, __va_list);
1359 
1360 
1361 
1362 
1363  /* || defined(_XPG7) */
1364 extern ssize_t getdelim(char **, size_t *,
1365  int, FILE *);
1366 extern ssize_t getline(char **, size_t *,
1367  FILE *);
1368 
1369 
1370 /*
1371  * The following are known to POSIX and XOPEN, but not to ANSI-C.
1372  */
1373 
1374 
1375 
1376 extern FILE *fdopen(int, const char *);
1377 extern char *ctermid(char *);
1378 extern int fileno(FILE *);
1379 
1380 
1381 
1382 /*
1383  * The following are known to POSIX.1c, but not to ANSI-C or XOPEN.
1384  */
1385 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1386 /*
1387  * The following are known to XOPEN, but not to ANSI-C or POSIX.
1388  */
1389 
1390 
1391 extern FILE *popen(const char *, const char *);
1392 extern char *tempnam(const char *, const char *);
1393 extern int pclose(FILE *);
1394 
1395 extern int getsubopt(char **, char *const *, char **);
1396 
1397 
1398 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1399 
1400 extern char *cuserid(char *);
1401 extern int getopt(int, char *const *, const char *);
1402 extern char *optarg;
1403 extern int optind, opterr, optopt;
1404 extern int getw(FILE *);
1405 extern int putw(int, FILE *);
1406 
1407 
1408 
1409 
1410 /*
1411  * The following are defined as part of the Large File Summit interfaces.
1412  */
1413 
1414 extern int fseeko(FILE *, off_t, int);
1415 extern off_t ftello(FILE *);
1416 
1417 
1418 /*
1419  * The following are defined as part of the transitional Large File Summit
1420  * interfaces.
1421  */
1422 
1423 
1424 extern FILE *fopen64(const char *, const char *);
1425 extern FILE *freopen64(const char *, const char *, FILE *);
1426 extern FILE *tmpfile64(void);
1427 extern int fgetpos64(FILE *, fpos64_t *);
1428 extern int fsetpos64(FILE *, const fpos64_t *);
1429 extern int fseeko64(FILE *, off64_t, int);
1430 extern off64_t ftello64(FILE *);
1431 
1432 
1433 /*
1434  * XPG7 symbols
1435  */
1436 
1437 extern FILE *fmemopen(void *, size_t,
1438       const char *);
1439 extern FILE *open_memstream(char **, size_t *);
1440 # 54 "../common/zones_utils.c" 2
1441 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1
1442 /*
1443  * CDDL HEADER START
1444  *
1445  * The contents of this file are subject to the terms of the
1446  * Common Development and Distribution License (the "License").
1447  * You may not use this file except in compliance with the License.
1448  *
1449  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1450  * or http://www.opensolaris.org/os/licensing.
1451  * See the License for the specific language governing permissions
1452  * and limitations under the License.
1453  *
1454  * When distributing Covered Code, include this CDDL HEADER in each
1455  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1456  * If applicable, add the following below this CDDL HEADER, with the
1457  * fields enclosed by brackets "[]" replaced with your own identifying
1458  * information: Portions Copyright [yyyy] [name of copyright owner]
1459  *
1460  * CDDL HEADER END
1461  */
1462 
1463 /*
1464  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1465  * Copyright (c) 2013 Gary Mills
1466  *
1467  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
1468  */
1469 
1470 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
1471 
1472 /*	Copyright (c) 1988 AT&T	*/
1473 /*	  All Rights Reserved  	*/
1474 
1475 
1476 
1477 
1478 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1
1479 /*
1480  * CDDL HEADER START
1481  *
1482  * The contents of this file are subject to the terms of the
1483  * Common Development and Distribution License, Version 1.0 only
1484  * (the "License").  You may not use this file except in compliance
1485  * with the License.
1486  *
1487  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1488  * or http://www.opensolaris.org/os/licensing.
1489  * See the License for the specific language governing permissions
1490  * and limitations under the License.
1491  *
1492  * When distributing Covered Code, include this CDDL HEADER in each
1493  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1494  * If applicable, add the following below this CDDL HEADER, with the
1495  * fields enclosed by brackets "[]" replaced with your own identifying
1496  * information: Portions Copyright [yyyy] [name of copyright owner]
1497  *
1498  * CDDL HEADER END
1499  */
1500 /*
1501  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1502  * Copyright 2014 PALO, Richard.
1503  *
1504  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
1505  * Use is subject to license terms.
1506  */
1507 
1508 /*	Copyright (c) 1988 AT&T	*/
1509 /*	  All Rights Reserved  	*/
1510 
1511 
1512 /*
1513  * An application should not include this header directly.  Instead it
1514  * should be included only through the inclusion of other Sun headers.
1515  *
1516  * The contents of this header is limited to identifiers specified in the
1517  * C Standard.  Any new identifiers specified in future amendments to the
1518  * C Standard must be placed in this header.  If these new identifiers
1519  * are required to also be in the C++ Standard "std" namespace, then for
1520  * anything other than macro definitions, corresponding "using" directives
1521  * must also be added to <locale.h>.
1522  */
1523 
1524 
1525 
1526 
1527 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1528 /*
1529  * CDDL HEADER START
1530  *
1531  * The contents of this file are subject to the terms of the
1532  * Common Development and Distribution License (the "License").
1533  * You may not use this file except in compliance with the License.
1534  *
1535  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1536  * or http://www.opensolaris.org/os/licensing.
1537  * See the License for the specific language governing permissions
1538  * and limitations under the License.
1539  *
1540  * When distributing Covered Code, include this CDDL HEADER in each
1541  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1542  * If applicable, add the following below this CDDL HEADER, with the
1543  * fields enclosed by brackets "[]" replaced with your own identifying
1544  * information: Portions Copyright [yyyy] [name of copyright owner]
1545  *
1546  * CDDL HEADER END
1547  */
1548 
1549 /*
1550  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1551  * Copyright 2016 Joyent, Inc.
1552  *
1553  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1554  * Use is subject to license terms.
1555  */
1556 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
1557 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
1558 /*
1559  * This file and its contents are supplied under the terms of the
1560  * Common Development and Distribution License ("CDDL"), version 1.0.
1561  * You may only use this file in accordance with the terms of version
1562  * 1.0 of the CDDL.
1563  *
1564  * A full copy of the text of the CDDL should have accompanied this
1565  * source.  A copy of the CDDL is also available via the Internet at
1566  * http://www.illumos.org/license/CDDL.
1567  */
1568 
1569 /*
1570  * Copyright 2014-2016 PALO, Richard.
1571  */
1572 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
1573 
1574 
1575 
1576 
1577 
1578 unsigned char __mb_cur_max(void);
1579 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
1580 typedef struct {
1581  int quot;
1582  int rem;
1583 } div_t;
1584 
1585 typedef struct {
1586  long quot;
1587  long rem;
1588 } ldiv_t;
1589 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
1590 /*
1591  * wchar_t is a built-in type in standard C++ and as such is not
1592  * defined here when using standard C++. However, the GNU compiler
1593  * fixincludes utility nonetheless creates its own version of this
1594  * header for use by gcc and g++. In that version it adds a redundant
1595  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
1596  * header we need to include the following magic comment:
1597  *
1598  * we must use the C++ compiler's type
1599  *
1600  * The above comment should not be removed or changed until GNU
1601  * gcc/fixinc/inclhack.def is updated to bypass this header.
1602  */
1603 
1604 
1605 
1606 
1607 typedef int wchar_t;
1608 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
1609 extern void abort(void) __attribute__((__noreturn__));
1610 extern int abs(int);
1611 extern int atexit(void (*)(void));
1612 extern double atof(const char *);
1613 extern int atoi(const char *);
1614 extern long int atol(const char *);
1615 extern void *bsearch(const void *, const void *, size_t, size_t,
1616  int (*)(const void *, const void *));
1617 
1618 
1619 
1620 
1621 
1622 
1623 extern void *calloc(size_t, size_t);
1624 extern div_t div(int, int);
1625 extern void exit(int)
1626  __attribute__((__noreturn__));
1627 extern void free(void *);
1628 extern char *getenv(const char *);
1629 extern long int labs(long);
1630 extern ldiv_t ldiv(long, long);
1631 extern void *malloc(size_t);
1632 extern int mblen(const char *, size_t);
1633 extern size_t mbstowcs(wchar_t *, const char *,
1634  size_t);
1635 extern int mbtowc(wchar_t *, const char *, size_t);
1636 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
1637 
1638 
1639 
1640 
1641 
1642 extern int rand(void);
1643 extern void *realloc(void *, size_t);
1644 extern void srand(unsigned int);
1645 extern double strtod(const char *, char **);
1646 extern long int strtol(const char *, char **, int);
1647 extern unsigned long int strtoul(const char *,
1648  char **, int);
1649 extern int system(const char *);
1650 extern int wctomb(char *, wchar_t);
1651 extern size_t wcstombs(char *, const wchar_t *,
1652  size_t);
1653 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
1654 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1
1655 /*
1656  * CDDL HEADER START
1657  *
1658  * The contents of this file are subject to the terms of the
1659  * Common Development and Distribution License, Version 1.0 only
1660  * (the "License").  You may not use this file except in compliance
1661  * with the License.
1662  *
1663  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1664  * or http://www.opensolaris.org/os/licensing.
1665  * See the License for the specific language governing permissions
1666  * and limitations under the License.
1667  *
1668  * When distributing Covered Code, include this CDDL HEADER in each
1669  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1670  * If applicable, add the following below this CDDL HEADER, with the
1671  * fields enclosed by brackets "[]" replaced with your own identifying
1672  * information: Portions Copyright [yyyy] [name of copyright owner]
1673  *
1674  * CDDL HEADER END
1675  */
1676 /*
1677  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1678  *
1679  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1680  * Use is subject to license terms.
1681  */
1682 
1683 /*
1684  * An application should not include this header directly.  Instead it
1685  * should be included only through the inclusion of other Sun headers.
1686  *
1687  * The contents of this header is limited to identifiers specified in
1688  * the C99 standard and in conflict with the C++ implementation of the
1689  * standard header.  The C++ standard may adopt the C99 standard at
1690  * which point it is expected that the symbols included here will
1691  * become part of the C++ std namespace.
1692  */
1693 
1694 
1695 
1696 
1697 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1698 /*
1699  * CDDL HEADER START
1700  *
1701  * The contents of this file are subject to the terms of the
1702  * Common Development and Distribution License (the "License").
1703  * You may not use this file except in compliance with the License.
1704  *
1705  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1706  * or http://www.opensolaris.org/os/licensing.
1707  * See the License for the specific language governing permissions
1708  * and limitations under the License.
1709  *
1710  * When distributing Covered Code, include this CDDL HEADER in each
1711  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1712  * If applicable, add the following below this CDDL HEADER, with the
1713  * fields enclosed by brackets "[]" replaced with your own identifying
1714  * information: Portions Copyright [yyyy] [name of copyright owner]
1715  *
1716  * CDDL HEADER END
1717  */
1718 
1719 /*
1720  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1721  * Copyright 2016 Joyent, Inc.
1722  *
1723  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1724  * Use is subject to license terms.
1725  */
1726 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2
1727 
1728 
1729 
1730 
1731 
1732 /*
1733  * The following have been added as a result of the ISO/IEC 9899:1999
1734  * standard. For a strictly conforming C application, visibility is
1735  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1736  * For non-strictly conforming C applications, there are no restrictions
1737  * on the C namespace.
1738  */
1739 
1740 
1741 typedef struct {
1742  long long quot;
1743  long long rem;
1744 } lldiv_t;
1745 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h"
1746 extern void _Exit(int);
1747 extern float strtof(const char *, char **);
1748 extern long double strtold(const char *, char **);
1749 
1750 
1751 extern long long atoll(const char *);
1752 extern long long llabs(long long);
1753 extern lldiv_t lldiv(long long, long long);
1754 extern long long strtoll(const char *, char **,
1755  int);
1756 extern unsigned long long strtoull(const char *,
1757  char **, int);
1758 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
1759 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1
1760 /*
1761  * This file and its contents are supplied under the terms of the
1762  * Common Development and Distribution License ("CDDL"), version 1.0.
1763  * You may only use this file in accordance with the terms of version
1764  * 1.0 of the CDDL.
1765  *
1766  * A full copy of the text of the CDDL should have accompanied this
1767  * source.  A copy of the CDDL is also available via the Internet at
1768  * http://www.illumos.org/license/CDDL.
1769  */
1770 
1771 /*
1772  * Copyright 2016 Joyent, Inc.
1773  */
1774 
1775 /*
1776  * An application should not include this header directly.  Instead it
1777  * should be included only through the inclusion of other illumos headers.
1778  *
1779  * The contents of this header is limited to identifiers specified in
1780  * the C11 standard and in conflict with the C++ implementation of the
1781  * standard header.  The C++ standard may adopt the C11 standard at
1782  * which point it is expected that the symbols included here will
1783  * become part of the C++ std namespace.
1784  */
1785 
1786 
1787 
1788 
1789 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1790 /*
1791  * CDDL HEADER START
1792  *
1793  * The contents of this file are subject to the terms of the
1794  * Common Development and Distribution License (the "License").
1795  * You may not use this file except in compliance with the License.
1796  *
1797  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1798  * or http://www.opensolaris.org/os/licensing.
1799  * See the License for the specific language governing permissions
1800  * and limitations under the License.
1801  *
1802  * When distributing Covered Code, include this CDDL HEADER in each
1803  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1804  * If applicable, add the following below this CDDL HEADER, with the
1805  * fields enclosed by brackets "[]" replaced with your own identifying
1806  * information: Portions Copyright [yyyy] [name of copyright owner]
1807  *
1808  * CDDL HEADER END
1809  */
1810 
1811 /*
1812  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1813  * Copyright 2016 Joyent, Inc.
1814  *
1815  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1816  * Use is subject to license terms.
1817  */
1818 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2
1819 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
1820 /*
1821  * The following have been added as a result of the ISO/IEC 9899:2011
1822  * standard. For a strictly conforming C application, visibility is
1823  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1824  * For non-strictly conforming C applications, there are no restrictions
1825  * on the C namespace.
1826  */
1827 
1828 /*
1829  * Work around fix-includes and other bad actors with using multiple headers.
1830  */
1831 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
1832 extern void *aligned_alloc(size_t, size_t);
1833 extern int at_quick_exit(void (*)(void));
1834 extern void quick_exit(int);
1835 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
1836 
1837 
1838 
1839 
1840 
1841 /*
1842  * Allow global visibility for symbols defined in
1843  * C++ "std" namespace in <iso/stdlib_iso.h>.
1844  */
1845 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1846 /*
1847  * Allow global visibility for symbols defined in
1848  * C++ "std" namespace in <iso/stdlib_c11.h>.
1849  */
1850 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1851 typedef unsigned int uid_t; /* UID type		*/
1852 
1853 
1854 /* large file compilation environment setup */
1855 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1856 /* In the LP64 compilation environment, all APIs are already large file */
1857 
1858 
1859 
1860 
1861 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1862 #pragma redefine_extname mkstemp64 mkstemp
1863 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1864 
1865 
1866 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1867 #pragma redefine_extname mkstemps64 mkstemps
1868 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1869 
1870 
1871 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1872 #pragma redefine_extname mkostemp64 mkostemp
1873 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1874 
1875 
1876 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1877 #pragma redefine_extname mkostemps64 mkostemps
1878 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1879 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1880 extern int rand_r(unsigned int *);
1881 
1882 
1883 extern void _exithandle(void);
1884 
1885 
1886 
1887 
1888 extern double drand48(void);
1889 extern double erand48(unsigned short *);
1890 extern long jrand48(unsigned short *);
1891 extern void lcong48(unsigned short *);
1892 extern long lrand48(void);
1893 extern long mrand48(void);
1894 extern long nrand48(unsigned short *);
1895 extern unsigned short *seed48(unsigned short *);
1896 extern void srand48(long);
1897 extern int putenv(char *);
1898 extern void setkey(const char *);
1899 
1900 
1901 /*
1902  * swab() has historically been in <stdlib.h> as delivered from AT&T
1903  * and continues to be visible in the default compilation environment.
1904  * As of Issue 4 of the X/Open Portability Guides, swab() was declared
1905  * in <unistd.h>. As a result, with respect to X/Open namespace the
1906  * swab() declaration in this header is only visible for the XPG3
1907  * environment.
1908  */
1909 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1910 extern void swab(const char *, char *, ssize_t);
1911 
1912 
1913 
1914 
1915 
1916 extern int mkstemp(char *);
1917 
1918 extern int mkstemps(char *, int);
1919 
1920 
1921 
1922 
1923 
1924 extern int mkstemp64(char *);
1925 
1926 extern int mkstemps64(char *, int);
1927 
1928 
1929 
1930 
1931 extern char *mkdtemp(char *);
1932 
1933 
1934 
1935 extern int mkostemp(char *, int);
1936 extern int mkostemps(char *, int, int);
1937 
1938 
1939 extern int mkostemp64(char *, int);
1940 extern int mkostemps64(char *, int, int);
1941 
1942 
1943 
1944 
1945 
1946 
1947 extern long a64l(const char *);
1948 extern char *ecvt(double, int, int *, int *);
1949 extern char *fcvt(double, int, int *, int *);
1950 extern char *gcvt(double, int, char *);
1951 extern int getsubopt(char **, char *const *, char **);
1952 extern int grantpt(int);
1953 extern char *initstate(unsigned, char *, size_t);
1954 extern char *l64a(long);
1955 extern char *mktemp(char *);
1956 extern char *ptsname(int);
1957 extern long random(void);
1958 extern char *realpath(const char *, char *);
1959 extern char *setstate(const char *);
1960 extern void srandom(unsigned);
1961 extern int unlockpt(int);
1962 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1963 
1964 extern int ttyslot(void);
1965 extern void *valloc(size_t);
1966 
1967 
1968 
1969 
1970 
1971 
1972 extern int posix_memalign(void **, size_t, size_t);
1973 extern int posix_openpt(int);
1974 extern int setenv(const char *, const char *, int);
1975 extern int unsetenv(const char *);
1976 
1977 
1978 
1979 
1980 extern char *canonicalize_file_name(const char *);
1981 extern int clearenv(void);
1982 extern void closefrom(int);
1983 extern int daemon(int, int);
1984 extern int dup2(int, int);
1985 extern int dup3(int, int, int);
1986 extern int fdwalk(int (*)(void *, int), void *);
1987 extern char *qecvt(long double, int, int *, int *);
1988 extern char *qfcvt(long double, int, int *, int *);
1989 extern char *qgcvt(long double, int, char *);
1990 extern char *getcwd(char *, size_t);
1991 extern const char *getexecname(void);
1992 
1993 
1994 
1995 
1996 
1997 
1998 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1999 #pragma redefine_extname getlogin getloginx
2000 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2001 
2002 
2003 
2004 
2005 
2006 
2007 extern char *getlogin(void);
2008 
2009 
2010 extern int getopt(int, char *const *, const char *);
2011 extern char *optarg;
2012 extern int optind, opterr, optopt;
2013 extern char *getpass(const char *);
2014 extern char *getpassphrase(const char *);
2015 extern int getpw(uid_t, char *);
2016 extern int isatty(int);
2017 extern void *memalign(size_t, size_t);
2018 extern char *ttyname(int);
2019 extern char *mkdtemp(char *);
2020 extern const char *getprogname(void);
2021 extern void setprogname(const char *);
2022 
2023 
2024 extern char *lltostr(long long, char *);
2025 extern char *ulltostr(unsigned long long, char *);
2026 
2027 
2028 
2029 
2030 /* OpenBSD compatibility functions */
2031 
2032 
2033 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
2034 /*
2035  * CDDL HEADER START
2036  *
2037  * The contents of this file are subject to the terms of the
2038  * Common Development and Distribution License, Version 1.0 only
2039  * (the "License").  You may not use this file except in compliance
2040  * with the License.
2041  *
2042  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2043  * or http://www.opensolaris.org/os/licensing.
2044  * See the License for the specific language governing permissions
2045  * and limitations under the License.
2046  *
2047  * When distributing Covered Code, include this CDDL HEADER in each
2048  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2049  * If applicable, add the following below this CDDL HEADER, with the
2050  * fields enclosed by brackets "[]" replaced with your own identifying
2051  * information: Portions Copyright [yyyy] [name of copyright owner]
2052  *
2053  * CDDL HEADER END
2054  */
2055 /*
2056  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2057  *
2058  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
2059  * Use is subject to license terms.
2060  */
2061 
2062 
2063 
2064 
2065 /*
2066  * This file, <inttypes.h>, is specified by the ISO C standard,
2067  * standard, ISO/IEC 9899:1999 Programming language - C and is
2068  * also defined by SUSv3.
2069  *
2070  * ISO	  International Organization for Standardization.
2071  * SUSv3  Single Unix Specification, Version 3
2072  */
2073 
2074 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2075 /*
2076  * CDDL HEADER START
2077  *
2078  * The contents of this file are subject to the terms of the
2079  * Common Development and Distribution License (the "License").
2080  * You may not use this file except in compliance with the License.
2081  *
2082  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2083  * or http://www.opensolaris.org/os/licensing.
2084  * See the License for the specific language governing permissions
2085  * and limitations under the License.
2086  *
2087  * When distributing Covered Code, include this CDDL HEADER in each
2088  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2089  * If applicable, add the following below this CDDL HEADER, with the
2090  * fields enclosed by brackets "[]" replaced with your own identifying
2091  * information: Portions Copyright [yyyy] [name of copyright owner]
2092  *
2093  * CDDL HEADER END
2094  */
2095 
2096 /*
2097  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2098  * Copyright 2016 Joyent, Inc.
2099  *
2100  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2101  * Use is subject to license terms.
2102  */
2103 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2104 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1
2105 /*
2106  * CDDL HEADER START
2107  *
2108  * The contents of this file are subject to the terms of the
2109  * Common Development and Distribution License, Version 1.0 only
2110  * (the "License").  You may not use this file except in compliance
2111  * with the License.
2112  *
2113  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2114  * or http://www.opensolaris.org/os/licensing.
2115  * See the License for the specific language governing permissions
2116  * and limitations under the License.
2117  *
2118  * When distributing Covered Code, include this CDDL HEADER in each
2119  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2120  * If applicable, add the following below this CDDL HEADER, with the
2121  * fields enclosed by brackets "[]" replaced with your own identifying
2122  * information: Portions Copyright [yyyy] [name of copyright owner]
2123  *
2124  * CDDL HEADER END
2125  */
2126 /*
2127  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
2128  * Use is subject to license terms.
2129  */
2130 
2131 
2132 
2133 
2134 #pragma ident "%Z%%M%	%I%	%E% SMI"
2135 
2136 /*
2137  * This header, <sys/inttypes.h>, contains (through nested inclusion) the
2138  * vast majority of the facilities specified for <inttypes.h> as defined
2139  * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
2140  *
2141  * Kernel/Driver developers are encouraged to include this file to access
2142  * the fixed size types, limits and utility macros. Application developers
2143  * should use the standard defined header <inttypes.h>.
2144  */
2145 
2146 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2147 /*
2148  * CDDL HEADER START
2149  *
2150  * The contents of this file are subject to the terms of the
2151  * Common Development and Distribution License (the "License").
2152  * You may not use this file except in compliance with the License.
2153  *
2154  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2155  * or http://www.opensolaris.org/os/licensing.
2156  * See the License for the specific language governing permissions
2157  * and limitations under the License.
2158  *
2159  * When distributing Covered Code, include this CDDL HEADER in each
2160  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2161  * If applicable, add the following below this CDDL HEADER, with the
2162  * fields enclosed by brackets "[]" replaced with your own identifying
2163  * information: Portions Copyright [yyyy] [name of copyright owner]
2164  *
2165  * CDDL HEADER END
2166  */
2167 
2168 /*
2169  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2170  * Copyright 2016 Joyent, Inc.
2171  *
2172  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2173  * Use is subject to license terms.
2174  */
2175 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2176 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
2177 /*
2178  * CDDL HEADER START
2179  *
2180  * The contents of this file are subject to the terms of the
2181  * Common Development and Distribution License, Version 1.0 only
2182  * (the "License").  You may not use this file except in compliance
2183  * with the License.
2184  *
2185  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2186  * or http://www.opensolaris.org/os/licensing.
2187  * See the License for the specific language governing permissions
2188  * and limitations under the License.
2189  *
2190  * When distributing Covered Code, include this CDDL HEADER in each
2191  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2192  * If applicable, add the following below this CDDL HEADER, with the
2193  * fields enclosed by brackets "[]" replaced with your own identifying
2194  * information: Portions Copyright [yyyy] [name of copyright owner]
2195  *
2196  * CDDL HEADER END
2197  */
2198 /*
2199  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2200  *
2201  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2202  * Use is subject to license terms.
2203  */
2204 
2205 
2206 
2207 
2208 /*
2209  * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation
2210  * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999
2211  * Programming language - C.
2212  *
2213  * Programs/Modules should not directly include this file.  Access to the
2214  * types defined in this file should be through the inclusion of one of the
2215  * following files:
2216  *
2217  *	<sys/types.h>		Provides only the "_t" types defined in this
2218  *				file which is a subset of the contents of
2219  *				<inttypes.h>.  (This can be appropriate for
2220  *				all programs/modules except those claiming
2221  *				ANSI-C conformance.)
2222  *
2223  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2224  *				components of <inttypes.h>.
2225  *
2226  *	<inttypes.h>		For use by applications.
2227  *
2228  * See these files for more details.
2229  */
2230 
2231 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2232 /*
2233  * CDDL HEADER START
2234  *
2235  * The contents of this file are subject to the terms of the
2236  * Common Development and Distribution License (the "License").
2237  * You may not use this file except in compliance with the License.
2238  *
2239  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2240  * or http://www.opensolaris.org/os/licensing.
2241  * See the License for the specific language governing permissions
2242  * and limitations under the License.
2243  *
2244  * When distributing Covered Code, include this CDDL HEADER in each
2245  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2246  * If applicable, add the following below this CDDL HEADER, with the
2247  * fields enclosed by brackets "[]" replaced with your own identifying
2248  * information: Portions Copyright [yyyy] [name of copyright owner]
2249  *
2250  * CDDL HEADER END
2251  */
2252 
2253 /*
2254  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2255  * Copyright 2016 Joyent, Inc.
2256  *
2257  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2258  * Use is subject to license terms.
2259  */
2260 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2
2261 
2262 
2263 
2264 
2265 
2266 /*
2267  * Basic / Extended integer types
2268  *
2269  * The following defines the basic fixed-size integer types.
2270  *
2271  * Implementations are free to typedef them to Standard C integer types or
2272  * extensions that they support. If an implementation does not support one
2273  * of the particular integer data types below, then it should not define the
2274  * typedefs and macros corresponding to that data type.  Note that int8_t
2275  * is not defined in -Xs mode on ISAs for which the ABI specifies "char"
2276  * as an unsigned entity because there is no way to define an eight bit
2277  * signed integral.
2278  */
2279 
2280 typedef char int8_t;
2281 
2282 
2283 
2284 typedef short int16_t;
2285 typedef int int32_t;
2286 
2287 
2288 typedef long int64_t;
2289 
2290 
2291 
2292 
2293 
2294 
2295 
2296 typedef unsigned char uint8_t;
2297 typedef unsigned short uint16_t;
2298 typedef unsigned int uint32_t;
2299 
2300 typedef unsigned long uint64_t;
2301 
2302 
2303 
2304 
2305 
2306 
2307 /*
2308  * intmax_t and uintmax_t are to be the longest (in number of bits) signed
2309  * and unsigned integer types supported by the implementation.
2310  */
2311 
2312 typedef int64_t intmax_t;
2313 typedef uint64_t uintmax_t;
2314 
2315 
2316 
2317 
2318 
2319 /*
2320  * intptr_t and uintptr_t are signed and unsigned integer types large enough
2321  * to hold any data pointer; that is, data pointers can be assigned into or
2322  * from these integer types without losing precision.
2323  */
2324 
2325 typedef long intptr_t;
2326 typedef unsigned long uintptr_t;
2327 
2328 
2329 
2330 
2331 
2332 /*
2333  * The following define the fastest integer types that can hold the
2334  * specified number of bits.
2335  */
2336 
2337 typedef char int_fast8_t;
2338 
2339 
2340 
2341 typedef int int_fast16_t;
2342 typedef int int_fast32_t;
2343 
2344 typedef long int_fast64_t;
2345 
2346 
2347 
2348 
2349 
2350 
2351 typedef unsigned char uint_fast8_t;
2352 typedef unsigned int uint_fast16_t;
2353 typedef unsigned int uint_fast32_t;
2354 
2355 typedef unsigned long uint_fast64_t;
2356 
2357 
2358 
2359 
2360 
2361 
2362 /*
2363  * The following define the smallest integer types that can hold the
2364  * specified number of bits.
2365  */
2366 
2367 typedef char int_least8_t;
2368 
2369 
2370 
2371 typedef short int_least16_t;
2372 typedef int int_least32_t;
2373 
2374 typedef long int_least64_t;
2375 
2376 
2377 
2378 
2379 
2380 
2381 /*
2382  * If these are changed, please update char16_t and char32_t in head/uchar.h.
2383  */
2384 typedef unsigned char uint_least8_t;
2385 typedef unsigned short uint_least16_t;
2386 typedef unsigned int uint_least32_t;
2387 
2388 typedef unsigned long uint_least64_t;
2389 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2390 
2391 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
2392 /*
2393  * CDDL HEADER START
2394  *
2395  * The contents of this file are subject to the terms of the
2396  * Common Development and Distribution License, Version 1.0 only
2397  * (the "License").  You may not use this file except in compliance
2398  * with the License.
2399  *
2400  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2401  * or http://www.opensolaris.org/os/licensing.
2402  * See the License for the specific language governing permissions
2403  * and limitations under the License.
2404  *
2405  * When distributing Covered Code, include this CDDL HEADER in each
2406  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2407  * If applicable, add the following below this CDDL HEADER, with the
2408  * fields enclosed by brackets "[]" replaced with your own identifying
2409  * information: Portions Copyright [yyyy] [name of copyright owner]
2410  *
2411  * CDDL HEADER END
2412  */
2413 /*
2414  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2415  *
2416  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2417  * Use is subject to license terms.
2418  */
2419 
2420 
2421 
2422 
2423 /*
2424  * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation
2425  * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999
2426  * Programming language - C.
2427  *
2428  * Programs/Modules should not directly include this file.  Access to the
2429  * types defined in this file should be through the inclusion of one of the
2430  * following files:
2431  *
2432  *	<limits.h>		This nested inclusion is disabled for strictly
2433  *				ANSI-C conforming compilations.  The *_MIN
2434  *				definitions are not visible to POSIX or XPG
2435  *				conforming applications (due to what may be
2436  *				a bug in the specification - this is under
2437  *				investigation)
2438  *
2439  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2440  *				components of <inttypes.h>.
2441  *
2442  *	<inttypes.h>		For use by applications.
2443  *
2444  * See these files for more details.
2445  */
2446 
2447 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2448 /*
2449  * CDDL HEADER START
2450  *
2451  * The contents of this file are subject to the terms of the
2452  * Common Development and Distribution License (the "License").
2453  * You may not use this file except in compliance with the License.
2454  *
2455  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2456  * or http://www.opensolaris.org/os/licensing.
2457  * See the License for the specific language governing permissions
2458  * and limitations under the License.
2459  *
2460  * When distributing Covered Code, include this CDDL HEADER in each
2461  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2462  * If applicable, add the following below this CDDL HEADER, with the
2463  * fields enclosed by brackets "[]" replaced with your own identifying
2464  * information: Portions Copyright [yyyy] [name of copyright owner]
2465  *
2466  * CDDL HEADER END
2467  */
2468 
2469 /*
2470  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2471  * Copyright 2016 Joyent, Inc.
2472  *
2473  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2474  * Use is subject to license terms.
2475  */
2476 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2
2477 
2478 
2479 
2480 
2481 
2482 /*
2483  * Limits
2484  *
2485  * The following define the limits for the types defined in <sys/int_types.h>.
2486  *
2487  * INTMAX_MIN (minimum value of the largest supported signed integer type),
2488  * INTMAX_MAX (maximum value of the largest supported signed integer type),
2489  * and UINTMAX_MAX (maximum value of the largest supported unsigned integer
2490  * type) can be set to implementation defined limits.
2491  *
2492  * NOTE : A programmer can test to see whether an implementation supports
2493  * a particular size of integer by testing if the macro that gives the
2494  * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX
2495  * tests false, the implementation does not support unsigned 64 bit integers.
2496  *
2497  * The type of these macros is intentionally unspecified.
2498  *
2499  * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs
2500  * where the ABI specifies "char" as unsigned when the translation mode is
2501  * not ANSI-C.
2502  */
2503 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
2504 /*
2505  * The following 2 macros are provided for testing whether the types
2506  * intptr_t and uintptr_t (integers large enough to hold a void *) are
2507  * defined in this header. They are needed in case the architecture can't
2508  * represent a pointer in any standard integral type.
2509  */
2510 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
2511 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */
2512 
2513 
2514 
2515 
2516 
2517 
2518 /*
2519  * Maximum value of a "size_t".  SIZE_MAX was previously defined
2520  * in <limits.h>, however, the standards specify it be defined
2521  * in <stdint.h>. The <stdint.h> headers includes this header as
2522  * does <limits.h>. The value of SIZE_MAX should not deviate
2523  * from the value of ULONG_MAX defined <sys/types.h>.
2524  */
2525 
2526 
2527 
2528 
2529 
2530 
2531 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */
2532 
2533 
2534 
2535 
2536 /*
2537  * Maximum limit of wchar_t. The WCHAR_* macros are also
2538  * defined in <iso/wchar_iso.h>, but inclusion of that header
2539  * will break ISO/IEC C namespace.
2540  */
2541 
2542 
2543 
2544 
2545 /* Maximum limit of wint_t */
2546 
2547 
2548 
2549 
2550 /*
2551  * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that
2552  * when including <limits.h> that the suffix _MAX is reserved but not the
2553  * suffix _MIN.  However, until that issue is resolved....
2554  */
2555 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
2556 /* Minimum value of a pointer-holding signed integer type */
2557 
2558 
2559 
2560 
2561 
2562 
2563 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */
2564 
2565 
2566 
2567 
2568 
2569 
2570 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */
2571 
2572 
2573 
2574 
2575 /*
2576  * Minimum limit of wchar_t. The WCHAR_* macros are also
2577  * defined in <iso/wchar_iso.h>, but inclusion of that header
2578  * will break ISO/IEC C namespace.
2579  */
2580 
2581 
2582 
2583 
2584 /* Minimum limit of wint_t */
2585 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2586 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
2587 /*
2588  * CDDL HEADER START
2589  *
2590  * The contents of this file are subject to the terms of the
2591  * Common Development and Distribution License, Version 1.0 only
2592  * (the "License").  You may not use this file except in compliance
2593  * with the License.
2594  *
2595  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2596  * or http://www.opensolaris.org/os/licensing.
2597  * See the License for the specific language governing permissions
2598  * and limitations under the License.
2599  *
2600  * When distributing Covered Code, include this CDDL HEADER in each
2601  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2602  * If applicable, add the following below this CDDL HEADER, with the
2603  * fields enclosed by brackets "[]" replaced with your own identifying
2604  * information: Portions Copyright [yyyy] [name of copyright owner]
2605  *
2606  * CDDL HEADER END
2607  */
2608 /*
2609  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2610  *
2611  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2612  * Use is subject to license terms.
2613  */
2614 
2615 
2616 
2617 
2618 /*
2619  * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation
2620  * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working
2621  * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990
2622  * Programming language - C.
2623  *
2624  * Programs/Modules should not directly include this file.  Access to the
2625  * types defined in this file should be through the inclusion of one of the
2626  * following files:
2627  *
2628  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2629  *				components of <inttypes.h>.
2630  *
2631  *	<inttypes.h>		For use by applications.
2632  *
2633  * See these files for more details.
2634  *
2635  * Use at your own risk.  This file will track the evolution of the revision
2636  * of the current ISO C standard.  As of February 1996, the committee is
2637  * squarely behind the fixed sized types.
2638  */
2639 
2640 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2641 /*
2642  * CDDL HEADER START
2643  *
2644  * The contents of this file are subject to the terms of the
2645  * Common Development and Distribution License (the "License").
2646  * You may not use this file except in compliance with the License.
2647  *
2648  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2649  * or http://www.opensolaris.org/os/licensing.
2650  * See the License for the specific language governing permissions
2651  * and limitations under the License.
2652  *
2653  * When distributing Covered Code, include this CDDL HEADER in each
2654  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2655  * If applicable, add the following below this CDDL HEADER, with the
2656  * fields enclosed by brackets "[]" replaced with your own identifying
2657  * information: Portions Copyright [yyyy] [name of copyright owner]
2658  *
2659  * CDDL HEADER END
2660  */
2661 
2662 /*
2663  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2664  * Copyright 2016 Joyent, Inc.
2665  *
2666  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2667  * Use is subject to license terms.
2668  */
2669 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2
2670 
2671 
2672 
2673 
2674 
2675 /*
2676  * Constants
2677  *
2678  * The following macros create constants of the types defined in
2679  * <sys/int_types.h>. The intent is that:
2680  *	Constants defined using these macros have a specific size and
2681  *	signedness. The suffix used for int64_t and uint64_t (ll and ull)
2682  *	are for examples only. Implementations are permitted to use other
2683  *	suffixes.
2684  *
2685  * The "CSTYLED" comments are flags to an internal code style analysis tool
2686  * telling it to silently accept the line which follows.  This internal
2687  * standard requires a space between arguments, but the historical,
2688  * non-ANSI-C ``method'' of concatenation can't tolerate those spaces.
2689  */
2690 /* CSTYLED */
2691 
2692 
2693 
2694 
2695 
2696 
2697 /* CSTYLED */
2698 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
2699 /* CSTYLED */
2700 
2701 /* CSTYLED */
2702 
2703 /* CSTYLED */
2704 
2705 
2706 /* CSTYLED */
2707 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
2708 /* CSTYLED */
2709 
2710 /* CSTYLED */
2711 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2712 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1
2713 /*
2714  * CDDL HEADER START
2715  *
2716  * The contents of this file are subject to the terms of the
2717  * Common Development and Distribution License, Version 1.0 only
2718  * (the "License").  You may not use this file except in compliance
2719  * with the License.
2720  *
2721  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2722  * or http://www.opensolaris.org/os/licensing.
2723  * See the License for the specific language governing permissions
2724  * and limitations under the License.
2725  *
2726  * When distributing Covered Code, include this CDDL HEADER in each
2727  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2728  * If applicable, add the following below this CDDL HEADER, with the
2729  * fields enclosed by brackets "[]" replaced with your own identifying
2730  * information: Portions Copyright [yyyy] [name of copyright owner]
2731  *
2732  * CDDL HEADER END
2733  */
2734 /*
2735  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2736  *
2737  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2738  * Use is subject to license terms.
2739  */
2740 
2741 
2742 
2743 
2744 /*
2745  * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation
2746  * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999
2747  * Programming language - C.
2748  *
2749  * ISO  International Organization for Standardization.
2750  *
2751  * Programs/Modules should not directly include this file.  Access to the
2752  * types defined in this file should be through the inclusion of one of the
2753  * following files:
2754  *
2755  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2756  *				components of <inttypes.h>.
2757  *
2758  *	<inttypes.h>		For use by applications.
2759  *
2760  * See these files for more details.
2761  */
2762 
2763 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2764 /*
2765  * CDDL HEADER START
2766  *
2767  * The contents of this file are subject to the terms of the
2768  * Common Development and Distribution License (the "License").
2769  * You may not use this file except in compliance with the License.
2770  *
2771  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2772  * or http://www.opensolaris.org/os/licensing.
2773  * See the License for the specific language governing permissions
2774  * and limitations under the License.
2775  *
2776  * When distributing Covered Code, include this CDDL HEADER in each
2777  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2778  * If applicable, add the following below this CDDL HEADER, with the
2779  * fields enclosed by brackets "[]" replaced with your own identifying
2780  * information: Portions Copyright [yyyy] [name of copyright owner]
2781  *
2782  * CDDL HEADER END
2783  */
2784 
2785 /*
2786  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2787  * Copyright 2016 Joyent, Inc.
2788  *
2789  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2790  * Use is subject to license terms.
2791  */
2792 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2
2793 
2794 
2795 
2796 
2797 
2798 /*
2799  * Formatted I/O
2800  *
2801  * The following macros can be used even when an implementation has not
2802  * extended the printf/scanf family of functions.
2803  *
2804  * The form of the names of the macros is either "PRI" for printf specifiers
2805  * or "SCN" for scanf specifiers, followed by the conversion specifier letter
2806  * followed by the datatype size. For example, PRId32 is the macro for
2807  * the printf d conversion specifier with the flags for 32 bit datatype.
2808  *
2809  * An example using one of these macros:
2810  *
2811  *	uint64_t u;
2812  *	printf("u = %016" PRIx64 "\n", u);
2813  *
2814  * For the purpose of example, the definitions of the printf/scanf macros
2815  * below have the values appropriate for a machine with 8 bit shorts, 16
2816  * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation
2817  * mode, and 64 bit long longs.
2818  */
2819 
2820 /*
2821  * fprintf macros for signed integers
2822  */
2823 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2824 /*
2825  * fprintf macros for unsigned integers
2826  */
2827 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2828 /*
2829  * fprintf macros for pointers
2830  */
2831 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2832 /*
2833  * fscanf macros for signed integers
2834  */
2835 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2836 /*
2837  * fscanf macros for unsigned integers
2838  */
2839 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2840 /*
2841  * The following macros define I/O formats for intmax_t and uintmax_t.
2842  */
2843 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2844 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2845 
2846 
2847 
2848 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1
2849 /*
2850  * CDDL HEADER START
2851  *
2852  * The contents of this file are subject to the terms of the
2853  * Common Development and Distribution License, Version 1.0 only
2854  * (the "License").  You may not use this file except in compliance
2855  * with the License.
2856  *
2857  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2858  * or http://www.opensolaris.org/os/licensing.
2859  * See the License for the specific language governing permissions
2860  * and limitations under the License.
2861  *
2862  * When distributing Covered Code, include this CDDL HEADER in each
2863  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2864  * If applicable, add the following below this CDDL HEADER, with the
2865  * fields enclosed by brackets "[]" replaced with your own identifying
2866  * information: Portions Copyright [yyyy] [name of copyright owner]
2867  *
2868  * CDDL HEADER END
2869  */
2870 /*
2871  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
2872  * Use is subject to license terms.
2873  */
2874 
2875 
2876 
2877 
2878 #pragma ident "%Z%%M%	%I%	%E% SMI"
2879 
2880 /*
2881  * This header is included by <stdint.h> which was introduced by
2882  * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
2883  * The header is a subset of the <inttypes.h> header.
2884  */
2885 
2886 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
2887 /*
2888  * CDDL HEADER START
2889  *
2890  * The contents of this file are subject to the terms of the
2891  * Common Development and Distribution License, Version 1.0 only
2892  * (the "License").  You may not use this file except in compliance
2893  * with the License.
2894  *
2895  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2896  * or http://www.opensolaris.org/os/licensing.
2897  * See the License for the specific language governing permissions
2898  * and limitations under the License.
2899  *
2900  * When distributing Covered Code, include this CDDL HEADER in each
2901  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2902  * If applicable, add the following below this CDDL HEADER, with the
2903  * fields enclosed by brackets "[]" replaced with your own identifying
2904  * information: Portions Copyright [yyyy] [name of copyright owner]
2905  *
2906  * CDDL HEADER END
2907  */
2908 /*
2909  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2910  *
2911  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2912  * Use is subject to license terms.
2913  */
2914 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2915 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
2916 /*
2917  * CDDL HEADER START
2918  *
2919  * The contents of this file are subject to the terms of the
2920  * Common Development and Distribution License, Version 1.0 only
2921  * (the "License").  You may not use this file except in compliance
2922  * with the License.
2923  *
2924  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2925  * or http://www.opensolaris.org/os/licensing.
2926  * See the License for the specific language governing permissions
2927  * and limitations under the License.
2928  *
2929  * When distributing Covered Code, include this CDDL HEADER in each
2930  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2931  * If applicable, add the following below this CDDL HEADER, with the
2932  * fields enclosed by brackets "[]" replaced with your own identifying
2933  * information: Portions Copyright [yyyy] [name of copyright owner]
2934  *
2935  * CDDL HEADER END
2936  */
2937 /*
2938  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2939  *
2940  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2941  * Use is subject to license terms.
2942  */
2943 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2944 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
2945 /*
2946  * CDDL HEADER START
2947  *
2948  * The contents of this file are subject to the terms of the
2949  * Common Development and Distribution License, Version 1.0 only
2950  * (the "License").  You may not use this file except in compliance
2951  * with the License.
2952  *
2953  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2954  * or http://www.opensolaris.org/os/licensing.
2955  * See the License for the specific language governing permissions
2956  * and limitations under the License.
2957  *
2958  * When distributing Covered Code, include this CDDL HEADER in each
2959  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2960  * If applicable, add the following below this CDDL HEADER, with the
2961  * fields enclosed by brackets "[]" replaced with your own identifying
2962  * information: Portions Copyright [yyyy] [name of copyright owner]
2963  *
2964  * CDDL HEADER END
2965  */
2966 /*
2967  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2968  *
2969  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2970  * Use is subject to license terms.
2971  */
2972 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2973 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2974 
2975 
2976 
2977 
2978 
2979 
2980 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */
2981 
2982 /*
2983  * wchar_t is a built-in type in standard C++ and as such is not
2984  * defined here when using standard C++. However, the GNU compiler
2985  * fixincludes utility nonetheless creates its own version of this
2986  * header for use by gcc and g++. In that version it adds a redundant
2987  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
2988  * header we need to include the following magic comment:
2989  *
2990  * we must use the C++ compiler's type
2991  *
2992  * The above comment should not be removed or changed until GNU
2993  * gcc/fixinc/inclhack.def is updated to bypass this header.
2994  */
2995 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
2996 typedef struct {
2997  intmax_t quot;
2998  intmax_t rem;
2999 } imaxdiv_t;
3000 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
3001 extern intmax_t imaxabs(intmax_t);
3002 extern imaxdiv_t imaxdiv(intmax_t, intmax_t);
3003 extern intmax_t strtoimax(const char *, char **,
3004  int);
3005 extern uintmax_t strtoumax(const char *, char **,
3006  int);
3007 extern intmax_t wcstoimax(const wchar_t *,
3008  wchar_t **, int);
3009 extern uintmax_t wcstoumax(const wchar_t *,
3010  wchar_t **, int);
3011 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
3012 extern uint32_t arc4random(void);
3013 extern void arc4random_buf(void *, size_t);
3014 extern uint32_t arc4random_uniform(uint32_t);
3015 extern void freezero(void *, size_t);
3016 extern void *recallocarray(void *, size_t, size_t, size_t);
3017 # 55 "../common/zones_utils.c" 2
3018 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1
3019 /*
3020  * CDDL HEADER START
3021  *
3022  * The contents of this file are subject to the terms of the
3023  * Common Development and Distribution License (the "License").
3024  * You may not use this file except in compliance with the License.
3025  *
3026  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3027  * or http://www.opensolaris.org/os/licensing.
3028  * See the License for the specific language governing permissions
3029  * and limitations under the License.
3030  *
3031  * When distributing Covered Code, include this CDDL HEADER in each
3032  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3033  * If applicable, add the following below this CDDL HEADER, with the
3034  * fields enclosed by brackets "[]" replaced with your own identifying
3035  * information: Portions Copyright [yyyy] [name of copyright owner]
3036  *
3037  * CDDL HEADER END
3038  */
3039 
3040 /*
3041  * Copyright 2014 PALO, Richard.
3042  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3043  * Copyright (c) 2013 Gary Mills
3044  *
3045  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
3046  */
3047 
3048 /*	Copyright (c) 1988 AT&T	*/
3049 /*	  All Rights Reserved  	*/
3050 
3051 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
3052 
3053 
3054 
3055 
3056 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3057 /*
3058  * CDDL HEADER START
3059  *
3060  * The contents of this file are subject to the terms of the
3061  * Common Development and Distribution License (the "License").
3062  * You may not use this file except in compliance with the License.
3063  *
3064  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3065  * or http://www.opensolaris.org/os/licensing.
3066  * See the License for the specific language governing permissions
3067  * and limitations under the License.
3068  *
3069  * When distributing Covered Code, include this CDDL HEADER in each
3070  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3071  * If applicable, add the following below this CDDL HEADER, with the
3072  * fields enclosed by brackets "[]" replaced with your own identifying
3073  * information: Portions Copyright [yyyy] [name of copyright owner]
3074  *
3075  * CDDL HEADER END
3076  */
3077 
3078 /*
3079  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3080  * Copyright 2016 Joyent, Inc.
3081  *
3082  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3083  * Use is subject to license terms.
3084  */
3085 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
3086 
3087 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
3088 /*
3089  * This file and its contents are supplied under the terms of the
3090  * Common Development and Distribution License ("CDDL"), version 1.0.
3091  * You may only use this file in accordance with the terms of version
3092  * 1.0 of the CDDL.
3093  *
3094  * A full copy of the text of the CDDL should have accompanied this
3095  * source.  A copy of the CDDL is also available via the Internet at
3096  * http://www.illumos.org/license/CDDL.
3097  */
3098 
3099 /*
3100  * Copyright 2014-2016 PALO, Richard.
3101  */
3102 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
3103 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
3104 /*
3105  * CDDL HEADER START
3106  *
3107  * The contents of this file are subject to the terms of the
3108  * Common Development and Distribution License (the "License").
3109  * You may not use this file except in compliance with the License.
3110  *
3111  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3112  * or http://www.opensolaris.org/os/licensing.
3113  * See the License for the specific language governing permissions
3114  * and limitations under the License.
3115  *
3116  * When distributing Covered Code, include this CDDL HEADER in each
3117  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3118  * If applicable, add the following below this CDDL HEADER, with the
3119  * fields enclosed by brackets "[]" replaced with your own identifying
3120  * information: Portions Copyright [yyyy] [name of copyright owner]
3121  *
3122  * CDDL HEADER END
3123  */
3124 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3125 /*	  All Rights Reserved  	*/
3126 
3127 
3128 /*
3129  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3130  * Use is subject to license terms.
3131  *
3132  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3133  * Copyright 2016 Joyent, Inc.
3134  */
3135 
3136 
3137 
3138 
3139 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3140 /*
3141  * CDDL HEADER START
3142  *
3143  * The contents of this file are subject to the terms of the
3144  * Common Development and Distribution License (the "License").
3145  * You may not use this file except in compliance with the License.
3146  *
3147  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3148  * or http://www.opensolaris.org/os/licensing.
3149  * See the License for the specific language governing permissions
3150  * and limitations under the License.
3151  *
3152  * When distributing Covered Code, include this CDDL HEADER in each
3153  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3154  * If applicable, add the following below this CDDL HEADER, with the
3155  * fields enclosed by brackets "[]" replaced with your own identifying
3156  * information: Portions Copyright [yyyy] [name of copyright owner]
3157  *
3158  * CDDL HEADER END
3159  */
3160 
3161 /*
3162  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3163  * Copyright 2016 Joyent, Inc.
3164  *
3165  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3166  * Use is subject to license terms.
3167  */
3168 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3169 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
3170 /*
3171  * CDDL HEADER START
3172  *
3173  * The contents of this file are subject to the terms of the
3174  * Common Development and Distribution License (the "License").
3175  * You may not use this file except in compliance with the License.
3176  *
3177  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3178  * or http://www.opensolaris.org/os/licensing.
3179  * See the License for the specific language governing permissions
3180  * and limitations under the License.
3181  *
3182  *
3183  * When distributing Covered Code, include this CDDL HEADER in each
3184  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3185  * If applicable, add the following below this CDDL HEADER, with the
3186  * fields enclosed by brackets "[]" replaced with your own identifying
3187  * information: Portions Copyright [yyyy] [name of copyright owner]
3188  *
3189  * CDDL HEADER END
3190  */
3191 
3192 /*
3193  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
3194  * Use is subject to license terms.
3195  * Copyright 2016 Joyent, Inc.
3196  */
3197 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3198 
3199 /*
3200  * Machine dependent definitions moved to <sys/machtypes.h>.
3201  */
3202 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1
3203 /*
3204  * CDDL HEADER START
3205  *
3206  * The contents of this file are subject to the terms of the
3207  * Common Development and Distribution License, Version 1.0 only
3208  * (the "License").  You may not use this file except in compliance
3209  * with the License.
3210  *
3211  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3212  * or http://www.opensolaris.org/os/licensing.
3213  * See the License for the specific language governing permissions
3214  * and limitations under the License.
3215  *
3216  * When distributing Covered Code, include this CDDL HEADER in each
3217  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3218  * If applicable, add the following below this CDDL HEADER, with the
3219  * fields enclosed by brackets "[]" replaced with your own identifying
3220  * information: Portions Copyright [yyyy] [name of copyright owner]
3221  *
3222  * CDDL HEADER END
3223  */
3224 /*
3225  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3226  * Use is subject to license terms.
3227  */
3228 
3229 
3230 
3231 
3232 #pragma ident "%Z%%M%	%I%	%E% SMI"
3233 
3234 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3235 /*
3236  * CDDL HEADER START
3237  *
3238  * The contents of this file are subject to the terms of the
3239  * Common Development and Distribution License (the "License").
3240  * You may not use this file except in compliance with the License.
3241  *
3242  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3243  * or http://www.opensolaris.org/os/licensing.
3244  * See the License for the specific language governing permissions
3245  * and limitations under the License.
3246  *
3247  * When distributing Covered Code, include this CDDL HEADER in each
3248  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3249  * If applicable, add the following below this CDDL HEADER, with the
3250  * fields enclosed by brackets "[]" replaced with your own identifying
3251  * information: Portions Copyright [yyyy] [name of copyright owner]
3252  *
3253  * CDDL HEADER END
3254  */
3255 
3256 /*
3257  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3258  * Copyright 2016 Joyent, Inc.
3259  *
3260  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3261  * Use is subject to license terms.
3262  */
3263 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
3264 
3265 
3266 
3267 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1
3268 /*
3269  * CDDL HEADER START
3270  *
3271  * The contents of this file are subject to the terms of the
3272  * Common Development and Distribution License (the "License").
3273  * You may not use this file except in compliance with the License.
3274  *
3275  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3276  * or http://www.opensolaris.org/os/licensing.
3277  * See the License for the specific language governing permissions
3278  * and limitations under the License.
3279  *
3280  * When distributing Covered Code, include this CDDL HEADER in each
3281  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3282  * If applicable, add the following below this CDDL HEADER, with the
3283  * fields enclosed by brackets "[]" replaced with your own identifying
3284  * information: Portions Copyright [yyyy] [name of copyright owner]
3285  *
3286  * CDDL HEADER END
3287  */
3288 /*
3289  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3290  * Use is subject to license terms.
3291  */
3292 
3293 
3294 
3295 
3296 #pragma ident "%Z%%M%	%I%	%E% SMI"
3297 
3298 
3299 
3300 
3301 
3302 /*
3303  * Machine dependent types:
3304  *
3305  *	intel ia32 Version
3306  */
3307 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h"
3308 typedef struct _label_t { long val[8]; } label_t;
3309 
3310 
3311 
3312 typedef unsigned char lock_t; /* lock work for busy wait */
3313 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
3314 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3315 
3316 /*
3317  * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C
3318  * committee's working draft for the revision of the current ISO C standard,
3319  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
3320  * required by any standard but constitute a useful, general purpose set
3321  * of type definitions which is namespace clean with respect to all standards.
3322  */
3323 
3324 
3325 
3326 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
3327 /*
3328  * CDDL HEADER START
3329  *
3330  * The contents of this file are subject to the terms of the
3331  * Common Development and Distribution License, Version 1.0 only
3332  * (the "License").  You may not use this file except in compliance
3333  * with the License.
3334  *
3335  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3336  * or http://www.opensolaris.org/os/licensing.
3337  * See the License for the specific language governing permissions
3338  * and limitations under the License.
3339  *
3340  * When distributing Covered Code, include this CDDL HEADER in each
3341  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3342  * If applicable, add the following below this CDDL HEADER, with the
3343  * fields enclosed by brackets "[]" replaced with your own identifying
3344  * information: Portions Copyright [yyyy] [name of copyright owner]
3345  *
3346  * CDDL HEADER END
3347  */
3348 /*
3349  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3350  *
3351  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3352  * Use is subject to license terms.
3353  */
3354 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3355 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3356 /*
3357  * Strictly conforming ANSI C environments prior to the 1999
3358  * revision of the C Standard (ISO/IEC 9899:1999) do not have
3359  * the long long data type.
3360  */
3361 
3362 typedef long long longlong_t;
3363 typedef unsigned long long u_longlong_t;
3364 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3365 /*
3366  * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had
3367  * to use them instead of int32_t and uint32_t because DEC had
3368  * shipped 64-bit wide.
3369  */
3370 
3371 typedef int32_t t_scalar_t;
3372 typedef uint32_t t_uscalar_t;
3373 
3374 
3375 
3376 
3377 
3378 /*
3379  * POSIX Extensions
3380  */
3381 typedef unsigned char uchar_t;
3382 typedef unsigned short ushort_t;
3383 typedef unsigned int uint_t;
3384 typedef unsigned long ulong_t;
3385 
3386 typedef char *caddr_t; /* ?<core address> type */
3387 typedef long daddr_t; /* <disk address> type */
3388 typedef short cnt_t; /* ?<count> type */
3389 
3390 
3391 
3392 
3393 typedef long ptrdiff_t; /* pointer difference */
3394 
3395 
3396 
3397 
3398 
3399 /*
3400  * VM-related types
3401  */
3402 typedef ulong_t pfn_t; /* page frame number */
3403 typedef ulong_t pgcnt_t; /* number of pages */
3404 typedef long spgcnt_t; /* signed number of pages */
3405 
3406 typedef uchar_t use_t; /* use count for swap.  */
3407 typedef short sysid_t;
3408 typedef short index_t;
3409 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */
3410 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */
3411 
3412 /*
3413  * The size of off_t and related types depends on the setting of
3414  * _FILE_OFFSET_BITS.  (Note that other system headers define other types
3415  * related to those defined here.)
3416  *
3417  * If _LARGEFILE64_SOURCE is defined, variants of these types that are
3418  * explicitly 64 bits wide become available.
3419  */
3420 # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3421 typedef ulong_t ino_t; /* expanded inode type	*/
3422 typedef long blkcnt_t; /* count of file blocks */
3423 typedef ulong_t fsblkcnt_t; /* count of file system blocks */
3424 typedef ulong_t fsfilcnt_t; /* count of files */
3425 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3426 typedef ino_t ino64_t; /* expanded inode type */
3427 typedef blkcnt_t blkcnt64_t; /* count of file blocks */
3428 typedef fsblkcnt_t fsblkcnt64_t; /* count of file system blocks */
3429 typedef fsfilcnt_t fsfilcnt64_t; /* count of files */
3430 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3431 typedef int blksize_t; /* used for block sizes */
3432 
3433 
3434 
3435 
3436 
3437 
3438 
3439 typedef enum { B_FALSE, B_TRUE } boolean_t;
3440 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3441 /*
3442  * The {u,}pad64_t types can be used in structures such that those structures
3443  * may be accessed by code produced by compilation environments which don't
3444  * support a 64 bit integral datatype.  The intention is not to allow
3445  * use of these fields in such environments, but to maintain the alignment
3446  * and offsets of the structure.
3447  *
3448  * Similar comments for {u,}pad128_t.
3449  *
3450  * Note that these types do NOT generate any stronger alignment constraints
3451  * than those available in the underlying ABI.  See <sys/isa_defs.h>
3452  */
3453 
3454 typedef int64_t pad64_t;
3455 typedef uint64_t upad64_t;
3456 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3457 typedef union {
3458  long double _q;
3459  int32_t _l[4];
3460 } pad128_t;
3461 
3462 typedef union {
3463  long double _q;
3464  uint32_t _l[4];
3465 } upad128_t;
3466 
3467 typedef longlong_t offset_t;
3468 typedef u_longlong_t u_offset_t;
3469 typedef u_longlong_t len_t;
3470 typedef u_longlong_t diskaddr_t;
3471 
3472 
3473 
3474 
3475 /*
3476  * Definitions remaining from previous partial support for 64-bit file
3477  * offsets.  This partial support for devices greater than 2gb requires
3478  * compiler support for long long.
3479  */
3480 
3481 typedef union {
3482  offset_t _f; /* Full 64 bit offset value */
3483  struct {
3484   int32_t _l; /* lower 32 bits of offset value */
3485   int32_t _u; /* upper 32 bits of offset value */
3486  } _p;
3487 } lloff_t;
3488 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3489 typedef union {
3490  longlong_t _f; /* Full 64 bit disk address value */
3491  struct {
3492   int32_t _l; /* lower 32 bits of disk address value */
3493   int32_t _u; /* upper 32 bits of disk address value */
3494  } _p;
3495 } lldaddr_t;
3496 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3497 typedef uint_t k_fltset_t; /* kernel fault set type */
3498 
3499 /*
3500  * The following type is for various kinds of identifiers.  The
3501  * actual type must be the same for all since some system calls
3502  * (such as sigsend) take arguments that may be any of these
3503  * types.  The enumeration type idtype_t defined in sys/procset.h
3504  * is used to indicate what type of id is being specified --
3505  * a process id, process group id, session id, scheduling class id,
3506  * user id, group id, project id, task id or zone id.
3507  */
3508 
3509 typedef int id_t;
3510 
3511 
3512 
3513 
3514 typedef id_t lgrp_id_t; /* lgroup ID */
3515 
3516 /*
3517  * Type useconds_t is an unsigned integral type capable of storing
3518  * values at least in the range of zero to 1,000,000.
3519  */
3520 typedef uint_t useconds_t; /* Time, in microseconds */
3521 
3522 
3523 
3524 typedef long suseconds_t; /* signed # of microseconds */
3525 
3526 
3527 /*
3528  * Typedefs for dev_t components.
3529  */
3530 
3531 typedef uint_t major_t; /* major part of device number */
3532 typedef uint_t minor_t; /* minor part of device number */
3533 
3534 
3535 
3536 
3537 
3538 /*
3539  * The data type of a thread priority.
3540  */
3541 typedef short pri_t;
3542 
3543 /*
3544  * The data type for a CPU flags field.  (Can be extended to larger unsigned
3545  * types, if needed, limited by ability to update atomically.)
3546  */
3547 typedef ushort_t cpu_flag_t;
3548 
3549 /*
3550  * For compatibility reasons the following typedefs (prefixed o_)
3551  * can't grow regardless of the EFT definition. Although,
3552  * applications should not explicitly use these typedefs
3553  * they may be included via a system header definition.
3554  * WARNING: These typedefs may be removed in a future
3555  * release.
3556  *		ex. the definitions in s5inode.h (now obsoleted)
3557  *			remained small to preserve compatibility
3558  *			in the S5 file system type.
3559  */
3560 typedef ushort_t o_mode_t; /* old file attribute type */
3561 typedef short o_dev_t; /* old device type	*/
3562 typedef ushort_t o_uid_t; /* old UID type		*/
3563 typedef o_uid_t o_gid_t; /* old GID type		*/
3564 typedef short o_nlink_t; /* old file link type	*/
3565 typedef short o_pid_t; /* old process id type	*/
3566 typedef ushort_t o_ino_t; /* old inode type	*/
3567 
3568 
3569 /*
3570  * POSIX and XOPEN Declarations
3571  */
3572 typedef int key_t; /* IPC key type		*/
3573 
3574 typedef uint_t mode_t; /* file attribute type	*/
3575 # 382 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3576 typedef uid_t gid_t; /* GID type		*/
3577 
3578 typedef uint32_t datalink_id_t;
3579 typedef uint32_t vrid_t;
3580 
3581 typedef id_t taskid_t;
3582 typedef id_t projid_t;
3583 typedef id_t poolid_t;
3584 typedef id_t zoneid_t;
3585 typedef id_t ctid_t;
3586 
3587 /*
3588  * POSIX definitions are same as defined in thread.h and synch.h.
3589  * Any changes made to here should be reflected in corresponding
3590  * files as described in comments.
3591  */
3592 typedef uint_t pthread_t; /* = thread_t in thread.h */
3593 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */
3594 
3595 /* "Magic numbers" tagging synchronization object types */
3596 
3597 
3598 
3599 
3600 
3601 typedef struct _pthread_mutex { /* = mutex_t in synch.h */
3602  struct {
3603   uint16_t __pthread_mutex_flag1;
3604   uint8_t __pthread_mutex_flag2;
3605   uint8_t __pthread_mutex_ceiling;
3606   uint16_t __pthread_mutex_type;
3607   uint16_t __pthread_mutex_magic;
3608  } __pthread_mutex_flags;
3609  union {
3610   struct {
3611    uint8_t __pthread_mutex_pad[8];
3612   } __pthread_mutex_lock64;
3613   struct {
3614    uint32_t __pthread_ownerpid;
3615    uint32_t __pthread_lockword;
3616   } __pthread_mutex_lock32;
3617   upad64_t __pthread_mutex_owner64;
3618  } __pthread_mutex_lock;
3619  upad64_t __pthread_mutex_data;
3620 } pthread_mutex_t;
3621 
3622 typedef struct _pthread_cond { /* = cond_t in synch.h */
3623  struct {
3624   uint8_t __pthread_cond_flag[4];
3625   uint16_t __pthread_cond_type;
3626   uint16_t __pthread_cond_magic;
3627  } __pthread_cond_flags;
3628  upad64_t __pthread_cond_data;
3629 } pthread_cond_t;
3630 
3631 /*
3632  * UNIX 98 Extension
3633  */
3634 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */
3635  int32_t __pthread_rwlock_readers;
3636  uint16_t __pthread_rwlock_type;
3637  uint16_t __pthread_rwlock_magic;
3638  pthread_mutex_t __pthread_rwlock_mutex;
3639  pthread_cond_t __pthread_rwlock_readercv;
3640  pthread_cond_t __pthread_rwlock_writercv;
3641 } pthread_rwlock_t;
3642 
3643 /*
3644  * SUSV3
3645  */
3646 typedef struct {
3647  uint32_t __pthread_barrier_count;
3648  uint32_t __pthread_barrier_current;
3649  upad64_t __pthread_barrier_cycle;
3650  upad64_t __pthread_barrier_reserved;
3651  pthread_mutex_t __pthread_barrier_lock;
3652  pthread_cond_t __pthread_barrier_cond;
3653 } pthread_barrier_t;
3654 
3655 typedef pthread_mutex_t pthread_spinlock_t;
3656 
3657 /*
3658  * attributes for threads, dynamically allocated by library
3659  */
3660 typedef struct _pthread_attr {
3661  void *__pthread_attrp;
3662 } pthread_attr_t;
3663 
3664 /*
3665  * attributes for mutex, dynamically allocated by library
3666  */
3667 typedef struct _pthread_mutexattr {
3668  void *__pthread_mutexattrp;
3669 } pthread_mutexattr_t;
3670 
3671 /*
3672  * attributes for cond, dynamically allocated by library
3673  */
3674 typedef struct _pthread_condattr {
3675  void *__pthread_condattrp;
3676 } pthread_condattr_t;
3677 
3678 /*
3679  * pthread_once
3680  */
3681 typedef struct _once {
3682  upad64_t __pthread_once_pad[4];
3683 } pthread_once_t;
3684 
3685 /*
3686  * UNIX 98 Extensions
3687  * attributes for rwlock, dynamically allocated by library
3688  */
3689 typedef struct _pthread_rwlockattr {
3690  void *__pthread_rwlockattrp;
3691 } pthread_rwlockattr_t;
3692 
3693 /*
3694  * SUSV3
3695  * attributes for pthread_barrier_t, dynamically allocated by library
3696  */
3697 typedef struct {
3698  void *__pthread_barrierattrp;
3699 } pthread_barrierattr_t;
3700 
3701 typedef ulong_t dev_t; /* expanded device type */
3702 
3703 
3704 typedef uint_t nlink_t; /* file link type	*/
3705 typedef int pid_t; /* process id type	*/
3706 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3707 typedef long time_t; /* time of day in seconds */
3708 
3709 
3710 
3711 
3712 typedef long clock_t; /* relative time in a specified resolution */
3713 
3714 
3715 
3716 
3717 typedef int clockid_t; /* clock identifier type */
3718 
3719 
3720 
3721 
3722 typedef int timer_t; /* timer identifier type */
3723 
3724 
3725 
3726 
3727 /* BEGIN CSTYLED */
3728 typedef unsigned char unchar;
3729 typedef unsigned short ushort;
3730 typedef unsigned int uint;
3731 typedef unsigned long ulong;
3732 /* END CSTYLED */
3733 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3734 /*
3735  * The following is the value of type id_t to use to indicate the
3736  * caller's current id.  See procset.h for the type idtype_t
3737  * which defines which kind of id is being specified.
3738  */
3739 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3740 /*
3741  * The following value of type pfn_t is used to indicate
3742  * invalid page frame number.
3743  */
3744 
3745 
3746 
3747 /* BEGIN CSTYLED */
3748 typedef unsigned char u_char;
3749 typedef unsigned short u_short;
3750 typedef unsigned int u_int;
3751 typedef unsigned long u_long;
3752 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */
3753 typedef quad_t quad; /* used by UFS */
3754 /* END CSTYLED */
3755 
3756 /*
3757  * Nested include for BSD/sockets source compatibility.
3758  * (The select macros used to be defined here).
3759  */
3760 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
3761 /*
3762  * CDDL HEADER START
3763  *
3764  * The contents of this file are subject to the terms of the
3765  * Common Development and Distribution License (the "License").
3766  * You may not use this file except in compliance with the License.
3767  *
3768  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3769  * or http://www.opensolaris.org/os/licensing.
3770  * See the License for the specific language governing permissions
3771  * and limitations under the License.
3772  *
3773  * When distributing Covered Code, include this CDDL HEADER in each
3774  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3775  * If applicable, add the following below this CDDL HEADER, with the
3776  * fields enclosed by brackets "[]" replaced with your own identifying
3777  * information: Portions Copyright [yyyy] [name of copyright owner]
3778  *
3779  * CDDL HEADER END
3780  */
3781 
3782 /*
3783  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3784  *
3785  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3786  *
3787  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
3788  * Use is subject to license terms.
3789  */
3790 
3791 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3792 /*	  All Rights Reserved	*/
3793 
3794 /*
3795  * University Copyright- Copyright (c) 1982, 1986, 1988
3796  * The Regents of the University of California
3797  * All Rights Reserved
3798  *
3799  * University Acknowledgment- Portions of this document are derived from
3800  * software developed by the University of California, Berkeley, and its
3801  * contributors.
3802  */
3803 
3804 
3805 
3806 
3807 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3808 /*
3809  * CDDL HEADER START
3810  *
3811  * The contents of this file are subject to the terms of the
3812  * Common Development and Distribution License (the "License").
3813  * You may not use this file except in compliance with the License.
3814  *
3815  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3816  * or http://www.opensolaris.org/os/licensing.
3817  * See the License for the specific language governing permissions
3818  * and limitations under the License.
3819  *
3820  * When distributing Covered Code, include this CDDL HEADER in each
3821  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3822  * If applicable, add the following below this CDDL HEADER, with the
3823  * fields enclosed by brackets "[]" replaced with your own identifying
3824  * information: Portions Copyright [yyyy] [name of copyright owner]
3825  *
3826  * CDDL HEADER END
3827  */
3828 
3829 /*
3830  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3831  * Copyright 2016 Joyent, Inc.
3832  *
3833  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3834  * Use is subject to license terms.
3835  */
3836 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
3837 
3838 
3839 
3840 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
3841 /*
3842  * CDDL HEADER START
3843  *
3844  * The contents of this file are subject to the terms of the
3845  * Common Development and Distribution License, Version 1.0 only
3846  * (the "License").  You may not use this file except in compliance
3847  * with the License.
3848  *
3849  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3850  * or http://www.opensolaris.org/os/licensing.
3851  * See the License for the specific language governing permissions
3852  * and limitations under the License.
3853  *
3854  * When distributing Covered Code, include this CDDL HEADER in each
3855  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3856  * If applicable, add the following below this CDDL HEADER, with the
3857  * fields enclosed by brackets "[]" replaced with your own identifying
3858  * information: Portions Copyright [yyyy] [name of copyright owner]
3859  *
3860  * CDDL HEADER END
3861  */
3862 /*
3863  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3864  * Use is subject to license terms.
3865  */
3866 
3867 /*
3868  * Implementation-private.  This header should not be included
3869  * directly by an application.  The application should instead
3870  * include <time.h> which includes this header conditionally
3871  * depending on which feature test macros are defined. By default,
3872  * this header is included by <time.h>.  X/Open and POSIX
3873  * standards requirements result in this header being included
3874  * by <time.h> only under a restricted set of conditions.
3875  */
3876 
3877 
3878 
3879 
3880 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3881 /*
3882  * CDDL HEADER START
3883  *
3884  * The contents of this file are subject to the terms of the
3885  * Common Development and Distribution License (the "License").
3886  * You may not use this file except in compliance with the License.
3887  *
3888  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3889  * or http://www.opensolaris.org/os/licensing.
3890  * See the License for the specific language governing permissions
3891  * and limitations under the License.
3892  *
3893  * When distributing Covered Code, include this CDDL HEADER in each
3894  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3895  * If applicable, add the following below this CDDL HEADER, with the
3896  * fields enclosed by brackets "[]" replaced with your own identifying
3897  * information: Portions Copyright [yyyy] [name of copyright owner]
3898  *
3899  * CDDL HEADER END
3900  */
3901 
3902 /*
3903  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3904  * Copyright 2016 Joyent, Inc.
3905  *
3906  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3907  * Use is subject to license terms.
3908  */
3909 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2
3910 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
3911 /*
3912  * Time expressed in seconds and nanoseconds
3913  */
3914 
3915 typedef struct timespec { /* definition per POSIX.4 */
3916  time_t tv_sec; /* seconds */
3917  long tv_nsec; /* and nanoseconds */
3918 } timespec_t;
3919 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
3920 typedef struct timespec timestruc_t; /* definition per SVr4 */
3921 
3922 /*
3923  * The following has been left in for backward compatibility. Portable
3924  * applications should not use the structure name timestruc.
3925  */
3926 
3927 
3928 
3929 
3930 
3931 /*
3932  * Timer specification
3933  */
3934 typedef struct itimerspec { /* definition per POSIX.4 */
3935  struct timespec it_interval; /* timer period */
3936  struct timespec it_value; /* timer expiration */
3937 } itimerspec_t;
3938 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
3939 
3940 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
3941 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3942 /*	  All Rights Reserved  	*/
3943 
3944 
3945 /*
3946  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
3947  * All rights reserved.  The Berkeley software License Agreement
3948  * specifies the terms and conditions for redistribution.
3949  */
3950 
3951 /*
3952  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3953  *
3954  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3955  * Use is subject to license terms.
3956  *
3957  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3958  */
3959 
3960 /*
3961  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
3962  */
3963 
3964 
3965 
3966 
3967 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3968 /*
3969  * CDDL HEADER START
3970  *
3971  * The contents of this file are subject to the terms of the
3972  * Common Development and Distribution License (the "License").
3973  * You may not use this file except in compliance with the License.
3974  *
3975  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3976  * or http://www.opensolaris.org/os/licensing.
3977  * See the License for the specific language governing permissions
3978  * and limitations under the License.
3979  *
3980  * When distributing Covered Code, include this CDDL HEADER in each
3981  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3982  * If applicable, add the following below this CDDL HEADER, with the
3983  * fields enclosed by brackets "[]" replaced with your own identifying
3984  * information: Portions Copyright [yyyy] [name of copyright owner]
3985  *
3986  * CDDL HEADER END
3987  */
3988 
3989 /*
3990  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3991  * Copyright 2016 Joyent, Inc.
3992  *
3993  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3994  * Use is subject to license terms.
3995  */
3996 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
3997 
3998 /*
3999  * Structure returned by gettimeofday(2) system call,
4000  * and used in other calls.
4001  */
4002 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4003 struct timeval {
4004  time_t tv_sec; /* seconds */
4005  suseconds_t tv_usec; /* and microseconds */
4006 };
4007 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4008 struct timezone {
4009  int tz_minuteswest; /* minutes west of Greenwich */
4010  int tz_dsttime; /* type of dst correction */
4011 };
4012 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4013 /*
4014  * Needed for longlong_t type.  Placement of this due to <sys/types.h>
4015  * including <sys/select.h> which relies on the presense of the itimerval
4016  * structure.
4017  */
4018 
4019 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4020 /*
4021  * CDDL HEADER START
4022  *
4023  * The contents of this file are subject to the terms of the
4024  * Common Development and Distribution License (the "License").
4025  * You may not use this file except in compliance with the License.
4026  *
4027  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4028  * or http://www.opensolaris.org/os/licensing.
4029  * See the License for the specific language governing permissions
4030  * and limitations under the License.
4031  *
4032  * When distributing Covered Code, include this CDDL HEADER in each
4033  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4034  * If applicable, add the following below this CDDL HEADER, with the
4035  * fields enclosed by brackets "[]" replaced with your own identifying
4036  * information: Portions Copyright [yyyy] [name of copyright owner]
4037  *
4038  * CDDL HEADER END
4039  */
4040 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4041 /*	  All Rights Reserved  	*/
4042 
4043 
4044 /*
4045  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4046  * Use is subject to license terms.
4047  *
4048  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4049  * Copyright 2016 Joyent, Inc.
4050  */
4051 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4052 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4053 /*
4054  * Operations on timevals.
4055  */
4056 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4057 /*
4058  * Names of the interval timers, and structure
4059  * defining a timer setting.
4060  */
4061 
4062 
4063 
4064     /* time and when system is running on */
4065     /* behalf of the process. */
4066 
4067     /* time profiling of multithreaded */
4068     /* programs. */
4069 
4070 
4071 struct itimerval {
4072  struct timeval it_interval; /* timer interval */
4073  struct timeval it_value; /* current value */
4074 };
4075 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4076 /*
4077  *	Definitions for commonly used resolutions.
4078  */
4079 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4080 /*
4081  * Time expressed as a 64-bit nanosecond counter.
4082  */
4083 typedef longlong_t hrtime_t;
4084 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4085 int adjtime(struct timeval *, struct timeval *);
4086 
4087 
4088 
4089 
4090 int futimesat(int, const char *, const struct timeval *);
4091 
4092 
4093 
4094 
4095 
4096 int getitimer(int, struct itimerval *);
4097 int utimes(const char *, const struct timeval *);
4098 
4099 
4100 
4101 
4102 int setitimer(int, struct itimerval *,
4103  struct itimerval *);
4104 
4105 
4106 
4107 
4108 /*
4109  * gettimeofday() and settimeofday() were included in SVr4 due to their
4110  * common use in BSD based applications.  They were to be included exactly
4111  * as in BSD, with two parameters.  However, AT&T/USL noted that the second
4112  * parameter was unused and deleted it, thereby making a routine included
4113  * for compatibility, incompatible.
4114  *
4115  * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two
4116  * parameters.
4117  *
4118  * This has caused general disagreement in the application community as to
4119  * the syntax of these routines.  Solaris defaults to the XSH4.2 definition.
4120  * The flag _SVID_GETTOD may be used to force the SVID version.
4121  */
4122 
4123 
4124 
4125 
4126 
4127 int settimeofday(struct timeval *, void *);
4128 
4129 hrtime_t gethrtime(void);
4130 hrtime_t gethrvtime(void);
4131 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4132 int gettimeofday(struct timeval *, void *);
4133 
4134 
4135 
4136 
4137 /*
4138  * The inclusion of <time.h> is historical and was added for
4139  * backward compatibility in delta 1.2 when a number of definitions
4140  * were moved out of <sys/time.h>.  More recently, the timespec and
4141  * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*,
4142  * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>,
4143  * which is now included by <time.h>.  This change was due to POSIX
4144  * 1003.1b-1993 and X/Open UNIX 98 requirements.  For non-POSIX and
4145  * non-X/Open applications, including this header will still make
4146  * visible these definitions.
4147  */
4148 
4149 
4150 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1
4151 /*
4152  * CDDL HEADER START
4153  *
4154  * The contents of this file are subject to the terms of the
4155  * Common Development and Distribution License (the "License").
4156  * You may not use this file except in compliance with the License.
4157  *
4158  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4159  * or http://www.opensolaris.org/os/licensing.
4160  * See the License for the specific language governing permissions
4161  * and limitations under the License.
4162  *
4163  * When distributing Covered Code, include this CDDL HEADER in each
4164  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4165  * If applicable, add the following below this CDDL HEADER, with the
4166  * fields enclosed by brackets "[]" replaced with your own identifying
4167  * information: Portions Copyright [yyyy] [name of copyright owner]
4168  *
4169  * CDDL HEADER END
4170  */
4171 /*	Copyright (c) 1988 AT&T	*/
4172 /*	  All Rights Reserved  	*/
4173 
4174 
4175 /*
4176  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4177  *
4178  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
4179  * Use is subject to license terms.
4180  */
4181 /*
4182  * Copyright 2010 Nexenta Systems, Inc.  Al rights reserved.
4183  * Copyright 2016 Joyent, Inc.
4184  */
4185 
4186 
4187 
4188 
4189 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4190 /*
4191  * CDDL HEADER START
4192  *
4193  * The contents of this file are subject to the terms of the
4194  * Common Development and Distribution License (the "License").
4195  * You may not use this file except in compliance with the License.
4196  *
4197  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4198  * or http://www.opensolaris.org/os/licensing.
4199  * See the License for the specific language governing permissions
4200  * and limitations under the License.
4201  *
4202  * When distributing Covered Code, include this CDDL HEADER in each
4203  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4204  * If applicable, add the following below this CDDL HEADER, with the
4205  * fields enclosed by brackets "[]" replaced with your own identifying
4206  * information: Portions Copyright [yyyy] [name of copyright owner]
4207  *
4208  * CDDL HEADER END
4209  */
4210 
4211 /*
4212  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4213  * Copyright 2016 Joyent, Inc.
4214  *
4215  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4216  * Use is subject to license terms.
4217  */
4218 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4219 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1
4220 /*
4221  * CDDL HEADER START
4222  *
4223  * The contents of this file are subject to the terms of the
4224  * Common Development and Distribution License, Version 1.0 only
4225  * (the "License").  You may not use this file except in compliance
4226  * with the License.
4227  *
4228  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4229  * or http://www.opensolaris.org/os/licensing.
4230  * See the License for the specific language governing permissions
4231  * and limitations under the License.
4232  *
4233  * When distributing Covered Code, include this CDDL HEADER in each
4234  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4235  * If applicable, add the following below this CDDL HEADER, with the
4236  * fields enclosed by brackets "[]" replaced with your own identifying
4237  * information: Portions Copyright [yyyy] [name of copyright owner]
4238  *
4239  * CDDL HEADER END
4240  */
4241 /*	Copyright (c) 1988 AT&T	*/
4242 /*	  All Rights Reserved  	*/
4243 
4244 /*
4245  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4246  * Copyright 2014 PALO, Richard.
4247  *
4248  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
4249  * Use is subject to license terms.
4250  */
4251 
4252 /*
4253  * An application should not include this header directly.  Instead it
4254  * should be included only through the inclusion of other Sun headers.
4255  *
4256  * The contents of this header is limited to identifiers specified in the
4257  * C Standard.  Any new identifiers specified in future amendments to the
4258  * C Standard must be placed in this header.  If these new identifiers
4259  * are required to also be in the C++ Standard "std" namespace, then for
4260  * anything other than macro definitions, corresponding "using" directives
4261  * must also be added to <time.h.h>.
4262  */
4263 
4264 
4265 
4266 
4267 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4268 /*
4269  * CDDL HEADER START
4270  *
4271  * The contents of this file are subject to the terms of the
4272  * Common Development and Distribution License (the "License").
4273  * You may not use this file except in compliance with the License.
4274  *
4275  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4276  * or http://www.opensolaris.org/os/licensing.
4277  * See the License for the specific language governing permissions
4278  * and limitations under the License.
4279  *
4280  * When distributing Covered Code, include this CDDL HEADER in each
4281  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4282  * If applicable, add the following below this CDDL HEADER, with the
4283  * fields enclosed by brackets "[]" replaced with your own identifying
4284  * information: Portions Copyright [yyyy] [name of copyright owner]
4285  *
4286  * CDDL HEADER END
4287  */
4288 
4289 /*
4290  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4291  * Copyright 2016 Joyent, Inc.
4292  *
4293  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4294  * Use is subject to license terms.
4295  */
4296 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
4297 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
4298 /*
4299  * This file and its contents are supplied under the terms of the
4300  * Common Development and Distribution License ("CDDL"), version 1.0.
4301  * You may only use this file in accordance with the terms of version
4302  * 1.0 of the CDDL.
4303  *
4304  * A full copy of the text of the CDDL should have accompanied this
4305  * source.  A copy of the CDDL is also available via the Internet at
4306  * http://www.illumos.org/license/CDDL.
4307  */
4308 
4309 /*
4310  * Copyright 2014-2016 PALO, Richard.
4311  */
4312 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
4313 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h"
4314 struct tm { /* see ctime(3) */
4315  int tm_sec;
4316  int tm_min;
4317  int tm_hour;
4318  int tm_mday;
4319  int tm_mon;
4320  int tm_year;
4321  int tm_wday;
4322  int tm_yday;
4323  int tm_isdst;
4324 };
4325 
4326 
4327 extern char *asctime(const struct tm *);
4328 extern clock_t clock(void);
4329 extern char *ctime(const time_t *);
4330 extern double difftime(time_t, time_t);
4331 extern struct tm *gmtime(const time_t *);
4332 extern struct tm *localtime(const time_t *);
4333 extern time_t mktime(struct tm *);
4334 extern time_t time(time_t *);
4335 extern size_t strftime(char *, size_t, const char *,
4336  const struct tm *);
4337 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4338 /*
4339  * C11 requires sys/time_impl.h for the definition of the struct timespec.
4340  */
4341 
4342 
4343 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4344 /*
4345  * CDDL HEADER START
4346  *
4347  * The contents of this file are subject to the terms of the
4348  * Common Development and Distribution License (the "License").
4349  * You may not use this file except in compliance with the License.
4350  *
4351  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4352  * or http://www.opensolaris.org/os/licensing.
4353  * See the License for the specific language governing permissions
4354  * and limitations under the License.
4355  *
4356  * When distributing Covered Code, include this CDDL HEADER in each
4357  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4358  * If applicable, add the following below this CDDL HEADER, with the
4359  * fields enclosed by brackets "[]" replaced with your own identifying
4360  * information: Portions Copyright [yyyy] [name of copyright owner]
4361  *
4362  * CDDL HEADER END
4363  */
4364 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4365 /*	  All Rights Reserved  	*/
4366 
4367 
4368 /*
4369  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4370  * Use is subject to license terms.
4371  *
4372  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4373  * Copyright 2016 Joyent, Inc.
4374  */
4375 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4376 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
4377 /*
4378  * CDDL HEADER START
4379  *
4380  * The contents of this file are subject to the terms of the
4381  * Common Development and Distribution License, Version 1.0 only
4382  * (the "License").  You may not use this file except in compliance
4383  * with the License.
4384  *
4385  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4386  * or http://www.opensolaris.org/os/licensing.
4387  * See the License for the specific language governing permissions
4388  * and limitations under the License.
4389  *
4390  * When distributing Covered Code, include this CDDL HEADER in each
4391  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4392  * If applicable, add the following below this CDDL HEADER, with the
4393  * fields enclosed by brackets "[]" replaced with your own identifying
4394  * information: Portions Copyright [yyyy] [name of copyright owner]
4395  *
4396  * CDDL HEADER END
4397  */
4398 /*
4399  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
4400  * Use is subject to license terms.
4401  */
4402 
4403 /*
4404  * Implementation-private.  This header should not be included
4405  * directly by an application.  The application should instead
4406  * include <time.h> which includes this header conditionally
4407  * depending on which feature test macros are defined. By default,
4408  * this header is included by <time.h>.  X/Open and POSIX
4409  * standards requirements result in this header being included
4410  * by <time.h> only under a restricted set of conditions.
4411  */
4412 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4413 
4414 
4415 /*
4416  * Allow global visibility for symbols defined in
4417  * C++ "std" namespace in <iso/time_iso.h>.
4418  */
4419 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4420 extern struct tm *gmtime_r(const time_t *,
4421    struct tm *);
4422 extern struct tm *localtime_r(const time_t *,
4423    struct tm *);
4424 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4425 extern char *strptime(const char *, const char *,
4426   struct tm *);
4427 
4428 
4429 
4430 
4431 
4432 /*
4433  * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the
4434  * definition of the sigevent structure.  Both require the inclusion
4435  * of <signal.h> and <time.h> when using the timer_create() function.
4436  * However, X/Open also specifies that the sigevent structure be defined
4437  * in <time.h> as described in the header <signal.h>.  This prevents
4438  * compiler warnings for applications that only include <time.h> and not
4439  * also <signal.h>.  The sigval union and the sigevent structure is
4440  * therefore defined both here and in <sys/siginfo.h> which gets included
4441  * via inclusion of <signal.h>.
4442  */
4443 
4444 
4445 union sigval {
4446  int sival_int; /* integer value */
4447  void *sival_ptr; /* pointer value */
4448 };
4449 
4450 
4451 
4452 
4453 struct sigevent {
4454  int sigev_notify; /* notification mode */
4455  int sigev_signo; /* signal number */
4456  union sigval sigev_value; /* signal value */
4457  void (*sigev_notify_function)(union sigval);
4458  pthread_attr_t *sigev_notify_attributes;
4459  int __sigev_pad2;
4460 };
4461 
4462 
4463 extern int clock_getres(clockid_t, struct timespec *);
4464 extern int clock_gettime(clockid_t, struct timespec *);
4465 extern int clock_settime(clockid_t, const struct timespec *);
4466 extern int timer_create(clockid_t, struct sigevent *,
4467   timer_t *);
4468 extern int timer_delete(timer_t);
4469 extern int timer_getoverrun(timer_t);
4470 extern int timer_gettime(timer_t, struct itimerspec *);
4471 extern int timer_settime(timer_t, int, const struct itimerspec *,
4472   struct itimerspec *);
4473 
4474 extern int nanosleep(const struct timespec *, struct timespec *);
4475 extern int clock_nanosleep(clockid_t, int,
4476  const struct timespec *, struct timespec *);
4477 
4478 
4479 
4480 
4481 
4482 
4483 extern void tzset(void);
4484 extern char *tzname[2];
4485 
4486 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */
4487 
4488 
4489 extern long _sysconf(int); /* System Private interface to sysconf() */
4490 
4491     /* 3 is _SC_CLK_TCK */
4492 
4493 
4494 
4495 
4496 
4497 extern long timezone;
4498 extern int daylight;
4499 
4500 
4501 
4502 
4503 
4504 
4505 extern time_t timegm(struct tm *);
4506 extern int cftime(char *, char *, const time_t *);
4507 extern int ascftime(char *, const char *, const struct tm *);
4508 extern long altzone;
4509 
4510 
4511 
4512 
4513 extern struct tm *getdate(const char *);
4514 
4515 
4516 
4517 
4518 
4519 extern int getdate_err;
4520 
4521 
4522 
4523 /*
4524  * ctime_r() & asctime_r() prototypes are defined here.
4525  */
4526 
4527 /*
4528  * Previous releases of Solaris, starting at 2.3, provided definitions of
4529  * various functions as specified in POSIX.1c, Draft 6.  For some of these
4530  * functions, the final POSIX 1003.1c standard had a different number of
4531  * arguments and return values.
4532  *
4533  * The following segment of this header provides support for the standard
4534  * interfaces while supporting applications written under earlier
4535  * releases.  The application defines appropriate values of the feature
4536  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
4537  * whether it was written to expect the Draft 6 or standard versions of
4538  * these interfaces, before including this header.  This header then
4539  * provides a mapping from the source version of the interface to an
4540  * appropriate binary interface.  Such mappings permit an application
4541  * to be built from libraries and objects which have mixed expectations
4542  * of the definitions of these functions.
4543  *
4544  * For applications using the Draft 6 definitions, the binary symbol is the
4545  * same as the source symbol, and no explicit mapping is needed.  For the
4546  * standard interface, the function func() is mapped to the binary symbol
4547  * _posix_func().  The preferred mechanism for the remapping is a compiler
4548  * #pragma.  If the compiler does not provide such a #pragma, the header file
4549  * defines a static function func() which calls the _posix_func() version;
4550  * this has to be done instead of #define since POSIX specifies that an
4551  * application can #undef the symbol and still be bound to the correct
4552  * implementation.  Unfortunately, the statics confuse lint so we fallback to
4553  * #define in that case.
4554  *
4555  * NOTE: Support for the Draft 6 definitions is provided for compatibility
4556  * only.  New applications/libraries should use the standard definitions.
4557  */
4558 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4559 extern char *asctime_r(const struct tm *, char *, int);
4560 extern char *ctime_r(const time_t *, char *, int);
4561 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4562 typedef struct _locale *locale_t;
4563 
4564 
4565 extern size_t strftime_l(char *, size_t,
4566  const char *, const struct tm *, locale_t);
4567 
4568 
4569 
4570 
4571 
4572 /*
4573  * Note, the C11 standard requires that all the various base values that are
4574  * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one.
4575  */
4576 
4577 
4578 extern int timespec_get(struct timespec *, int);
4579 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4580 
4581 
4582 /*
4583  * The inclusion of <sys/select.h> is needed for the FD_CLR,
4584  * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the
4585  * select() prototype defined in the XOpen specifications
4586  * beginning with XSH4v2.  Placement required after definition
4587  * for itimerval.
4588  */
4589 
4590 
4591 
4592 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
4593 /*
4594  * CDDL HEADER START
4595  *
4596  * The contents of this file are subject to the terms of the
4597  * Common Development and Distribution License (the "License").
4598  * You may not use this file except in compliance with the License.
4599  *
4600  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4601  * or http://www.opensolaris.org/os/licensing.
4602  * See the License for the specific language governing permissions
4603  * and limitations under the License.
4604  *
4605  * When distributing Covered Code, include this CDDL HEADER in each
4606  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4607  * If applicable, add the following below this CDDL HEADER, with the
4608  * fields enclosed by brackets "[]" replaced with your own identifying
4609  * information: Portions Copyright [yyyy] [name of copyright owner]
4610  *
4611  * CDDL HEADER END
4612  */
4613 
4614 /*
4615  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4616  *
4617  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4618  *
4619  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
4620  * Use is subject to license terms.
4621  */
4622 
4623 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4624 /*	  All Rights Reserved	*/
4625 
4626 /*
4627  * University Copyright- Copyright (c) 1982, 1986, 1988
4628  * The Regents of the University of California
4629  * All Rights Reserved
4630  *
4631  * University Acknowledgment- Portions of this document are derived from
4632  * software developed by the University of California, Berkeley, and its
4633  * contributors.
4634  */
4635 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4636 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
4637 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4638 /*
4639  * The sigset_t type is defined in <sys/signal.h> and duplicated
4640  * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6
4641  * now allows the visibility of signal.h in this header, however
4642  * an order of inclusion problem occurs as a result of inclusion
4643  * of <sys/select.h> in <signal.h> under certain conditions.
4644  * Rather than include <sys/signal.h> here, we've duplicated
4645  * the sigset_t type instead. This type is required for the XPG6
4646  * introduced pselect() function also declared in this header.
4647  */
4648 
4649 
4650 typedef struct { /* signal set type */
4651  unsigned int __sigbits[4];
4652 } sigset_t;
4653 
4654 
4655 
4656 
4657 /*
4658  * Select uses bit masks of file descriptors in longs.
4659  * These macros manipulate such bit fields.
4660  * FD_SETSIZE may be defined by the user, but the default here
4661  * should be >= NOFILE (param.h).
4662  */
4663 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4664 typedef long fd_mask;
4665 
4666 typedef long fds_mask;
4667 
4668 /*
4669  *  The value of _NBBY needs to be consistant with the value
4670  *  of NBBY in <sys/param.h>.
4671  */
4672 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4673 typedef struct fd_set {
4674 
4675 
4676 
4677  long fds_bits[(((65536)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))];
4678 } fd_set;
4679 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4680 extern int select(int, fd_set *, fd_set *,
4681  fd_set *, struct timeval *);
4682 
4683 
4684 extern int pselect(int, fd_set *, fd_set *,
4685  fd_set *, const struct timespec *,
4686  const sigset_t *);
4687 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
4688 
4689 
4690 
4691 /*
4692  * _VOID was defined to be either void or char but this is not
4693  * required because previous SunOS compilers have accepted the void
4694  * type. However, because many system header and source files use the
4695  * void keyword, the volatile keyword, and ANSI C function prototypes,
4696  * non-ANSI compilers cannot compile the system anyway. The _VOID macro
4697  * should therefore not be used and remains for source compatibility
4698  * only.
4699  */
4700 /* CSTYLED */
4701 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
4702 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
4703 /*
4704  * CDDL HEADER START
4705  *
4706  * The contents of this file are subject to the terms of the
4707  * Common Development and Distribution License (the "License").
4708  * You may not use this file except in compliance with the License.
4709  *
4710  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4711  * or http://www.opensolaris.org/os/licensing.
4712  * See the License for the specific language governing permissions
4713  * and limitations under the License.
4714  *
4715  * When distributing Covered Code, include this CDDL HEADER in each
4716  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4717  * If applicable, add the following below this CDDL HEADER, with the
4718  * fields enclosed by brackets "[]" replaced with your own identifying
4719  * information: Portions Copyright [yyyy] [name of copyright owner]
4720  *
4721  * CDDL HEADER END
4722  */
4723 
4724 /*
4725  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
4726  *	  All Rights Reserved
4727  *
4728  */
4729 
4730 /*
4731  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4732  * Use is subject to license terms.
4733  */
4734 
4735 /*
4736  * WARNING: This is an implementation-specific header,
4737  * its contents are not guaranteed. Applications
4738  * should include <unistd.h> and not this header.
4739  */
4740 
4741 
4742 
4743 
4744 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4745 /*
4746  * CDDL HEADER START
4747  *
4748  * The contents of this file are subject to the terms of the
4749  * Common Development and Distribution License (the "License").
4750  * You may not use this file except in compliance with the License.
4751  *
4752  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4753  * or http://www.opensolaris.org/os/licensing.
4754  * See the License for the specific language governing permissions
4755  * and limitations under the License.
4756  *
4757  * When distributing Covered Code, include this CDDL HEADER in each
4758  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4759  * If applicable, add the following below this CDDL HEADER, with the
4760  * fields enclosed by brackets "[]" replaced with your own identifying
4761  * information: Portions Copyright [yyyy] [name of copyright owner]
4762  *
4763  * CDDL HEADER END
4764  */
4765 
4766 /*
4767  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4768  * Copyright 2016 Joyent, Inc.
4769  *
4770  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4771  * Use is subject to license terms.
4772  */
4773 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2
4774 
4775 
4776 
4777 
4778 
4779 /* command names for confstr */
4780 
4781 
4782 
4783 /*
4784  * command names for large file configuration information
4785  */
4786 /* large file compilation environment configuration */
4787 
4788 
4789 
4790 
4791 /* transitional large file interface configuration */
4792 
4793 
4794 
4795 
4796 
4797 /* UNIX 98 */
4798 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4799 /* UNIX 03 */
4800 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4801 /* command names for POSIX sysconf */
4802 
4803 /* POSIX.1 names */
4804 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4805 /* SVR4 names */
4806 
4807 
4808 
4809 
4810 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */
4811 
4812 
4813 
4814 
4815 /* POSIX.4 names */
4816 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4817 /* XPG4 names */
4818 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4819 /* additional XSH4/XCU4 command names for sysconf */
4820 
4821 
4822 
4823 /* additional XPG4v2 (UNIX 95) command names */
4824 
4825 
4826 
4827 
4828 
4829 /* defined for XTI (XNS Issue 5) */
4830 
4831 
4832 
4833 
4834 
4835 
4836 
4837 /*
4838  * Hardware specific items
4839  * Note that not all items are supported on all architectures
4840  */
4841 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4842 /*
4843  * POSIX.1c (pthreads) names. These values are defined above
4844  * the sub-500 range. See psarc case 1995/257.
4845  */
4846 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4847 /* UNIX 98 */
4848 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4849 /* UNIX 03 */
4850 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4851 /* command names for POSIX pathconf */
4852 
4853 /* POSIX.1 names */
4854 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4855 /* POSIX.4 names */
4856 
4857 
4858 
4859 /* UNIX 03 names */
4860 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4861 /* UNIX 08 names */
4862 
4863 
4864 /*
4865  * Large File Summit names
4866  *
4867  * This value matches the MIPS ABI choice, but leaves a large gap in the
4868  * value space.
4869  */
4870 
4871 
4872 /*
4873  * Extended attributes
4874  */
4875 
4876 
4877 
4878 /*
4879  * If you add a _PC define above 101, you must change _PC_LAST (and truss).
4880  */
4881 
4882 
4883 /*
4884  * Case sensitivity values (related to _PC_CASE_BEHAVIOR)
4885  */
4886 
4887 
4888 
4889 /*
4890  * The value of 0 is returned when
4891  * ACL's are not supported
4892  */
4893 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4894 /*
4895  * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications
4896  * should not rely on this value, it has been aligned with the current
4897  * standard to avoid confusion if used.
4898  */
4899 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4900 /* UNIX 03 names */
4901 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
4902 
4903 
4904 
4905 
4906 
4907 /* Symbolic constants for the "access" routine: */
4908 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4909 /* Symbolic constants for the "lseek" routine: */
4910 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4911 /* Path names: */
4912 
4913 
4914 
4915 
4916 /*
4917  * compile-time symbolic constants,
4918  * Support does not mean the feature is enabled.
4919  * Use pathconf/sysconf to obtain actual configuration value.
4920  */
4921 
4922 /* Values unchanged in UNIX 03 */
4923 
4924 
4925 
4926 
4927 
4928 /*
4929  * POSIX.1b compile-time symbolic constants.
4930  */
4931 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4932 /*
4933  * POSIX.1c compile-time symbolic constants.
4934  */
4935 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4936 /* New in UNIX 03 */
4937 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4938 /*
4939  * Support for the POSIX.1 mutex protocol attribute. For realtime applications
4940  * which need mutexes to support priority inheritance/ceiling.
4941  */
4942 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4943 /*
4944  * Large File Summit-related announcement macros.  The system supports both
4945  * the additional and transitional Large File Summit interfaces.  (The final
4946  * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.)
4947  */
4948 
4949 
4950 
4951 
4952 
4953 /* large file compilation environment setup */
4954 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4955 /* In the LP64 compilation environment, the APIs are already large file */
4956 
4957 
4958 
4959 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4960 #pragma redefine_extname ftruncate64 ftruncate
4961 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4962 
4963 
4964 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4965 #pragma redefine_extname lseek64 lseek
4966 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4967 
4968 
4969 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4970 #pragma redefine_extname pread64 pread
4971 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4972 
4973 
4974 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4975 #pragma redefine_extname pwrite64 pwrite
4976 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4977 
4978 
4979 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4980 #pragma redefine_extname truncate64 truncate
4981 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4982 
4983 
4984 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4985 #pragma redefine_extname lockf64 lockf
4986 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4987 
4988 
4989 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4990 #pragma redefine_extname tell64 tell
4991 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4992 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4993 extern int access(const char *, int);
4994 
4995 extern int acct(const char *);
4996 
4997 extern unsigned alarm(unsigned);
4998 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
4999 
5000 
5001 extern int brk(void *);
5002 
5003 extern int chdir(const char *);
5004 extern int chown(const char *, uid_t, gid_t);
5005 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5006 
5007 
5008 extern int chroot(const char *);
5009 
5010 extern int close(int);
5011 
5012 
5013 
5014 
5015 
5016 
5017 extern char *ctermid(char *);
5018 
5019 
5020 extern char *ctermid_r(char *);
5021 
5022 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5023 
5024 extern char *cuserid(char *);
5025 
5026 extern int dup(int);
5027 extern int dup2(int, int);
5028 extern int dup3(int, int, int);
5029 
5030 
5031 
5032 
5033 extern void endusershell(void);
5034 
5035 extern int execl(const char *, const char *, ...);
5036 extern int execle(const char *, const char *, ...);
5037 extern int execlp(const char *, const char *, ...);
5038 extern int execv(const char *, char *const *);
5039 extern int execve(const char *, char *const *, char *const *);
5040 extern int execvp(const char *, char *const *);
5041 extern void _exit(int)
5042  __attribute__((__noreturn__));
5043 /*
5044  * The following fattach prototype is duplicated in <stropts.h>. The
5045  * duplication is necessitated by XPG4.2 which requires the prototype
5046  * be defined in <stropts.h>.
5047  */
5048 
5049 extern int fattach(int, const char *);
5050 
5051 
5052 extern int fchdir(int);
5053 extern int fchown(int, uid_t, gid_t);
5054 
5055 
5056 extern int fchroot(int);
5057 
5058 
5059 
5060 extern int fdatasync(int);
5061 
5062 /*
5063  * The following fdetach prototype is duplicated in <stropts.h>. The
5064  * duplication is necessitated by XPG4.2 which requires the prototype
5065  * be defined in <stropts.h>.
5066  */
5067 
5068 extern int fdetach(const char *);
5069 
5070 extern pid_t fork(void);
5071 
5072 extern pid_t fork1(void);
5073 extern pid_t forkall(void);
5074 
5075 extern long fpathconf(int, int);
5076 
5077 
5078 extern int fsync(int);
5079 
5080 
5081 
5082 
5083 extern int ftruncate(int, off_t);
5084 
5085 extern char *getcwd(char *, size_t);
5086 
5087 
5088 extern int getdtablesize(void);
5089 
5090 extern gid_t getegid(void);
5091 extern uid_t geteuid(void);
5092 extern gid_t getgid(void);
5093 extern int getgroups(int, gid_t *);
5094 
5095 extern long gethostid(void);
5096 
5097 
5098 
5099 
5100 extern int gethostname(char *, int);
5101 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5102 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5103 
5104 extern int getpagesize(void);
5105 
5106 extern pid_t getpgid(pid_t);
5107 
5108 extern pid_t getpid(void);
5109 extern pid_t getppid(void);
5110 extern pid_t getpgrp(void);
5111 
5112 
5113 char *gettxt(const char *, const char *);
5114 
5115 
5116 extern pid_t getsid(pid_t);
5117 
5118 extern uid_t getuid(void);
5119 
5120 extern char *getusershell(void);
5121 
5122 /*
5123  * The following ioctl prototype is duplicated in <stropts.h>. The
5124  * duplication is necessitated by XPG4.2 which requires the prototype
5125  * be defined in <stropts.h>.
5126  */
5127 
5128 extern int ioctl(int, int, ...);
5129 extern int isaexec(const char *, char *const *, char *const *);
5130 extern int issetugid(void);
5131 
5132 extern int isatty(int);
5133 
5134 extern int lchown(const char *, uid_t, gid_t);
5135 
5136 extern int link(const char *, const char *);
5137 
5138 extern offset_t llseek(int, offset_t, int);
5139 
5140 
5141 
5142 
5143 extern int lockf(int, int, off_t);
5144 
5145 extern off_t lseek(int, off_t, int);
5146 
5147 
5148 extern int nice(int);
5149 
5150 
5151 extern int mincore(caddr_t, size_t, char *);
5152 
5153 extern long pathconf(const char *, int);
5154 extern int pause(void);
5155 extern int pipe(int *);
5156 extern int pipe2(int *, int);
5157 
5158 
5159 
5160 extern ssize_t pread(int, void *, size_t, off_t);
5161 
5162 
5163 extern void profil(unsigned short *, size_t, unsigned long, unsigned int);
5164 
5165 /*
5166  * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The
5167  * declarations are identical. A change to either one may also require
5168  * appropriate namespace updates in order to avoid redeclaration
5169  * warnings in the case where both prototypes are exposed via inclusion
5170  * of both <pthread.h> and <unistd.h>.
5171  */
5172 
5173 
5174 
5175 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));
5176 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5177 extern ssize_t pwrite(int, const void *, size_t, off_t);
5178 
5179 
5180 /* per RFC 3542; This is also defined in netdb.h */
5181 extern int rcmd_af(char **, unsigned short, const char *, const char *,
5182  const char *, int *, int);
5183 
5184 extern ssize_t read(int, void *, size_t);
5185 
5186 
5187 extern ssize_t readlink(const char *, char *,
5188  size_t);
5189 
5190 
5191 
5192 
5193 
5194 
5195 extern int rename(const char *, const char *);
5196 
5197 
5198 
5199 
5200 
5201 
5202 
5203 extern int resolvepath(const char *, char *, size_t);
5204 /* per RFC 3542; This is also defined in netdb.h */
5205 extern int rexec_af(char **, unsigned short, const char *, const char *,
5206  const char *, int *, int);
5207 
5208 extern int rmdir(const char *);
5209 
5210 /* per RFC 3542; This is also defined in netdb.h */
5211 extern int rresvport_af(int *, int);
5212 
5213 
5214 
5215 
5216 extern void *sbrk(intptr_t);
5217 
5218 
5219 extern int setegid(gid_t);
5220 extern int seteuid(uid_t);
5221 
5222 extern int setgid(gid_t);
5223 
5224 extern int setgroups(int, const gid_t *);
5225 extern int sethostname(char *, int);
5226 
5227 extern int setpgid(pid_t, pid_t);
5228 
5229 extern pid_t setpgrp(void);
5230 extern int setregid(gid_t, gid_t);
5231 extern int setreuid(uid_t, uid_t);
5232 
5233 extern pid_t setsid(void);
5234 extern int setuid(uid_t);
5235 
5236 extern void setusershell(void);
5237 
5238 extern unsigned sleep(unsigned);
5239 
5240 extern int stime(const time_t *);
5241 
5242 
5243 
5244 
5245 
5246 
5247 extern int symlink(const char *, const char *);
5248 extern void sync(void);
5249 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5250 extern long sysconf(int);
5251 extern pid_t tcgetpgrp(int);
5252 extern int tcsetpgrp(int, pid_t);
5253 
5254 
5255 
5256 extern off_t tell(int);
5257 
5258 
5259 
5260 
5261 extern int truncate(const char *, off_t);
5262 
5263 extern char *ttyname(int);
5264 
5265 extern useconds_t ualarm(useconds_t, useconds_t);
5266 
5267 extern int unlink(const char *);
5268 
5269 extern char *getwd(char *);
5270 extern int usleep(useconds_t);
5271 extern pid_t vfork(void) __attribute__((__returns_twice__));
5272 #pragma unknown_control_flow(vfork)
5273 
5274 
5275 extern void vhangup(void);
5276 
5277 extern ssize_t write(int, const void *, size_t);
5278 
5279 extern void yield(void);
5280 
5281 
5282 
5283 
5284  /* || defined(_XPG7) */
5285 extern int faccessat(int, const char *, int, int);
5286 extern int fchownat(int, const char *, uid_t, gid_t, int);
5287 extern int linkat(int, const char *, int, const char *, int);
5288 extern ssize_t readlinkat(int, const char *,
5289  char *, size_t);
5290 extern int renameat(int, const char *, int, const char *);
5291 extern int symlinkat(const char *, int, const char *);
5292 extern int unlinkat(int, const char *, int);
5293 
5294 
5295 extern int get_nprocs(void);
5296 extern int get_nprocs_conf(void);
5297 
5298 
5299 /* transitional large file interface versions */
5300 
5301 
5302 extern int ftruncate64(int, off64_t);
5303 extern off64_t lseek64(int, off64_t, int);
5304 extern ssize_t pread64(int, void *, size_t, off64_t);
5305 extern ssize_t pwrite64(int, const void *, size_t, off64_t);
5306 extern off64_t tell64(int);
5307 extern int truncate64(const char *, off64_t);
5308 extern int lockf64(int, int, off64_t);
5309 
5310 
5311 /*
5312  * getlogin_r() & ttyname_r() prototypes are defined here.
5313  */
5314 
5315 /*
5316  * Previous releases of Solaris, starting at 2.3, provided definitions of
5317  * various functions as specified in POSIX.1c, Draft 6.  For some of these
5318  * functions, the final POSIX 1003.1c standard had a different number of
5319  * arguments and return values.
5320  *
5321  * The following segment of this header provides support for the standard
5322  * interfaces while supporting applications written under earlier
5323  * releases.  The application defines appropriate values of the feature
5324  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
5325  * whether it was written to expect the Draft 6 or standard versions of
5326  * these interfaces, before including this header.  This header then
5327  * provides a mapping from the source version of the interface to an
5328  * appropriate binary interface.  Such mappings permit an application
5329  * to be built from libraries and objects which have mixed expectations
5330  * of the definitions of these functions.
5331  *
5332  * For applications using the Draft 6 definitions, the binary symbol is the
5333  * same as the source symbol, and no explicit mapping is needed.  For the
5334  * standard interface, the function func() is mapped to the binary symbol
5335  * _posix_func().  The preferred mechanism for the remapping is a compiler
5336  * #pragma.  If the compiler does not provide such a #pragma, the header file
5337  * defines a static function func() which calls the _posix_func() version;
5338  * this has to be done instead of #define since POSIX specifies that an
5339  * application can #undef the symbol and still be bound to the correct
5340  * implementation.  Unfortunately, the statics confuse lint so we fallback to
5341  * #define in that case.
5342  *
5343  * NOTE: Support for the Draft 6 definitions is provided for compatibility
5344  * only.  New applications/libraries should use the standard definitions.
5345  */
5346 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5347 
5348 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5349 #pragma redefine_extname getlogin_r getloginx_r
5350 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5351 
5352 
5353 
5354 
5355 
5356 
5357 extern char *getlogin_r(char *, int);
5358 
5359 extern char *ttyname_r(int, char *, int);
5360 
5361 
5362 
5363 
5364 
5365 
5366 extern int getentropy(void *, size_t);
5367 # 56 "../common/zones_utils.c" 2
5368 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1
5369 /*
5370  * CDDL HEADER START
5371  *
5372  * The contents of this file are subject to the terms of the
5373  * Common Development and Distribution License (the "License").
5374  * You may not use this file except in compliance with the License.
5375  *
5376  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5377  * or http://www.opensolaris.org/os/licensing.
5378  * See the License for the specific language governing permissions
5379  * and limitations under the License.
5380  *
5381  * When distributing Covered Code, include this CDDL HEADER in each
5382  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5383  * If applicable, add the following below this CDDL HEADER, with the
5384  * fields enclosed by brackets "[]" replaced with your own identifying
5385  * information: Portions Copyright [yyyy] [name of copyright owner]
5386  *
5387  * CDDL HEADER END
5388  */
5389 
5390 /*
5391  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5392  *
5393  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
5394  * Use is subject to license terms.
5395  */
5396 
5397 /*	Copyright (c) 1988 AT&T	*/
5398 /*	  All Rights Reserved  	*/
5399 
5400 
5401 
5402 
5403 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
5404 /*
5405  * CDDL HEADER START
5406  *
5407  * The contents of this file are subject to the terms of the
5408  * Common Development and Distribution License (the "License").
5409  * You may not use this file except in compliance with the License.
5410  *
5411  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5412  * or http://www.opensolaris.org/os/licensing.
5413  * See the License for the specific language governing permissions
5414  * and limitations under the License.
5415  *
5416  * When distributing Covered Code, include this CDDL HEADER in each
5417  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5418  * If applicable, add the following below this CDDL HEADER, with the
5419  * fields enclosed by brackets "[]" replaced with your own identifying
5420  * information: Portions Copyright [yyyy] [name of copyright owner]
5421  *
5422  * CDDL HEADER END
5423  */
5424 
5425 /*
5426  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5427  * Copyright 2016 Joyent, Inc.
5428  *
5429  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5430  * Use is subject to license terms.
5431  */
5432 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
5433 
5434 
5435 
5436 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5437 /*
5438  * CDDL HEADER START
5439  *
5440  * The contents of this file are subject to the terms of the
5441  * Common Development and Distribution License (the "License").
5442  * You may not use this file except in compliance with the License.
5443  *
5444  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5445  * or http://www.opensolaris.org/os/licensing.
5446  * See the License for the specific language governing permissions
5447  * and limitations under the License.
5448  *
5449  * When distributing Covered Code, include this CDDL HEADER in each
5450  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5451  * If applicable, add the following below this CDDL HEADER, with the
5452  * fields enclosed by brackets "[]" replaced with your own identifying
5453  * information: Portions Copyright [yyyy] [name of copyright owner]
5454  *
5455  * CDDL HEADER END
5456  */
5457 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5458 /*	  All Rights Reserved  	*/
5459 
5460 
5461 /*
5462  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5463  * Use is subject to license terms.
5464  *
5465  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5466  * Copyright 2016 Joyent, Inc.
5467  */
5468 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
5469 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 1
5470 /*
5471  * CDDL HEADER START
5472  *
5473  * The contents of this file are subject to the terms of the
5474  * Common Development and Distribution License (the "License").
5475  * You may not use this file except in compliance with the License.
5476  *
5477  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5478  * or http://www.opensolaris.org/os/licensing.
5479  * See the License for the specific language governing permissions
5480  * and limitations under the License.
5481  *
5482  * When distributing Covered Code, include this CDDL HEADER in each
5483  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5484  * If applicable, add the following below this CDDL HEADER, with the
5485  * fields enclosed by brackets "[]" replaced with your own identifying
5486  * information: Portions Copyright [yyyy] [name of copyright owner]
5487  *
5488  * CDDL HEADER END
5489  */
5490 
5491 /*
5492  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
5493  */
5494 
5495 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5496 /*	  All Rights Reserved  	*/
5497 
5498 /*
5499  * University Copyright- Copyright (c) 1982, 1986, 1988
5500  * The Regents of the University of California
5501  * All Rights Reserved
5502  *
5503  * University Acknowledgment- Portions of this document are derived from
5504  * software developed by the University of California, Berkeley, and its
5505  * contributors.
5506  */
5507 
5508 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
5509 /* Copyright 2015, Joyent, Inc. */
5510 
5511 
5512 
5513 
5514 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
5515 /*
5516  * CDDL HEADER START
5517  *
5518  * The contents of this file are subject to the terms of the
5519  * Common Development and Distribution License (the "License").
5520  * You may not use this file except in compliance with the License.
5521  *
5522  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5523  * or http://www.opensolaris.org/os/licensing.
5524  * See the License for the specific language governing permissions
5525  * and limitations under the License.
5526  *
5527  * When distributing Covered Code, include this CDDL HEADER in each
5528  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5529  * If applicable, add the following below this CDDL HEADER, with the
5530  * fields enclosed by brackets "[]" replaced with your own identifying
5531  * information: Portions Copyright [yyyy] [name of copyright owner]
5532  *
5533  * CDDL HEADER END
5534  */
5535 
5536 /*
5537  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5538  * Copyright 2016 Joyent, Inc.
5539  *
5540  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5541  * Use is subject to license terms.
5542  */
5543 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2
5544 
5545 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5546 /*
5547  * CDDL HEADER START
5548  *
5549  * The contents of this file are subject to the terms of the
5550  * Common Development and Distribution License (the "License").
5551  * You may not use this file except in compliance with the License.
5552  *
5553  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5554  * or http://www.opensolaris.org/os/licensing.
5555  * See the License for the specific language governing permissions
5556  * and limitations under the License.
5557  *
5558  * When distributing Covered Code, include this CDDL HEADER in each
5559  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5560  * If applicable, add the following below this CDDL HEADER, with the
5561  * fields enclosed by brackets "[]" replaced with your own identifying
5562  * information: Portions Copyright [yyyy] [name of copyright owner]
5563  *
5564  * CDDL HEADER END
5565  */
5566 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5567 /*	  All Rights Reserved  	*/
5568 
5569 
5570 /*
5571  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5572  * Use is subject to license terms.
5573  *
5574  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5575  * Copyright 2016 Joyent, Inc.
5576  */
5577 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2
5578 
5579 
5580 
5581 
5582 
5583 /*
5584  * Flag values accessible to open(2) and fcntl(2)
5585  * The first five can only be set (exclusively) by open(2).
5586  */
5587 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5588     /* defines read/write file integrity */
5589 
5590 
5591 
5592 
5593 
5594 
5595 /*
5596  * Flag values accessible only to open(2).
5597  */
5598 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5599 /*
5600  * fcntl(2) requests
5601  *
5602  * N.B.: values are not necessarily assigned sequentially below.
5603  */
5604 
5605 
5606 
5607 
5608 
5609 
5610 
5611 /*
5612  * Applications that read /dev/mem must be built like the kernel.  A
5613  * new symbol "_KMEMUSER" is defined for this purpose.
5614  */
5615 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5616      /* EINVAL is fildes matches arg1 */
5617 # 137 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5618 /*
5619  * Numbers 20-22 have been removed and should not be reused.
5620  */
5621 
5622 
5623 
5624 
5625 
5626     /* manager */
5627 
5628 /*
5629  * Commands that refer to flock structures.  The argument types differ between
5630  * the large and small file environments; therefore, the #defined values must
5631  * as well.
5632  * The NBMAND forms are private and should not be used.
5633  * The FLOCK forms are also private and should not be used.
5634  */
5635 
5636 
5637 /* "Native" application compilation environment */
5638 # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5639 /*
5640  * File segment locking set data type - information passed to system by user.
5641  */
5642 
5643 /* regular version, for both small and large file compilation environment */
5644 typedef struct flock {
5645  short l_type;
5646  short l_whence;
5647  off_t l_start;
5648  off_t l_len; /* len == 0 means until end of file */
5649  int l_sysid;
5650  pid_t l_pid;
5651  long l_pad[4]; /* reserve area */
5652 } flock_t;
5653 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5654 /* transitional large file interface version */
5655 
5656 
5657 
5658 typedef struct flock64 {
5659  short l_type;
5660  short l_whence;
5661  off64_t l_start;
5662  off64_t l_len; /* len == 0 means until end of file */
5663  int l_sysid;
5664  pid_t l_pid;
5665  long l_pad[4]; /* reserve area */
5666 } flock64_t;
5667 # 328 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5668 /*
5669  * File segment locking types.
5670  */
5671 
5672 
5673 
5674 
5675 
5676 /*
5677  * POSIX constants
5678  */
5679 
5680 /* Mask for file access modes */
5681 
5682 
5683 
5684 /*
5685  * DIRECTIO
5686  */
5687 
5688 
5689 
5690 
5691 /*
5692  * File share reservation type
5693  */
5694 typedef struct fshare {
5695  short f_access;
5696  short f_deny;
5697  int f_id;
5698 } fshare_t;
5699 
5700 /*
5701  * f_access values
5702  */
5703 
5704 
5705 
5706 
5707 
5708 
5709 /*
5710  * f_deny values
5711  */
5712 # 381 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5713 /*
5714  * Special flags for functions such as openat(), fstatat()....
5715  */
5716 
5717 
5718  /* || defined(_XPG7) */
5719 # 396 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5720 /* advice for posix_fadvise */
5721 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
5722 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5723 /* large file compilation environment setup */
5724 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5725 
5726 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5727 #pragma redefine_extname open64 open
5728 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5729 
5730 
5731 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5732 #pragma redefine_extname creat64 creat
5733 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5734 
5735 
5736 
5737 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5738 #pragma redefine_extname posix_fadvise64 posix_fadvise
5739 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5740 
5741 
5742 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5743 #pragma redefine_extname posix_fallocate64 posix_fallocate
5744 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5745 
5746 
5747 
5748 
5749 
5750 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5751 #pragma redefine_extname openat64 openat
5752 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5753 
5754 
5755 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5756 #pragma redefine_extname attropen64 attropen
5757 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5758 # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5759 extern int fcntl(int, int, ...);
5760 extern int open(const char *, int, ...);
5761 extern int creat(const char *, mode_t);
5762 
5763 extern int posix_fadvise(int, off_t, off_t, int);
5764 extern int posix_fallocate(int, off_t, off_t);
5765 
5766 
5767 
5768 extern int openat(int, const char *, int, ...);
5769 extern int attropen(const char *, const char *, int, ...);
5770 
5771 
5772 extern int directio(int, int);
5773 
5774 
5775 /* transitional large file interface versions */
5776 
5777 
5778 extern int open64(const char *, int, ...);
5779 extern int creat64(const char *, mode_t);
5780 
5781 extern int posix_fadvise64(int, off64_t, off64_t, int);
5782 extern int posix_fallocate64(int, off64_t, off64_t);
5783 
5784 
5785 
5786 extern int openat64(int, const char *, int, ...);
5787 extern int attropen64(const char *, const char *, int, ...);
5788 # 57 "../common/zones_utils.c" 2
5789 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 1
5790 /*
5791  * CDDL HEADER START
5792  *
5793  * The contents of this file are subject to the terms of the
5794  * Common Development and Distribution License, Version 1.0 only
5795  * (the "License").  You may not use this file except in compliance
5796  * with the License.
5797  *
5798  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5799  * or http://www.opensolaris.org/os/licensing.
5800  * See the License for the specific language governing permissions
5801  * and limitations under the License.
5802  *
5803  * When distributing Covered Code, include this CDDL HEADER in each
5804  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5805  * If applicable, add the following below this CDDL HEADER, with the
5806  * fields enclosed by brackets "[]" replaced with your own identifying
5807  * information: Portions Copyright [yyyy] [name of copyright owner]
5808  *
5809  * CDDL HEADER END
5810  */
5811 /*	Copyright (c) 1988 AT&T	*/
5812 /*	  All Rights Reserved  	*/
5813 
5814 
5815 /*
5816  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5817  *
5818  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
5819  * Use is subject to license terms.
5820  */
5821 
5822 
5823 
5824 
5825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 1
5826 /*
5827  * CDDL HEADER START
5828  *
5829  * The contents of this file are subject to the terms of the
5830  * Common Development and Distribution License, Version 1.0 only
5831  * (the "License").  You may not use this file except in compliance
5832  * with the License.
5833  *
5834  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5835  * or http://www.opensolaris.org/os/licensing.
5836  * See the License for the specific language governing permissions
5837  * and limitations under the License.
5838  *
5839  * When distributing Covered Code, include this CDDL HEADER in each
5840  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5841  * If applicable, add the following below this CDDL HEADER, with the
5842  * fields enclosed by brackets "[]" replaced with your own identifying
5843  * information: Portions Copyright [yyyy] [name of copyright owner]
5844  *
5845  * CDDL HEADER END
5846  */
5847 /*	Copyright (c) 1988 AT&T	*/
5848 /*	  All Rights Reserved  	*/
5849 
5850 /*
5851  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5852  *
5853  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
5854  * Use is subject to license terms.
5855  */
5856 
5857 /*
5858  * An application should not include this header directly.  Instead it
5859  * should be included only through the inclusion of other Sun headers.
5860  *
5861  * The contents of this header is limited to identifiers specified in the
5862  * C Standard.  Any new identifiers specified in future amendments to the
5863  * C Standard must be placed in this header.  If these new identifiers
5864  * are required to also be in the C++ Standard "std" namespace, then for
5865  * anything other than macro definitions, corresponding "using" directives
5866  * must also be added to <ctype.h>.
5867  */
5868 
5869 
5870 
5871 
5872 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
5873 /*
5874  * CDDL HEADER START
5875  *
5876  * The contents of this file are subject to the terms of the
5877  * Common Development and Distribution License (the "License").
5878  * You may not use this file except in compliance with the License.
5879  *
5880  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5881  * or http://www.opensolaris.org/os/licensing.
5882  * See the License for the specific language governing permissions
5883  * and limitations under the License.
5884  *
5885  * When distributing Covered Code, include this CDDL HEADER in each
5886  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5887  * If applicable, add the following below this CDDL HEADER, with the
5888  * fields enclosed by brackets "[]" replaced with your own identifying
5889  * information: Portions Copyright [yyyy] [name of copyright owner]
5890  *
5891  * CDDL HEADER END
5892  */
5893 
5894 /*
5895  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5896  * Copyright 2016 Joyent, Inc.
5897  *
5898  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5899  * Use is subject to license terms.
5900  */
5901 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 2
5902 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h"
5903 extern unsigned char __ctype[];
5904 extern unsigned int *__ctype_mask;
5905 extern int *__trans_upper;
5906 extern int *__trans_lower;
5907 
5908 
5909 
5910 
5911 
5912 /*
5913  * These used to be macros, which while more efficient, precludes operation
5914  * with thread specific locales.  The old macros will still work, but new
5915  * code compiles to use functions.  This is specifically permitted by the
5916  * various standards.  Only _tolower and _toupper were required to be
5917  * delivered in macro form.
5918  */
5919 extern int isalnum(int);
5920 extern int isalpha(int);
5921 extern int iscntrl(int);
5922 extern int isdigit(int);
5923 extern int isgraph(int);
5924 extern int islower(int);
5925 extern int isprint(int);
5926 extern int ispunct(int);
5927 extern int isspace(int);
5928 extern int isupper(int);
5929 extern int isxdigit(int);
5930 
5931 extern int isblank(int);
5932 
5933 
5934 extern int tolower(int);
5935 extern int toupper(int);
5936 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 2
5937 
5938 /*
5939  * Allow global visibility for symbols defined in
5940  * C++ "std" namespace in <iso/ctype_iso.h>.
5941  */
5942 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h"
5943 extern int isascii(int);
5944 extern int toascii(int);
5945 extern int _tolower(int);
5946 extern int _toupper(int);
5947 # 98 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h"
5948 extern int isalnum_l(int, locale_t);
5949 extern int isalpha_l(int, locale_t);
5950 extern int isblank_l(int, locale_t);
5951 extern int iscntrl_l(int, locale_t);
5952 extern int isdigit_l(int, locale_t);
5953 extern int isgraph_l(int, locale_t);
5954 extern int islower_l(int, locale_t);
5955 extern int isprint_l(int, locale_t);
5956 extern int ispunct_l(int, locale_t);
5957 extern int isspace_l(int, locale_t);
5958 extern int isupper_l(int, locale_t);
5959 extern int isxdigit_l(int, locale_t);
5960 extern int tolower_l(int, locale_t);
5961 extern int toupper_l(int, locale_t);
5962 # 58 "../common/zones_utils.c" 2
5963 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5964 /*
5965  * CDDL HEADER START
5966  *
5967  * The contents of this file are subject to the terms of the
5968  * Common Development and Distribution License (the "License").
5969  * You may not use this file except in compliance with the License.
5970  *
5971  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5972  * or http://www.opensolaris.org/os/licensing.
5973  * See the License for the specific language governing permissions
5974  * and limitations under the License.
5975  *
5976  * When distributing Covered Code, include this CDDL HEADER in each
5977  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5978  * If applicable, add the following below this CDDL HEADER, with the
5979  * fields enclosed by brackets "[]" replaced with your own identifying
5980  * information: Portions Copyright [yyyy] [name of copyright owner]
5981  *
5982  * CDDL HEADER END
5983  */
5984 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5985 /*	  All Rights Reserved  	*/
5986 
5987 
5988 /*
5989  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5990  * Use is subject to license terms.
5991  *
5992  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5993  * Copyright 2016 Joyent, Inc.
5994  */
5995 # 59 "../common/zones_utils.c" 2
5996 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
5997 /*
5998  * CDDL HEADER START
5999  *
6000  * The contents of this file are subject to the terms of the
6001  * Common Development and Distribution License (the "License").
6002  * You may not use this file except in compliance with the License.
6003  *
6004  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6005  * or http://www.opensolaris.org/os/licensing.
6006  * See the License for the specific language governing permissions
6007  * and limitations under the License.
6008  *
6009  * When distributing Covered Code, include this CDDL HEADER in each
6010  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6011  * If applicable, add the following below this CDDL HEADER, with the
6012  * fields enclosed by brackets "[]" replaced with your own identifying
6013  * information: Portions Copyright [yyyy] [name of copyright owner]
6014  *
6015  * CDDL HEADER END
6016  */
6017 
6018 /*
6019  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
6020  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
6021  */
6022 
6023 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
6024 /*	  All Rights Reserved  	*/
6025 
6026 /*
6027  * University Copyright- Copyright (c) 1982, 1986, 1988
6028  * The Regents of the University of California
6029  * All Rights Reserved
6030  *
6031  * University Acknowledgment- Portions of this document are derived from
6032  * software developed by the University of California, Berkeley, and its
6033  * contributors.
6034  */
6035 
6036 
6037 
6038 
6039 
6040 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6041 /*
6042  * CDDL HEADER START
6043  *
6044  * The contents of this file are subject to the terms of the
6045  * Common Development and Distribution License (the "License").
6046  * You may not use this file except in compliance with the License.
6047  *
6048  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6049  * or http://www.opensolaris.org/os/licensing.
6050  * See the License for the specific language governing permissions
6051  * and limitations under the License.
6052  *
6053  * When distributing Covered Code, include this CDDL HEADER in each
6054  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6055  * If applicable, add the following below this CDDL HEADER, with the
6056  * fields enclosed by brackets "[]" replaced with your own identifying
6057  * information: Portions Copyright [yyyy] [name of copyright owner]
6058  *
6059  * CDDL HEADER END
6060  */
6061 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6062 /*	  All Rights Reserved  	*/
6063 
6064 
6065 /*
6066  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6067  * Use is subject to license terms.
6068  *
6069  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6070  * Copyright 2016 Joyent, Inc.
6071  */
6072 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
6073 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
6074 /*
6075  * CDDL HEADER START
6076  *
6077  * The contents of this file are subject to the terms of the
6078  * Common Development and Distribution License (the "License").
6079  * You may not use this file except in compliance with the License.
6080  *
6081  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6082  * or http://www.opensolaris.org/os/licensing.
6083  * See the License for the specific language governing permissions
6084  * and limitations under the License.
6085  *
6086  *
6087  * When distributing Covered Code, include this CDDL HEADER in each
6088  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6089  * If applicable, add the following below this CDDL HEADER, with the
6090  * fields enclosed by brackets "[]" replaced with your own identifying
6091  * information: Portions Copyright [yyyy] [name of copyright owner]
6092  *
6093  * CDDL HEADER END
6094  */
6095 
6096 /*
6097  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
6098  * Use is subject to license terms.
6099  * Copyright 2016 Joyent, Inc.
6100  */
6101 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
6102 
6103 
6104 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
6105 /*
6106  * This file and its contents are supplied under the terms of the
6107  * Common Development and Distribution License ("CDDL"), version 1.0.
6108  * You may only use this file in accordance with the terms of version
6109  * 1.0 of the CDDL.
6110  *
6111  * A full copy of the text of the CDDL should have accompanied this
6112  * source.  A copy of the CDDL is also available via the Internet at
6113  * http://www.illumos.org/license/CDDL.
6114  */
6115 
6116 /*
6117  * Copyright 2014-2016 PALO, Richard.
6118  */
6119 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
6120 
6121 
6122 
6123 
6124 
6125 /*
6126  * Fundamental variables; don't change too often.
6127  */
6128 
6129 /*
6130  * _POSIX_VDISABLE has historically been defined in <sys/param.h> since
6131  * an early merge with AT&T source.  It has also historically been defined
6132  * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially
6133  * required the existence of _POSIX_VDISABLE in <sys/termios.h>.
6134  * Subsequent versions of the IEEE Standard as well as the X/Open
6135  * specifications required that _POSIX_VDISABLE be defined in <unistd.h>
6136  * while still allowing for it's existence in other headers.  With the
6137  * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>.
6138  */
6139 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6140     /* compatibility purposes only	*/
6141     /* and will be removed in a	*/
6142     /* later release		*/
6143 
6144 /*
6145  * These define the maximum and minimum allowable values of the
6146  * configurable parameter NGROUPS_MAX.
6147  */
6148 
6149 
6150 
6151 
6152 /*
6153  * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h.
6154  */
6155 
6156 
6157 /*
6158  * Default process priority.  Keep it in sync with limits.h.
6159  */
6160 
6161 
6162 /*
6163  * Fundamental constants of the implementation--cannot be changed easily.
6164  */
6165 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6166 /* REMOTE -- whether machine is primary, secondary, or regular */
6167 
6168 
6169 
6170 /*
6171  * MAXPATHLEN defines the longest permissible path length,
6172  * including the terminating null, after expanding symbolic links.
6173  * TYPICALMAXPATHLEN is used in a few places as an optimization
6174  * with a local buffer on the stack to avoid kmem_alloc().
6175  * MAXSYMLINKS defines the maximum number of symbolic links
6176  * that may be expanded in a path name. It should be set high
6177  * enough to allow all legitimate uses, but halt infinite loops
6178  * reasonably quickly.
6179  * MAXNAMELEN is the length (including the terminating null) of
6180  * the longest permissible file (component) name.
6181  */
6182 
6183 
6184 
6185 
6186 
6187 /*
6188  * MAXLINKNAMELEN defines the longest possible permitted datalink name,
6189  * including the terminating NUL.  Note that this must not be larger
6190  * than related networking constants such as LIFNAMSIZ.
6191  */
6192 
6193 
6194 
6195 
6196 
6197 
6198 /*
6199  * The following are defined to be the same as
6200  * defined in /usr/include/limits.h.  They are
6201  * needed for pipe and FIFO compatibility.
6202  */
6203 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6204 /* macros replacing interleaving functions */
6205 
6206 
6207 
6208 /*
6209  * File system parameters and macros.
6210  *
6211  * The file system is made out of blocks of at most MAXBSIZE units,
6212  * with smaller units (fragments) only in the last direct block.
6213  * MAXBSIZE primarily determines the size of buffers in the buffer
6214  * pool. It may be made larger without any effect on existing
6215  * file systems; however making it smaller make make some file
6216  * systems unmountable.
6217  *
6218  * Note that the blocked devices are assumed to have DEV_BSIZE
6219  * "sectors" and that fragments must be some multiple of this size.
6220  */
6221 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6222 /*	64 bit versions of btodb and dbtob */
6223 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6224 /*
6225  * Size of arg list passed in by user.
6226  */
6227 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6228 /*
6229  * Scale factor for scaled integers used to count
6230  * %cpu time and load averages.
6231  */
6232 
6233 
6234 
6235 /*
6236  * Delay units are in microseconds.
6237  *
6238  * XXX	These macros are not part of the DDI!
6239  */
6240 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6241 /*
6242  * The following is to free utilities from machine dependencies within
6243  * an architecture. Must be included after definition of DEV_BSIZE.
6244  */
6245 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6246 /*
6247  * The following are assorted machine dependent values which can be
6248  * obtained in a machine independent manner through sysconf(2) or
6249  * sysinfo(2). In order to guarantee that these provide the expected
6250  * value at all times, the System Private interface (leading underscore)
6251  * is used.
6252  */
6253 
6254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
6255 /*
6256  * CDDL HEADER START
6257  *
6258  * The contents of this file are subject to the terms of the
6259  * Common Development and Distribution License (the "License").
6260  * You may not use this file except in compliance with the License.
6261  *
6262  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6263  * or http://www.opensolaris.org/os/licensing.
6264  * See the License for the specific language governing permissions
6265  * and limitations under the License.
6266  *
6267  * When distributing Covered Code, include this CDDL HEADER in each
6268  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6269  * If applicable, add the following below this CDDL HEADER, with the
6270  * fields enclosed by brackets "[]" replaced with your own identifying
6271  * information: Portions Copyright [yyyy] [name of copyright owner]
6272  *
6273  * CDDL HEADER END
6274  */
6275 
6276 /*
6277  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
6278  *	  All Rights Reserved
6279  *
6280  */
6281 
6282 /*
6283  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6284  * Use is subject to license terms.
6285  */
6286 
6287 /*
6288  * WARNING: This is an implementation-specific header,
6289  * its contents are not guaranteed. Applications
6290  * should include <unistd.h> and not this header.
6291  */
6292 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
6293 
6294 
6295 
6296 
6297 
6298 
6299 extern long _sysconf(int); /* System Private interface to sysconf() */
6300 # 60 "../common/zones_utils.c" 2
6301 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
6302 /*
6303  * CDDL HEADER START
6304  *
6305  * The contents of this file are subject to the terms of the
6306  * Common Development and Distribution License (the "License").
6307  * You may not use this file except in compliance with the License.
6308  *
6309  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6310  * or http://www.opensolaris.org/os/licensing.
6311  * See the License for the specific language governing permissions
6312  * and limitations under the License.
6313  *
6314  * When distributing Covered Code, include this CDDL HEADER in each
6315  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6316  * If applicable, add the following below this CDDL HEADER, with the
6317  * fields enclosed by brackets "[]" replaced with your own identifying
6318  * information: Portions Copyright [yyyy] [name of copyright owner]
6319  *
6320  * CDDL HEADER END
6321  */
6322 
6323 /*
6324  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6325  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
6326  */
6327 
6328 /*	Copyright (c) 1988 AT&T	*/
6329 /*	  All Rights Reserved  	*/
6330 
6331 
6332 
6333 
6334 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1
6335 /*
6336  * CDDL HEADER START
6337  *
6338  * The contents of this file are subject to the terms of the
6339  * Common Development and Distribution License, Version 1.0 only
6340  * (the "License").  You may not use this file except in compliance
6341  * with the License.
6342  *
6343  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6344  * or http://www.opensolaris.org/os/licensing.
6345  * See the License for the specific language governing permissions
6346  * and limitations under the License.
6347  *
6348  * When distributing Covered Code, include this CDDL HEADER in each
6349  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6350  * If applicable, add the following below this CDDL HEADER, with the
6351  * fields enclosed by brackets "[]" replaced with your own identifying
6352  * information: Portions Copyright [yyyy] [name of copyright owner]
6353  *
6354  * CDDL HEADER END
6355  */
6356 /*	Copyright (c) 1988 AT&T	*/
6357 /*	  All Rights Reserved  	*/
6358 
6359 
6360 /*
6361  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6362  * Copyright 2014 PALO, Richard.
6363  *
6364  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6365  * Use is subject to license terms.
6366  */
6367 
6368 /*
6369  * An application should not include this header directly.  Instead it
6370  * should be included only through the inclusion of other Sun headers.
6371  *
6372  * The contents of this header is limited to identifiers specified in the
6373  * C Standard.  Any new identifiers specified in future amendments to the
6374  * C Standard must be placed in this header.  If these new identifiers
6375  * are required to also be in the C++ Standard "std" namespace, then for
6376  * anything other than macro definitions, corresponding "using" directives
6377  * must also be added to <string.h>.
6378  */
6379 
6380 
6381 
6382 
6383 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6384 /*
6385  * CDDL HEADER START
6386  *
6387  * The contents of this file are subject to the terms of the
6388  * Common Development and Distribution License (the "License").
6389  * You may not use this file except in compliance with the License.
6390  *
6391  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6392  * or http://www.opensolaris.org/os/licensing.
6393  * See the License for the specific language governing permissions
6394  * and limitations under the License.
6395  *
6396  * When distributing Covered Code, include this CDDL HEADER in each
6397  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6398  * If applicable, add the following below this CDDL HEADER, with the
6399  * fields enclosed by brackets "[]" replaced with your own identifying
6400  * information: Portions Copyright [yyyy] [name of copyright owner]
6401  *
6402  * CDDL HEADER END
6403  */
6404 
6405 /*
6406  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6407  * Copyright 2016 Joyent, Inc.
6408  *
6409  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6410  * Use is subject to license terms.
6411  */
6412 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
6413 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
6414 /*
6415  * This file and its contents are supplied under the terms of the
6416  * Common Development and Distribution License ("CDDL"), version 1.0.
6417  * You may only use this file in accordance with the terms of version
6418  * 1.0 of the CDDL.
6419  *
6420  * A full copy of the text of the CDDL should have accompanied this
6421  * source.  A copy of the CDDL is also available via the Internet at
6422  * http://www.illumos.org/license/CDDL.
6423  */
6424 
6425 /*
6426  * Copyright 2014-2016 PALO, Richard.
6427  */
6428 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
6429 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
6430 extern int memcmp(const void *, const void *, size_t);
6431 extern void *memcpy(void *, const void *, size_t);
6432 extern void *memmove(void *, const void *, size_t);
6433 extern void *memset(void *, int, size_t);
6434 extern char *strcat(char *, const char *);
6435 extern int strcmp(const char *, const char *);
6436 extern char *strcpy(char *, const char *);
6437 extern int strcoll(const char *, const char *);
6438 extern size_t strcspn(const char *, const char *);
6439 extern char *strerror(int);
6440 extern size_t strlen(const char *);
6441 extern char *strncat(char *, const char *, size_t);
6442 extern int strncmp(const char *, const char *, size_t);
6443 extern char *strncpy(char *, const char *, size_t);
6444 extern size_t strspn(const char *, const char *);
6445 extern char *strtok(char *, const char *);
6446 extern size_t strxfrm(char *, const char *, size_t);
6447 
6448 /*
6449  * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the
6450  * function signatures for the following functions be replaced by
6451  * two declarations, both of which have the same behavior.
6452  */
6453 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
6454 extern void *memchr(const void *, int, size_t);
6455 extern char *strchr(const char *, int);
6456 extern char *strpbrk(const char *, const char *);
6457 extern char *strrchr(const char *, int);
6458 extern char *strstr(const char *, const char *);
6459 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2
6460 
6461 /*
6462  * Allow global visibility for symbols defined in
6463  * C++ "std" namespace in <iso/string_iso.h>.
6464  */
6465 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h"
6466 extern int strerror_r(int, char *, size_t);
6467 
6468 
6469 
6470 
6471 
6472 extern char *strtok_r(char *, const char *,
6473  char **);
6474 
6475 
6476 
6477 
6478 extern void *memccpy(void *, const void *,
6479   int, size_t);
6480 
6481 
6482 
6483 
6484 extern char *stpcpy(char *, const char *);
6485 extern char *stpncpy(char *, const char *, size_t);
6486 extern char *strndup(const char *, size_t);
6487 extern size_t strnlen(const char *, size_t);
6488 extern char *strsignal(int);
6489 
6490 
6491 
6492 
6493 
6494 
6495 extern int strcoll_l(const char *, const char *, locale_t);
6496 extern size_t strxfrm_l(char *, const char *,
6497     size_t, locale_t);
6498 extern int strcasecmp_l(const char *, const char *, locale_t);
6499 extern int strncasecmp_l(const char *, const char *, size_t, locale_t);
6500 extern char *strerror_l(int, locale_t);
6501 
6502 
6503 
6504 
6505 
6506 /* Note that some of these are also declared in strings.h for XPG4_2+ */
6507 extern void explicit_bzero(void *, size_t);
6508 extern int uucopy(const void *, void *, size_t);
6509 extern int uucopystr(const void *, void *, size_t);
6510 extern int ffs(int);
6511 extern int ffsl(long);
6512 extern int ffsll(long long);
6513 extern int fls(int);
6514 extern int flsl(long);
6515 extern int flsll(long long);
6516 extern void *memmem(const void *, size_t, const void *, size_t);
6517 extern char *strcasestr(const char *, const char *);
6518 extern char *strnstr(const char *, const char *, size_t);
6519 extern size_t strlcpy(char *, const char *, size_t);
6520 extern size_t strlcat(char *, const char *, size_t);
6521 extern char *strsep(char **stringp, const char *delim);
6522 extern char *strchrnul(const char *, int);
6523 extern char *strcasestr_l(const char *, const char *, locale_t);
6524 extern int strcasecmp(const char *, const char *);
6525 extern int strncasecmp(const char *, const char *, size_t);
6526 
6527 
6528 
6529 
6530 
6531 extern char *strdup(const char *);
6532 
6533 
6534 
6535 
6536 
6537 
6538 /*
6539  * gcc provides this inlining facility but Studio C does not.
6540  * We should use it exclusively once Studio C also provides it.
6541  */
6542 extern void *__builtin_alloca(size_t);
6543 # 61 "../common/zones_utils.c" 2
6544 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 1
6545 /*
6546  * CDDL HEADER START
6547  *
6548  * The contents of this file are subject to the terms of the
6549  * Common Development and Distribution License, Version 1.0 only
6550  * (the "License").  You may not use this file except in compliance
6551  * with the License.
6552  *
6553  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6554  * or http://www.opensolaris.org/os/licensing.
6555  * See the License for the specific language governing permissions
6556  * and limitations under the License.
6557  *
6558  * When distributing Covered Code, include this CDDL HEADER in each
6559  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6560  * If applicable, add the following below this CDDL HEADER, with the
6561  * fields enclosed by brackets "[]" replaced with your own identifying
6562  * information: Portions Copyright [yyyy] [name of copyright owner]
6563  *
6564  * CDDL HEADER END
6565  */
6566 /*
6567  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6568  *
6569  * Copyright (c) 1995, 1996, by Sun Microsystems, Inc.
6570  * All rights reserved.
6571  */
6572 
6573 
6574 
6575 
6576 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6577 /*
6578  * CDDL HEADER START
6579  *
6580  * The contents of this file are subject to the terms of the
6581  * Common Development and Distribution License (the "License").
6582  * You may not use this file except in compliance with the License.
6583  *
6584  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6585  * or http://www.opensolaris.org/os/licensing.
6586  * See the License for the specific language governing permissions
6587  * and limitations under the License.
6588  *
6589  * When distributing Covered Code, include this CDDL HEADER in each
6590  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6591  * If applicable, add the following below this CDDL HEADER, with the
6592  * fields enclosed by brackets "[]" replaced with your own identifying
6593  * information: Portions Copyright [yyyy] [name of copyright owner]
6594  *
6595  * CDDL HEADER END
6596  */
6597 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6598 /*	  All Rights Reserved  	*/
6599 
6600 
6601 /*
6602  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6603  * Use is subject to license terms.
6604  *
6605  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6606  * Copyright 2016 Joyent, Inc.
6607  */
6608 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
6609 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6610 /*
6611  * CDDL HEADER START
6612  *
6613  * The contents of this file are subject to the terms of the
6614  * Common Development and Distribution License (the "License").
6615  * You may not use this file except in compliance with the License.
6616  *
6617  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6618  * or http://www.opensolaris.org/os/licensing.
6619  * See the License for the specific language governing permissions
6620  * and limitations under the License.
6621  *
6622  * When distributing Covered Code, include this CDDL HEADER in each
6623  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6624  * If applicable, add the following below this CDDL HEADER, with the
6625  * fields enclosed by brackets "[]" replaced with your own identifying
6626  * information: Portions Copyright [yyyy] [name of copyright owner]
6627  *
6628  * CDDL HEADER END
6629  */
6630 
6631 /*
6632  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6633  * Copyright 2016 Joyent, Inc.
6634  *
6635  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6636  * Use is subject to license terms.
6637  */
6638 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
6639 
6640 
6641 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
6642 /*
6643  * CDDL HEADER START
6644  *
6645  * The contents of this file are subject to the terms of the
6646  * Common Development and Distribution License (the "License").
6647  * You may not use this file except in compliance with the License.
6648  *
6649  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6650  * or http://www.opensolaris.org/os/licensing.
6651  * See the License for the specific language governing permissions
6652  * and limitations under the License.
6653  *
6654  * When distributing Covered Code, include this CDDL HEADER in each
6655  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6656  * If applicable, add the following below this CDDL HEADER, with the
6657  * fields enclosed by brackets "[]" replaced with your own identifying
6658  * information: Portions Copyright [yyyy] [name of copyright owner]
6659  *
6660  * CDDL HEADER END
6661  */
6662 
6663 /*
6664  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6665  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
6666  */
6667 
6668 /*	Copyright (c) 1988 AT&T	*/
6669 /*	  All Rights Reserved  	*/
6670 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
6671 
6672 
6673 
6674 
6675 
6676 
6677 extern int bcmp(const void *, const void *, size_t);
6678 extern void bcopy(const void *, void *, size_t);
6679 extern void bzero(void *, size_t);
6680 
6681 extern char *index(const char *, int);
6682 extern char *rindex(const char *, int);
6683 
6684 /*
6685  * X/Open System Interfaces and Headers, Issue 4, Version 2, defines
6686  * both <string.h> and <strings.h>.  The namespace requirements
6687  * do not permit the visibility of anything other than what is
6688  * specifically defined for each of these headers.  As a result,
6689  * inclusion of <string.h> would result in declarations not allowed
6690  * in <strings.h>, and making the following prototypes visible for
6691  * anything other than X/Open UNIX Extension would result in
6692  * conflicts with what is now in <string.h>.
6693  */
6694 # 62 "../common/zones_utils.c" 2
6695 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1
6696 /*
6697  * CDDL HEADER START
6698  *
6699  * The contents of this file are subject to the terms of the
6700  * Common Development and Distribution License (the "License").
6701  * You may not use this file except in compliance with the License.
6702  *
6703  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6704  * or http://www.opensolaris.org/os/licensing.
6705  * See the License for the specific language governing permissions
6706  * and limitations under the License.
6707  *
6708  * When distributing Covered Code, include this CDDL HEADER in each
6709  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6710  * If applicable, add the following below this CDDL HEADER, with the
6711  * fields enclosed by brackets "[]" replaced with your own identifying
6712  * information: Portions Copyright [yyyy] [name of copyright owner]
6713  *
6714  * CDDL HEADER END
6715  */
6716 
6717 /*
6718  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6719  * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
6720  */
6721 
6722 /*	Copyright (c) 1990, 1991 UNIX System Laboratories, Inc.	*/
6723 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T	*/
6724 /*	All Rights Reserved	*/
6725 
6726 
6727 
6728 
6729 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6730 /*
6731  * CDDL HEADER START
6732  *
6733  * The contents of this file are subject to the terms of the
6734  * Common Development and Distribution License (the "License").
6735  * You may not use this file except in compliance with the License.
6736  *
6737  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6738  * or http://www.opensolaris.org/os/licensing.
6739  * See the License for the specific language governing permissions
6740  * and limitations under the License.
6741  *
6742  * When distributing Covered Code, include this CDDL HEADER in each
6743  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6744  * If applicable, add the following below this CDDL HEADER, with the
6745  * fields enclosed by brackets "[]" replaced with your own identifying
6746  * information: Portions Copyright [yyyy] [name of copyright owner]
6747  *
6748  * CDDL HEADER END
6749  */
6750 
6751 /*
6752  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6753  * Copyright 2016 Joyent, Inc.
6754  *
6755  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6756  * Use is subject to license terms.
6757  */
6758 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2
6759 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6760 /*
6761  * CDDL HEADER START
6762  *
6763  * The contents of this file are subject to the terms of the
6764  * Common Development and Distribution License (the "License").
6765  * You may not use this file except in compliance with the License.
6766  *
6767  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6768  * or http://www.opensolaris.org/os/licensing.
6769  * See the License for the specific language governing permissions
6770  * and limitations under the License.
6771  *
6772  * When distributing Covered Code, include this CDDL HEADER in each
6773  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6774  * If applicable, add the following below this CDDL HEADER, with the
6775  * fields enclosed by brackets "[]" replaced with your own identifying
6776  * information: Portions Copyright [yyyy] [name of copyright owner]
6777  *
6778  * CDDL HEADER END
6779  */
6780 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6781 /*	  All Rights Reserved  	*/
6782 
6783 
6784 /*
6785  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6786  * Use is subject to license terms.
6787  *
6788  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6789  * Copyright 2016 Joyent, Inc.
6790  */
6791 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2
6792 
6793 
6794 
6795 
6796 
6797 /*
6798  * The implementation specific header <sys/time_impl.h> includes a
6799  * definition for timestruc_t needed by the stat structure.  However,
6800  * including either <time.h>, which includes <sys/time_impl.h>, or
6801  * including <sys/time_impl.h> directly will break both X/Open and
6802  * POSIX namespace. Preceeding tag, structure, and structure member
6803  * names with underscores eliminates the namespace breakage and at the
6804  * same time, with unique type names, eliminates the possibility of
6805  * timespec_t or timestruct_t naming conflicts that could otherwise
6806  * result based on the order of inclusion of <sys/stat.h> and
6807  * <sys/time.h>.  The header <sys/time_std_impl.h> contains the
6808  * standards namespace safe versions of these definitions.
6809  */
6810 
6811 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
6812 /*
6813  * CDDL HEADER START
6814  *
6815  * The contents of this file are subject to the terms of the
6816  * Common Development and Distribution License, Version 1.0 only
6817  * (the "License").  You may not use this file except in compliance
6818  * with the License.
6819  *
6820  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6821  * or http://www.opensolaris.org/os/licensing.
6822  * See the License for the specific language governing permissions
6823  * and limitations under the License.
6824  *
6825  * When distributing Covered Code, include this CDDL HEADER in each
6826  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6827  * If applicable, add the following below this CDDL HEADER, with the
6828  * fields enclosed by brackets "[]" replaced with your own identifying
6829  * information: Portions Copyright [yyyy] [name of copyright owner]
6830  *
6831  * CDDL HEADER END
6832  */
6833 /*
6834  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
6835  * Use is subject to license terms.
6836  */
6837 
6838 /*
6839  * Implementation-private.  This header should not be included
6840  * directly by an application.  The application should instead
6841  * include <time.h> which includes this header conditionally
6842  * depending on which feature test macros are defined. By default,
6843  * this header is included by <time.h>.  X/Open and POSIX
6844  * standards requirements result in this header being included
6845  * by <time.h> only under a restricted set of conditions.
6846  */
6847 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2
6848 
6849 
6850 
6851 
6852 
6853 
6854 /*
6855  * stat structure, used by stat(2) and fstat(2)
6856  */
6857 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6858 /*
6859  * large file compilation environment setup
6860  */
6861 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6862 /*
6863  * In the LP64 compilation environment, map large file interfaces
6864  * back to native versions where possible.
6865  */
6866 
6867 
6868 
6869 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6870 #pragma redefine_extname fstat64 fstat
6871 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6872 
6873 
6874 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6875 #pragma redefine_extname stat64 stat
6876 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6877 
6878 
6879 
6880 
6881 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6882 #pragma redefine_extname fstatat64 fstatat
6883 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6884 
6885 
6886 
6887 
6888 # 196 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6889 #pragma redefine_extname lstat64 lstat
6890 # 196 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6891 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6892 /*
6893  * User level stat structure definitions.
6894  */
6895 
6896 
6897 
6898 struct stat {
6899  dev_t st_dev;
6900  ino_t st_ino;
6901  mode_t st_mode;
6902  nlink_t st_nlink;
6903  uid_t st_uid;
6904  gid_t st_gid;
6905  dev_t st_rdev;
6906  off_t st_size;
6907 
6908  timestruc_t st_atim;
6909  timestruc_t st_mtim;
6910  timestruc_t st_ctim;
6911 
6912 
6913 
6914 
6915 
6916  blksize_t st_blksize;
6917  blkcnt_t st_blocks;
6918  char st_fstype[16];
6919 };
6920 # 273 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6921 /* transitional large file interface version */
6922 
6923 
6924 
6925 
6926 struct stat64 {
6927  dev_t st_dev;
6928  ino_t st_ino;
6929  mode_t st_mode;
6930  nlink_t st_nlink;
6931  uid_t st_uid;
6932  gid_t st_gid;
6933  dev_t st_rdev;
6934  off_t st_size;
6935 
6936  timestruc_t st_atim;
6937  timestruc_t st_mtim;
6938  timestruc_t st_ctim;
6939 
6940 
6941 
6942 
6943 
6944  blksize_t st_blksize;
6945  blkcnt_t st_blocks;
6946  char st_fstype[16];
6947 };
6948 # 401 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6949 /* MODE MASKS */
6950 
6951 /* de facto standard definitions */
6952 
6953 
6954 
6955 
6956 
6957 
6958 /* XENIX definitions are not relevant to Solaris */
6959 # 428 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6960 /* the following macros are for POSIX conformance */
6961 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6962 /* POSIX.4 macros */
6963 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6964  /* || defined(_XPG7) */
6965 /* for use with futimens() and utimensat() */
6966 # 486 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6967 extern int fchmod(int, mode_t);
6968 
6969 
6970 extern int chmod(const char *, mode_t);
6971 extern int mkdir(const char *, mode_t);
6972 extern int mkfifo(const char *, mode_t);
6973 extern mode_t umask(mode_t);
6974 
6975 /* transitional large file interfaces */
6976 
6977 
6978 extern int fstat64(int, struct stat64 *);
6979 extern int stat64(const char *, struct stat64 *);
6980 extern int lstat64(const char *, struct stat64 *);
6981 
6982 
6983 extern int fstatat64(int, const char *, struct stat64 *, int);
6984 
6985 
6986 
6987 
6988 
6989  /* || defined(_XPG7) */
6990 extern int mkdirat(int, const char *, mode_t);
6991 extern int mkfifoat(int, const char *, mode_t);
6992 extern int mknodat(int, const char *, mode_t, dev_t);
6993 extern int fchmodat(int, const char *, mode_t, int);
6994 extern int futimens(int, const struct timespec[2]);
6995 extern int utimensat(int, const char *, const struct timespec[2], int);
6996 
6997 
6998 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 1
6999 /*
7000  * CDDL HEADER START
7001  *
7002  * The contents of this file are subject to the terms of the
7003  * Common Development and Distribution License (the "License").
7004  * You may not use this file except in compliance with the License.
7005  *
7006  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7007  * or http://www.opensolaris.org/os/licensing.
7008  * See the License for the specific language governing permissions
7009  * and limitations under the License.
7010  *
7011  * When distributing Covered Code, include this CDDL HEADER in each
7012  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7013  * If applicable, add the following below this CDDL HEADER, with the
7014  * fields enclosed by brackets "[]" replaced with your own identifying
7015  * information: Portions Copyright [yyyy] [name of copyright owner]
7016  *
7017  * CDDL HEADER END
7018  */
7019 
7020 /*
7021  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
7022  * Use is subject to license terms.
7023  */
7024 
7025 
7026 
7027 
7028 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7029 /*
7030  * CDDL HEADER START
7031  *
7032  * The contents of this file are subject to the terms of the
7033  * Common Development and Distribution License (the "License").
7034  * You may not use this file except in compliance with the License.
7035  *
7036  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7037  * or http://www.opensolaris.org/os/licensing.
7038  * See the License for the specific language governing permissions
7039  * and limitations under the License.
7040  *
7041  * When distributing Covered Code, include this CDDL HEADER in each
7042  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7043  * If applicable, add the following below this CDDL HEADER, with the
7044  * fields enclosed by brackets "[]" replaced with your own identifying
7045  * information: Portions Copyright [yyyy] [name of copyright owner]
7046  *
7047  * CDDL HEADER END
7048  */
7049 
7050 /*
7051  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7052  * Copyright 2016 Joyent, Inc.
7053  *
7054  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7055  * Use is subject to license terms.
7056  */
7057 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2
7058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7059 /*
7060  * CDDL HEADER START
7061  *
7062  * The contents of this file are subject to the terms of the
7063  * Common Development and Distribution License (the "License").
7064  * You may not use this file except in compliance with the License.
7065  *
7066  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7067  * or http://www.opensolaris.org/os/licensing.
7068  * See the License for the specific language governing permissions
7069  * and limitations under the License.
7070  *
7071  * When distributing Covered Code, include this CDDL HEADER in each
7072  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7073  * If applicable, add the following below this CDDL HEADER, with the
7074  * fields enclosed by brackets "[]" replaced with your own identifying
7075  * information: Portions Copyright [yyyy] [name of copyright owner]
7076  *
7077  * CDDL HEADER END
7078  */
7079 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7080 /*	  All Rights Reserved  	*/
7081 
7082 
7083 /*
7084  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7085  * Use is subject to license terms.
7086  *
7087  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7088  * Copyright 2016 Joyent, Inc.
7089  */
7090 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2
7091 
7092 
7093 
7094 
7095 
7096 /*
7097  * The implementation specific header for <sys/stat.h>
7098  */
7099 
7100 
7101 
7102 
7103 
7104 extern int fstat(int, struct stat *);
7105 extern int stat(const char *, struct stat *);
7106 
7107 
7108 
7109 extern int fstatat(int, const char *, struct stat *, int);
7110 
7111 
7112 
7113 extern int lstat(const char *, struct stat *);
7114 extern int mknod(const char *, mode_t, dev_t);
7115 # 518 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2
7116 # 63 "../common/zones_utils.c" 2
7117 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1
7118 /*
7119  * CDDL HEADER START
7120  *
7121  * The contents of this file are subject to the terms of the
7122  * Common Development and Distribution License, Version 1.0 only
7123  * (the "License").  You may not use this file except in compliance
7124  * with the License.
7125  *
7126  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7127  * or http://www.opensolaris.org/os/licensing.
7128  * See the License for the specific language governing permissions
7129  * and limitations under the License.
7130  *
7131  * When distributing Covered Code, include this CDDL HEADER in each
7132  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7133  * If applicable, add the following below this CDDL HEADER, with the
7134  * fields enclosed by brackets "[]" replaced with your own identifying
7135  * information: Portions Copyright [yyyy] [name of copyright owner]
7136  *
7137  * CDDL HEADER END
7138  */
7139 /*	Copyright (c) 1988 AT&T	*/
7140 /*	  All Rights Reserved	*/
7141 
7142 /*
7143  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7144  *
7145  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7146  * Use is subject to license terms.
7147  */
7148 
7149 
7150 
7151 
7152 /*
7153  * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999
7154  * variable argument definitions.  For legacy support, it also defines
7155  * the pre-standard variable argument definitions.
7156  *
7157  * The varargs definitions within this header are defined in terms of
7158  * implementation definitions.  These implementation definitions reside
7159  * in <sys/va_list.h>.  This organization enables protected use of
7160  * the implementation by other standard headers without introducing
7161  * names into the users' namespace.
7162  */
7163 
7164 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1
7165 /*
7166  * CDDL HEADER START
7167  *
7168  * The contents of this file are subject to the terms of the
7169  * Common Development and Distribution License, Version 1.0 only
7170  * (the "License").  You may not use this file except in compliance
7171  * with the License.
7172  *
7173  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7174  * or http://www.opensolaris.org/os/licensing.
7175  * See the License for the specific language governing permissions
7176  * and limitations under the License.
7177  *
7178  * When distributing Covered Code, include this CDDL HEADER in each
7179  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7180  * If applicable, add the following below this CDDL HEADER, with the
7181  * fields enclosed by brackets "[]" replaced with your own identifying
7182  * information: Portions Copyright [yyyy] [name of copyright owner]
7183  *
7184  * CDDL HEADER END
7185  */
7186 /*	Copyright (c) 1988 AT&T	*/
7187 /*	  All Rights Reserved  	*/
7188 
7189 
7190 /*
7191  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7192  * Use is subject to license terms.
7193  */
7194 
7195 /*
7196  * An application should not include this header directly.  Instead it
7197  * should be included only through the inclusion of other Sun headers.
7198  *
7199  * The contents of this header is limited to identifiers specified in the
7200  * C Standard.  Any new identifiers specified in future amendments to the
7201  * C Standard must be placed in this header.  If these new identifiers
7202  * are required to also be in the C++ Standard "std" namespace, then for
7203  * anything other than macro definitions, corresponding "using" directives
7204  * must also be added to <stdarg.h>.
7205  */
7206 
7207 
7208 
7209 
7210 #pragma ident "%Z%%M%	%I%	%E% SMI"
7211 
7212 /*
7213  * This header defines the ISO C 1989 and ISO C++ 1998 variable
7214  * argument definitions.
7215  *
7216  * The varargs definitions within this header are defined in terms of
7217  * implementation definitions.  These implementation definitions reside
7218  * in <sys/va_impl.h>.  This organization enables protected use of
7219  * the implementation by other standard headers without introducing
7220  * names into the users' namespace.
7221  */
7222 
7223 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 1
7224 /*
7225  * CDDL HEADER START
7226  *
7227  * The contents of this file are subject to the terms of the
7228  * Common Development and Distribution License, Version 1.0 only
7229  * (the "License").  You may not use this file except in compliance
7230  * with the License.
7231  *
7232  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7233  * or http://www.opensolaris.org/os/licensing.
7234  * See the License for the specific language governing permissions
7235  * and limitations under the License.
7236  *
7237  * When distributing Covered Code, include this CDDL HEADER in each
7238  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7239  * If applicable, add the following below this CDDL HEADER, with the
7240  * fields enclosed by brackets "[]" replaced with your own identifying
7241  * information: Portions Copyright [yyyy] [name of copyright owner]
7242  *
7243  * CDDL HEADER END
7244  */
7245 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7246 /*	  All Rights Reserved	*/
7247 
7248 
7249 /*
7250  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7251  *
7252  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7253  * Use is subject to license terms.
7254  */
7255 
7256 
7257 
7258 
7259 /*
7260  * An application should not include this header directly.  Instead it
7261  * should be included only through the inclusion of other Sun headers,
7262  * specifically <stdarg.h> and <varargs.h>.
7263  *
7264  * This header serves two purposes.
7265  *
7266  * First, it provides a common set of definitions that implementations
7267  * of the various standards for variable argument lists may use.  These
7268  * various standards are implemented in <varargs.h>, <stdarg.h>,
7269  * <iso/stdarg_iso.h>, <iso/stdarg_c99.h>, and <sys/varargs.h>.
7270  *
7271  * Second, it provides varying implementations of the common definitions,
7272  * depending upon the compiler.
7273  */
7274 
7275 /*
7276  * The common definitions exported by this header or compilers using
7277  * this header are:
7278  *
7279  * the macro __va_start(list, name) starting the list iteration
7280  * the macro __va_arg(list, type) getting the current arg and iterating
7281  * the macro __va_copy(to, from) to bookmark the list iteration
7282  * the macro __va_end(list) to end the iteration
7283  *
7284  * In addition, the following are exported via inclusion of <sys/va_list.h>:
7285  *
7286  * the identifier __builtin_va_alist for the variable list pseudo parameter
7287  * the type __va_alist_type for the variable list pseudo parameter
7288  * the type __va_list defining the type of the variable list iterator
7289  */
7290 
7291 /*
7292  * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and
7293  * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor
7294  * macros (e.g. __sparc) to determine the protocol appropriate to the
7295  * current compilation.  It is intended that the compilation system
7296  * define the feature, processor, and compiler macros, not the user of
7297  * the system.
7298  */
7299 
7300 /*
7301  * Many compilation systems depend upon the use of special functions
7302  * built into the the compilation system to handle variable argument
7303  * lists.  These built-in symbols may include one or more of the
7304  * following:
7305  *
7306  *      __builtin_va_alist
7307  *      __builtin_va_start
7308  *      __builtin_va_arg_incr
7309  *      __builtin_stdarg_start
7310  *      __builtin_va_end
7311  *      __builtin_va_arg
7312  *      __builtin_va_copy
7313  */
7314 
7315 /*
7316  * The following are defined in <sys/va_list.h>:
7317  *
7318  *      __va_alist_type
7319  *      __va_void()
7320  *      __va_ptr_base
7321  *      ISA definitions via inclusion of <sys/isa_defs.h>
7322  *
7323  * Inclusion of this header also makes visible the symbols in <sys/va_list.h>.
7324  * This header is included in <varargs.h>, <sys/varargs.h> and in <stdarg.h>
7325  * via inclusion of <iso/stdarg_iso.h>.
7326  */
7327 
7328 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
7329 /*
7330  * CDDL HEADER START
7331  *
7332  * The contents of this file are subject to the terms of the
7333  * Common Development and Distribution License, Version 1.0 only
7334  * (the "License").  You may not use this file except in compliance
7335  * with the License.
7336  *
7337  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7338  * or http://www.opensolaris.org/os/licensing.
7339  * See the License for the specific language governing permissions
7340  * and limitations under the License.
7341  *
7342  * When distributing Covered Code, include this CDDL HEADER in each
7343  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7344  * If applicable, add the following below this CDDL HEADER, with the
7345  * fields enclosed by brackets "[]" replaced with your own identifying
7346  * information: Portions Copyright [yyyy] [name of copyright owner]
7347  *
7348  * CDDL HEADER END
7349  */
7350 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7351 /*	  All Rights Reserved	*/
7352 
7353 
7354 /*
7355  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7356  *
7357  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7358  * Use is subject to license terms.
7359  */
7360 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2
7361 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2
7362 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h"
7363 typedef __va_list va_list;
7364 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2
7365 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1
7366 /*
7367  * CDDL HEADER START
7368  *
7369  * The contents of this file are subject to the terms of the
7370  * Common Development and Distribution License, Version 1.0 only
7371  * (the "License").  You may not use this file except in compliance
7372  * with the License.
7373  *
7374  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7375  * or http://www.opensolaris.org/os/licensing.
7376  * See the License for the specific language governing permissions
7377  * and limitations under the License.
7378  *
7379  * When distributing Covered Code, include this CDDL HEADER in each
7380  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7381  * If applicable, add the following below this CDDL HEADER, with the
7382  * fields enclosed by brackets "[]" replaced with your own identifying
7383  * information: Portions Copyright [yyyy] [name of copyright owner]
7384  *
7385  * CDDL HEADER END
7386  */
7387 /*	Copyright (c) 1988 AT&T	*/
7388 /*	  All Rights Reserved	*/
7389 
7390 
7391 /*
7392  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7393  * Use is subject to license terms.
7394  */
7395 
7396 
7397 
7398 
7399 #pragma ident "%Z%%M%	%I%	%E% SMI"
7400 
7401 /*
7402  * An application should not include this header directly.  Instead it
7403  * should be included only through the inclusion of other Sun headers.
7404  *
7405  * This header defines the va_copy variable argument macro, which is
7406  * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++
7407  * 1998.  Because this macro is a long-standing Solaris extension, it
7408  * is also permitted in other contexts.
7409  *
7410  * The varargs definitions within this header are defined in terms of
7411  * implementation definitions.  These implementation definitions reside
7412  * in <sys/va_list.h>.  This organization enables protected use of
7413  * the implementation by other standard headers without introducing
7414  * names into the users' namespace.
7415  */
7416 
7417 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7418 /*
7419  * CDDL HEADER START
7420  *
7421  * The contents of this file are subject to the terms of the
7422  * Common Development and Distribution License (the "License").
7423  * You may not use this file except in compliance with the License.
7424  *
7425  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7426  * or http://www.opensolaris.org/os/licensing.
7427  * See the License for the specific language governing permissions
7428  * and limitations under the License.
7429  *
7430  * When distributing Covered Code, include this CDDL HEADER in each
7431  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7432  * If applicable, add the following below this CDDL HEADER, with the
7433  * fields enclosed by brackets "[]" replaced with your own identifying
7434  * information: Portions Copyright [yyyy] [name of copyright owner]
7435  *
7436  * CDDL HEADER END
7437  */
7438 
7439 /*
7440  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7441  * Copyright 2016 Joyent, Inc.
7442  *
7443  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7444  * Use is subject to license terms.
7445  */
7446 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2
7447 
7448 
7449 
7450 
7451 
7452 /*
7453  * va_copy was initially a Solaris extension to provide a portable
7454  * way to perform a variable argument list ``bookmarking'' function.
7455  * It is now specified in the ISO/IEC 9899:1999 standard.
7456  */
7457 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2
7458 
7459 /*
7460  * Allow global visibility for symbols defined in
7461  * C++ "std" namespace in <iso/stdarg_iso.h>.
7462  */
7463 # 64 "../common/zones_utils.c" 2
7464 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1
7465 /*
7466  * CDDL HEADER START
7467  *
7468  * The contents of this file are subject to the terms of the
7469  * Common Development and Distribution License (the "License").
7470  * You may not use this file except in compliance with the License.
7471  *
7472  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7473  * or http://www.opensolaris.org/os/licensing.
7474  * See the License for the specific language governing permissions
7475  * and limitations under the License.
7476  *
7477  * When distributing Covered Code, include this CDDL HEADER in each
7478  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7479  * If applicable, add the following below this CDDL HEADER, with the
7480  * fields enclosed by brackets "[]" replaced with your own identifying
7481  * information: Portions Copyright [yyyy] [name of copyright owner]
7482  *
7483  * CDDL HEADER END
7484  */
7485 
7486 /*
7487  * Copyright (c) 2013 Gary Mills
7488  *
7489  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
7490  * Use is subject to license terms.
7491  */
7492 
7493 /*	Copyright (c) 1988 AT&T	*/
7494 /*	  All Rights Reserved  	*/
7495 
7496 
7497 
7498 
7499 
7500 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7501 /*
7502  * CDDL HEADER START
7503  *
7504  * The contents of this file are subject to the terms of the
7505  * Common Development and Distribution License (the "License").
7506  * You may not use this file except in compliance with the License.
7507  *
7508  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7509  * or http://www.opensolaris.org/os/licensing.
7510  * See the License for the specific language governing permissions
7511  * and limitations under the License.
7512  *
7513  * When distributing Covered Code, include this CDDL HEADER in each
7514  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7515  * If applicable, add the following below this CDDL HEADER, with the
7516  * fields enclosed by brackets "[]" replaced with your own identifying
7517  * information: Portions Copyright [yyyy] [name of copyright owner]
7518  *
7519  * CDDL HEADER END
7520  */
7521 
7522 /*
7523  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7524  * Copyright 2016 Joyent, Inc.
7525  *
7526  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7527  * Use is subject to license terms.
7528  */
7529 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
7530 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
7531 /*
7532  * CDDL HEADER START
7533  *
7534  * The contents of this file are subject to the terms of the
7535  * Common Development and Distribution License (the "License").
7536  * You may not use this file except in compliance with the License.
7537  *
7538  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7539  * or http://www.opensolaris.org/os/licensing.
7540  * See the License for the specific language governing permissions
7541  * and limitations under the License.
7542  *
7543  *
7544  * When distributing Covered Code, include this CDDL HEADER in each
7545  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7546  * If applicable, add the following below this CDDL HEADER, with the
7547  * fields enclosed by brackets "[]" replaced with your own identifying
7548  * information: Portions Copyright [yyyy] [name of copyright owner]
7549  *
7550  * CDDL HEADER END
7551  */
7552 
7553 /*
7554  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
7555  * Use is subject to license terms.
7556  * Copyright 2016 Joyent, Inc.
7557  */
7558 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
7559 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1
7560 /*
7561  * CDDL HEADER START
7562  *
7563  * The contents of this file are subject to the terms of the
7564  * Common Development and Distribution License, Version 1.0 only
7565  * (the "License").  You may not use this file except in compliance
7566  * with the License.
7567  *
7568  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7569  * or http://www.opensolaris.org/os/licensing.
7570  * See the License for the specific language governing permissions
7571  * and limitations under the License.
7572  *
7573  * When distributing Covered Code, include this CDDL HEADER in each
7574  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7575  * If applicable, add the following below this CDDL HEADER, with the
7576  * fields enclosed by brackets "[]" replaced with your own identifying
7577  * information: Portions Copyright [yyyy] [name of copyright owner]
7578  *
7579  * CDDL HEADER END
7580  */
7581 /*
7582  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
7583  * Use is subject to license terms.
7584  */
7585 
7586 /*	Copyright (c) 1988 AT&T	*/
7587 /*	  All Rights Reserved  	*/
7588 
7589 
7590 /*
7591  * An application should not include this header directly.  Instead it
7592  * should be included only through the inclusion of other Sun headers.
7593  *
7594  * The contents of this header is limited to identifiers specified in the
7595  * C Standard.  Any new identifiers specified in future amendments to the
7596  * C Standard must be placed in this header.  If these new identifiers
7597  * are required to also be in the C++ Standard "std" namespace, then for
7598  * anything other than macro definitions, corresponding "using" directives
7599  * must also be added to <limits.h>.
7600  */
7601 
7602 
7603 
7604 
7605 #pragma ident "%Z%%M%	%I%	%E% SMI"
7606 
7607 
7608 
7609 
7610 
7611 /*
7612  * Sizes of integral types
7613  */
7614 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h"
7615      /* min value of a "long int" */
7616 
7617      /* max value of a "long int" */
7618 
7619      /* max value of "unsigned long int" */
7620 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h"
7621      /* min value of a long long */
7622 
7623      /* max value of a long long */
7624 
7625      /* max value of "unsigned long long */
7626 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
7627 
7628 /*
7629  * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C
7630  * committee's working draft for the revision of the current ISO C standard,
7631  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
7632  * required by any standard but constitute a useful, general purpose set
7633  * of type definitions and limits which is namespace clean with respect to
7634  * all standards.
7635  */
7636 
7637 
7638 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
7639 /*
7640  * CDDL HEADER START
7641  *
7642  * The contents of this file are subject to the terms of the
7643  * Common Development and Distribution License, Version 1.0 only
7644  * (the "License").  You may not use this file except in compliance
7645  * with the License.
7646  *
7647  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7648  * or http://www.opensolaris.org/os/licensing.
7649  * See the License for the specific language governing permissions
7650  * and limitations under the License.
7651  *
7652  * When distributing Covered Code, include this CDDL HEADER in each
7653  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7654  * If applicable, add the following below this CDDL HEADER, with the
7655  * fields enclosed by brackets "[]" replaced with your own identifying
7656  * information: Portions Copyright [yyyy] [name of copyright owner]
7657  *
7658  * CDDL HEADER END
7659  */
7660 /*
7661  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7662  *
7663  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7664  * Use is subject to license terms.
7665  */
7666 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
7667 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7668 /*
7669  * ARG_MAX is calculated as follows:
7670  * NCARGS - space for other stuff on initial stack
7671  * like aux vectors, saved registers, etc..
7672  */
7673 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7674 /*
7675  * POSIX conformant definitions - An implementation may define
7676  * other symbols which reflect the actual implementation. Alternate
7677  * definitions may not be as restrictive as the POSIX definitions.
7678  */
7679 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7680 /* POSIX.1c conformant */
7681 
7682 
7683 
7684 
7685 
7686 /* UNIX 03 conformant */
7687 
7688 
7689 
7690 
7691 
7692 /*
7693  * POSIX.2 and XPG4-XSH4 conformant definitions
7694  */
7695 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7696 /* UNIX 03 conformant */
7697 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7698 /*
7699  * For dual definitions for PASS_MAX and sysconf.c
7700  */
7701 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7702     /* NLS printf() and scanf() */
7703 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7704 /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */
7705 
7706 
7707 
7708        /* of a double */
7709 
7710 
7711        /* of a "float" */
7712 
7713 
7714 /* Marked as LEGACY in SUSv1 and removed in SUSv2 */
7715 
7716 
7717        /* of a double */
7718 
7719        /* of a float */
7720 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7721 /*
7722  * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the
7723  * related text states:
7724  *
7725  * A definition of one of the values from Table 2-5 shall be omitted from the
7726  * <limits.h> on specific implementations where the corresponding value is
7727  * equal to or greater than the stated minimum, but where the value can vary
7728  * depending on the file to which it is applied. The actual value supported for
7729  * a specific pathname shall be provided by the pathconf() (5.7.1) function.
7730  *
7731  * This is clear that any machine supporting multiple file system types
7732  * and/or a network can not include this define, regardless of protection
7733  * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags.
7734  *
7735  * #define	NAME_MAX	14
7736  */
7737 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7738     /* Increased for illumos */
7739 # 65 "../common/zones_utils.c" 2
7740 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 1
7741 /*
7742  * CDDL HEADER START
7743  *
7744  * The contents of this file are subject to the terms of the
7745  * Common Development and Distribution License, Version 1.0 only
7746  * (the "License").  You may not use this file except in compliance
7747  * with the License.
7748  *
7749  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7750  * or http://www.opensolaris.org/os/licensing.
7751  * See the License for the specific language governing permissions
7752  * and limitations under the License.
7753  *
7754  * When distributing Covered Code, include this CDDL HEADER in each
7755  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7756  * If applicable, add the following below this CDDL HEADER, with the
7757  * fields enclosed by brackets "[]" replaced with your own identifying
7758  * information: Portions Copyright [yyyy] [name of copyright owner]
7759  *
7760  * CDDL HEADER END
7761  */
7762 /*	Copyright (c) 1988 AT&T	*/
7763 /*	  All Rights Reserved  	*/
7764 
7765 
7766 /*
7767  * Copyright 1999-2003 Sun Microsystems, Inc.  All rights reserved.
7768  * Use is subject to license terms.
7769  */
7770 
7771 
7772 
7773 
7774 
7775 #pragma ident "%Z%%M%	%I%	%E% SMI"
7776 
7777 /*
7778  * Error codes
7779  */
7780 
7781 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1
7782 /*
7783  * CDDL HEADER START
7784  *
7785  * The contents of this file are subject to the terms of the
7786  * Common Development and Distribution License, Version 1.0 only
7787  * (the "License").  You may not use this file except in compliance
7788  * with the License.
7789  *
7790  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7791  * or http://www.opensolaris.org/os/licensing.
7792  * See the License for the specific language governing permissions
7793  * and limitations under the License.
7794  *
7795  * When distributing Covered Code, include this CDDL HEADER in each
7796  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7797  * If applicable, add the following below this CDDL HEADER, with the
7798  * fields enclosed by brackets "[]" replaced with your own identifying
7799  * information: Portions Copyright [yyyy] [name of copyright owner]
7800  *
7801  * CDDL HEADER END
7802  */
7803 /*
7804  * Copyright 2000 Sun Microsystems, Inc.  All rights reserved.
7805  * Use is subject to license terms.
7806  */
7807 
7808 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
7809 /*	  All Rights Reserved  	*/
7810 
7811 /*
7812  * University Copyright- Copyright (c) 1982, 1986, 1988
7813  * The Regents of the University of California
7814  * All Rights Reserved
7815  *
7816  * University Acknowledgment- Portions of this document are derived from
7817  * software developed by the University of California, Berkeley, and its
7818  * contributors.
7819  */
7820 
7821 
7822 
7823 
7824 #pragma ident "%Z%%M%	%I%	%E% SMI"
7825 
7826 
7827 
7828 
7829 
7830 /*
7831  * Error codes
7832  */
7833 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7834 /* Filesystem Quotas */
7835 
7836 
7837 /* Convergent Error Returns */
7838 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7839 /* Interprocess Robust Locks */
7840 
7841 
7842 
7843 /* stream problems */
7844 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7845 /* Interprocess Robust Locks */
7846 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7847 /* shared library problems */
7848 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7849 /* BSD Networking Software */
7850  /* argument errors */
7851 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7852     /* protocol family */
7853 
7854 
7855  /* operational errors */
7856 
7857 
7858 
7859     /* of reset */
7860 
7861 
7862 
7863 
7864 
7865 /* XENIX has 135 - 142 */
7866 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7867 /* SUN Network File System */
7868 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2
7869 
7870 
7871 
7872 
7873 
7874 
7875 /*
7876  * The symbols _sys_errlist and _sys_nerr are not visible in the
7877  * LP64 libc.  Use strerror(3C) instead.
7878  */
7879 
7880 
7881 
7882 extern int *___errno();
7883 # 66 "../common/zones_utils.c" 2
7884 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 1
7885 /*
7886  * CDDL HEADER START
7887  *
7888  * The contents of this file are subject to the terms of the
7889  * Common Development and Distribution License, Version 1.0 only
7890  * (the "License").  You may not use this file except in compliance
7891  * with the License.
7892  *
7893  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7894  * or http://www.opensolaris.org/os/licensing.
7895  * See the License for the specific language governing permissions
7896  * and limitations under the License.
7897  *
7898  * When distributing Covered Code, include this CDDL HEADER in each
7899  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7900  * If applicable, add the following below this CDDL HEADER, with the
7901  * fields enclosed by brackets "[]" replaced with your own identifying
7902  * information: Portions Copyright [yyyy] [name of copyright owner]
7903  *
7904  * CDDL HEADER END
7905  */
7906 /*	Copyright (c) 1988 AT&T	*/
7907 /*	  All Rights Reserved  	*/
7908 
7909 /*
7910  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7911  *
7912  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7913  * Use is subject to license terms.
7914  */
7915 
7916 
7917 
7918 
7919 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7920 /*
7921  * CDDL HEADER START
7922  *
7923  * The contents of this file are subject to the terms of the
7924  * Common Development and Distribution License (the "License").
7925  * You may not use this file except in compliance with the License.
7926  *
7927  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7928  * or http://www.opensolaris.org/os/licensing.
7929  * See the License for the specific language governing permissions
7930  * and limitations under the License.
7931  *
7932  * When distributing Covered Code, include this CDDL HEADER in each
7933  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7934  * If applicable, add the following below this CDDL HEADER, with the
7935  * fields enclosed by brackets "[]" replaced with your own identifying
7936  * information: Portions Copyright [yyyy] [name of copyright owner]
7937  *
7938  * CDDL HEADER END
7939  */
7940 
7941 /*
7942  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7943  * Copyright 2016 Joyent, Inc.
7944  *
7945  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7946  * Use is subject to license terms.
7947  */
7948 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
7949 
7950 
7951 
7952 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7953 /*
7954  * CDDL HEADER START
7955  *
7956  * The contents of this file are subject to the terms of the
7957  * Common Development and Distribution License (the "License").
7958  * You may not use this file except in compliance with the License.
7959  *
7960  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7961  * or http://www.opensolaris.org/os/licensing.
7962  * See the License for the specific language governing permissions
7963  * and limitations under the License.
7964  *
7965  * When distributing Covered Code, include this CDDL HEADER in each
7966  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7967  * If applicable, add the following below this CDDL HEADER, with the
7968  * fields enclosed by brackets "[]" replaced with your own identifying
7969  * information: Portions Copyright [yyyy] [name of copyright owner]
7970  *
7971  * CDDL HEADER END
7972  */
7973 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7974 /*	  All Rights Reserved  	*/
7975 
7976 
7977 /*
7978  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7979  * Use is subject to license terms.
7980  *
7981  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7982  * Copyright 2016 Joyent, Inc.
7983  */
7984 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
7985 
7986 
7987 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 1
7988 /*
7989  * CDDL HEADER START
7990  *
7991  * The contents of this file are subject to the terms of the
7992  * Common Development and Distribution License, Version 1.0 only
7993  * (the "License").  You may not use this file except in compliance
7994  * with the License.
7995  *
7996  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7997  * or http://www.opensolaris.org/os/licensing.
7998  * See the License for the specific language governing permissions
7999  * and limitations under the License.
8000  *
8001  * When distributing Covered Code, include this CDDL HEADER in each
8002  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8003  * If applicable, add the following below this CDDL HEADER, with the
8004  * fields enclosed by brackets "[]" replaced with your own identifying
8005  * information: Portions Copyright [yyyy] [name of copyright owner]
8006  *
8007  * CDDL HEADER END
8008  */
8009 /*	Copyright (c) 1988 AT&T	*/
8010 /*	  All Rights Reserved  	*/
8011 
8012 
8013 /*
8014  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8015  *
8016  * Copyright (c) 1998-1999, by Sun Microsystems, Inc.
8017  * All rights reserved.
8018  */
8019 
8020 /*
8021  * An application should not include this header directly.  Instead it
8022  * should be included only through the inclusion of other Sun headers.
8023  *
8024  * The contents of this header is limited to identifiers specified in the
8025  * C Standard.  Any new identifiers specified in future amendments to the
8026  * C Standard must be placed in this header.  If these new identifiers
8027  * are required to also be in the C++ Standard "std" namespace, then for
8028  * anything other than macro definitions, corresponding "using" directives
8029  * must also be added to <signal.h>.
8030  */
8031 
8032 
8033 
8034 
8035 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1
8036 /*
8037  * CDDL HEADER START
8038  *
8039  * The contents of this file are subject to the terms of the
8040  * Common Development and Distribution License (the "License").
8041  * You may not use this file except in compliance with the License.
8042  *
8043  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8044  * or http://www.opensolaris.org/os/licensing.
8045  * See the License for the specific language governing permissions
8046  * and limitations under the License.
8047  *
8048  * When distributing Covered Code, include this CDDL HEADER in each
8049  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8050  * If applicable, add the following below this CDDL HEADER, with the
8051  * fields enclosed by brackets "[]" replaced with your own identifying
8052  * information: Portions Copyright [yyyy] [name of copyright owner]
8053  *
8054  * CDDL HEADER END
8055  */
8056 
8057 /*
8058  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
8059  * Use is subject to license terms.
8060  */
8061 
8062 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8063 /*	  All Rights Reserved  	*/
8064 
8065 /*
8066  * An application should not include this header directly.  Instead it
8067  * should be included only through the inclusion of other Sun headers.
8068  *
8069  * The contents of this header is limited to identifiers specified in the
8070  * C Standard.  Any new identifiers specified in future amendments to the
8071  * C Standard must be placed in this header.  If these new identifiers
8072  * are required to also be in the C++ Standard "std" namespace, then for
8073  * anything other than macro definitions, corresponding "using" directives
8074  * must also be added to <sys/signal.h.h>.
8075  */
8076 
8077 
8078 
8079 
8080 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
8081 /*
8082  * CDDL HEADER START
8083  *
8084  * The contents of this file are subject to the terms of the
8085  * Common Development and Distribution License (the "License").
8086  * You may not use this file except in compliance with the License.
8087  *
8088  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8089  * or http://www.opensolaris.org/os/licensing.
8090  * See the License for the specific language governing permissions
8091  * and limitations under the License.
8092  *
8093  * When distributing Covered Code, include this CDDL HEADER in each
8094  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8095  * If applicable, add the following below this CDDL HEADER, with the
8096  * fields enclosed by brackets "[]" replaced with your own identifying
8097  * information: Portions Copyright [yyyy] [name of copyright owner]
8098  *
8099  * CDDL HEADER END
8100  */
8101 
8102 /*
8103  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
8104  *	  All Rights Reserved
8105  *
8106  */
8107 
8108 /*
8109  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8110  * Use is subject to license terms.
8111  */
8112 
8113 /*
8114  * WARNING: This is an implementation-specific header,
8115  * its contents are not guaranteed. Applications
8116  * should include <unistd.h> and not this header.
8117  */
8118 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2
8119 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h"
8120 /* insert new signals here, and move _SIGRTM* appropriately */
8121 
8122 
8123 extern long _sysconf(int); /* System Private interface to sysconf() */
8124 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 2
8125 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h"
8126 typedef int sig_atomic_t;
8127 
8128 
8129 
8130 
8131 extern void (*signal(int, void (*)(int)))(int);
8132 
8133 extern int raise(int);
8134 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
8135 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1
8136 /*
8137  * CDDL HEADER START
8138  *
8139  * The contents of this file are subject to the terms of the
8140  * Common Development and Distribution License (the "License").
8141  * You may not use this file except in compliance with the License.
8142  *
8143  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8144  * or http://www.opensolaris.org/os/licensing.
8145  * See the License for the specific language governing permissions
8146  * and limitations under the License.
8147  *
8148  * When distributing Covered Code, include this CDDL HEADER in each
8149  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8150  * If applicable, add the following below this CDDL HEADER, with the
8151  * fields enclosed by brackets "[]" replaced with your own identifying
8152  * information: Portions Copyright [yyyy] [name of copyright owner]
8153  *
8154  * CDDL HEADER END
8155  */
8156 
8157 /*
8158  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
8159  * Use is subject to license terms.
8160  */
8161 
8162 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8163 /*	  All Rights Reserved  	*/
8164 
8165 /*
8166  * University Copyright- Copyright (c) 1982, 1986, 1988
8167  * The Regents of the University of California
8168  * All Rights Reserved
8169  *
8170  * University Acknowledgment- Portions of this document are derived from
8171  * software developed by the University of California, Berkeley, and its
8172  * contributors.
8173  */
8174 
8175 
8176 
8177 
8178 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
8179 /*
8180  * CDDL HEADER START
8181  *
8182  * The contents of this file are subject to the terms of the
8183  * Common Development and Distribution License (the "License").
8184  * You may not use this file except in compliance with the License.
8185  *
8186  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8187  * or http://www.opensolaris.org/os/licensing.
8188  * See the License for the specific language governing permissions
8189  * and limitations under the License.
8190  *
8191  * When distributing Covered Code, include this CDDL HEADER in each
8192  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8193  * If applicable, add the following below this CDDL HEADER, with the
8194  * fields enclosed by brackets "[]" replaced with your own identifying
8195  * information: Portions Copyright [yyyy] [name of copyright owner]
8196  *
8197  * CDDL HEADER END
8198  */
8199 
8200 /*
8201  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
8202  * Copyright 2016 Joyent, Inc.
8203  *
8204  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
8205  * Use is subject to license terms.
8206  */
8207 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
8208 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1
8209 /*
8210  * CDDL HEADER START
8211  *
8212  * The contents of this file are subject to the terms of the
8213  * Common Development and Distribution License (the "License").
8214  * You may not use this file except in compliance with the License.
8215  *
8216  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8217  * or http://www.opensolaris.org/os/licensing.
8218  * See the License for the specific language governing permissions
8219  * and limitations under the License.
8220  *
8221  * When distributing Covered Code, include this CDDL HEADER in each
8222  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8223  * If applicable, add the following below this CDDL HEADER, with the
8224  * fields enclosed by brackets "[]" replaced with your own identifying
8225  * information: Portions Copyright [yyyy] [name of copyright owner]
8226  *
8227  * CDDL HEADER END
8228  */
8229 
8230 /*
8231  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
8232  * Use is subject to license terms.
8233  */
8234 
8235 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8236 /*	  All Rights Reserved  	*/
8237 
8238 /*
8239  * An application should not include this header directly.  Instead it
8240  * should be included only through the inclusion of other Sun headers.
8241  *
8242  * The contents of this header is limited to identifiers specified in the
8243  * C Standard.  Any new identifiers specified in future amendments to the
8244  * C Standard must be placed in this header.  If these new identifiers
8245  * are required to also be in the C++ Standard "std" namespace, then for
8246  * anything other than macro definitions, corresponding "using" directives
8247  * must also be added to <sys/signal.h.h>.
8248  */
8249 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
8250 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8251 /*
8252  * We need <sys/siginfo.h> for the declaration of siginfo_t.
8253  */
8254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1
8255 /*
8256  * CDDL HEADER START
8257  *
8258  * The contents of this file are subject to the terms of the
8259  * Common Development and Distribution License, Version 1.0 only
8260  * (the "License").  You may not use this file except in compliance
8261  * with the License.
8262  *
8263  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8264  * or http://www.opensolaris.org/os/licensing.
8265  * See the License for the specific language governing permissions
8266  * and limitations under the License.
8267  *
8268  * When distributing Covered Code, include this CDDL HEADER in each
8269  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8270  * If applicable, add the following below this CDDL HEADER, with the
8271  * fields enclosed by brackets "[]" replaced with your own identifying
8272  * information: Portions Copyright [yyyy] [name of copyright owner]
8273  *
8274  * CDDL HEADER END
8275  */
8276 /*
8277  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
8278  * Use is subject to license terms.
8279  */
8280 
8281 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8282 /*	  All Rights Reserved  	*/
8283 
8284 
8285 
8286 
8287 #pragma ident "%Z%%M%	%I%	%E% SMI"
8288 
8289 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
8290 /*
8291  * CDDL HEADER START
8292  *
8293  * The contents of this file are subject to the terms of the
8294  * Common Development and Distribution License (the "License").
8295  * You may not use this file except in compliance with the License.
8296  *
8297  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8298  * or http://www.opensolaris.org/os/licensing.
8299  * See the License for the specific language governing permissions
8300  * and limitations under the License.
8301  *
8302  * When distributing Covered Code, include this CDDL HEADER in each
8303  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8304  * If applicable, add the following below this CDDL HEADER, with the
8305  * fields enclosed by brackets "[]" replaced with your own identifying
8306  * information: Portions Copyright [yyyy] [name of copyright owner]
8307  *
8308  * CDDL HEADER END
8309  */
8310 
8311 /*
8312  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
8313  * Copyright 2016 Joyent, Inc.
8314  *
8315  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
8316  * Use is subject to license terms.
8317  */
8318 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
8319 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
8320 /*
8321  * CDDL HEADER START
8322  *
8323  * The contents of this file are subject to the terms of the
8324  * Common Development and Distribution License (the "License").
8325  * You may not use this file except in compliance with the License.
8326  *
8327  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8328  * or http://www.opensolaris.org/os/licensing.
8329  * See the License for the specific language governing permissions
8330  * and limitations under the License.
8331  *
8332  * When distributing Covered Code, include this CDDL HEADER in each
8333  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8334  * If applicable, add the following below this CDDL HEADER, with the
8335  * fields enclosed by brackets "[]" replaced with your own identifying
8336  * information: Portions Copyright [yyyy] [name of copyright owner]
8337  *
8338  * CDDL HEADER END
8339  */
8340 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8341 /*	  All Rights Reserved  	*/
8342 
8343 
8344 /*
8345  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8346  * Use is subject to license terms.
8347  *
8348  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
8349  * Copyright 2016 Joyent, Inc.
8350  */
8351 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
8352 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8353 /*
8354  * The union sigval is also defined in <time.h> as per X/Open and
8355  * POSIX requirements.
8356  */
8357 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8358 /*
8359  * The sigevent structure is also defined in <time.h> as per X/Open and
8360  * POSIX requirements.
8361  */
8362 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8363 /* values of sigev_notify */
8364 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8365 /*
8366  * negative signal codes are reserved for future use for user generated
8367  * signals
8368  */
8369 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8370 /*
8371  * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and
8372  * SIGBUS) from <sys/machsig.h>
8373  */
8374 
8375 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1
8376 /*
8377  * CDDL HEADER START
8378  *
8379  * The contents of this file are subject to the terms of the
8380  * Common Development and Distribution License, Version 1.0 only
8381  * (the "License").  You may not use this file except in compliance
8382  * with the License.
8383  *
8384  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8385  * or http://www.opensolaris.org/os/licensing.
8386  * See the License for the specific language governing permissions
8387  * and limitations under the License.
8388  *
8389  * When distributing Covered Code, include this CDDL HEADER in each
8390  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8391  * If applicable, add the following below this CDDL HEADER, with the
8392  * fields enclosed by brackets "[]" replaced with your own identifying
8393  * information: Portions Copyright [yyyy] [name of copyright owner]
8394  *
8395  * CDDL HEADER END
8396  */
8397 /*
8398  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
8399  * Use is subject to license terms.
8400  */
8401 
8402 /*	Copyright (c) 1988 AT&T	*/
8403 /*	  All Rights Reserved  	*/
8404 
8405 
8406 
8407 
8408 
8409 #pragma ident "%Z%%M%	%I%	%E% SMI"
8410 
8411 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
8412 /*
8413  * CDDL HEADER START
8414  *
8415  * The contents of this file are subject to the terms of the
8416  * Common Development and Distribution License (the "License").
8417  * You may not use this file except in compliance with the License.
8418  *
8419  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8420  * or http://www.opensolaris.org/os/licensing.
8421  * See the License for the specific language governing permissions
8422  * and limitations under the License.
8423  *
8424  * When distributing Covered Code, include this CDDL HEADER in each
8425  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8426  * If applicable, add the following below this CDDL HEADER, with the
8427  * fields enclosed by brackets "[]" replaced with your own identifying
8428  * information: Portions Copyright [yyyy] [name of copyright owner]
8429  *
8430  * CDDL HEADER END
8431  */
8432 
8433 /*
8434  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
8435  * Copyright 2016 Joyent, Inc.
8436  *
8437  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
8438  * Use is subject to license terms.
8439  */
8440 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2
8441 
8442 
8443 
8444 
8445 
8446 /*
8447  * machsig.h is the machine dependent portion of siginfo.h (and is
8448  * included by siginfo.h). A version of machsig.h should exist for
8449  * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS
8450  * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and
8451  * SIGPOLL are architecture independent and may be found in siginfo.h.
8452  */
8453 
8454 
8455 
8456 
8457 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1
8458 /*
8459  * CDDL HEADER START
8460  *
8461  * The contents of this file are subject to the terms of the
8462  * Common Development and Distribution License (the "License").
8463  * You may not use this file except in compliance with the License.
8464  *
8465  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8466  * or http://www.opensolaris.org/os/licensing.
8467  * See the License for the specific language governing permissions
8468  * and limitations under the License.
8469  *
8470  * When distributing Covered Code, include this CDDL HEADER in each
8471  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8472  * If applicable, add the following below this CDDL HEADER, with the
8473  * fields enclosed by brackets "[]" replaced with your own identifying
8474  * information: Portions Copyright [yyyy] [name of copyright owner]
8475  *
8476  * CDDL HEADER END
8477  */
8478 /*
8479  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
8480  * Use is subject to license terms.
8481  */
8482 
8483 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8484 /*	  All Rights Reserved  	*/
8485 
8486 /*
8487  * University Copyright- Copyright (c) 1982, 1986, 1988
8488  * The Regents of the University of California
8489  * All Rights Reserved
8490  *
8491  * University Acknowledgment- Portions of this document are derived from
8492  * software developed by the University of California, Berkeley, and its
8493  * contributors.
8494  */
8495 
8496 
8497 
8498 
8499 #pragma ident "%Z%%M%	%I%	%E% SMI"
8500 
8501 
8502 
8503 
8504 
8505 /*
8506  * This file describes the data type returned by vm routines
8507  * which handle faults.
8508  *
8509  * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value
8510  * returned by the underlying object mapped at the fault address.
8511  */
8512 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h"
8513 typedef int faultcode_t; /* type returned by vm fault routines */
8514 
8515 extern int fc_decode(faultcode_t);
8516 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2
8517 
8518 
8519 /*
8520  * SIGILL signal codes
8521  */
8522 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h"
8523 /*
8524  * SIGEMT signal codes
8525  */
8526 
8527 
8528 
8529 
8530 
8531 
8532 /*
8533  * SIGFPE signal codes
8534  */
8535 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h"
8536 /*
8537  * SIGSEGV signal codes
8538  */
8539 
8540 
8541 
8542 
8543 
8544 
8545 
8546 /*
8547  * SIGBUS signal codes
8548  */
8549 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
8550 
8551 /*
8552  * SIGTRAP signal codes
8553  */
8554 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8555 /*
8556  * SIGCLD signal codes
8557  */
8558 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8559 /*
8560  * SIGPOLL signal codes
8561  */
8562 # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8563 /*
8564  * SIGPROF signal codes
8565  */
8566 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8567 /*
8568  * Inclusion of <sys/time_impl.h> is needed for the declaration of
8569  * timestruc_t.  However, since inclusion of <sys/time_impl.h> results
8570  * in X/Open and POSIX namespace pollution, the definition for
8571  * timestruct_t has been duplicated in a standards namespace safe header
8572  * <sys/time_std_impl.h>.  In <sys/time_std_impl.h>, the structure
8573  * name, tag, and member names, as well as the type itself, all have
8574  * leading underscores to protect namespace.
8575  */
8576 
8577 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
8578 /*
8579  * CDDL HEADER START
8580  *
8581  * The contents of this file are subject to the terms of the
8582  * Common Development and Distribution License, Version 1.0 only
8583  * (the "License").  You may not use this file except in compliance
8584  * with the License.
8585  *
8586  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8587  * or http://www.opensolaris.org/os/licensing.
8588  * See the License for the specific language governing permissions
8589  * and limitations under the License.
8590  *
8591  * When distributing Covered Code, include this CDDL HEADER in each
8592  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8593  * If applicable, add the following below this CDDL HEADER, with the
8594  * fields enclosed by brackets "[]" replaced with your own identifying
8595  * information: Portions Copyright [yyyy] [name of copyright owner]
8596  *
8597  * CDDL HEADER END
8598  */
8599 /*
8600  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
8601  * Use is subject to license terms.
8602  */
8603 
8604 /*
8605  * Implementation-private.  This header should not be included
8606  * directly by an application.  The application should instead
8607  * include <time.h> which includes this header conditionally
8608  * depending on which feature test macros are defined. By default,
8609  * this header is included by <time.h>.  X/Open and POSIX
8610  * standards requirements result in this header being included
8611  * by <time.h> only under a restricted set of conditions.
8612  */
8613 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
8614 
8615 
8616 
8617 
8618 /*
8619  * The inclusion of <sys/types.h> is needed for definitions of pid_t, etc.
8620  * Placement here is due to a dependency in <sys/select.h> which is included
8621  * by <sys/types.h> for the sigevent structure.  Hence this inclusion must
8622  * follow that definition.
8623  */
8624 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
8625 /*
8626  * CDDL HEADER START
8627  *
8628  * The contents of this file are subject to the terms of the
8629  * Common Development and Distribution License (the "License").
8630  * You may not use this file except in compliance with the License.
8631  *
8632  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8633  * or http://www.opensolaris.org/os/licensing.
8634  * See the License for the specific language governing permissions
8635  * and limitations under the License.
8636  *
8637  * When distributing Covered Code, include this CDDL HEADER in each
8638  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8639  * If applicable, add the following below this CDDL HEADER, with the
8640  * fields enclosed by brackets "[]" replaced with your own identifying
8641  * information: Portions Copyright [yyyy] [name of copyright owner]
8642  *
8643  * CDDL HEADER END
8644  */
8645 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8646 /*	  All Rights Reserved  	*/
8647 
8648 
8649 /*
8650  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8651  * Use is subject to license terms.
8652  *
8653  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
8654  * Copyright 2016 Joyent, Inc.
8655  */
8656 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
8657 
8658 
8659 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */
8660 
8661 
8662 
8663  int si_signo; /* signal from signal.h	*/
8664  int si_code; /* code from above	*/
8665  int si_errno; /* error from errno.h	*/
8666 
8667  int si_pad; /* _LP64 union starts on an 8-byte boundary */
8668 
8669  union {
8670 
8671   int __pad[((256 / sizeof (int)) - 4)]; /* for future growth	*/
8672 
8673   struct { /* kill(), SIGCLD, siqqueue() */
8674    pid_t __pid; /* process ID		*/
8675    union {
8676     struct {
8677      uid_t __uid;
8678 
8679 
8680      union sigval __value;
8681 
8682 
8683 
8684     } __kill;
8685     struct {
8686      clock_t __utime;
8687      int __status;
8688      clock_t __stime;
8689     } __cld;
8690    } __pdata;
8691    ctid_t __ctid; /* contract ID		*/
8692    zoneid_t __zoneid; /* zone ID		*/
8693   } __proc;
8694 
8695   struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */
8696    void *__addr; /* faulting address	*/
8697    int __trapno; /* illegal trap number	*/
8698    caddr_t __pc; /* instruction address	*/
8699   } __fault;
8700 
8701   struct { /* SIGPOLL, SIGXFSZ	*/
8702   /* fd not currently available for SIGPOLL */
8703    int __fd; /* file descriptor	*/
8704    long __band;
8705   } __file;
8706 
8707   struct { /* SIGPROF */
8708    caddr_t __faddr; /* last fault address	*/
8709 
8710    timestruc_t __tstamp; /* real time stamp	*/
8711 
8712 
8713 
8714    short __syscall; /* current syscall	*/
8715    char __nsysarg; /* number of arguments	*/
8716    char __fault; /* last fault type	*/
8717    long __sysarg[8]; /* syscall arguments	*/
8718    int __mstate[10]; /* see <sys/msacct.h>	*/
8719   } __prof;
8720 
8721   struct { /* SI_RCTL */
8722    int32_t __entity; /* type of entity exceeding */
8723   } __rctl;
8724  } __data;
8725 
8726 } siginfo_t;
8727 # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
8728 /*
8729  * XXX -- internal version is identical to siginfo_t but without the padding.
8730  * This must be maintained in sync with it.
8731  */
8732 
8733 
8734 
8735 typedef struct k_siginfo {
8736  int si_signo; /* signal from signal.h	*/
8737  int si_code; /* code from above	*/
8738  int si_errno; /* error from errno.h	*/
8739 
8740  int si_pad; /* _LP64 union starts on an 8-byte boundary */
8741 
8742  union {
8743   struct { /* kill(), SIGCLD, siqqueue() */
8744    pid_t __pid; /* process ID		*/
8745    union {
8746     struct {
8747      uid_t __uid;
8748      union sigval __value;
8749     } __kill;
8750     struct {
8751      clock_t __utime;
8752      int __status;
8753      clock_t __stime;
8754     } __cld;
8755    } __pdata;
8756    ctid_t __ctid; /* contract ID		*/
8757    zoneid_t __zoneid; /* zone ID		*/
8758   } __proc;
8759 
8760   struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */
8761    void *__addr; /* faulting address	*/
8762    int __trapno; /* illegal trap number	*/
8763    caddr_t __pc; /* instruction address	*/
8764   } __fault;
8765 
8766   struct { /* SIGPOLL, SIGXFSZ	*/
8767   /* fd not currently available for SIGPOLL */
8768    int __fd; /* file descriptor	*/
8769    long __band;
8770   } __file;
8771 
8772   struct { /* SIGPROF */
8773    caddr_t __faddr; /* last fault address	*/
8774 
8775 
8776    timestruc_t __tstamp; /* real time stamp	*/
8777 
8778 
8779 
8780    short __syscall; /* current syscall	*/
8781    char __nsysarg; /* number of arguments	*/
8782    char __fault; /* last fault type	*/
8783    /* these are omitted to keep k_siginfo_t small	*/
8784    /* long	__sysarg[8]; */
8785    /* int	__mstate[10]; */
8786   } __prof;
8787 
8788   struct { /* SI_RCTL */
8789    int32_t __entity; /* type of entity exceeding */
8790   } __rctl;
8791 
8792  } __data;
8793 
8794 } k_siginfo_t;
8795 
8796 typedef struct sigqueue {
8797  struct sigqueue *sq_next;
8798  k_siginfo_t sq_info;
8799  void (*sq_func)(struct sigqueue *); /* destructor function */
8800  void *sq_backptr; /* pointer to the data structure */
8801      /* associated by sq_func()	*/
8802  int sq_external; /* comes from outside the contract */
8803 } sigqueue_t;
8804 
8805 /*  indication whether to queue the signal or not */
8806 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
8807 
8808 
8809 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements */
8810 
8811 
8812 
8813 
8814 
8815 
8816 
8817 typedef struct {
8818  unsigned int __sigbits[3];
8819 } k_sigset_t;
8820 
8821 /*
8822  * The signal handler routine can have either one or three arguments.
8823  * Existing C code has used either form so not specifing the arguments
8824  * neatly finesses the problem.  C++ doesn't accept this.  To C++
8825  * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would
8826  * specify this as "(*sa_handler)(void)").  One or the other form must be
8827  * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow
8828  * the SIG_* defines to work.  "(*sa_sigaction)(int, siginfo_t *, void *)"
8829  * can be used for the three argument form.
8830  */
8831 
8832 /*
8833  * Note: storage overlap by sa_handler and sa_sigaction
8834  */
8835 struct sigaction {
8836  int sa_flags;
8837  union {
8838 
8839 
8840 
8841   void (*_handler)();
8842 
8843 
8844 
8845 
8846   void (*_sigaction)(int, siginfo_t *, void *);
8847 
8848  } _funcptr;
8849  sigset_t sa_mask;
8850 
8851 
8852 
8853 };
8854 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8855 /* this is only valid for SIGCLD */
8856 
8857 
8858 
8859 
8860 
8861 
8862 
8863    /* non-conformant ANSI compilation	*/
8864 
8865 /* definitions for the sa_flags field */
8866 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8867 /* this is only valid for SIGCLD */
8868 
8869 
8870 
8871 /*
8872  * use of these symbols by applications is injurious
8873  *	to binary compatibility
8874  */
8875 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8876 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements. */
8877 
8878 
8879 
8880 typedef struct sigaltstack {
8881 
8882 
8883 
8884  void *ss_sp;
8885  size_t ss_size;
8886  int ss_flags;
8887 } stack_t;
8888 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8889 /* signotify id used only by libc for mq_notify()/aio_notify() */
8890 typedef struct signotify_id { /* signotify id struct		*/
8891  pid_t sn_pid; /* pid of proc to be notified	*/
8892  int sn_index; /* index in preallocated pool	*/
8893  int sn_pad; /* reserved			*/
8894 } signotify_id_t;
8895 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8896 /* Command codes for sig_notify call */
8897 
8898 
8899 
8900 
8901 
8902 
8903 
8904 /* Added as per XPG4v2 */
8905 
8906 
8907 
8908 struct sigstack {
8909  void *ss_sp;
8910  int ss_onstack;
8911 };
8912 
8913 
8914 /*
8915  * For definition of ucontext_t; must follow struct definition
8916  * for  sigset_t
8917  */
8918 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
8919 
8920 /*
8921  * Allow global visibility for symbols defined in
8922  * C++ "std" namespace in <iso/signal_iso.h>.
8923  */
8924 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h"
8925 extern const char **_sys_siglistp; /* signal descriptions */
8926 extern const int _sys_siglistn; /* # of signal descriptions */
8927 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h"
8928 extern int kill(pid_t, int);
8929 extern int sigaction(int, const struct sigaction *,
8930  struct sigaction *);
8931 
8932 extern int sigaddset(sigset_t *, int);
8933 extern int sigdelset(sigset_t *, int);
8934 extern int sigemptyset(sigset_t *);
8935 extern int sigfillset(sigset_t *);
8936 extern int sigismember(const sigset_t *, int);
8937 
8938 extern int sigpending(sigset_t *);
8939 extern int sigprocmask(int, const sigset_t *,
8940  sigset_t *);
8941 extern int sigsuspend(const sigset_t *);
8942 
8943 
8944 
8945 
8946 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1
8947 /*
8948  * CDDL HEADER START
8949  *
8950  * The contents of this file are subject to the terms of the
8951  * Common Development and Distribution License, Version 1.0 only
8952  * (the "License").  You may not use this file except in compliance
8953  * with the License.
8954  *
8955  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8956  * or http://www.opensolaris.org/os/licensing.
8957  * See the License for the specific language governing permissions
8958  * and limitations under the License.
8959  *
8960  * When distributing Covered Code, include this CDDL HEADER in each
8961  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8962  * If applicable, add the following below this CDDL HEADER, with the
8963  * fields enclosed by brackets "[]" replaced with your own identifying
8964  * information: Portions Copyright [yyyy] [name of copyright owner]
8965  *
8966  * CDDL HEADER END
8967  */
8968 /*
8969  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
8970  * Use is subject to license terms.
8971  */
8972 
8973 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8974 /*	  All Rights Reserved  	*/
8975 
8976 
8977 
8978 
8979 
8980 #pragma ident "%Z%%M%	%I%	%E% SMI"
8981 
8982 
8983 
8984 
8985 
8986 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
8987 /*
8988  * CDDL HEADER START
8989  *
8990  * The contents of this file are subject to the terms of the
8991  * Common Development and Distribution License (the "License").
8992  * You may not use this file except in compliance with the License.
8993  *
8994  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8995  * or http://www.opensolaris.org/os/licensing.
8996  * See the License for the specific language governing permissions
8997  * and limitations under the License.
8998  *
8999  * When distributing Covered Code, include this CDDL HEADER in each
9000  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9001  * If applicable, add the following below this CDDL HEADER, with the
9002  * fields enclosed by brackets "[]" replaced with your own identifying
9003  * information: Portions Copyright [yyyy] [name of copyright owner]
9004  *
9005  * CDDL HEADER END
9006  */
9007 
9008 /*
9009  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
9010  * Copyright 2016 Joyent, Inc.
9011  *
9012  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9013  * Use is subject to license terms.
9014  */
9015 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
9016 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9017 /*
9018  * CDDL HEADER START
9019  *
9020  * The contents of this file are subject to the terms of the
9021  * Common Development and Distribution License (the "License").
9022  * You may not use this file except in compliance with the License.
9023  *
9024  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9025  * or http://www.opensolaris.org/os/licensing.
9026  * See the License for the specific language governing permissions
9027  * and limitations under the License.
9028  *
9029  * When distributing Covered Code, include this CDDL HEADER in each
9030  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9031  * If applicable, add the following below this CDDL HEADER, with the
9032  * fields enclosed by brackets "[]" replaced with your own identifying
9033  * information: Portions Copyright [yyyy] [name of copyright owner]
9034  *
9035  * CDDL HEADER END
9036  */
9037 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9038 /*	  All Rights Reserved  	*/
9039 
9040 
9041 /*
9042  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9043  * Use is subject to license terms.
9044  *
9045  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9046  * Copyright 2016 Joyent, Inc.
9047  */
9048 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
9049 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1
9050 /*
9051  * CDDL HEADER START
9052  *
9053  * The contents of this file are subject to the terms of the
9054  * Common Development and Distribution License (the "License").
9055  * You may not use this file except in compliance with the License.
9056  *
9057  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9058  * or http://www.opensolaris.org/os/licensing.
9059  * See the License for the specific language governing permissions
9060  * and limitations under the License.
9061  *
9062  * When distributing Covered Code, include this CDDL HEADER in each
9063  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9064  * If applicable, add the following below this CDDL HEADER, with the
9065  * fields enclosed by brackets "[]" replaced with your own identifying
9066  * information: Portions Copyright [yyyy] [name of copyright owner]
9067  *
9068  * CDDL HEADER END
9069  */
9070 
9071 /*
9072  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
9073  * Use is subject to license terms.
9074  */
9075 
9076 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9077 /*	  All Rights Reserved  	*/
9078 
9079 /*
9080  * University Copyright- Copyright (c) 1982, 1986, 1988
9081  * The Regents of the University of California
9082  * All Rights Reserved
9083  *
9084  * University Acknowledgment- Portions of this document are derived from
9085  * software developed by the University of California, Berkeley, and its
9086  * contributors.
9087  */
9088 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
9089 
9090 /*
9091  *	This file defines the data needed to specify a set of
9092  *	processes.  These types are used by the sigsend, sigsendset,
9093  *	priocntl, priocntlset, waitid, evexit, and evexitset system
9094  *	calls.
9095  */
9096 
9097 
9098 
9099 
9100 
9101 /*
9102  *	The following defines the values for an identifier type.  It
9103  *	specifies the interpretation of an id value.  An idtype and
9104  *	id together define a simple set of processes.
9105  */
9106 typedef enum
9107 
9108  idtype /* pollutes XPG4.2 namespace */
9109 
9110   {
9111  P_PID, /* A process identifier.		*/
9112  P_PPID, /* A parent process identifier.		*/
9113  P_PGID, /* A process group (job control group)	*/
9114    /* identifier.				*/
9115  P_SID, /* A session identifier.		*/
9116  P_CID, /* A scheduling class identifier.	*/
9117  P_UID, /* A user identifier.			*/
9118  P_GID, /* A group identifier.			*/
9119  P_ALL, /* All processes.			*/
9120  P_LWPID, /* An LWP identifier.			*/
9121  P_TASKID, /* A task identifier.			*/
9122  P_PROJID, /* A project identifier.		*/
9123  P_POOLID, /* A pool identifier.			*/
9124  P_ZONEID, /* A zone identifier.			*/
9125  P_CTID, /* A (process) contract identifier.	*/
9126  P_CPUID, /* CPU identifier.			*/
9127  P_PSETID /* Processor set identifier		*/
9128 } idtype_t;
9129 
9130 
9131 /*
9132  *	The following defines the operations which can be performed to
9133  *	combine two simple sets of processes to form another set of
9134  *	processes.
9135  */
9136 
9137 typedef enum idop {
9138  POP_DIFF, /* Set difference.  The processes which	*/
9139    /* are in the left operand set and not	*/
9140    /* in the right operand set.		*/
9141  POP_AND, /* Set disjunction.  The processes	*/
9142    /* which are in both the left and right	*/
9143    /* operand sets.			*/
9144  POP_OR, /* Set conjunction.  The processes	*/
9145    /* which are in either the left or the	*/
9146    /* right operand sets (or both).	*/
9147  POP_XOR /* Set exclusive or.  The processes 	*/
9148    /* which are in either the left or	*/
9149    /* right operand sets but not in both.	*/
9150 } idop_t;
9151 
9152 
9153 /*
9154  *	The following structure is used to define a set of processes.
9155  *	The set is defined in terms of two simple sets of processes
9156  *	and an operator which operates on these two operand sets.
9157  */
9158 typedef struct procset {
9159  idop_t p_op; /* The operator connection the	*/
9160     /* following two operands each	*/
9161     /* of which is a simple set of	*/
9162     /* processes.			*/
9163 
9164  idtype_t p_lidtype;
9165     /* The type of the left operand	*/
9166     /* simple set.			*/
9167  id_t p_lid; /* The id of the left operand.	*/
9168 
9169  idtype_t p_ridtype;
9170     /* The type of the right	*/
9171     /* operand simple set.		*/
9172  id_t p_rid; /* The id of the right operand.	*/
9173 } procset_t;
9174 
9175 /*
9176  *	The following macro can be used to initialize a procset_t
9177  *	structure.
9178  */
9179 # 89 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
9180 extern int gsignal(int);
9181 extern int (*ssignal(int, int (*)(int)))(int);
9182 extern int sigsend(idtype_t, id_t, int);
9183 extern int sigsendset(const procset_t *, int);
9184 extern int sig2str(int, char *);
9185 extern int str2sig(const char *, int *);
9186 
9187 
9188 
9189 
9190 
9191 extern void (*bsd_signal(int, void (*)(int)))(int);
9192 extern int killpg(pid_t, int);
9193 extern int siginterrupt(int, int);
9194 extern int sigaltstack(const stack_t *, stack_t *);
9195 extern int sighold(int);
9196 extern int sigignore(int);
9197 extern int sigpause(int);
9198 extern int sigrelse(int);
9199 extern void (*sigset(int, void (*)(int)))(int);
9200 
9201 
9202 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
9203 
9204 
9205 
9206 extern int sigstack(struct sigstack *, struct sigstack *);
9207 
9208 
9209 
9210 
9211 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1
9212 /*
9213  * CDDL HEADER START
9214  *
9215  * The contents of this file are subject to the terms of the
9216  * Common Development and Distribution License, Version 1.0 only
9217  * (the "License").  You may not use this file except in compliance
9218  * with the License.
9219  *
9220  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9221  * or http://www.opensolaris.org/os/licensing.
9222  * See the License for the specific language governing permissions
9223  * and limitations under the License.
9224  *
9225  * When distributing Covered Code, include this CDDL HEADER in each
9226  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9227  * If applicable, add the following below this CDDL HEADER, with the
9228  * fields enclosed by brackets "[]" replaced with your own identifying
9229  * information: Portions Copyright [yyyy] [name of copyright owner]
9230  *
9231  * CDDL HEADER END
9232  */
9233 /*
9234  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
9235  * Use is subject to license terms.
9236  */
9237 
9238 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9239 /*	  All Rights Reserved  	*/
9240 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
9241 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1
9242 /*
9243  * CDDL HEADER START
9244  *
9245  * The contents of this file are subject to the terms of the
9246  * Common Development and Distribution License (the "License").
9247  * You may not use this file except in compliance with the License.
9248  *
9249  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9250  * or http://www.opensolaris.org/os/licensing.
9251  * See the License for the specific language governing permissions
9252  * and limitations under the License.
9253  *
9254  * When distributing Covered Code, include this CDDL HEADER in each
9255  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9256  * If applicable, add the following below this CDDL HEADER, with the
9257  * fields enclosed by brackets "[]" replaced with your own identifying
9258  * information: Portions Copyright [yyyy] [name of copyright owner]
9259  *
9260  * CDDL HEADER END
9261  */
9262 /*	Copyright (c) 1988 AT&T	*/
9263 /*	  All Rights Reserved  	*/
9264 
9265 
9266 /*
9267  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9268  *
9269  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
9270  * Use is subject to license terms.
9271  */
9272 /*
9273  * Copyright 2010 Nexenta Systems, Inc.  Al rights reserved.
9274  * Copyright 2016 Joyent, Inc.
9275  */
9276 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
9277 extern int pthread_kill(pthread_t, int);
9278 extern int pthread_sigmask(int, const sigset_t *,
9279  sigset_t *);
9280 extern int sigwaitinfo(const sigset_t *,
9281  siginfo_t *);
9282 extern int sigtimedwait(const sigset_t *,
9283  siginfo_t *, const struct timespec *);
9284 extern int sigqueue(pid_t, int, const union sigval);
9285 
9286 
9287 /*
9288  * sigwait() prototype is defined here.
9289  */
9290 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h"
9291 extern int sigwait(sigset_t *);
9292 # 67 "../common/zones_utils.c" 2
9293 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 1
9294 /*
9295  * CDDL HEADER START
9296  *
9297  * The contents of this file are subject to the terms of the
9298  * Common Development and Distribution License, Version 1.0 only
9299  * (the "License").  You may not use this file except in compliance
9300  * with the License.
9301  *
9302  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9303  * or http://www.opensolaris.org/os/licensing.
9304  * See the License for the specific language governing permissions
9305  * and limitations under the License.
9306  *
9307  * When distributing Covered Code, include this CDDL HEADER in each
9308  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9309  * If applicable, add the following below this CDDL HEADER, with the
9310  * fields enclosed by brackets "[]" replaced with your own identifying
9311  * information: Portions Copyright [yyyy] [name of copyright owner]
9312  *
9313  * CDDL HEADER END
9314  */
9315 /*	Copyright (c) 1988 AT&T	*/
9316 /*	  All Rights Reserved  	*/
9317 
9318 /*
9319  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9320  *
9321  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
9322  * Use is subject to license terms.
9323  */
9324 
9325 
9326 
9327 
9328 /*
9329  * Streams user options definitions.
9330  */
9331 
9332 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
9333 /*
9334  * CDDL HEADER START
9335  *
9336  * The contents of this file are subject to the terms of the
9337  * Common Development and Distribution License (the "License").
9338  * You may not use this file except in compliance with the License.
9339  *
9340  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9341  * or http://www.opensolaris.org/os/licensing.
9342  * See the License for the specific language governing permissions
9343  * and limitations under the License.
9344  *
9345  * When distributing Covered Code, include this CDDL HEADER in each
9346  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9347  * If applicable, add the following below this CDDL HEADER, with the
9348  * fields enclosed by brackets "[]" replaced with your own identifying
9349  * information: Portions Copyright [yyyy] [name of copyright owner]
9350  *
9351  * CDDL HEADER END
9352  */
9353 
9354 /*
9355  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
9356  * Copyright 2016 Joyent, Inc.
9357  *
9358  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9359  * Use is subject to license terms.
9360  */
9361 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2
9362 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 1
9363 /*
9364  * CDDL HEADER START
9365  *
9366  * The contents of this file are subject to the terms of the
9367  * Common Development and Distribution License (the "License").
9368  * You may not use this file except in compliance with the License.
9369  *
9370  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9371  * or http://www.opensolaris.org/os/licensing.
9372  * See the License for the specific language governing permissions
9373  * and limitations under the License.
9374  *
9375  * When distributing Covered Code, include this CDDL HEADER in each
9376  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9377  * If applicable, add the following below this CDDL HEADER, with the
9378  * fields enclosed by brackets "[]" replaced with your own identifying
9379  * information: Portions Copyright [yyyy] [name of copyright owner]
9380  *
9381  * CDDL HEADER END
9382  */
9383 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9384 /*	  All Rights Reserved  	*/
9385 
9386 
9387 /*
9388  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
9389  * Use is subject to license terms.
9390  */
9391 
9392 
9393 
9394 
9395 #pragma ident "%Z%%M%	%I%	%E% SMI"
9396 
9397 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
9398 /*
9399  * CDDL HEADER START
9400  *
9401  * The contents of this file are subject to the terms of the
9402  * Common Development and Distribution License (the "License").
9403  * You may not use this file except in compliance with the License.
9404  *
9405  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9406  * or http://www.opensolaris.org/os/licensing.
9407  * See the License for the specific language governing permissions
9408  * and limitations under the License.
9409  *
9410  * When distributing Covered Code, include this CDDL HEADER in each
9411  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9412  * If applicable, add the following below this CDDL HEADER, with the
9413  * fields enclosed by brackets "[]" replaced with your own identifying
9414  * information: Portions Copyright [yyyy] [name of copyright owner]
9415  *
9416  * CDDL HEADER END
9417  */
9418 
9419 /*
9420  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
9421  * Copyright 2016 Joyent, Inc.
9422  *
9423  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9424  * Use is subject to license terms.
9425  */
9426 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2
9427 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9428 /*
9429  * CDDL HEADER START
9430  *
9431  * The contents of this file are subject to the terms of the
9432  * Common Development and Distribution License (the "License").
9433  * You may not use this file except in compliance with the License.
9434  *
9435  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9436  * or http://www.opensolaris.org/os/licensing.
9437  * See the License for the specific language governing permissions
9438  * and limitations under the License.
9439  *
9440  * When distributing Covered Code, include this CDDL HEADER in each
9441  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9442  * If applicable, add the following below this CDDL HEADER, with the
9443  * fields enclosed by brackets "[]" replaced with your own identifying
9444  * information: Portions Copyright [yyyy] [name of copyright owner]
9445  *
9446  * CDDL HEADER END
9447  */
9448 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9449 /*	  All Rights Reserved  	*/
9450 
9451 
9452 /*
9453  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9454  * Use is subject to license terms.
9455  *
9456  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9457  * Copyright 2016 Joyent, Inc.
9458  */
9459 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2
9460 /*
9461  * For FMNAMESZ define.
9462  */
9463 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 1
9464 /*
9465  * CDDL HEADER START
9466  *
9467  * The contents of this file are subject to the terms of the
9468  * Common Development and Distribution License (the "License").
9469  * You may not use this file except in compliance with the License.
9470  *
9471  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9472  * or http://www.opensolaris.org/os/licensing.
9473  * See the License for the specific language governing permissions
9474  * and limitations under the License.
9475  *
9476  * When distributing Covered Code, include this CDDL HEADER in each
9477  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9478  * If applicable, add the following below this CDDL HEADER, with the
9479  * fields enclosed by brackets "[]" replaced with your own identifying
9480  * information: Portions Copyright [yyyy] [name of copyright owner]
9481  *
9482  * CDDL HEADER END
9483  */
9484 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9485 /*	  All Rights Reserved  	*/
9486 
9487 /*
9488  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9489  * Use is subject to license terms.
9490  */
9491 
9492 
9493 
9494 
9495 
9496 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
9497 /*
9498  * CDDL HEADER START
9499  *
9500  * The contents of this file are subject to the terms of the
9501  * Common Development and Distribution License (the "License").
9502  * You may not use this file except in compliance with the License.
9503  *
9504  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9505  * or http://www.opensolaris.org/os/licensing.
9506  * See the License for the specific language governing permissions
9507  * and limitations under the License.
9508  *
9509  * When distributing Covered Code, include this CDDL HEADER in each
9510  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9511  * If applicable, add the following below this CDDL HEADER, with the
9512  * fields enclosed by brackets "[]" replaced with your own identifying
9513  * information: Portions Copyright [yyyy] [name of copyright owner]
9514  *
9515  * CDDL HEADER END
9516  */
9517 
9518 /*
9519  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
9520  * Copyright 2016 Joyent, Inc.
9521  *
9522  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9523  * Use is subject to license terms.
9524  */
9525 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2
9526 
9527 
9528 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
9529 /*
9530  * CDDL HEADER START
9531  *
9532  * The contents of this file are subject to the terms of the
9533  * Common Development and Distribution License, Version 1.0 only
9534  * (the "License").  You may not use this file except in compliance
9535  * with the License.
9536  *
9537  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9538  * or http://www.opensolaris.org/os/licensing.
9539  * See the License for the specific language governing permissions
9540  * and limitations under the License.
9541  *
9542  * When distributing Covered Code, include this CDDL HEADER in each
9543  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9544  * If applicable, add the following below this CDDL HEADER, with the
9545  * fields enclosed by brackets "[]" replaced with your own identifying
9546  * information: Portions Copyright [yyyy] [name of copyright owner]
9547  *
9548  * CDDL HEADER END
9549  */
9550 /*
9551  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
9552  * All rights reserved.
9553  */
9554 
9555 /*
9556  * t_lock.h:	Prototypes for disp_locks, plus include files
9557  *		that describe the interfaces to kernel synch.
9558  *		objects.
9559  */
9560 
9561 
9562 
9563 
9564 #pragma ident "%Z%%M%	%I%	%E% SMI"
9565 
9566 
9567 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1
9568 /*
9569  * CDDL HEADER START
9570  *
9571  * The contents of this file are subject to the terms of the
9572  * Common Development and Distribution License (the "License").
9573  * You may not use this file except in compliance with the License.
9574  *
9575  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9576  * or http://www.opensolaris.org/os/licensing.
9577  * See the License for the specific language governing permissions
9578  * and limitations under the License.
9579  *
9580  * When distributing Covered Code, include this CDDL HEADER in each
9581  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9582  * If applicable, add the following below this CDDL HEADER, with the
9583  * fields enclosed by brackets "[]" replaced with your own identifying
9584  * information: Portions Copyright [yyyy] [name of copyright owner]
9585  *
9586  * CDDL HEADER END
9587  */
9588 /*
9589  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
9590  * Use is subject to license terms.
9591  * Copyright 2016 Joyent, Inc.
9592  */
9593 
9594 
9595 
9596 
9597 #pragma ident "%Z%%M%	%I%	%E% SMI"
9598 
9599 
9600 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9601 /*
9602  * CDDL HEADER START
9603  *
9604  * The contents of this file are subject to the terms of the
9605  * Common Development and Distribution License (the "License").
9606  * You may not use this file except in compliance with the License.
9607  *
9608  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9609  * or http://www.opensolaris.org/os/licensing.
9610  * See the License for the specific language governing permissions
9611  * and limitations under the License.
9612  *
9613  * When distributing Covered Code, include this CDDL HEADER in each
9614  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9615  * If applicable, add the following below this CDDL HEADER, with the
9616  * fields enclosed by brackets "[]" replaced with your own identifying
9617  * information: Portions Copyright [yyyy] [name of copyright owner]
9618  *
9619  * CDDL HEADER END
9620  */
9621 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9622 /*	  All Rights Reserved  	*/
9623 
9624 
9625 /*
9626  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9627  * Use is subject to license terms.
9628  *
9629  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9630  * Copyright 2016 Joyent, Inc.
9631  */
9632 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2
9633 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
9634 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9635 /*	  All Rights Reserved  	*/
9636 
9637 
9638 /*
9639  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
9640  * All rights reserved.  The Berkeley software License Agreement
9641  * specifies the terms and conditions for redistribution.
9642  */
9643 
9644 /*
9645  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9646  *
9647  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9648  * Use is subject to license terms.
9649  *
9650  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9651  */
9652 
9653 /*
9654  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
9655  */
9656 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2
9657 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h"
9658 typedef lock_t disp_lock_t; /* dispatcher lock type */
9659 
9660 /*
9661  * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or
9662  * an adaptive mutex, depending on what interrupt levels use it.
9663  */
9664 
9665 
9666 /*
9667  * Macro to control loops which spin on a lock and then check state
9668  * periodically.  Its passed an integer, and returns a boolean value
9669  * that if true indicates its a good time to get the scheduler lock and
9670  * check the state of the current owner of the lock.
9671  */
9672 
9673 
9674 /*
9675  * Externs for CLOCK_LOCK and clock resolution
9676  */
9677 extern volatile uint32_t hres_lock;
9678 extern hrtime_t hrtime_base;
9679 extern int clock_res;
9680 
9681 
9682 
9683 /*
9684  * The definitions of the symbolic interrupt levels:
9685  *
9686  *   CLOCK_LEVEL =>  The level at which one must be to block the clock.
9687  *
9688  *   LOCK_LEVEL  =>  The highest level at which one may block (and thus the
9689  *                   highest level at which one may acquire adaptive locks)
9690  *                   Also the highest level at which one may be preempted.
9691  *
9692  *   DISP_LEVEL  =>  The level at which one must be to perform dispatcher
9693  *                   operations.
9694  *
9695  * The constraints on the platform:
9696  *
9697  *  - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL
9698  *  - LOCK_LEVEL must be less than DISP_LEVEL
9699  *  - DISP_LEVEL should be as close to LOCK_LEVEL as possible
9700  *
9701  * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal;
9702  * changing this relationship is probably possible but not advised.
9703  *
9704  */
9705 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h"
9706 /*
9707  * The following mask is for the cpu_intr_actv bits corresponding to
9708  * high-level PILs. It should equal:
9709  * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1)
9710  */
9711 
9712 
9713 /*
9714  * The semaphore code depends on being able to represent a lock plus
9715  * owner in a single 32-bit word.  (Mutexes used to have a similar
9716  * dependency, but no longer.)  Thus the owner must contain at most
9717  * 24 significant bits.  At present only threads and semaphores
9718  * must be aware of this vile constraint.  Different ISAs may handle this
9719  * differently depending on their capabilities (e.g. compare-and-swap)
9720  * and limitations (e.g. constraints on alignment and/or KERNELBASE).
9721  */
9722 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
9723 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
9724 /*
9725  * CDDL HEADER START
9726  *
9727  * The contents of this file are subject to the terms of the
9728  * Common Development and Distribution License (the "License").
9729  * You may not use this file except in compliance with the License.
9730  *
9731  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9732  * or http://www.opensolaris.org/os/licensing.
9733  * See the License for the specific language governing permissions
9734  * and limitations under the License.
9735  *
9736  * When distributing Covered Code, include this CDDL HEADER in each
9737  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9738  * If applicable, add the following below this CDDL HEADER, with the
9739  * fields enclosed by brackets "[]" replaced with your own identifying
9740  * information: Portions Copyright [yyyy] [name of copyright owner]
9741  *
9742  * CDDL HEADER END
9743  */
9744 
9745 /*
9746  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
9747  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
9748  */
9749 
9750 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
9751 /*	  All Rights Reserved  	*/
9752 
9753 /*
9754  * University Copyright- Copyright (c) 1982, 1986, 1988
9755  * The Regents of the University of California
9756  * All Rights Reserved
9757  *
9758  * University Acknowledgment- Portions of this document are derived from
9759  * software developed by the University of California, Berkeley, and its
9760  * contributors.
9761  */
9762 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
9763 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1
9764 /*
9765  * CDDL HEADER START
9766  *
9767  * The contents of this file are subject to the terms of the
9768  * Common Development and Distribution License (the "License").
9769  * You may not use this file except in compliance with the License.
9770  *
9771  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9772  * or http://www.opensolaris.org/os/licensing.
9773  * See the License for the specific language governing permissions
9774  * and limitations under the License.
9775  *
9776  * When distributing Covered Code, include this CDDL HEADER in each
9777  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9778  * If applicable, add the following below this CDDL HEADER, with the
9779  * fields enclosed by brackets "[]" replaced with your own identifying
9780  * information: Portions Copyright [yyyy] [name of copyright owner]
9781  *
9782  * CDDL HEADER END
9783  */
9784 /*
9785  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
9786  */
9787 
9788 
9789 
9790 
9791 
9792 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9793 /*
9794  * CDDL HEADER START
9795  *
9796  * The contents of this file are subject to the terms of the
9797  * Common Development and Distribution License (the "License").
9798  * You may not use this file except in compliance with the License.
9799  *
9800  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9801  * or http://www.opensolaris.org/os/licensing.
9802  * See the License for the specific language governing permissions
9803  * and limitations under the License.
9804  *
9805  * When distributing Covered Code, include this CDDL HEADER in each
9806  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9807  * If applicable, add the following below this CDDL HEADER, with the
9808  * fields enclosed by brackets "[]" replaced with your own identifying
9809  * information: Portions Copyright [yyyy] [name of copyright owner]
9810  *
9811  * CDDL HEADER END
9812  */
9813 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9814 /*	  All Rights Reserved  	*/
9815 
9816 
9817 /*
9818  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9819  * Use is subject to license terms.
9820  *
9821  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9822  * Copyright 2016 Joyent, Inc.
9823  */
9824 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2
9825 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h"
9826 /*
9827  * Public interface to mutual exclusion locks.  See mutex(9F) for details.
9828  *
9829  * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used
9830  * in almost all of the kernel.  MUTEX_SPIN provides interrupt blocking
9831  * and must be used in interrupt handlers above LOCK_LEVEL.  The iblock
9832  * cookie argument to mutex_init() encodes the interrupt level to block.
9833  * The iblock cookie must be NULL for adaptive locks.
9834  *
9835  * MUTEX_DEFAULT is the type usually specified (except in drivers) to
9836  * mutex_init().  It is identical to MUTEX_ADAPTIVE.
9837  *
9838  * MUTEX_DRIVER is always used by drivers.  mutex_init() converts this to
9839  * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie.
9840  *
9841  * Mutex statistics can be gathered on the fly, without rebooting or
9842  * recompiling the kernel, via the lockstat driver (lockstat(7D)).
9843  */
9844 typedef enum {
9845  MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */
9846  MUTEX_SPIN = 1, /* block interrupts and spin */
9847  MUTEX_DRIVER = 4, /* driver (DDI) mutex */
9848  MUTEX_DEFAULT = 6 /* kernel default mutex */
9849 } kmutex_type_t;
9850 
9851 typedef struct mutex {
9852 
9853  void *_opaque[1];
9854 
9855 
9856 
9857 } kmutex_t;
9858 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
9859 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1
9860 /*
9861  * CDDL HEADER START
9862  *
9863  * The contents of this file are subject to the terms of the
9864  * Common Development and Distribution License (the "License").
9865  * You may not use this file except in compliance with the License.
9866  *
9867  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9868  * or http://www.opensolaris.org/os/licensing.
9869  * See the License for the specific language governing permissions
9870  * and limitations under the License.
9871  *
9872  * When distributing Covered Code, include this CDDL HEADER in each
9873  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9874  * If applicable, add the following below this CDDL HEADER, with the
9875  * fields enclosed by brackets "[]" replaced with your own identifying
9876  * information: Portions Copyright [yyyy] [name of copyright owner]
9877  *
9878  * CDDL HEADER END
9879  */
9880 /*
9881  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
9882  * Use is subject to license terms.
9883  */
9884 
9885 /*
9886  * Copyright (c) 2013, Joyent, Inc.  All rights reserved.
9887  */
9888 
9889 
9890 
9891 
9892 /*
9893  * Public interface to readers/writer locks.  See rwlock(9F) for details.
9894  */
9895 
9896 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9897 /*
9898  * CDDL HEADER START
9899  *
9900  * The contents of this file are subject to the terms of the
9901  * Common Development and Distribution License (the "License").
9902  * You may not use this file except in compliance with the License.
9903  *
9904  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9905  * or http://www.opensolaris.org/os/licensing.
9906  * See the License for the specific language governing permissions
9907  * and limitations under the License.
9908  *
9909  * When distributing Covered Code, include this CDDL HEADER in each
9910  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9911  * If applicable, add the following below this CDDL HEADER, with the
9912  * fields enclosed by brackets "[]" replaced with your own identifying
9913  * information: Portions Copyright [yyyy] [name of copyright owner]
9914  *
9915  * CDDL HEADER END
9916  */
9917 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9918 /*	  All Rights Reserved  	*/
9919 
9920 
9921 /*
9922  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9923  * Use is subject to license terms.
9924  *
9925  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9926  * Copyright 2016 Joyent, Inc.
9927  */
9928 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2
9929 
9930 
9931 
9932 
9933 
9934 
9935 
9936 typedef enum {
9937  RW_DRIVER = 2, /* driver (DDI) rwlock */
9938  RW_DEFAULT = 4 /* kernel default rwlock */
9939 } krw_type_t;
9940 
9941 typedef enum {
9942  RW_WRITER,
9943  RW_READER,
9944  RW_READER_STARVEWRITER
9945 } krw_t;
9946 
9947 typedef struct _krwlock {
9948  void *_opaque[1];
9949 } krwlock_t;
9950 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
9951 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1
9952 /*
9953  * CDDL HEADER START
9954  *
9955  * The contents of this file are subject to the terms of the
9956  * Common Development and Distribution License, Version 1.0 only
9957  * (the "License").  You may not use this file except in compliance
9958  * with the License.
9959  *
9960  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9961  * or http://www.opensolaris.org/os/licensing.
9962  * See the License for the specific language governing permissions
9963  * and limitations under the License.
9964  *
9965  * When distributing Covered Code, include this CDDL HEADER in each
9966  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9967  * If applicable, add the following below this CDDL HEADER, with the
9968  * fields enclosed by brackets "[]" replaced with your own identifying
9969  * information: Portions Copyright [yyyy] [name of copyright owner]
9970  *
9971  * CDDL HEADER END
9972  */
9973 /*
9974  * Copyright (c) 1993-1998 by Sun Microsystems, Inc.
9975  * All rights reserved.
9976  */
9977 
9978 
9979 
9980 
9981 #pragma ident "%Z%%M%	%I%	%E% SMI"
9982 
9983 /*
9984  * Public interface to semaphores.  See semaphore(9F) for details.
9985  */
9986 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h"
9987 typedef enum {
9988  SEMA_DEFAULT,
9989  SEMA_DRIVER
9990 } ksema_type_t;
9991 
9992 typedef struct _ksema {
9993  void * _opaque[2]; /* 2 words on 4 byte alignment */
9994 } ksema_t;
9995 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
9996 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1
9997 /*
9998  * CDDL HEADER START
9999  *
10000  * The contents of this file are subject to the terms of the
10001  * Common Development and Distribution License (the "License").
10002  * You may not use this file except in compliance with the License.
10003  *
10004  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10005  * or http://www.opensolaris.org/os/licensing.
10006  * See the License for the specific language governing permissions
10007  * and limitations under the License.
10008  *
10009  * When distributing Covered Code, include this CDDL HEADER in each
10010  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10011  * If applicable, add the following below this CDDL HEADER, with the
10012  * fields enclosed by brackets "[]" replaced with your own identifying
10013  * information: Portions Copyright [yyyy] [name of copyright owner]
10014  *
10015  * CDDL HEADER END
10016  */
10017 /*
10018  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10019  * Use is subject to license terms.
10020  */
10021 
10022 /*
10023  * Copyright (c) 2012 by Delphix. All rights reserved.
10024  */
10025 
10026 /*
10027  * condvar.h:
10028  *
10029  * definitions for thread synchronization primitives: condition variables
10030  * This is the public part of the interface to condition variables. The
10031  * private (implementation-specific) part is in <arch>/sys/condvar_impl.h.
10032  */
10033 
10034 
10035 
10036 
10037 
10038 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10039 /*
10040  * CDDL HEADER START
10041  *
10042  * The contents of this file are subject to the terms of the
10043  * Common Development and Distribution License (the "License").
10044  * You may not use this file except in compliance with the License.
10045  *
10046  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10047  * or http://www.opensolaris.org/os/licensing.
10048  * See the License for the specific language governing permissions
10049  * and limitations under the License.
10050  *
10051  * When distributing Covered Code, include this CDDL HEADER in each
10052  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10053  * If applicable, add the following below this CDDL HEADER, with the
10054  * fields enclosed by brackets "[]" replaced with your own identifying
10055  * information: Portions Copyright [yyyy] [name of copyright owner]
10056  *
10057  * CDDL HEADER END
10058  */
10059 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10060 /*	  All Rights Reserved  	*/
10061 
10062 
10063 /*
10064  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10065  * Use is subject to license terms.
10066  *
10067  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10068  * Copyright 2016 Joyent, Inc.
10069  */
10070 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2
10071 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
10072 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10073 /*	  All Rights Reserved  	*/
10074 
10075 
10076 /*
10077  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
10078  * All rights reserved.  The Berkeley software License Agreement
10079  * specifies the terms and conditions for redistribution.
10080  */
10081 
10082 /*
10083  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10084  *
10085  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10086  * Use is subject to license terms.
10087  *
10088  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10089  */
10090 
10091 /*
10092  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
10093  */
10094 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2
10095 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h"
10096 /*
10097  * Condtion variables.
10098  */
10099 
10100 typedef struct _kcondvar {
10101  ushort_t _opaque;
10102 } kcondvar_t;
10103 
10104 typedef enum {
10105  CV_DEFAULT,
10106  CV_DRIVER
10107 } kcv_type_t;
10108 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
10109 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h"
10110 /*
10111  * Mutual exclusion locks described in common/sys/mutex.h.
10112  *
10113  * Semaphores described in common/sys/semaphore.h.
10114  *
10115  * Readers/Writer locks described in common/sys/rwlock.h.
10116  *
10117  * Condition variables described in common/sys/condvar.h
10118  */
10119 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2
10120 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h"
10121 /*
10122  * Device flags.
10123  *
10124  * Bit 0 to bit 15 are reserved for kernel.
10125  * Bit 16 to bit 31 are reserved for different machines.
10126  */
10127 
10128 
10129 
10130 
10131 
10132 /*
10133  * MT-safety level (in DDI portion of flags).
10134  *
10135  * All drivers must be MT-safe, and must advertise this by specifying D_MP.
10136  *
10137  * The remainder of the flags apply only to STREAMS modules and drivers.
10138  *
10139  * A STREAMS driver or module can optionally select inner and outer perimeters.
10140  * The four mutually exclusive options that define the presence and scope
10141  * of the inner perimeter are:
10142  *	D_MTPERMOD - per module single threaded.
10143  *	D_MTQPAIR - per queue-pair single threaded.
10144  *	D_MTPERQ - per queue instance single threaded.
10145  *	(none of the above) - no inner perimeter restricting concurrency
10146  *
10147  * The presence	of the outer perimeter is declared with:
10148  *	D_MTOUTPERIM - a per-module outer perimeter. Can be combined with
10149  *		D_MTPERQ, D_MTQPAIR, and D_MP.
10150  *
10151  * The concurrency when entering the different STREAMS entry points can be
10152  * modified with:
10153  *	D_MTPUTSHARED - modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD
10154  *		specifying that the put procedures should not be
10155  *		single-threaded at the inner perimeter.
10156  *	_D_MTOCSHARED - EXPERIMENTAL - will be removed in a future release.
10157  *		Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD
10158  *		specifying that the open and close procedures should not be
10159  *		single-threaded at the inner perimeter.
10160  *	_D_MTCBSHARED - EXPERIMENTAL - will be removed in a future release.
10161  *		Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD
10162  *		specifying that the callback i.e qtimeout() procedures should
10163  *		not be single-threaded at the inner perimeter.
10164  *	_D_MTSVCSHARED - EXPERIMENTAL - will be removed in a future release.
10165  *		Modifier for D_MTPERMOD only. Specifies that the service
10166  *		procedure should not be single-threaded at the inner perimeter.
10167  *		However only a single instance of the service thread can run on
10168  *		any given queue.
10169  *	D_MTOCEXCL - modifier for D_MTOUTPERIM specifying that the open and
10170  *		close procedures should be single-threaded at the outer
10171  *		perimeter.
10172  */
10173 
10174 
10175 
10176 /* 0x100 - see below */
10177 /* 0x200 - see below */
10178 /* 0x400 - see below */
10179 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h"
10180 /* The inner perimeter scope bits */
10181 
10182 
10183 /* Inner perimeter modification bits */
10184 
10185 
10186 
10187 /* Outer perimeter modification bits */
10188 
10189 
10190 /* All the MT flags */
10191 # 212 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h"
10192     /* extended qinit structure */
10193 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2
10194 
10195 
10196 
10197 
10198 
10199 /*
10200  * Write options
10201  */
10202 
10203 
10204      /* putmsg if sd_werror is set */
10205 
10206 /*
10207  * Read options
10208  */
10209 # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10210 /*
10211  * These next three read options are added for the sake of
10212  * user-level transparency.  RPROTDAT will cause the stream head
10213  * to treat the contents of M_PROTO and M_PCPROTO message blocks
10214  * as data.  RPROTDIS will prevent the stream head from failing
10215  * a read with EBADMSG if an M_PROTO or M_PCPROTO message is on
10216  * the front of the stream head read queue.  Rather, the protocol
10217  * blocks will be silently discarded and the data associated with
10218  * the message (in linked M_DATA blocks), if any, will be delivered
10219  * to the user.  RPROTNORM sets the default behavior, where read
10220  * will fail with EBADMSG if an M_PROTO or M_PCPROTO are at the
10221  * stream head.
10222  */
10223 
10224 
10225      /* read data portion */
10226 
10227 
10228 
10229 
10230 
10231 /*
10232  * The next read option is used so that a TPI aware module can tell the
10233  * stream head to not flush M_PCPROTO messages when processing a read side
10234  * flush. This will avoid problems where a flush removes a T_OK_ACK.
10235  */
10236 
10237 
10238 
10239 
10240 
10241 
10242 /*
10243  * Error options
10244  */
10245 
10246 /*
10247  * Error options to adjust the stream head error behavior with respect
10248  * to M_ERROR message for read and write side errors respectively.
10249  * The normal case is that the read/write side error is
10250  * persistent and these options allow the application or streams module/driver
10251  * to specify that errors are nonpersistent. In this case the error is cleared
10252  * after having been returned to read(), getmsg(), ioctl(), write(), putmsg(),
10253  * etc.
10254  */
10255 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10256 /*
10257  * Flush options
10258  */
10259 
10260 
10261 
10262 
10263 
10264      /* in next byte */
10265 /*
10266  * Copy options for M_SETOPS/SO_COPYOPT
10267  */
10268 
10269 
10270      /* pages instead of bcopy */
10271 
10272 
10273 
10274 
10275 /*
10276  * Events for which the SIGPOLL signal is to be sent.
10277  */
10278 # 154 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10279      /* SIGURG instead of SIGPOLL */
10280 
10281 /*
10282  * Flags for getmsg() and putmsg() syscall arguments.
10283  * "RS" stands for recv/send.  The system calls were originally called
10284  * recv() and send(), but were renamed to avoid confusion with the BSD
10285  * calls of the same name.  A value of zero will cause getmsg() to return
10286  * the first message on the stream head read queue and putmsg() to send
10287  * a normal priority message.
10288  *
10289  * Flags for strmakemsg() arguments (should define strmakemsg() flags).
10290  * Used to determine the message type of the control part of a message,
10291  * if RS_HIPRI, M_PCPROTO, else M_PROTO.
10292  */
10293 
10294 
10295 
10296 
10297 /*
10298  * Flags for getpmsg() and putpmsg() syscall arguments.
10299  */
10300 
10301 /*
10302  * These are settable by the user and will be set on return
10303  * to indicate the priority of message received.
10304  */
10305 
10306 
10307 
10308 
10309 /*
10310  * This is a private flag passed by libc to kernel to
10311  * identify that it is a XPG4_2 application. No
10312  * applications need to know about this flag.
10313  */
10314 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10315 /*
10316  * Flags returned as value of getmsg() and getpmsg() syscall.
10317  */
10318 
10319 
10320 
10321 /*
10322  * Define to indicate that all multiplexors beneath a stream should
10323  * be unlinked.
10324  */
10325 
10326 
10327 /*
10328  * Flag definitions for the I_ATMARK ioctl.
10329  */
10330 
10331 
10332 
10333 /*
10334  *  Stream Ioctl defines
10335  */
10336 
10337 /* (STR|000) in use */
10338 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10339 /* (STR|016) in use */
10340 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10341 /*
10342  * IOCTLs (STR|050) - (STR|055) are available for use.
10343  */
10344 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10345 /*
10346  * User level ioctl format for ioctls that go downstream (I_STR)
10347  */
10348 struct strioctl {
10349  int ic_cmd; /* command */
10350  int ic_timout; /* timeout value */
10351  int ic_len; /* length of data */
10352  char *ic_dp; /* pointer to data */
10353 };
10354 # 308 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10355 /*
10356  * Value for timeouts (ioctl, select) that denotes infinity
10357  */
10358 
10359 
10360 
10361 
10362 
10363 
10364 /*
10365  * For _I_CMD: similar to strioctl, but with included buffer (to avoid copyin/
10366  * copyout from another address space).  NOTE: the size of this structure must
10367  * be less than libproc.h`MAXARGL for pr_ioctl() to handle it.
10368  */
10369 
10370 typedef struct strcmd {
10371  int sc_cmd; /* ioctl command */
10372  int sc_timeout; /* timeout value (in seconds) */
10373  int sc_len; /* length of data */
10374  int sc_pad;
10375  char sc_buf[2048]; /* data buffer */
10376 } strcmd_t;
10377 
10378 
10379 /*
10380  * Stream buffer structure for putmsg and getmsg system calls
10381  */
10382 struct strbuf {
10383  int maxlen; /* no. of bytes in buffer */
10384  int len; /* no. of bytes returned */
10385  caddr_t buf; /* pointer to data */
10386 };
10387 # 350 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10388 /*
10389  * Stream I_PEEK ioctl format
10390  */
10391 struct strpeek {
10392  struct strbuf ctlbuf;
10393  struct strbuf databuf;
10394  t_uscalar_t flags;
10395 };
10396 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10397 /*
10398  * Stream I_FDINSERT ioctl format
10399  */
10400 struct strfdinsert {
10401  struct strbuf ctlbuf;
10402  struct strbuf databuf;
10403  t_uscalar_t flags;
10404  int fildes;
10405  int offset;
10406 };
10407 # 392 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10408 /*
10409  * Receive file descriptor structure
10410  */
10411 # 426 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10412 struct strrecvfd {
10413  int fd;
10414  uid_t uid;
10415  gid_t gid;
10416 
10417 
10418 
10419  char fill[8];
10420 
10421 };
10422 
10423 
10424 /*
10425  * For I_LIST ioctl.
10426  */
10427 struct str_mlist {
10428  char l_name[8 +1];
10429 };
10430 
10431 struct str_list {
10432  int sl_nmods;
10433  struct str_mlist *sl_modlist;
10434 };
10435 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10436 /*
10437  * Private, for _I_INSERT/_I_REMOVE ioctl.
10438  */
10439 struct strmodconf {
10440  int pos; /* Position to be inserted/removed. */
10441  caddr_t mod_name; /* Name of module. */
10442 };
10443 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
10444 /*
10445  * For I_FLUSHBAND ioctl.  Describes the priority
10446  * band for which the operation applies.
10447  */
10448 struct bandinfo {
10449  unsigned char bi_pri;
10450  int bi_flag;
10451 };
10452 
10453 
10454 /*
10455  * The argument for I_ESETSIG and I_EGETSIG ioctls.
10456  */
10457 
10458 struct strsigset {
10459  pid_t ss_pid; /* pgrp if negative */
10460  int ss_events; /* S_ events */
10461 };
10462 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2
10463 
10464 
10465 
10466 
10467 
10468 extern int isastream(int);
10469 
10470 extern int getmsg(int, struct strbuf *,
10471   struct strbuf *, int *);
10472 extern int putmsg(int, const struct strbuf *, const struct strbuf *, int);
10473 
10474 extern int getpmsg(int, struct strbuf *,
10475   struct strbuf *, int *,
10476   int *);
10477 extern int putpmsg(int, const struct strbuf *, const struct strbuf *, int, int);
10478 
10479 /*
10480  * These three routines are duplicated in unistd.h; duplication necessitated
10481  * by XPG4.2 compliance/namespace issues.
10482  */
10483 extern int ioctl(int, int, ...);
10484 extern int fattach(int, const char *);
10485 extern int fdetach(const char *);
10486 # 68 "../common/zones_utils.c" 2
10487 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
10488 /*
10489  * CDDL HEADER START
10490  *
10491  * The contents of this file are subject to the terms of the
10492  * Common Development and Distribution License (the "License").
10493  * You may not use this file except in compliance with the License.
10494  *
10495  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10496  * or http://www.opensolaris.org/os/licensing.
10497  * See the License for the specific language governing permissions
10498  * and limitations under the License.
10499  *
10500  * When distributing Covered Code, include this CDDL HEADER in each
10501  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10502  * If applicable, add the following below this CDDL HEADER, with the
10503  * fields enclosed by brackets "[]" replaced with your own identifying
10504  * information: Portions Copyright [yyyy] [name of copyright owner]
10505  *
10506  * CDDL HEADER END
10507  */
10508 /*
10509  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10510  *
10511  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
10512  * Use is subject to license terms.
10513  */
10514 
10515 
10516 
10517 
10518 
10519 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
10520 /*
10521  * CDDL HEADER START
10522  *
10523  * The contents of this file are subject to the terms of the
10524  * Common Development and Distribution License (the "License").
10525  * You may not use this file except in compliance with the License.
10526  *
10527  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10528  * or http://www.opensolaris.org/os/licensing.
10529  * See the License for the specific language governing permissions
10530  * and limitations under the License.
10531  *
10532  *
10533  * When distributing Covered Code, include this CDDL HEADER in each
10534  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10535  * If applicable, add the following below this CDDL HEADER, with the
10536  * fields enclosed by brackets "[]" replaced with your own identifying
10537  * information: Portions Copyright [yyyy] [name of copyright owner]
10538  *
10539  * CDDL HEADER END
10540  */
10541 
10542 /*
10543  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
10544  * Use is subject to license terms.
10545  * Copyright 2016 Joyent, Inc.
10546  */
10547 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2
10548 
10549 
10550 
10551 
10552 
10553 /*
10554  * wchar_t is a built-in type in standard C++ and as such is not
10555  * defined here when using standard C++. However, the GNU compiler
10556  * fixincludes utility nonetheless creates its own version of this
10557  * header for use by gcc and g++. In that version it adds a redundant
10558  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
10559  * header we need to include the following magic comment:
10560  *
10561  * we must use the C++ compiler's type
10562  *
10563  * The above comment should not be removed or changed until GNU
10564  * gcc/fixinc/inclhack.def is updated to bypass this header.
10565  */
10566 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h"
10567 extern char *dcgettext(const char *, const char *, const int);
10568 extern char *dgettext(const char *, const char *);
10569 extern char *gettext(const char *);
10570 extern char *textdomain(const char *);
10571 extern char *bindtextdomain(const char *, const char *);
10572 
10573 /*
10574  * LI18NUX 2000 Globalization Specification Version 1.0
10575  * with Amendment 2
10576  */
10577 extern char *dcngettext(const char *, const char *,
10578  const char *, unsigned long int, int);
10579 extern char *dngettext(const char *, const char *,
10580  const char *, unsigned long int);
10581 extern char *ngettext(const char *, const char *, unsigned long int);
10582 extern char *bind_textdomain_codeset(const char *, const char *);
10583 
10584 /* Word handling functions --- requires dynamic linking */
10585 /* Warning: these are experimental and subject to change. */
10586 extern int wdinit(void);
10587 extern int wdchkind(wchar_t);
10588 extern int wdbindf(wchar_t, wchar_t, int);
10589 extern wchar_t *wddelim(wchar_t, wchar_t, int);
10590 extern wchar_t mcfiller(void);
10591 extern int mcwrap(void);
10592 # 69 "../common/zones_utils.c" 2
10593 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 1
10594 /*
10595  * CDDL HEADER START
10596  *
10597  * The contents of this file are subject to the terms of the
10598  * Common Development and Distribution License, Version 1.0 only
10599  * (the "License").  You may not use this file except in compliance
10600  * with the License.
10601  *
10602  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10603  * or http://www.opensolaris.org/os/licensing.
10604  * See the License for the specific language governing permissions
10605  * and limitations under the License.
10606  *
10607  * When distributing Covered Code, include this CDDL HEADER in each
10608  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10609  * If applicable, add the following below this CDDL HEADER, with the
10610  * fields enclosed by brackets "[]" replaced with your own identifying
10611  * information: Portions Copyright [yyyy] [name of copyright owner]
10612  *
10613  * CDDL HEADER END
10614  */
10615 /*
10616  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
10617  * Use is subject to license terms.
10618  */
10619 
10620 /*
10621  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10622  *
10623  * Portions of this file developed by Garrett D'Amore are licensed
10624  * under the terms of the Common Development and Distribution License (CDDL)
10625  * version 1.0 only.  The use of subsequent versions of the License are
10626  * is specifically prohibited unless those terms are not in conflict with
10627  * version 1.0 of the License.  You can find this license on-line at
10628  * http://www.illumos.org/license/CDDL
10629  */
10630 
10631 
10632 
10633 
10634 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 1
10635 /*
10636  * CDDL HEADER START
10637  *
10638  * The contents of this file are subject to the terms of the
10639  * Common Development and Distribution License, Version 1.0 only
10640  * (the "License").  You may not use this file except in compliance
10641  * with the License.
10642  *
10643  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10644  * or http://www.opensolaris.org/os/licensing.
10645  * See the License for the specific language governing permissions
10646  * and limitations under the License.
10647  *
10648  * When distributing Covered Code, include this CDDL HEADER in each
10649  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10650  * If applicable, add the following below this CDDL HEADER, with the
10651  * fields enclosed by brackets "[]" replaced with your own identifying
10652  * information: Portions Copyright [yyyy] [name of copyright owner]
10653  *
10654  * CDDL HEADER END
10655  */
10656 /*
10657  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10658  * Copyright 2014 PALO, Richard.
10659  *
10660  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
10661  * Use is subject to license terms.
10662  */
10663 
10664 /*	Copyright (c) 1988 AT&T	*/
10665 /*	  All Rights Reserved  	*/
10666 
10667 
10668 /*
10669  * An application should not include this header directly.  Instead it
10670  * should be included only through the inclusion of other Sun headers.
10671  *
10672  * The contents of this header is limited to identifiers specified in the
10673  * C Standard.  Any new identifiers specified in future amendments to the
10674  * C Standard must be placed in this header.  If these new identifiers
10675  * are required to also be in the C++ Standard "std" namespace, then for
10676  * anything other than macro definitions, corresponding "using" directives
10677  * must also be added to <locale.h>.
10678  */
10679 
10680 
10681 
10682 
10683 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10684 /*
10685  * CDDL HEADER START
10686  *
10687  * The contents of this file are subject to the terms of the
10688  * Common Development and Distribution License (the "License").
10689  * You may not use this file except in compliance with the License.
10690  *
10691  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10692  * or http://www.opensolaris.org/os/licensing.
10693  * See the License for the specific language governing permissions
10694  * and limitations under the License.
10695  *
10696  * When distributing Covered Code, include this CDDL HEADER in each
10697  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10698  * If applicable, add the following below this CDDL HEADER, with the
10699  * fields enclosed by brackets "[]" replaced with your own identifying
10700  * information: Portions Copyright [yyyy] [name of copyright owner]
10701  *
10702  * CDDL HEADER END
10703  */
10704 
10705 /*
10706  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10707  * Copyright 2016 Joyent, Inc.
10708  *
10709  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10710  * Use is subject to license terms.
10711  */
10712 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2
10713 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
10714 /*
10715  * This file and its contents are supplied under the terms of the
10716  * Common Development and Distribution License ("CDDL"), version 1.0.
10717  * You may only use this file in accordance with the terms of version
10718  * 1.0 of the CDDL.
10719  *
10720  * A full copy of the text of the CDDL should have accompanied this
10721  * source.  A copy of the CDDL is also available via the Internet at
10722  * http://www.illumos.org/license/CDDL.
10723  */
10724 
10725 /*
10726  * Copyright 2014-2016 PALO, Richard.
10727  */
10728 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2
10729 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
10730 struct lconv {
10731  char *decimal_point;
10732  char *thousands_sep;
10733  char *grouping;
10734  char *int_curr_symbol;
10735  char *currency_symbol;
10736  char *mon_decimal_point;
10737  char *mon_thousands_sep;
10738  char *mon_grouping;
10739  char *positive_sign;
10740  char *negative_sign;
10741  char int_frac_digits;
10742  char frac_digits;
10743  char p_cs_precedes;
10744  char p_sep_by_space;
10745  char n_cs_precedes;
10746  char n_sep_by_space;
10747  char p_sign_posn;
10748  char n_sign_posn;
10749 
10750 /*
10751  * New in IEEE Std 1003.1-2001 for alignment with the ISO/IEC 9899:1999
10752  * standard.  Namespace and binary compatibility dictate that visibility
10753  * of these new members be limited.  Visibility is limited to a strictly
10754  * conforming ANSI C environment (-Xc) or if _LCONV_C99 is defined.
10755  */
10756 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
10757 };
10758 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
10759 extern char *setlocale(int, const char *);
10760 extern struct lconv *localeconv(void);
10761 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2
10762 
10763 
10764 
10765 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
10766 /*
10767  * CDDL HEADER START
10768  *
10769  * The contents of this file are subject to the terms of the
10770  * Common Development and Distribution License (the "License").
10771  * You may not use this file except in compliance with the License.
10772  *
10773  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10774  * or http://www.opensolaris.org/os/licensing.
10775  * See the License for the specific language governing permissions
10776  * and limitations under the License.
10777  *
10778  * When distributing Covered Code, include this CDDL HEADER in each
10779  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10780  * If applicable, add the following below this CDDL HEADER, with the
10781  * fields enclosed by brackets "[]" replaced with your own identifying
10782  * information: Portions Copyright [yyyy] [name of copyright owner]
10783  *
10784  * CDDL HEADER END
10785  */
10786 /*
10787  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10788  *
10789  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
10790  * Use is subject to license terms.
10791  */
10792 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2
10793 
10794 
10795 /*
10796  * Allow global visibility for symbols defined in
10797  * C++ "std" namespace in <iso/locale_iso.h>.
10798  */
10799 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h"
10800 /*
10801  * These were added in POSIX 2008 as part of the newlocale() specification.
10802  */
10803 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h"
10804 extern locale_t duplocale(locale_t);
10805 extern void freelocale(locale_t);
10806 extern locale_t newlocale(int, const char *, locale_t);
10807 extern locale_t uselocale(locale_t);
10808 
10809 
10810 extern locale_t __global_locale(void);
10811 # 70 "../common/zones_utils.c" 2
10812 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 1
10813 /*
10814  * CDDL HEADER START
10815  *
10816  * The contents of this file are subject to the terms of the
10817  * Common Development and Distribution License, Version 1.0 only
10818  * (the "License").  You may not use this file except in compliance
10819  * with the License.
10820  *
10821  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10822  * or http://www.opensolaris.org/os/licensing.
10823  * See the License for the specific language governing permissions
10824  * and limitations under the License.
10825  *
10826  * When distributing Covered Code, include this CDDL HEADER in each
10827  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10828  * If applicable, add the following below this CDDL HEADER, with the
10829  * fields enclosed by brackets "[]" replaced with your own identifying
10830  * information: Portions Copyright [yyyy] [name of copyright owner]
10831  *
10832  * CDDL HEADER END
10833  */
10834 /*	Copyright (c) 1988 AT&T	*/
10835 /*	  All Rights Reserved  	*/
10836 
10837 /*
10838  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10839  * Copyright 2016 Joyent, Inc.
10840  * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
10841  *
10842  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10843  * Use is subject to license terms.
10844  */
10845 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h"
10846 extern void __assert(const char *, const char *, int);
10847 
10848 
10849 /*
10850  * In C11 the static_assert macro is always defined, unlike the assert macro.
10851  */
10852 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h"
10853 /*
10854  * Note that the ANSI C Standard requires all headers to be idempotent except
10855  * <assert.h> which is explicitly required not to be idempotent (section 4.1.2).
10856  * Therefore, it is by intent that the header guards (#ifndef _ASSERT_H) do
10857  * not span this entire file.
10858  */
10859 # 71 "../common/zones_utils.c" 2
10860 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 1
10861 /*
10862  * CDDL HEADER START
10863  *
10864  * The contents of this file are subject to the terms of the
10865  * Common Development and Distribution License (the "License").
10866  * You may not use this file except in compliance with the License.
10867  *
10868  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10869  * or http://www.opensolaris.org/os/licensing.
10870  * See the License for the specific language governing permissions
10871  * and limitations under the License.
10872  *
10873  * When distributing Covered Code, include this CDDL HEADER in each
10874  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10875  * If applicable, add the following below this CDDL HEADER, with the
10876  * fields enclosed by brackets "[]" replaced with your own identifying
10877  * information: Portions Copyright [yyyy] [name of copyright owner]
10878  *
10879  * CDDL HEADER END
10880  */
10881 /*
10882  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10883  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
10884  *
10885  *	Copyright (c) 1989 AT&T
10886  *	  All Rights Reserved
10887  *
10888  */
10889 
10890 
10891 
10892 
10893 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10894 /*
10895  * CDDL HEADER START
10896  *
10897  * The contents of this file are subject to the terms of the
10898  * Common Development and Distribution License (the "License").
10899  * You may not use this file except in compliance with the License.
10900  *
10901  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10902  * or http://www.opensolaris.org/os/licensing.
10903  * See the License for the specific language governing permissions
10904  * and limitations under the License.
10905  *
10906  * When distributing Covered Code, include this CDDL HEADER in each
10907  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10908  * If applicable, add the following below this CDDL HEADER, with the
10909  * fields enclosed by brackets "[]" replaced with your own identifying
10910  * information: Portions Copyright [yyyy] [name of copyright owner]
10911  *
10912  * CDDL HEADER END
10913  */
10914 
10915 /*
10916  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10917  * Copyright 2016 Joyent, Inc.
10918  *
10919  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10920  * Use is subject to license terms.
10921  */
10922 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2
10923 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10924 /*
10925  * CDDL HEADER START
10926  *
10927  * The contents of this file are subject to the terms of the
10928  * Common Development and Distribution License (the "License").
10929  * You may not use this file except in compliance with the License.
10930  *
10931  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10932  * or http://www.opensolaris.org/os/licensing.
10933  * See the License for the specific language governing permissions
10934  * and limitations under the License.
10935  *
10936  * When distributing Covered Code, include this CDDL HEADER in each
10937  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10938  * If applicable, add the following below this CDDL HEADER, with the
10939  * fields enclosed by brackets "[]" replaced with your own identifying
10940  * information: Portions Copyright [yyyy] [name of copyright owner]
10941  *
10942  * CDDL HEADER END
10943  */
10944 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10945 /*	  All Rights Reserved  	*/
10946 
10947 
10948 /*
10949  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10950  * Use is subject to license terms.
10951  *
10952  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10953  * Copyright 2016 Joyent, Inc.
10954  */
10955 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2
10956 
10957 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 1
10958 /*
10959  * CDDL HEADER START
10960  *
10961  * The contents of this file are subject to the terms of the
10962  * Common Development and Distribution License (the "License").
10963  * You may not use this file except in compliance with the License.
10964  *
10965  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10966  * or http://www.opensolaris.org/os/licensing.
10967  * See the License for the specific language governing permissions
10968  * and limitations under the License.
10969  *
10970  * When distributing Covered Code, include this CDDL HEADER in each
10971  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10972  * If applicable, add the following below this CDDL HEADER, with the
10973  * fields enclosed by brackets "[]" replaced with your own identifying
10974  * information: Portions Copyright [yyyy] [name of copyright owner]
10975  *
10976  * CDDL HEADER END
10977  */
10978 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10979 /*	  All Rights Reserved  	*/
10980 
10981 
10982 /*
10983  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10984  *
10985  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
10986  * Use is subject to license terms.
10987  */
10988 /*
10989  * Copyright 2016 Joyent, Inc.
10990  */
10991 
10992 
10993 
10994 
10995 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10996 /*
10997  * CDDL HEADER START
10998  *
10999  * The contents of this file are subject to the terms of the
11000  * Common Development and Distribution License (the "License").
11001  * You may not use this file except in compliance with the License.
11002  *
11003  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11004  * or http://www.opensolaris.org/os/licensing.
11005  * See the License for the specific language governing permissions
11006  * and limitations under the License.
11007  *
11008  * When distributing Covered Code, include this CDDL HEADER in each
11009  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11010  * If applicable, add the following below this CDDL HEADER, with the
11011  * fields enclosed by brackets "[]" replaced with your own identifying
11012  * information: Portions Copyright [yyyy] [name of copyright owner]
11013  *
11014  * CDDL HEADER END
11015  */
11016 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11017 /*	  All Rights Reserved  	*/
11018 
11019 
11020 /*
11021  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11022  * Use is subject to license terms.
11023  *
11024  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11025  * Copyright 2016 Joyent, Inc.
11026  */
11027 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 2
11028 
11029 
11030 
11031 
11032 
11033 
11034 typedef struct
11035 {
11036  int a_type;
11037  union {
11038   long a_val;
11039   void *a_ptr;
11040   void (*a_fcn)();
11041  } a_un;
11042 } auxv_t;
11043 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h"
11044 /*
11045  * These relate to the original PPC ABI document; Linux reused
11046  * the values for other things (see below), so disambiguation of
11047  * these values may require additional context in PPC binaries.
11048  *
11049  * AT_DCACHEBSIZE	10	smallest data cache block size
11050  * AT_ICACHEBSIZE	11	smallest instruction cache block size
11051  * AT_UCACHEBSIZE	12	smallest unified cache block size
11052  *
11053  * These are the values from LSB 1.3, the first five are also described
11054  * in the draft amd64 ABI.
11055  *
11056  * At the time of writing, Solaris doesn't place any of these values into
11057  * the aux vector, except AT_CLKTCK which is placed on the aux vector for
11058  * lx branded processes; also, we do similar things via AT_SUN_ values.
11059  *
11060  * AT_NOTELF		10	program is not ELF?
11061  * AT_UID		11	real user id
11062  * AT_EUID		12	effective user id
11063  * AT_GID		13	real group id
11064  * AT_EGID		14	effective group id
11065  *
11066  * AT_PLATFORM		15
11067  * AT_HWCAP		16
11068  * AT_CLKTCK		17	c.f. _SC_CLK_TCK
11069  * AT_FPUCW		18
11070  *
11071  * AT_DCACHEBSIZE	19	(moved from 10)
11072  * AT_ICACHEBSIZE	20	(moved from 11)
11073  * AT_UCACHEBSIZE	21	(moved from 12)
11074  *
11075  * AT_IGNOREPPC		22
11076  */
11077 
11078 /*
11079  * Sun extensions begin here
11080  */
11081 
11082 
11083 
11084 
11085 
11086 /*
11087  * The following attributes are specific to the
11088  * kernel implementation of the linker/loader.
11089  */
11090 
11091 
11092 
11093 
11094 /*
11095  * The following aux vector provides a null-terminated platform
11096  * identification string. This information is the same as provided
11097  * by sysinfo(2) when invoked with the command SI_PLATFORM.
11098  */
11099 
11100 
11101 /*
11102  * These attributes communicate performance -hints- about processor
11103  * hardware capabilities that might be useful to library implementations.
11104  */
11105 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h"
11106 extern uint_t getisax(uint32_t *, uint_t);
11107 
11108 
11109 
11110 
11111 
11112 /*
11113  * The following aux vector provides a pointer to a null-terminated
11114  * path name, a copy of the path name passed to the exec() system
11115  * call but that has had all symlinks resolved (see resolvepath(2)).
11116  */
11117 
11118 
11119 
11120 
11121 
11122 
11123 
11124 /*
11125  * Used to indicate to the runtime linker the name of the emulation binary,
11126  * if one is being used. For brands, this is the name of the brand library.
11127  */
11128 
11129 
11130 
11131 
11132 /*
11133  * Aux vectors available for brand modules.
11134  */
11135 
11136 
11137 
11138 
11139 /*
11140  * Aux vector for comm page
11141  */
11142 
11143 
11144 /*
11145  * Note that 2023 is reserved for the AT_SUN_HWCAP2 word defined above.
11146  */
11147 
11148 /*
11149  * The kernel is in a better position to determine whether a process needs to
11150  * ignore dangerous LD environment variables.  If set, this flags tells
11151  * ld.so.1 to run "secure" and ignore the the environment.
11152  */
11153 
11154 
11155 /*
11156  * If set, this flag indicates that hardware capabilites can be verified
11157  * against the AT_SUN_HWCAP value.
11158  */
11159 
11160 
11161 /*
11162  * If set, this flag indicates that the the linker should not initialize
11163  * any of its link maps as primary link wrt the unified libc threading
11164  * interfaces.
11165  */
11166 # 228 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h"
11167 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" 1
11168 /*
11169  * CDDL HEADER START
11170  *
11171  * The contents of this file are subject to the terms of the
11172  * Common Development and Distribution License (the "License").
11173  * You may not use this file except in compliance with the License.
11174  *
11175  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11176  * or http://www.opensolaris.org/os/licensing.
11177  * See the License for the specific language governing permissions
11178  * and limitations under the License.
11179  *
11180  * When distributing Covered Code, include this CDDL HEADER in each
11181  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11182  * If applicable, add the following below this CDDL HEADER, with the
11183  * fields enclosed by brackets "[]" replaced with your own identifying
11184  * information: Portions Copyright [yyyy] [name of copyright owner]
11185  *
11186  * CDDL HEADER END
11187  */
11188 /*
11189  * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
11190  * Copyright (c) 2015, Joyent, Inc.
11191  */
11192 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h"
11193 /*
11194  * Flags used in AT_SUN_HWCAP elements to describe various userland
11195  * instruction set extensions available on different processors.
11196  * The basic assumption is that of the i386 ABI; that is, i386 plus i387
11197  * floating point.
11198  *
11199  * Note that if a given bit is set; the implication is that the kernel
11200  * provides all the underlying architectural support for the correct
11201  * functioning of the extended instruction(s).
11202  */
11203 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h"
11204      /* 0x02000 withdrawn - do not assign */
11205 
11206      /* 0x08000 withdrawn - do not assign */
11207 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 2
11208 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2
11209 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1
11210 /*
11211  * CDDL HEADER START
11212  *
11213  * The contents of this file are subject to the terms of the
11214  * Common Development and Distribution License (the "License").
11215  * You may not use this file except in compliance with the License.
11216  *
11217  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11218  * or http://www.opensolaris.org/os/licensing.
11219  * See the License for the specific language governing permissions
11220  * and limitations under the License.
11221  *
11222  * When distributing Covered Code, include this CDDL HEADER in each
11223  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11224  * If applicable, add the following below this CDDL HEADER, with the
11225  * fields enclosed by brackets "[]" replaced with your own identifying
11226  * information: Portions Copyright [yyyy] [name of copyright owner]
11227  *
11228  * CDDL HEADER END
11229  */
11230 
11231 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */
11232 /*
11233  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11234  *
11235  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
11236  * Use is subject to license terms.
11237  * Copyright 2015 Joyent, Inc.  All rights reserved.
11238  */
11239 
11240 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
11241 /*	  All Rights Reserved	*/
11242 
11243 /*
11244  * University Copyright- Copyright (c) 1982, 1986, 1988
11245  * The Regents of the University of California
11246  * All Rights Reserved
11247  *
11248  * University Acknowledgment- Portions of this document are derived from
11249  * software developed by the University of California, Berkeley, and its
11250  * contributors.
11251  */
11252 
11253 
11254 
11255 
11256 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
11257 /*
11258  * CDDL HEADER START
11259  *
11260  * The contents of this file are subject to the terms of the
11261  * Common Development and Distribution License (the "License").
11262  * You may not use this file except in compliance with the License.
11263  *
11264  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11265  * or http://www.opensolaris.org/os/licensing.
11266  * See the License for the specific language governing permissions
11267  * and limitations under the License.
11268  *
11269  * When distributing Covered Code, include this CDDL HEADER in each
11270  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11271  * If applicable, add the following below this CDDL HEADER, with the
11272  * fields enclosed by brackets "[]" replaced with your own identifying
11273  * information: Portions Copyright [yyyy] [name of copyright owner]
11274  *
11275  * CDDL HEADER END
11276  */
11277 
11278 /*
11279  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
11280  * Copyright 2016 Joyent, Inc.
11281  *
11282  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
11283  * Use is subject to license terms.
11284  */
11285 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2
11286 
11287 
11288 
11289 
11290 
11291 
11292 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
11293 /*
11294  * CDDL HEADER START
11295  *
11296  * The contents of this file are subject to the terms of the
11297  * Common Development and Distribution License (the "License").
11298  * You may not use this file except in compliance with the License.
11299  *
11300  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11301  * or http://www.opensolaris.org/os/licensing.
11302  * See the License for the specific language governing permissions
11303  * and limitations under the License.
11304  *
11305  * When distributing Covered Code, include this CDDL HEADER in each
11306  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11307  * If applicable, add the following below this CDDL HEADER, with the
11308  * fields enclosed by brackets "[]" replaced with your own identifying
11309  * information: Portions Copyright [yyyy] [name of copyright owner]
11310  *
11311  * CDDL HEADER END
11312  */
11313 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11314 /*	  All Rights Reserved  	*/
11315 
11316 
11317 /*
11318  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11319  * Use is subject to license terms.
11320  *
11321  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11322  * Copyright 2016 Joyent, Inc.
11323  */
11324 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2
11325 
11326 
11327 /*
11328  * Protections are chosen from these bits, or-ed together.
11329  * Note - not all implementations literally provide all possible
11330  * combinations.  PROT_WRITE is often implemented as (PROT_READ |
11331  * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE).
11332  * However, no implementation will permit a write to succeed
11333  * where PROT_WRITE has not been set.  Also, no implementation will
11334  * allow any access to succeed where prot is specified as PROT_NONE.
11335  */
11336 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11337 /* sharing types:  must choose either SHARED or PRIVATE */
11338 
11339 
11340 
11341 
11342 /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */
11343 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11344 /* these flags not yet implemented */
11345 
11346 
11347 
11348 /* these flags are used by memcntl */
11349 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11350 /*
11351  * For the sake of backward object compatibility, we use the _MAP_NEW flag.
11352  * This flag will be automatically or'ed in by the C library for all
11353  * new mmap calls.  Previous binaries with old mmap calls will continue
11354  * to get 0 or -1 for return values.  New mmap calls will get the mapped
11355  * address as the return value if successful and -1 on errors.  By default,
11356  * new mmap calls automatically have the kernel assign the map address
11357  * unless the MAP_FIXED flag is given.
11358  */
11359 
11360 
11361 
11362 
11363 
11364 /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */
11365 
11366 
11367 
11368 
11369 
11370 /*
11371  * Values for mr_flags field of mmapobj_result_t below.
11372  * The bottom 16 bits are mutually exclusive and thus only one
11373  * of them can be set at a time.  Use MR_GET_TYPE below to check this value.
11374  * The top 16 bits are used for flags which are not mutually exclusive and
11375  * thus more than one of these flags can be set for a given mmapobj_result_t.
11376  *
11377  * MR_PADDING being set indicates that this memory range represents the user
11378  * requested padding.
11379  *
11380  * MR_HDR_ELF being set indicates that the ELF header of the mapped object
11381  * is mapped at mr_addr + mr_offset.
11382  *
11383  * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped
11384  * object is mapped at mr_addr + mr_offset.
11385  */
11386 
11387 /*
11388  * External flags for mr_flags field below.
11389  */
11390 
11391 
11392 
11393 
11394 /*
11395  * Internal flags for mr_flags field below.
11396  */
11397 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11398 typedef struct mmapobj_result {
11399  caddr_t mr_addr; /* mapping address */
11400  size_t mr_msize; /* mapping size */
11401  size_t mr_fsize; /* file size */
11402  size_t mr_offset; /* offset into file */
11403  uint_t mr_prot; /* the protections provided */
11404  uint_t mr_flags; /* info on the mapping */
11405 } mmapobj_result_t;
11406 # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11407 /*
11408  * large file compilation environment setup
11409  *
11410  * In the LP64 compilation environment, map large file interfaces
11411  * back to native versions where possible.
11412  */
11413 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11414 
11415 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11416 #pragma redefine_extname mmap64 mmap
11417 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11418 
11419 
11420 
11421 
11422 
11423 
11424 
11425 
11426 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11427 #pragma redefine_extname getpagesizes getpagesizes2
11428 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11429 
11430 
11431 
11432 
11433 
11434 /*
11435  * Except for old binaries mmap() will return the resultant
11436  * address of mapping on success and (caddr_t)-1 on error.
11437  */
11438 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11439 extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t);
11440 extern int munmap(caddr_t, size_t);
11441 extern int mprotect(caddr_t, size_t, int);
11442 extern int msync(caddr_t, size_t, int);
11443 extern int mlock(caddr_t, size_t);
11444 extern int munlock(caddr_t, size_t);
11445 extern int mincore(caddr_t, size_t, char *);
11446 extern int memcntl(caddr_t, size_t, int, caddr_t, int, int);
11447 extern int madvise(caddr_t, size_t, int);
11448 
11449 extern int getpagesizes(size_t *, int);
11450 extern int getpagesizes2(size_t *, int);
11451 extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *);
11452 /* guard visibility of uint64_t */
11453 
11454 extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *,
11455  uint_t *);
11456 
11457 
11458 /* transitional large file interface version */
11459 
11460 extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t);
11461 
11462 
11463 
11464 
11465 extern int mlockall(int);
11466 extern int munlockall(void);
11467 extern int shm_open(const char *, int, mode_t);
11468 extern int shm_unlink(const char *);
11469 
11470 
11471 
11472 extern int posix_madvise(void *, size_t, int);
11473 
11474 
11475 /* mmap failure value */
11476 
11477 
11478 
11479 
11480 
11481 
11482 
11483 /*
11484  * structure for memcntl hat advise operations.
11485  */
11486 struct memcntl_mha {
11487  uint_t mha_cmd; /* command(s) */
11488  uint_t mha_flags;
11489  size_t mha_pagesize;
11490 };
11491 # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11492 /*
11493  * advice to madvise
11494  *
11495  * Note, if more than 4 bits worth of advice (eg. 16) are specified then
11496  * changes will be necessary to the struct vpage.
11497  */
11498 # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11499 /* advice to posix_madvise */
11500 /* these values must be kept in sync with the MADV_* values, above */
11501 
11502 
11503 
11504 
11505 
11506 
11507 
11508 /* flags to msync */
11509 
11510      /* modified for UNIX98 compliance */
11511 
11512 
11513 
11514 
11515 
11516 /* functions to mctl */
11517 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11518 /* sub-commands for MC_HAT_ADVISE */
11519 
11520 
11521      /* for last bss adjacent to */
11522      /* brk area and brk area itself */
11523 
11524      /* processes main stack */
11525 
11526 
11527 
11528 
11529 /* flags to mlockall */
11530 
11531 
11532 
11533 
11534 
11535 
11536 /* definitions for meminfosys syscall */
11537 
11538 
11539 
11540 
11541 
11542 /* private structure for meminfo */
11543 typedef struct meminfo {
11544  const uint64_t *mi_inaddr; /* array of input addresses */
11545  const uint_t *mi_info_req; /* array of types of info requested */
11546  uint64_t *mi_outdata; /* array of results are placed */
11547  uint_t *mi_validity; /* array of bitwise result codes */
11548  int mi_info_count; /* number of pieces of info requested */
11549 } meminfo_t;
11550 # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11551 /*
11552  * info_req request type definitions for meminfo
11553  * request types starting with MEMINFO_V are used for Virtual addresses
11554  * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical
11555  * addresses
11556  */
11557 # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
11558 /* maximum number of addresses meminfo() can process at a time */
11559 
11560 
11561 /* maximum number of request types */
11562 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2
11563 
11564 
11565 
11566 
11567 
11568 
11569 /*
11570  * Information structures for various dlinfo() requests.
11571  */
11572 
11573 typedef struct dl_info {
11574  const char *dli_fname; /* file containing address range */
11575  void *dli_fbase; /* base address of file image */
11576  const char *dli_sname; /* symbol name */
11577  void *dli_saddr; /* symbol address */
11578 } Dl_info;
11579 typedef Dl_info Dl_info_t;
11580 
11581 typedef struct dl_serpath {
11582  char *dls_name; /* library search path name */
11583  uint_t dls_flags; /* path information */
11584 } Dl_serpath;
11585 typedef Dl_serpath Dl_serpath_t;
11586 
11587 typedef struct dl_serinfo {
11588  size_t dls_size; /* total buffer size */
11589  uint_t dls_cnt; /* number of path entries */
11590  Dl_serpath dls_serpath[1]; /* there may be more than one */
11591 } Dl_serinfo;
11592 typedef Dl_serinfo Dl_serinfo_t;
11593 
11594 typedef struct dl_argsinfo {
11595  long dla_argc; /* process argument count */
11596  char **dla_argv; /* process arguments */
11597  char **dla_envp; /* process environment variables */
11598  auxv_t *dla_auxv; /* process auxv vectors */
11599 } Dl_argsinfo;
11600 typedef Dl_argsinfo Dl_argsinfo_t;
11601 
11602 typedef struct {
11603  mmapobj_result_t *dlm_maps; /* mapping information */
11604  uint_t dlm_acnt; /* number of dlm_maps mappings */
11605  uint_t dlm_rcnt; /* number of returned mappings */
11606 } Dl_mapinfo_t;
11607 
11608 typedef struct {
11609  uint_t dlui_version; /* version # */
11610  uint_t dlui_flags; /* flags */
11611  char *dlui_objname; /* path to object */
11612  void *dlui_unwindstart; /* star of unwind hdr */
11613  void *dlui_unwindend; /* end of unwind hdr */
11614  void *dlui_segstart; /* start of segment described */
11615      /*  by unwind block */
11616  void *dlui_segend; /* end of segment described */
11617      /*  by unwind block */
11618 } Dl_amd64_unwindinfo;
11619 typedef Dl_amd64_unwindinfo Dl_amd64_unwindinfo_t;
11620 
11621 typedef struct {
11622  const char *dld_refname; /* reference name */
11623  const char *dld_depname; /* new dependency name */
11624 } Dl_definfo_t;
11625 
11626 
11627 
11628 
11629 typedef ulong_t Lmid_t;
11630 
11631 /*
11632  * Declarations used for dynamic linking support routines.
11633  */
11634 extern void *dlopen(const char *, int);
11635 extern void *dlsym(void *, const char *);
11636 extern int dlclose(void *);
11637 extern char *dlerror(void);
11638 
11639 extern void *dlmopen(Lmid_t, const char *, int);
11640 extern int dladdr(void *, Dl_info *);
11641 extern int dladdr1(void *, Dl_info *, void **, int);
11642 extern int dldump(const char *, const char *, int);
11643 extern int dlinfo(void *, int, void *);
11644 extern Dl_amd64_unwindinfo *dlamd64getunwind(void *, Dl_amd64_unwindinfo *);
11645 
11646 
11647 #pragma unknown_control_flow(dlopen, dlsym, dlclose, dlerror)
11648 
11649 #pragma unknown_control_flow(dlmopen, dladdr, dladdr1, dldump, dlinfo)
11650 
11651 
11652 /*
11653  * Valid values for handle argument to dlsym(3x).
11654  */
11655 
11656 
11657       /*	of current object */
11658 
11659 
11660       /*	of current object, */
11661       /*	using currently */
11662       /*	loaded objects only. */
11663 /*
11664  * Valid values for mode argument to dlopen.
11665  */
11666 
11667 
11668 
11669 
11670 
11671 
11672       /*	to group members */
11673 
11674       /*	a group dependencies */
11675 
11676       /*	members of the group */
11677 
11678       /*	global objects */
11679 
11680 
11681       /*	available for dlsym */
11682 
11683       /*	internal use only */
11684 
11685 /*
11686  * Valid values for flag argument to dldump.
11687  */
11688 
11689 
11690       /*	bind to main */
11691 
11692       /*	bind to dependencies */
11693 
11694       /*	bind to preload objs */
11695 
11696       /*	bind to ourself */
11697 
11698       /*	even if unresolved */
11699 
11700 
11701 
11702 
11703       /*	only */
11704 
11705 
11706       /*	internal use only */
11707 
11708 /*
11709  * Valid values for dladdr1() flags.
11710  */
11711 
11712 
11713 
11714 
11715 
11716 /*
11717  * Arguments for dlinfo()
11718  */
11719 
11720 
11721 
11722 
11723 
11724 
11725 
11726       /*    internal use only */
11727 
11728       /*    internal use only */
11729 
11730 
11731 
11732       /*    environment and auxv */
11733 
11734 
11735 
11736       /*    deferred dependency */
11737 
11738       /*    deferred dependency */
11739       /*    using a symbol name */
11740 
11741 
11742 
11743 /*
11744  * Version information for Dl_amd64_unwindinfo.dlui_version
11745  */
11746 
11747 
11748 
11749 /*
11750  * Valid flags for Dl_amd64_unwindinfo.dlfi_flags
11751  */
11752 
11753 
11754       /*  matching the pc provided */
11755 # 72 "../common/zones_utils.c" 2
11756 
11757 /*
11758  * local includes
11759  */
11760 
11761 # 1 "../common/instzones_lib.h" 1
11762 /*
11763  * CDDL HEADER START
11764  *
11765  * The contents of this file are subject to the terms of the
11766  * Common Development and Distribution License (the "License").
11767  * You may not use this file except in compliance with the License.
11768  *
11769  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11770  * or http://www.opensolaris.org/os/licensing.
11771  * See the License for the specific language governing permissions
11772  * and limitations under the License.
11773  *
11774  * When distributing Covered Code, include this CDDL HEADER in each
11775  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11776  * If applicable, add the following below this CDDL HEADER, with the
11777  * fields enclosed by brackets "[]" replaced with your own identifying
11778  * information: Portions Copyright [yyyy] [name of copyright owner]
11779  *
11780  * CDDL HEADER END
11781  */
11782 /*
11783  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
11784  */
11785 
11786 
11787 
11788 
11789 
11790 
11791 
11792 /*
11793  * Module:	instzones_lib.h
11794  * Group:	libinstzones
11795  * Description:	This module contains the libinstzones internal data structures,
11796  *		constants, and function prototypes. This include should not be
11797  *		needed by any external code (consumers of this library).
11798  */
11799 
11800 /*
11801  * required includes
11802  */
11803 
11804 /* System includes */
11805 
11806 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1
11807 /*
11808  * CDDL HEADER START
11809  *
11810  * The contents of this file are subject to the terms of the
11811  * Common Development and Distribution License (the "License").
11812  * You may not use this file except in compliance with the License.
11813  *
11814  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11815  * or http://www.opensolaris.org/os/licensing.
11816  * See the License for the specific language governing permissions
11817  * and limitations under the License.
11818  *
11819  * When distributing Covered Code, include this CDDL HEADER in each
11820  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11821  * If applicable, add the following below this CDDL HEADER, with the
11822  * fields enclosed by brackets "[]" replaced with your own identifying
11823  * information: Portions Copyright [yyyy] [name of copyright owner]
11824  *
11825  * CDDL HEADER END
11826  */
11827 /*
11828  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11829  * Use is subject to license terms.
11830  */
11831 
11832 
11833 
11834 
11835 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
11836 /*
11837  * CDDL HEADER START
11838  *
11839  * The contents of this file are subject to the terms of the
11840  * Common Development and Distribution License (the "License").
11841  * You may not use this file except in compliance with the License.
11842  *
11843  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11844  * or http://www.opensolaris.org/os/licensing.
11845  * See the License for the specific language governing permissions
11846  * and limitations under the License.
11847  *
11848  * When distributing Covered Code, include this CDDL HEADER in each
11849  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11850  * If applicable, add the following below this CDDL HEADER, with the
11851  * fields enclosed by brackets "[]" replaced with your own identifying
11852  * information: Portions Copyright [yyyy] [name of copyright owner]
11853  *
11854  * CDDL HEADER END
11855  */
11856 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11857 /*	  All Rights Reserved  	*/
11858 
11859 
11860 /*
11861  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11862  * Use is subject to license terms.
11863  *
11864  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11865  * Copyright 2016 Joyent, Inc.
11866  */
11867 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
11868 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1
11869 /*
11870  * CDDL HEADER START
11871  *
11872  * The contents of this file are subject to the terms of the
11873  * Common Development and Distribution License (the "License").
11874  * You may not use this file except in compliance with the License.
11875  *
11876  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11877  * or http://www.opensolaris.org/os/licensing.
11878  * See the License for the specific language governing permissions
11879  * and limitations under the License.
11880  *
11881  * When distributing Covered Code, include this CDDL HEADER in each
11882  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11883  * If applicable, add the following below this CDDL HEADER, with the
11884  * fields enclosed by brackets "[]" replaced with your own identifying
11885  * information: Portions Copyright [yyyy] [name of copyright owner]
11886  *
11887  * CDDL HEADER END
11888  */
11889 /*
11890  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
11891  * Copyright 2013, Joyent, Inc. All rights reserved.
11892  * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
11893  * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>.
11894  */
11895 
11896 
11897 
11898 
11899 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
11900 /*
11901  * CDDL HEADER START
11902  *
11903  * The contents of this file are subject to the terms of the
11904  * Common Development and Distribution License (the "License").
11905  * You may not use this file except in compliance with the License.
11906  *
11907  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11908  * or http://www.opensolaris.org/os/licensing.
11909  * See the License for the specific language governing permissions
11910  * and limitations under the License.
11911  *
11912  * When distributing Covered Code, include this CDDL HEADER in each
11913  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11914  * If applicable, add the following below this CDDL HEADER, with the
11915  * fields enclosed by brackets "[]" replaced with your own identifying
11916  * information: Portions Copyright [yyyy] [name of copyright owner]
11917  *
11918  * CDDL HEADER END
11919  */
11920 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11921 /*	  All Rights Reserved  	*/
11922 
11923 
11924 /*
11925  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11926  * Use is subject to license terms.
11927  *
11928  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11929  * Copyright 2016 Joyent, Inc.
11930  */
11931 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
11932 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1
11933 /*
11934  * CDDL HEADER START
11935  *
11936  * The contents of this file are subject to the terms of the
11937  * Common Development and Distribution License (the "License").
11938  * You may not use this file except in compliance with the License.
11939  *
11940  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11941  * or http://www.opensolaris.org/os/licensing.
11942  * See the License for the specific language governing permissions
11943  * and limitations under the License.
11944  *
11945  * When distributing Covered Code, include this CDDL HEADER in each
11946  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11947  * If applicable, add the following below this CDDL HEADER, with the
11948  * fields enclosed by brackets "[]" replaced with your own identifying
11949  * information: Portions Copyright [yyyy] [name of copyright owner]
11950  *
11951  * CDDL HEADER END
11952  */
11953 /*
11954  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
11955  */
11956 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
11957 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
11958 /*
11959  * CDDL HEADER START
11960  *
11961  * The contents of this file are subject to the terms of the
11962  * Common Development and Distribution License (the "License").
11963  * You may not use this file except in compliance with the License.
11964  *
11965  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11966  * or http://www.opensolaris.org/os/licensing.
11967  * See the License for the specific language governing permissions
11968  * and limitations under the License.
11969  *
11970  * When distributing Covered Code, include this CDDL HEADER in each
11971  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11972  * If applicable, add the following below this CDDL HEADER, with the
11973  * fields enclosed by brackets "[]" replaced with your own identifying
11974  * information: Portions Copyright [yyyy] [name of copyright owner]
11975  *
11976  * CDDL HEADER END
11977  */
11978 
11979 /*
11980  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
11981  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
11982  */
11983 
11984 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
11985 /*	  All Rights Reserved  	*/
11986 
11987 /*
11988  * University Copyright- Copyright (c) 1982, 1986, 1988
11989  * The Regents of the University of California
11990  * All Rights Reserved
11991  *
11992  * University Acknowledgment- Portions of this document are derived from
11993  * software developed by the University of California, Berkeley, and its
11994  * contributors.
11995  */
11996 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
11997 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
11998 /*
11999  * CDDL HEADER START
12000  *
12001  * The contents of this file are subject to the terms of the
12002  * Common Development and Distribution License (the "License").
12003  * You may not use this file except in compliance with the License.
12004  *
12005  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12006  * or http://www.opensolaris.org/os/licensing.
12007  * See the License for the specific language governing permissions
12008  * and limitations under the License.
12009  *
12010  * When distributing Covered Code, include this CDDL HEADER in each
12011  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12012  * If applicable, add the following below this CDDL HEADER, with the
12013  * fields enclosed by brackets "[]" replaced with your own identifying
12014  * information: Portions Copyright [yyyy] [name of copyright owner]
12015  *
12016  * CDDL HEADER END
12017  */
12018 /*
12019  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
12020  */
12021 
12022 
12023 
12024 
12025 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1
12026 /*
12027  * CDDL HEADER START
12028  *
12029  * The contents of this file are subject to the terms of the
12030  * Common Development and Distribution License (the "License").
12031  * You may not use this file except in compliance with the License.
12032  *
12033  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12034  * or http://www.opensolaris.org/os/licensing.
12035  * See the License for the specific language governing permissions
12036  * and limitations under the License.
12037  *
12038  * When distributing Covered Code, include this CDDL HEADER in each
12039  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12040  * If applicable, add the following below this CDDL HEADER, with the
12041  * fields enclosed by brackets "[]" replaced with your own identifying
12042  * information: Portions Copyright [yyyy] [name of copyright owner]
12043  *
12044  * CDDL HEADER END
12045  */
12046 
12047 /*
12048  * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
12049  * Copyright (c) 2012 by Delphix. All rights reserved.
12050  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12051  */
12052 
12053 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
12054 /*	  All Rights Reserved	*/
12055 
12056 
12057 
12058 
12059 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12060 /*
12061  * CDDL HEADER START
12062  *
12063  * The contents of this file are subject to the terms of the
12064  * Common Development and Distribution License (the "License").
12065  * You may not use this file except in compliance with the License.
12066  *
12067  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12068  * or http://www.opensolaris.org/os/licensing.
12069  * See the License for the specific language governing permissions
12070  * and limitations under the License.
12071  *
12072  * When distributing Covered Code, include this CDDL HEADER in each
12073  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12074  * If applicable, add the following below this CDDL HEADER, with the
12075  * fields enclosed by brackets "[]" replaced with your own identifying
12076  * information: Portions Copyright [yyyy] [name of copyright owner]
12077  *
12078  * CDDL HEADER END
12079  */
12080 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12081 /*	  All Rights Reserved  	*/
12082 
12083 
12084 /*
12085  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12086  * Use is subject to license terms.
12087  *
12088  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12089  * Copyright 2016 Joyent, Inc.
12090  */
12091 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2
12092 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 1
12093 /*
12094  * CDDL HEADER START
12095  *
12096  * The contents of this file are subject to the terms of the
12097  * Common Development and Distribution License (the "License").
12098  * You may not use this file except in compliance with the License.
12099  *
12100  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12101  * or http://www.opensolaris.org/os/licensing.
12102  * See the License for the specific language governing permissions
12103  * and limitations under the License.
12104  *
12105  * When distributing Covered Code, include this CDDL HEADER in each
12106  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12107  * If applicable, add the following below this CDDL HEADER, with the
12108  * fields enclosed by brackets "[]" replaced with your own identifying
12109  * information: Portions Copyright [yyyy] [name of copyright owner]
12110  *
12111  * CDDL HEADER END
12112  */
12113 /*
12114  * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
12115  * Copyright (c) 2012 by Delphix. All rights reserved.
12116  */
12117 
12118 
12119 
12120 
12121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12122 /*
12123  * CDDL HEADER START
12124  *
12125  * The contents of this file are subject to the terms of the
12126  * Common Development and Distribution License (the "License").
12127  * You may not use this file except in compliance with the License.
12128  *
12129  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12130  * or http://www.opensolaris.org/os/licensing.
12131  * See the License for the specific language governing permissions
12132  * and limitations under the License.
12133  *
12134  * When distributing Covered Code, include this CDDL HEADER in each
12135  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12136  * If applicable, add the following below this CDDL HEADER, with the
12137  * fields enclosed by brackets "[]" replaced with your own identifying
12138  * information: Portions Copyright [yyyy] [name of copyright owner]
12139  *
12140  * CDDL HEADER END
12141  */
12142 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12143 /*	  All Rights Reserved  	*/
12144 
12145 
12146 /*
12147  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12148  * Use is subject to license terms.
12149  *
12150  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12151  * Copyright 2016 Joyent, Inc.
12152  */
12153 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2
12154 
12155 
12156 
12157 
12158 
12159 
12160 /*
12161  * Per-allocation flags
12162  */
12163 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h"
12164 /*
12165  * The following flags are restricted for use only within the kernel.
12166  * VM_MEMLOAD is for use by the HAT to avoid infinite recursion.
12167  * VM_NORELOC is used by the kernel when static VA->PA mappings are required.
12168  */
12169 
12170 
12171 /*
12172  * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags
12173  * and forgo reaping if the allocation or attempted import, fails.  This
12174  * flag is a segkmem-specific flag, and should not be used by anyone else.
12175  */
12176 
12177 
12178 /*
12179  * VM_ENDALLOC requests that large addresses be preferred in allocations.
12180  * Has no effect if VM_NEXTFIT is active.
12181  */
12182 
12183 
12184 
12185 
12186 /*
12187  * Arena creation flags
12188  */
12189 
12190 
12191 
12192 
12193 /*
12194  * internal use only;	the import function uses the vmem_ximport_t interface
12195  *			and may increase the request size if it so desires.
12196  *			VMC_XALIGN, for use with vmem_xcreate, specifies that
12197  *			the address returned by the import function will be
12198  *			aligned according to the alignment argument.
12199  */
12200 
12201 
12202 
12203 
12204 /*
12205  * Public segment types
12206  */
12207 
12208 
12209 
12210 /*
12211  * Implementation-private segment types
12212  */
12213 
12214 
12215 
12216 
12217 /*
12218  * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may
12219  * call back into the arena being walked, so vmem_walk() must drop the
12220  * arena lock before each callback.  The caveat is that since the arena
12221  * isn't locked, its state can change.  Therefore it is up to the callback
12222  * routine to handle cases where the segment isn't of the expected type.
12223  * For example, we use this to walk heap_arena when generating a crash dump;
12224  * see segkmem_dump() for sample usage.
12225  */
12226 
12227 
12228 typedef struct vmem vmem_t;
12229 typedef void *(vmem_alloc_t)(vmem_t *, size_t, int);
12230 typedef void (vmem_free_t)(vmem_t *, void *, size_t);
12231 
12232 /*
12233  * Alternate import style; the requested size is passed in a pointer,
12234  * which can be increased by the import function if desired.
12235  */
12236 typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int);
12237 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h"
12238 extern vmem_t *vmem_create(const char *, void *, size_t, size_t,
12239     vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int);
12240 extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t,
12241     vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int);
12242 extern void vmem_destroy(vmem_t *);
12243 extern void *vmem_alloc(vmem_t *, size_t, int);
12244 extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t,
12245     void *, void *, int);
12246 extern void vmem_free(vmem_t *, void *, size_t);
12247 extern void vmem_xfree(vmem_t *, void *, size_t);
12248 extern void *vmem_add(vmem_t *, void *, size_t, int);
12249 extern int vmem_contains(vmem_t *, void *, size_t);
12250 extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *);
12251 extern size_t vmem_size(vmem_t *, int);
12252 extern void vmem_qcache_reap(vmem_t *vmp);
12253 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2
12254 
12255 
12256 
12257 
12258 
12259 /*
12260  * Kernel memory allocator: DDI interfaces.
12261  * See kmem_alloc(9F) for details.
12262  */
12263 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h"
12264 /*
12265  * Kernel memory allocator: private interfaces.
12266  * These interfaces are still evolving.
12267  * Do not use them in unbundled drivers.
12268  */
12269 
12270 /*
12271  * Flags for kmem_cache_create()
12272  */
12273 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h"
12274 struct kmem_cache; /* cache structure is opaque to kmem clients */
12275 
12276 typedef struct kmem_cache kmem_cache_t;
12277 
12278 /* Client response to kmem move callback */
12279 typedef enum kmem_cbrc {
12280  KMEM_CBRC_YES,
12281  KMEM_CBRC_NO,
12282  KMEM_CBRC_LATER,
12283  KMEM_CBRC_DONT_NEED,
12284  KMEM_CBRC_DONT_KNOW
12285 } kmem_cbrc_t;
12286 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
12287 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1
12288 /*
12289  * CDDL HEADER START
12290  *
12291  * The contents of this file are subject to the terms of the
12292  * Common Development and Distribution License (the "License").
12293  * You may not use this file except in compliance with the License.
12294  *
12295  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12296  * or http://www.opensolaris.org/os/licensing.
12297  * See the License for the specific language governing permissions
12298  * and limitations under the License.
12299  *
12300  * When distributing Covered Code, include this CDDL HEADER in each
12301  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12302  * If applicable, add the following below this CDDL HEADER, with the
12303  * fields enclosed by brackets "[]" replaced with your own identifying
12304  * information: Portions Copyright [yyyy] [name of copyright owner]
12305  *
12306  * CDDL HEADER END
12307  */
12308 /*
12309  * Copyright 2014 Garrrett D'Amore <garrett@damore.org>
12310  *
12311  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
12312  * Use is subject to license terms.
12313  */
12314 
12315 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12316 /*	  All Rights Reserved  	*/
12317 
12318 /*
12319  * University Copyright- Copyright (c) 1982, 1986, 1988
12320  * The Regents of the University of California
12321  * All Rights Reserved
12322  *
12323  * University Acknowledgment- Portions of this document are derived from
12324  * software developed by the University of California, Berkeley, and its
12325  * contributors.
12326  */
12327 
12328 
12329 
12330 
12331 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
12332 /*
12333  * CDDL HEADER START
12334  *
12335  * The contents of this file are subject to the terms of the
12336  * Common Development and Distribution License (the "License").
12337  * You may not use this file except in compliance with the License.
12338  *
12339  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12340  * or http://www.opensolaris.org/os/licensing.
12341  * See the License for the specific language governing permissions
12342  * and limitations under the License.
12343  *
12344  * When distributing Covered Code, include this CDDL HEADER in each
12345  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12346  * If applicable, add the following below this CDDL HEADER, with the
12347  * fields enclosed by brackets "[]" replaced with your own identifying
12348  * information: Portions Copyright [yyyy] [name of copyright owner]
12349  *
12350  * CDDL HEADER END
12351  */
12352 
12353 /*
12354  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
12355  * Copyright 2016 Joyent, Inc.
12356  *
12357  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
12358  * Use is subject to license terms.
12359  */
12360 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
12361 
12362 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12363 /*
12364  * CDDL HEADER START
12365  *
12366  * The contents of this file are subject to the terms of the
12367  * Common Development and Distribution License (the "License").
12368  * You may not use this file except in compliance with the License.
12369  *
12370  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12371  * or http://www.opensolaris.org/os/licensing.
12372  * See the License for the specific language governing permissions
12373  * and limitations under the License.
12374  *
12375  * When distributing Covered Code, include this CDDL HEADER in each
12376  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12377  * If applicable, add the following below this CDDL HEADER, with the
12378  * fields enclosed by brackets "[]" replaced with your own identifying
12379  * information: Portions Copyright [yyyy] [name of copyright owner]
12380  *
12381  * CDDL HEADER END
12382  */
12383 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12384 /*	  All Rights Reserved  	*/
12385 
12386 
12387 /*
12388  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12389  * Use is subject to license terms.
12390  *
12391  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12392  * Copyright 2016 Joyent, Inc.
12393  */
12394 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
12395 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
12396 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12397 /*	  All Rights Reserved  	*/
12398 
12399 
12400 /*
12401  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
12402  * All rights reserved.  The Berkeley software License Agreement
12403  * specifies the terms and conditions for redistribution.
12404  */
12405 
12406 /*
12407  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
12408  *
12409  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12410  * Use is subject to license terms.
12411  *
12412  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12413  */
12414 
12415 /*
12416  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
12417  */
12418 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
12419 
12420 
12421 
12422 
12423 
12424 /*
12425  * Process priority specifications
12426  */
12427 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12428 /*
12429  * Resource limits
12430  */
12431 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12432 typedef unsigned long rlim_t;
12433 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12434 struct rlimit {
12435  rlim_t rlim_cur; /* current limit */
12436  rlim_t rlim_max; /* maximum value for rlim_cur */
12437 };
12438 
12439 /* transitional large file interface versions */
12440 
12441 
12442 typedef u_longlong_t rlim64_t;
12443 
12444 
12445 
12446 
12447 
12448 struct rlimit64 {
12449  rlim64_t rlim_cur; /* current limit */
12450  rlim64_t rlim_max; /* maximum value for rlim_cur */
12451 };
12452 
12453 
12454 
12455 /*
12456  * Although the saved rlimits were initially introduced by the large file API,
12457  * they are now available for all resource limits on the 64-bit kernel and for
12458  * cpu time and file size limits on the 32-bit kernel.
12459  */
12460 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12461 struct rusage {
12462  struct timeval ru_utime; /* user time used */
12463  struct timeval ru_stime; /* system time used */
12464  long ru_maxrss; /* <unimp> */
12465  long ru_ixrss; /* <unimp> */
12466  long ru_idrss; /* <unimp> */
12467  long ru_isrss; /* <unimp> */
12468  long ru_minflt; /* any page faults not requiring I/O */
12469  long ru_majflt; /* any page faults requiring I/O */
12470  long ru_nswap; /* swaps */
12471  long ru_inblock; /* block input operations */
12472  long ru_oublock; /* block output operations */
12473  long ru_msgsnd; /* streams messsages sent */
12474  long ru_msgrcv; /* streams messages received */
12475  long ru_nsignals; /* signals received */
12476  long ru_nvcsw; /* voluntary context switches */
12477  long ru_nivcsw; /* involuntary " */
12478 };
12479 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12480 /*
12481  * In the LP64 compilation environment, map large file interfaces
12482  * back to native versions where possible.
12483  */
12484 
12485 
12486 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12487 #pragma redefine_extname setrlimit64 setrlimit
12488 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12489 
12490 
12491 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12492 #pragma redefine_extname getrlimit64 getrlimit
12493 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12494 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
12495 extern int setrlimit(int, const struct rlimit *);
12496 extern int getrlimit(int, struct rlimit *);
12497 
12498 /* transitional large file interfaces */
12499 
12500 
12501 extern int setrlimit64(int, const struct rlimit64 *);
12502 extern int getrlimit64(int, struct rlimit64 *);
12503 
12504 
12505 extern int getpriority(int, id_t);
12506 extern int setpriority(int, id_t, int);
12507 extern int getrusage(int, struct rusage *);
12508 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
12509 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12510 /*
12511  * CDDL HEADER START
12512  *
12513  * The contents of this file are subject to the terms of the
12514  * Common Development and Distribution License (the "License").
12515  * You may not use this file except in compliance with the License.
12516  *
12517  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12518  * or http://www.opensolaris.org/os/licensing.
12519  * See the License for the specific language governing permissions
12520  * and limitations under the License.
12521  *
12522  * When distributing Covered Code, include this CDDL HEADER in each
12523  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12524  * If applicable, add the following below this CDDL HEADER, with the
12525  * fields enclosed by brackets "[]" replaced with your own identifying
12526  * information: Portions Copyright [yyyy] [name of copyright owner]
12527  *
12528  * CDDL HEADER END
12529  */
12530 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12531 /*	  All Rights Reserved  	*/
12532 
12533 
12534 /*
12535  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12536  * Use is subject to license terms.
12537  *
12538  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12539  * Copyright 2016 Joyent, Inc.
12540  */
12541 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
12542 
12543 
12544 
12545 
12546 
12547 /*
12548  * Available local actions and flags.
12549  */
12550 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
12551 /*
12552  * Available global actions and flags.
12553  */
12554 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
12555 /*
12556  * getrctl(2) flag values
12557  */
12558 
12559 
12560 
12561 
12562 /*
12563  * setrctl(2) flag values
12564  */
12565 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
12566 /*
12567  * rctl_priv_t: rctl privilege defined values
12568  *   A large amount of space has been deliberately left between these privileges
12569  *   to permit future enrichment of the control privilege value.
12570  */
12571 
12572 
12573 
12574 
12575 typedef u_longlong_t rctl_qty_t; /* resource control numerical values   */
12576 typedef int rctl_priv_t;
12577 
12578 typedef struct rctlblk rctlblk_t;
12579 
12580 extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int);
12581 extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int);
12582 
12583 typedef enum {
12584  RCENTITY_PROCESS,
12585  RCENTITY_TASK,
12586  RCENTITY_PROJECT,
12587  RCENTITY_ZONE
12588 } rctl_entity_t;
12589 
12590 
12591 
12592 
12593 typedef struct rctl_set rctl_set_t;
12594 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12595 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1
12596 /*
12597  * CDDL HEADER START
12598  *
12599  * The contents of this file are subject to the terms of the
12600  * Common Development and Distribution License (the "License").
12601  * You may not use this file except in compliance with the License.
12602  *
12603  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12604  * or http://www.opensolaris.org/os/licensing.
12605  * See the License for the specific language governing permissions
12606  * and limitations under the License.
12607  *
12608  * When distributing Covered Code, include this CDDL HEADER in each
12609  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12610  * If applicable, add the following below this CDDL HEADER, with the
12611  * fields enclosed by brackets "[]" replaced with your own identifying
12612  * information: Portions Copyright [yyyy] [name of copyright owner]
12613  *
12614  * CDDL HEADER END
12615  */
12616 /*
12617  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
12618  * Use is subject to license terms.
12619  */
12620 
12621 
12622 
12623 
12624 #pragma ident "%Z%%M%	%I%	%E% SMI"
12625 
12626 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
12627 /*
12628  * CDDL HEADER START
12629  *
12630  * The contents of this file are subject to the terms of the
12631  * Common Development and Distribution License (the "License").
12632  * You may not use this file except in compliance with the License.
12633  *
12634  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12635  * or http://www.opensolaris.org/os/licensing.
12636  * See the License for the specific language governing permissions
12637  * and limitations under the License.
12638  *
12639  * When distributing Covered Code, include this CDDL HEADER in each
12640  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12641  * If applicable, add the following below this CDDL HEADER, with the
12642  * fields enclosed by brackets "[]" replaced with your own identifying
12643  * information: Portions Copyright [yyyy] [name of copyright owner]
12644  *
12645  * CDDL HEADER END
12646  */
12647 /*
12648  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
12649  */
12650 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2
12651 
12652 
12653 
12654 
12655 
12656 typedef struct ipc_rqty { /* datum protected by:	*/
12657  rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock	*/
12658  rctl_qty_t ipcq_semmni; /* sem's ipcs_lock	*/
12659  rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock	*/
12660 } ipc_rqty_t;
12661 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12662 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1
12663 /*
12664  * CDDL HEADER START
12665  *
12666  * The contents of this file are subject to the terms of the
12667  * Common Development and Distribution License (the "License").
12668  * You may not use this file except in compliance with the License.
12669  *
12670  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12671  * or http://www.opensolaris.org/os/licensing.
12672  * See the License for the specific language governing permissions
12673  * and limitations under the License.
12674  *
12675  * When distributing Covered Code, include this CDDL HEADER in each
12676  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12677  * If applicable, add the following below this CDDL HEADER, with the
12678  * fields enclosed by brackets "[]" replaced with your own identifying
12679  * information: Portions Copyright [yyyy] [name of copyright owner]
12680  *
12681  * CDDL HEADER END
12682  */
12683 /*
12684  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
12685  *
12686  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12687  * Use is subject to license terms.
12688  */
12689 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h"
12690 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12691 /*
12692  * CDDL HEADER START
12693  *
12694  * The contents of this file are subject to the terms of the
12695  * Common Development and Distribution License (the "License").
12696  * You may not use this file except in compliance with the License.
12697  *
12698  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12699  * or http://www.opensolaris.org/os/licensing.
12700  * See the License for the specific language governing permissions
12701  * and limitations under the License.
12702  *
12703  * When distributing Covered Code, include this CDDL HEADER in each
12704  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12705  * If applicable, add the following below this CDDL HEADER, with the
12706  * fields enclosed by brackets "[]" replaced with your own identifying
12707  * information: Portions Copyright [yyyy] [name of copyright owner]
12708  *
12709  * CDDL HEADER END
12710  */
12711 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12712 /*	  All Rights Reserved  	*/
12713 
12714 
12715 /*
12716  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12717  * Use is subject to license terms.
12718  *
12719  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12720  * Copyright 2016 Joyent, Inc.
12721  */
12722 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
12723 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1
12724 /*
12725  * CDDL HEADER START
12726  *
12727  * The contents of this file are subject to the terms of the
12728  * Common Development and Distribution License (the "License").
12729  * You may not use this file except in compliance with the License.
12730  *
12731  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12732  * or http://www.opensolaris.org/os/licensing.
12733  * See the License for the specific language governing permissions
12734  * and limitations under the License.
12735  *
12736  * When distributing Covered Code, include this CDDL HEADER in each
12737  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12738  * If applicable, add the following below this CDDL HEADER, with the
12739  * fields enclosed by brackets "[]" replaced with your own identifying
12740  * information: Portions Copyright [yyyy] [name of copyright owner]
12741  *
12742  * CDDL HEADER END
12743  */
12744 /*
12745  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
12746  *	  All Rights Reserved
12747  *
12748  */
12749 
12750 /*
12751  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
12752  *
12753  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
12754  * Use is subject to license terms.
12755  */
12756 
12757 
12758 
12759 
12760 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12761 /*
12762  * CDDL HEADER START
12763  *
12764  * The contents of this file are subject to the terms of the
12765  * Common Development and Distribution License (the "License").
12766  * You may not use this file except in compliance with the License.
12767  *
12768  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12769  * or http://www.opensolaris.org/os/licensing.
12770  * See the License for the specific language governing permissions
12771  * and limitations under the License.
12772  *
12773  * When distributing Covered Code, include this CDDL HEADER in each
12774  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12775  * If applicable, add the following below this CDDL HEADER, with the
12776  * fields enclosed by brackets "[]" replaced with your own identifying
12777  * information: Portions Copyright [yyyy] [name of copyright owner]
12778  *
12779  * CDDL HEADER END
12780  */
12781 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12782 /*	  All Rights Reserved  	*/
12783 
12784 
12785 /*
12786  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12787  * Use is subject to license terms.
12788  *
12789  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12790  * Copyright 2016 Joyent, Inc.
12791  */
12792 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2
12793 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1
12794 /*
12795  * CDDL HEADER START
12796  *
12797  * The contents of this file are subject to the terms of the
12798  * Common Development and Distribution License, Version 1.0 only
12799  * (the "License").  You may not use this file except in compliance
12800  * with the License.
12801  *
12802  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12803  * or http://www.opensolaris.org/os/licensing.
12804  * See the License for the specific language governing permissions
12805  * and limitations under the License.
12806  *
12807  * When distributing Covered Code, include this CDDL HEADER in each
12808  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12809  * If applicable, add the following below this CDDL HEADER, with the
12810  * fields enclosed by brackets "[]" replaced with your own identifying
12811  * information: Portions Copyright [yyyy] [name of copyright owner]
12812  *
12813  * CDDL HEADER END
12814  */
12815 /*
12816  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
12817  * Use is subject to license terms.
12818  */
12819 
12820 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12821 /*	  All Rights Reserved  	*/
12822 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2
12823 
12824 
12825 
12826 
12827 
12828 /*
12829  * Definitions for p_online, processor_info & lgrp system calls.
12830  */
12831 
12832 /*
12833  * Type for an lgrpid
12834  */
12835 typedef uint16_t lgrpid_t;
12836 
12837 /*
12838  * Type for processor name (CPU number).
12839  */
12840 typedef int processorid_t;
12841 typedef int chipid_t;
12842 
12843 /*
12844  * Flags and return values for p_online(2), and pi_state for processor_info(2).
12845  * These flags are *not* for in-kernel examination of CPU states.
12846  * See <sys/cpuvar.h> for appropriate informational functions.
12847  */
12848 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h"
12849 /*
12850  * String names for processor states defined above.
12851  */
12852 
12853 
12854 
12855 
12856 
12857 
12858 
12859 /*
12860  * Structure filled in by processor_info(2). This structure
12861  * SHOULD NOT BE MODIFIED. Changes to the structure would
12862  * negate ABI compatibility.
12863  *
12864  * The string fields are guaranteed to contain a NULL.
12865  *
12866  * The pi_fputypes field contains a (possibly empty) comma-separated
12867  * list of floating point identifier strings.
12868  */
12869 
12870 
12871 
12872 typedef struct {
12873  int pi_state; /* processor state, see above */
12874  char pi_processor_type[16]; /* ASCII CPU type */
12875  char pi_fputypes[32]; /* ASCII FPU types */
12876  int pi_clock; /* CPU clock freq in MHz */
12877 } processor_info_t;
12878 
12879 /*
12880  * Binding values for processor_bind(2)
12881  */
12882 
12883 
12884 
12885 
12886 
12887 
12888 /*
12889  * User-level system call interface prototypes
12890  */
12891 
12892 
12893 extern int p_online(processorid_t processorid, int flag);
12894 extern int processor_info(processorid_t processorid,
12895       processor_info_t *infop);
12896 extern int processor_bind(idtype_t idtype, id_t id,
12897       processorid_t processorid, processorid_t *obind);
12898 extern processorid_t getcpuid(void);
12899 extern lgrpid_t gethomelgroup(void);
12900 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
12901 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1
12902 /*
12903  * CDDL HEADER START
12904  *
12905  * The contents of this file are subject to the terms of the
12906  * Common Development and Distribution License, Version 1.0 only
12907  * (the "License").  You may not use this file except in compliance
12908  * with the License.
12909  *
12910  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12911  * or http://www.opensolaris.org/os/licensing.
12912  * See the License for the specific language governing permissions
12913  * and limitations under the License.
12914  *
12915  * When distributing Covered Code, include this CDDL HEADER in each
12916  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12917  * If applicable, add the following below this CDDL HEADER, with the
12918  * fields enclosed by brackets "[]" replaced with your own identifying
12919  * information: Portions Copyright [yyyy] [name of copyright owner]
12920  *
12921  * CDDL HEADER END
12922  */
12923 /*
12924  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
12925  * Use is subject to license terms.
12926  */
12927 
12928 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12929 /*	  All Rights Reserved  	*/
12930 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
12931 
12932 typedef int psetid_t;
12933 
12934 /* special processor set id's */
12935 
12936 
12937 
12938 
12939 
12940 
12941 
12942 /* types of processor sets */
12943 
12944 
12945 
12946 
12947 
12948 extern int pset_create(psetid_t *);
12949 extern int pset_destroy(psetid_t);
12950 extern int pset_assign(psetid_t, processorid_t, psetid_t *);
12951 extern int pset_info(psetid_t, int *, uint_t *, processorid_t *);
12952 extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *);
12953 extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *);
12954 extern int pset_getloadavg(psetid_t, double [], int);
12955 extern int pset_list(psetid_t *, uint_t *);
12956 extern int pset_setattr(psetid_t, uint_t);
12957 extern int pset_getattr(psetid_t, uint_t *);
12958 
12959 
12960 
12961 
12962 
12963 /* system call subcodes */
12964 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h"
12965 /* attribute bits */
12966 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12967 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1
12968 /*
12969  * CDDL HEADER START
12970  *
12971  * The contents of this file are subject to the terms of the
12972  * Common Development and Distribution License (the "License").
12973  * You may not use this file except in compliance with the License.
12974  *
12975  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12976  * or http://www.opensolaris.org/os/licensing.
12977  * See the License for the specific language governing permissions
12978  * and limitations under the License.
12979  *
12980  * When distributing Covered Code, include this CDDL HEADER in each
12981  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12982  * If applicable, add the following below this CDDL HEADER, with the
12983  * fields enclosed by brackets "[]" replaced with your own identifying
12984  * information: Portions Copyright [yyyy] [name of copyright owner]
12985  *
12986  * CDDL HEADER END
12987  */
12988 /*
12989  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12990  * Use is subject to license terms.
12991  */
12992 
12993 
12994 
12995 
12996 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12997 /*
12998  * CDDL HEADER START
12999  *
13000  * The contents of this file are subject to the terms of the
13001  * Common Development and Distribution License (the "License").
13002  * You may not use this file except in compliance with the License.
13003  *
13004  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13005  * or http://www.opensolaris.org/os/licensing.
13006  * See the License for the specific language governing permissions
13007  * and limitations under the License.
13008  *
13009  * When distributing Covered Code, include this CDDL HEADER in each
13010  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13011  * If applicable, add the following below this CDDL HEADER, with the
13012  * fields enclosed by brackets "[]" replaced with your own identifying
13013  * information: Portions Copyright [yyyy] [name of copyright owner]
13014  *
13015  * CDDL HEADER END
13016  */
13017 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
13018 /*	  All Rights Reserved  	*/
13019 
13020 
13021 /*
13022  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13023  * Use is subject to license terms.
13024  *
13025  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
13026  * Copyright 2016 Joyent, Inc.
13027  */
13028 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2
13029 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h"
13030 /*
13031  * types of label comparison
13032  */
13033 
13034 
13035 
13036 /* Manifest human readable label names */
13037 
13038 
13039 
13040 /* Binary Label Structure Definitions */
13041 
13042 typedef struct _mac_label_impl m_label_t;
13043 
13044 typedef m_label_t blevel_t, /* compatibility */
13045    bslabel_t, /* Sensitivity Label */
13046    bclear_t; /* Clearance */
13047 
13048 typedef struct _tsol_binary_level_lrange { /* Level Range */
13049  m_label_t *lower_bound;
13050  m_label_t *upper_bound;
13051 } m_range_t;
13052 
13053 typedef m_range_t blrange_t;
13054 
13055 typedef struct tsol_mlp_s {
13056  uchar_t mlp_ipp;
13057  uint16_t mlp_port;
13058  uint16_t mlp_port_upper;
13059 } tsol_mlp_t;
13060 
13061 /* Procedure Interface Definitions available to user and kernel */
13062 
13063 extern int bltype(const void *, uint8_t);
13064 extern int blequal(const m_label_t *, const m_label_t *);
13065 extern int bldominates(const m_label_t *, const m_label_t *);
13066 extern int blstrictdom(const m_label_t *, const m_label_t *);
13067 extern int blinrange(const m_label_t *, const m_range_t *);
13068 extern void blmaximum(m_label_t *, const m_label_t *);
13069 extern void blminimum(m_label_t *, const m_label_t *);
13070 extern void bsllow(m_label_t *);
13071 extern void bslhigh(m_label_t *);
13072 extern void bclearlow(m_label_t *);
13073 extern void bclearhigh(m_label_t *);
13074 extern void bslundef(m_label_t *);
13075 extern void bclearundef(m_label_t *);
13076 extern void setbltype(void *, uint8_t);
13077 extern boolean_t bisinvalid(const void *);
13078 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
13079 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
13080 /*
13081  * CDDL HEADER START
13082  *
13083  * The contents of this file are subject to the terms of the
13084  * Common Development and Distribution License (the "License").
13085  * You may not use this file except in compliance with the License.
13086  *
13087  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13088  * or http://www.opensolaris.org/os/licensing.
13089  * See the License for the specific language governing permissions
13090  * and limitations under the License.
13091  *
13092  * When distributing Covered Code, include this CDDL HEADER in each
13093  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13094  * If applicable, add the following below this CDDL HEADER, with the
13095  * fields enclosed by brackets "[]" replaced with your own identifying
13096  * information: Portions Copyright [yyyy] [name of copyright owner]
13097  *
13098  * CDDL HEADER END
13099  */
13100 /*
13101  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13102  * Use is subject to license terms.
13103  */
13104 
13105 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
13106 /*	  All Rights Reserved  	*/
13107 
13108 /*
13109  * Portions of this source code were derived from Berkeley 4.3 BSD
13110  * under license from the Regents of the University of California.
13111  */
13112 
13113 
13114 
13115 
13116 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
13117 /*
13118  * CDDL HEADER START
13119  *
13120  * The contents of this file are subject to the terms of the
13121  * Common Development and Distribution License (the "License").
13122  * You may not use this file except in compliance with the License.
13123  *
13124  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13125  * or http://www.opensolaris.org/os/licensing.
13126  * See the License for the specific language governing permissions
13127  * and limitations under the License.
13128  *
13129  * When distributing Covered Code, include this CDDL HEADER in each
13130  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13131  * If applicable, add the following below this CDDL HEADER, with the
13132  * fields enclosed by brackets "[]" replaced with your own identifying
13133  * information: Portions Copyright [yyyy] [name of copyright owner]
13134  *
13135  * CDDL HEADER END
13136  */
13137 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
13138 /*	  All Rights Reserved  	*/
13139 
13140 
13141 /*
13142  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13143  * Use is subject to license terms.
13144  *
13145  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
13146  * Copyright 2016 Joyent, Inc.
13147  */
13148 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2
13149 
13150 
13151 
13152 
13153 
13154 /*
13155  * The credential is an opaque kernel private data structure defined in
13156  * <sys/cred_impl.h>.
13157  */
13158 
13159 typedef struct cred cred_t;
13160 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
13161 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1
13162 /*
13163  * CDDL HEADER START
13164  *
13165  * The contents of this file are subject to the terms of the
13166  * Common Development and Distribution License (the "License").
13167  * You may not use this file except in compliance with the License.
13168  *
13169  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13170  * or http://www.opensolaris.org/os/licensing.
13171  * See the License for the specific language governing permissions
13172  * and limitations under the License.
13173  *
13174  * When distributing Covered Code, include this CDDL HEADER in each
13175  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13176  * If applicable, add the following below this CDDL HEADER, with the
13177  * fields enclosed by brackets "[]" replaced with your own identifying
13178  * information: Portions Copyright [yyyy] [name of copyright owner]
13179  *
13180  * CDDL HEADER END
13181  */
13182 
13183 /*
13184  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13185  * Use is subject to license terms.
13186  */
13187 
13188 
13189 
13190 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1
13191 /*
13192  * CDDL HEADER START
13193  *
13194  * The contents of this file are subject to the terms of the
13195  * Common Development and Distribution License (the "License").
13196  * You may not use this file except in compliance with the License.
13197  *
13198  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13199  * or http://www.opensolaris.org/os/licensing.
13200  * See the License for the specific language governing permissions
13201  * and limitations under the License.
13202  *
13203  * When distributing Covered Code, include this CDDL HEADER in each
13204  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13205  * If applicable, add the following below this CDDL HEADER, with the
13206  * fields enclosed by brackets "[]" replaced with your own identifying
13207  * information: Portions Copyright [yyyy] [name of copyright owner]
13208  *
13209  * CDDL HEADER END
13210  */
13211 /*
13212  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
13213  * Use is subject to license terms.
13214  *
13215  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
13216  */
13217 
13218 
13219 
13220 
13221 /*
13222  * Definition of general kernel statistics structures and /dev/kstat ioctls
13223  */
13224 
13225 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
13226 /*
13227  * CDDL HEADER START
13228  *
13229  * The contents of this file are subject to the terms of the
13230  * Common Development and Distribution License (the "License").
13231  * You may not use this file except in compliance with the License.
13232  *
13233  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13234  * or http://www.opensolaris.org/os/licensing.
13235  * See the License for the specific language governing permissions
13236  * and limitations under the License.
13237  *
13238  * When distributing Covered Code, include this CDDL HEADER in each
13239  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13240  * If applicable, add the following below this CDDL HEADER, with the
13241  * fields enclosed by brackets "[]" replaced with your own identifying
13242  * information: Portions Copyright [yyyy] [name of copyright owner]
13243  *
13244  * CDDL HEADER END
13245  */
13246 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
13247 /*	  All Rights Reserved  	*/
13248 
13249 
13250 /*
13251  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13252  * Use is subject to license terms.
13253  *
13254  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
13255  * Copyright 2016 Joyent, Inc.
13256  */
13257 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2
13258 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
13259 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
13260 /*	  All Rights Reserved  	*/
13261 
13262 
13263 /*
13264  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
13265  * All rights reserved.  The Berkeley software License Agreement
13266  * specifies the terms and conditions for redistribution.
13267  */
13268 
13269 /*
13270  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
13271  *
13272  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13273  * Use is subject to license terms.
13274  *
13275  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
13276  */
13277 
13278 /*
13279  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
13280  */
13281 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2
13282 
13283 
13284 
13285 
13286 
13287 typedef int kid_t; /* unique kstat id */
13288 
13289 /*
13290  * Kernel statistics driver (/dev/kstat) ioctls
13291  */
13292 
13293 
13294 
13295 
13296 
13297 
13298 
13299 /*
13300  * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor):
13301  *
13302  *	kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL);
13303  *	kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *);
13304  *	kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *);
13305  */
13306 
13307 
13308 
13309 /*
13310  * The generic kstat header
13311  */
13312 
13313 typedef struct kstat {
13314  /*
13315 	 * Fields relevant to both kernel and user
13316 	 */
13317  hrtime_t ks_crtime; /* creation time (from gethrtime()) */
13318  struct kstat *ks_next; /* kstat chain linkage */
13319  kid_t ks_kid; /* unique kstat ID */
13320  char ks_module[31]; /* provider module name */
13321  uchar_t ks_resv; /* reserved, currently just padding */
13322  int ks_instance; /* provider module's instance */
13323  char ks_name[31]; /* kstat name */
13324  uchar_t ks_type; /* kstat data type */
13325  char ks_class[31]; /* kstat class */
13326  uchar_t ks_flags; /* kstat flags */
13327  void *ks_data; /* kstat type-specific data */
13328  uint_t ks_ndata; /* # of type-specific data records */
13329  size_t ks_data_size; /* total size of kstat data section */
13330  hrtime_t ks_snaptime; /* time of last data shapshot */
13331  /*
13332 	 * Fields relevant to kernel only
13333 	 */
13334  int (*ks_update)(struct kstat *, int); /* dynamic update */
13335  void *ks_private; /* arbitrary provider-private data */
13336  int (*ks_snapshot)(struct kstat *, void *, int);
13337  void *ks_lock; /* protects this kstat's data */
13338 } kstat_t;
13339 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
13340 /*
13341  * kstat structure and locking strategy
13342  *
13343  * Each kstat consists of a header section (a kstat_t) and a data section.
13344  * The system maintains a set of kstats, protected by kstat_chain_lock.
13345  * kstat_chain_lock protects all additions to/deletions from this set,
13346  * as well as all changes to kstat headers.  kstat data sections are
13347  * *optionally* protected by the per-kstat ks_lock.  If ks_lock is non-NULL,
13348  * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their
13349  * operations on that kstat.  It is up to the kstat provider to decide whether
13350  * guaranteeing consistent data to kstat clients is sufficiently important
13351  * to justify the locking cost.  Note, however, that most statistic updates
13352  * already occur under one of the provider's mutexes, so if the provider sets
13353  * ks_lock to point to that mutex, then kstat data locking is free.
13354  *
13355  * NOTE: variable-size kstats MUST employ kstat data locking, to prevent
13356  * data-size races with kstat clients.
13357  *
13358  * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *)
13359  * in the kstat header so that users don't have to be exposed to all of the
13360  * kernel's lock-related data structures.
13361  */
13362 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
13363 /*
13364  * kstat time
13365  *
13366  * All times associated with kstats (e.g. creation time, snapshot time,
13367  * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values,
13368  * as returned by gethrtime().  The accuracy of these timestamps is machine
13369  * dependent, but the precision (units) is the same across all platforms.
13370  */
13371 
13372 /*
13373  * kstat identity (KID)
13374  *
13375  * Each kstat is assigned a unique KID (kstat ID) when it is added to the
13376  * global kstat chain.  The KID is used as a cookie by /dev/kstat to
13377  * request information about the corresponding kstat.  There is also
13378  * an identity associated with the entire kstat chain, kstat_chain_id,
13379  * which is bumped each time a kstat is added or deleted.  /dev/kstat uses
13380  * the chain ID to detect changes in the kstat chain (e.g., a new disk
13381  * coming online) between ioctl()s.
13382  */
13383 
13384 /*
13385  * kstat module, kstat instance
13386  *
13387  * ks_module and ks_instance contain the name and instance of the module
13388  * that created the kstat.  In cases where there can only be one instance,
13389  * ks_instance is 0.  The kernel proper (/kernel/unix) uses "unix" as its
13390  * module name.
13391  */
13392 
13393 /*
13394  * kstat name
13395  *
13396  * ks_name gives a meaningful name to a kstat.  The full kstat namespace
13397  * is module.instance.name, so the name only need be unique within a
13398  * module.  kstat_create() will fail if you try to create a kstat with
13399  * an already-used (ks_module, ks_instance, ks_name) triplet.  Spaces are
13400  * allowed in kstat names, but strongly discouraged, since they hinder
13401  * awk-style processing at user level.
13402  */
13403 
13404 /*
13405  * kstat type
13406  *
13407  * The kstat mechanism provides several flavors of kstat data, defined
13408  * below.  The "raw" kstat type is just treated as an array of bytes; you
13409  * can use this to export any kind of data you want.
13410  *
13411  * Some kstat types allow multiple data structures per kstat, e.g.
13412  * KSTAT_TYPE_NAMED; others do not.  This is part of the spec for each
13413  * kstat data type.
13414  *
13415  * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES.  To
13416  * get this information, read out the standard system kstat "kstat_types".
13417  */
13418 
13419 
13420      /* ks_ndata >= 1 */
13421 
13422      /* ks_ndata >= 1 */
13423 
13424      /* ks_ndata == 1 */
13425 
13426      /* ks_ndata == 1 */
13427 
13428      /* ks_ndata >= 1 */
13429 
13430 
13431 
13432 /*
13433  * kstat class
13434  *
13435  * Each kstat can be characterized as belonging to some broad class
13436  * of statistics, e.g. disk, tape, net, vm, streams, etc.  This field
13437  * can be used as a filter to extract related kstats.  The following
13438  * values are currently in use: disk, tape, net, controller, vm, kvm,
13439  * hat, streams, kstat, and misc.  (The kstat class encompasses things
13440  * like kstat_types.)
13441  */
13442 
13443 /*
13444  * kstat flags
13445  *
13446  * Any of the following flags may be passed to kstat_create().  They are
13447  * all zero by default.
13448  *
13449  *	KSTAT_FLAG_VIRTUAL:
13450  *
13451  *		Tells kstat_create() not to allocate memory for the
13452  *		kstat data section; instead, you will set the ks_data
13453  *		field to point to the data you wish to export.  This
13454  *		provides a convenient way to export existing data
13455  *		structures.
13456  *
13457  *	KSTAT_FLAG_VAR_SIZE:
13458  *
13459  *		The size of the kstat you are creating will vary over time.
13460  *		For example, you may want to use the kstat mechanism to
13461  *		export a linked list.  NOTE: The kstat framework does not
13462  *		manage the data section, so all variable-size kstats must be
13463  *		virtual kstats.  Moreover, variable-size kstats MUST employ
13464  *		kstat data locking to prevent data-size races with kstat
13465  *		clients.  See the section on "kstat snapshot" for details.
13466  *
13467  *	KSTAT_FLAG_WRITABLE:
13468  *
13469  *		Makes the kstat's data section writable by root.
13470  *		The ks_snapshot routine (see below) does not need to check for
13471  *		this; permission checking is handled in the kstat driver.
13472  *
13473  *	KSTAT_FLAG_PERSISTENT:
13474  *
13475  *		Indicates that this kstat is to be persistent over time.
13476  *		For persistent kstats, kstat_delete() simply marks the
13477  *		kstat as dormant; a subsequent kstat_create() reactivates
13478  *		the kstat.  This feature is provided so that statistics
13479  *		are not lost across driver close/open (e.g., raw disk I/O
13480  *		on a disk with no mounted partitions.)
13481  *		NOTE: Persistent kstats cannot be virtual, since ks_data
13482  *		points to garbage as soon as the driver goes away.
13483  *
13484  * The following flags are maintained by the kstat framework:
13485  *
13486  *	KSTAT_FLAG_DORMANT:
13487  *
13488  *		For persistent kstats, indicates that the kstat is in the
13489  *		dormant state (e.g., the corresponding device is closed).
13490  *
13491  *	KSTAT_FLAG_INVALID:
13492  *
13493  *		This flag is set when a kstat is in a transitional state,
13494  *		e.g. between kstat_create() and kstat_install().
13495  *		kstat clients must not attempt to access the kstat's data
13496  *		if this flag is set.
13497  *
13498  *	KSTAT_FLAG_LONGSTRINGS:
13499  *
13500  *		Indicates that this kstat contains long strings (which
13501  *		are stored outside of the kstat data section). When copied
13502  *		out to user space the string data will be held in the data
13503  *		section provided by the user.
13504  */
13505 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
13506 /*
13507  * Dynamic update support
13508  *
13509  * The kstat mechanism allows for an optional ks_update function to update
13510  * kstat data.  This is useful for drivers where the underlying device
13511  * keeps cheap hardware stats, but extraction is expensive.  Instead of
13512  * constantly keeping the kstat data section up to date, you can supply a
13513  * ks_update function which updates the kstat's data section on demand.
13514  * To take advantage of this feature, simply set the ks_update field before
13515  * calling kstat_install().
13516  *
13517  * The ks_update function, if supplied, must have the following structure:
13518  *
13519  *	int
13520  *	foo_kstat_update(kstat_t *ksp, int rw)
13521  *	{
13522  *		if (rw == KSTAT_WRITE) {
13523  *			... update the native stats from ksp->ks_data;
13524  *				return EACCES if you don't support this
13525  *		} else {
13526  *			... update ksp->ks_data from the native stats
13527  *		}
13528  *	}
13529  *
13530  * The ks_update return codes are: 0 for success, EACCES if you don't allow
13531  * KSTAT_WRITE, and EIO for any other type of error.
13532  *
13533  * In general, the ks_update function may need to refer to provider-private
13534  * data; for example, it may need a pointer to the provider's raw statistics.
13535  * The ks_private field is available for this purpose.  Its use is entirely
13536  * at the provider's discretion.
13537  *
13538  * All variable-size kstats MUST supply a ks_update routine, which computes
13539  * and sets ks_data_size (and ks_ndata if that is meaningful), since these
13540  * are needed to perform kstat snapshots (see below).
13541  *
13542  * No kstat locking should be done inside the ks_update routine.  The caller
13543  * will already be holding the kstat's ks_lock (to ensure consistent data).
13544  */
13545 
13546 
13547 
13548 
13549 /*
13550  * Kstat snapshot
13551  *
13552  * In order to get a consistent view of a kstat's data, clients must obey
13553  * the kstat's locking strategy.  However, these clients may need to perform
13554  * operations on the data which could cause a fault (e.g. copyout()), or
13555  * operations which are simply expensive.  Doing so could cause deadlock
13556  * (e.g. if you're holding a disk's kstat lock which is ultimately required
13557  * to resolve a copyout() fault), performance degradation (since the providers'
13558  * activity is serialized at the kstat lock), device timing problems, etc.
13559  *
13560  * To avoid these problems, kstat data is provided via snapshots.  Taking
13561  * a snapshot is a simple process: allocate a wired-down kernel buffer,
13562  * acquire the kstat's data lock, copy the data into the buffer ("take the
13563  * snapshot"), and release the lock.  This ensures that the kstat's data lock
13564  * will be held as briefly as possible, and that no faults will occur while
13565  * the lock is held.
13566  *
13567  * Normally, the snapshot is taken by default_kstat_snapshot(), which
13568  * timestamps the data (sets ks_snaptime), copies it, and does a little
13569  * massaging to deal with incomplete transactions on i/o kstats.  However,
13570  * this routine only works for kstats with contiguous data (the typical case).
13571  * If you create a kstat whose data is, say, a linked list, you must provide
13572  * your own ks_snapshot routine.  The routine you supply must have the
13573  * following prototype (replace "foo" with something appropriate):
13574  *
13575  *	int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw);
13576  *
13577  * The minimal snapshot routine -- one which copies contiguous data that
13578  * doesn't need any massaging -- would be this:
13579  *
13580  *	ksp->ks_snaptime = gethrtime();
13581  *	if (rw == KSTAT_WRITE)
13582  *		bcopy(buf, ksp->ks_data, ksp->ks_data_size);
13583  *	else
13584  *		bcopy(ksp->ks_data, buf, ksp->ks_data_size);
13585  *	return (0);
13586  *
13587  * A more illuminating example is taking a snapshot of a linked list:
13588  *
13589  *	ksp->ks_snaptime = gethrtime();
13590  *	if (rw == KSTAT_WRITE)
13591  *		return (EACCES);		... See below ...
13592  *	for (foo = first_foo; foo; foo = foo->next) {
13593  *		bcopy((char *) foo, (char *) buf, sizeof (struct foo));
13594  *		buf = ((struct foo *) buf) + 1;
13595  *	}
13596  *	return (0);
13597  *
13598  * In the example above, we have decided that we don't want to allow
13599  * KSTAT_WRITE access, so we return EACCES if this is attempted.
13600  *
13601  * The key points are:
13602  *
13603  *	(1) ks_snaptime must be set (via gethrtime()) to timestamp the data.
13604  *	(2) Data gets copied from the kstat to the buffer on KSTAT_READ,
13605  *		and from the buffer to the kstat on KSTAT_WRITE.
13606  *	(3) ks_snapshot return values are: 0 for success, EACCES if you
13607  *		don't allow KSTAT_WRITE, and EIO for any other type of error.
13608  *
13609  * Named kstats (see section on "Named statistics" below) containing long
13610  * strings (KSTAT_DATA_STRING) need special handling.  The kstat driver
13611  * assumes that all strings are copied into the buffer after the array of
13612  * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point
13613  * into the copy within the buffer. The default snapshot routine does this,
13614  * but overriding routines should contain at least the following:
13615  *
13616  * if (rw == KSTAT_READ) {
13617  * 	kstat_named_t *knp = buf;
13618  * 	char *end = knp + ksp->ks_ndata;
13619  * 	uint_t i;
13620  *
13621  * 	... Do the regular copy ...
13622  * 	bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata);
13623  *
13624  * 	for (i = 0; i < ksp->ks_ndata; i++, knp++) {
13625  *		if (knp[i].data_type == KSTAT_DATA_STRING &&
13626  *		    KSTAT_NAMED_STR_PTR(knp) != NULL) {
13627  *			bcopy(KSTAT_NAMED_STR_PTR(knp), end,
13628  *			    KSTAT_NAMED_STR_BUFLEN(knp));
13629  *			KSTAT_NAMED_STR_PTR(knp) = end;
13630  *			end += KSTAT_NAMED_STR_BUFLEN(knp);
13631  *		}
13632  *	}
13633  */
13634 
13635 /*
13636  * Named statistics.
13637  *
13638  * List of arbitrary name=value statistics.
13639  */
13640 
13641 typedef struct kstat_named {
13642  char name[31]; /* name of counter */
13643  uchar_t data_type; /* data type */
13644  union {
13645   char c[16]; /* enough for 128-bit ints */
13646   int32_t i32;
13647   uint32_t ui32;
13648   struct {
13649    union {
13650     char *ptr; /* NULL-term string */
13651 
13652 
13653 
13654     char __pad[8]; /* 64-bit padding */
13655    } addr;
13656    uint32_t len; /* # bytes for strlen + '\0' */
13657   } str;
13658 /*
13659  * The int64_t and uint64_t types are not valid for a maximally conformant
13660  * 32-bit compilation environment (cc -Xc) using compilers prior to the
13661  * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990).
13662  * In these cases, the visibility of i64 and ui64 is only permitted for
13663  * 64-bit compilation environments or 32-bit non-maximally conformant
13664  * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the
13665  * C99 ANSI C compilation environment, the long long type is supported.
13666  * The _INT64_TYPE is defined by the implementation (see sys/int_types.h).
13667  */
13668 
13669   int64_t i64;
13670   uint64_t ui64;
13671 
13672   long l;
13673   ulong_t ul;
13674 
13675   /* These structure members are obsolete */
13676 
13677   longlong_t ll;
13678   u_longlong_t ull;
13679   float f;
13680   double d;
13681  } value; /* value of counter */
13682 } kstat_named_t;
13683 # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
13684 /*
13685  * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING)
13686  * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof
13687  * (kstat_named_t)).  ks_data_size in these cases is equal to the sum of the
13688  * amount of space required to store the strings (ie, the sum of
13689  * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the
13690  * space required to store the kstat_named_t's.
13691  *
13692  * The default update routine will update ks_data_size automatically for
13693  * variable-length kstats containing long strings (using the default update
13694  * routine only makes sense if the string is the only thing that is changing
13695  * in size, and ks_ndata is constant).  Fixed-length kstats containing long
13696  * strings must explicitly change ks_data_size (after creation but before
13697  * initialization) to reflect the correct amount of space required for the
13698  * long strings and the kstat_named_t's.
13699  */
13700 
13701 
13702 /* These types are obsolete */
13703 # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
13704 /*
13705  * Retrieve the pointer of the string contained in the given named kstat.
13706  */
13707 
13708 
13709 /*
13710  * Retrieve the length of the buffer required to store the string in the given
13711  * named kstat.
13712  */
13713 
13714 
13715 /*
13716  * Interrupt statistics.
13717  *
13718  * An interrupt is a hard interrupt (sourced from the hardware device
13719  * itself), a soft interrupt (induced by the system via the use of
13720  * some system interrupt source), a watchdog interrupt (induced by
13721  * a periodic timer call), spurious (an interrupt entry point was
13722  * entered but there was no interrupt condition to service),
13723  * or multiple service (an interrupt condition was detected and
13724  * serviced just prior to returning from any of the other types).
13725  *
13726  * Measurement of the spurious class of interrupts is useful for
13727  * autovectored devices in order to pinpoint any interrupt latency
13728  * problems in a particular system configuration.
13729  *
13730  * Devices that have more than one interrupt of the same
13731  * type should use multiple structures.
13732  */
13733 # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
13734 typedef struct kstat_intr {
13735  uint_t intrs[5]; /* interrupt counters */
13736 } kstat_intr_t;
13737 
13738 
13739 
13740 /*
13741  * I/O statistics.
13742  */
13743 
13744 typedef struct kstat_io {
13745 
13746  /*
13747 	 * Basic counters.
13748 	 *
13749 	 * The counters should be updated at the end of service
13750 	 * (e.g., just prior to calling biodone()).
13751 	 */
13752 
13753  u_longlong_t nread; /* number of bytes read */
13754  u_longlong_t nwritten; /* number of bytes written */
13755  uint_t reads; /* number of read operations */
13756  uint_t writes; /* number of write operations */
13757 
13758  /*
13759 	 * Accumulated time and queue length statistics.
13760 	 *
13761 	 * Accumulated time statistics are kept as a running sum
13762 	 * of "active" time.  Queue length statistics are kept as a
13763 	 * running sum of the product of queue length and elapsed time
13764 	 * at that length -- i.e., a Riemann sum for queue length
13765 	 * integrated against time.  (You can also think of the active time
13766 	 * as a Riemann sum, for the boolean function (queue_length > 0)
13767 	 * integrated against time, or you can think of it as the
13768 	 * Lebesgue measure of the set on which queue_length > 0.)
13769 	 *
13770 	 *		^
13771 	 *		|			_________
13772 	 *		8			| i4	|
13773 	 *		|			|	|
13774 	 *	Queue	6			|	|
13775 	 *	Length	|	_________	|	|
13776 	 *		4	| i2	|_______|	|
13777 	 *		|	|	    i3		|
13778 	 *		2_______|			|
13779 	 *		|    i1				|
13780 	 *		|_______________________________|
13781 	 *		Time->	t1	t2	t3	t4
13782 	 *
13783 	 * At each change of state (entry or exit from the queue),
13784 	 * we add the elapsed time (since the previous state change)
13785 	 * to the active time if the queue length was non-zero during
13786 	 * that interval; and we add the product of the elapsed time
13787 	 * times the queue length to the running length*time sum.
13788 	 *
13789 	 * This method is generalizable to measuring residency
13790 	 * in any defined system: instead of queue lengths, think
13791 	 * of "outstanding RPC calls to server X".
13792 	 *
13793 	 * A large number of I/O subsystems have at least two basic
13794 	 * "lists" of transactions they manage: one for transactions
13795 	 * that have been accepted for processing but for which processing
13796 	 * has yet to begin, and one for transactions which are actively
13797 	 * being processed (but not done). For this reason, two cumulative
13798 	 * time statistics are defined here: wait (pre-service) time,
13799 	 * and run (service) time.
13800 	 *
13801 	 * All times are 64-bit nanoseconds (hrtime_t), as returned by
13802 	 * gethrtime().
13803 	 *
13804 	 * The units of cumulative busy time are accumulated nanoseconds.
13805 	 * The units of cumulative length*time products are elapsed time
13806 	 * times queue length.
13807 	 *
13808 	 * Updates to the fields below are performed implicitly by calls to
13809 	 * these five functions:
13810 	 *
13811 	 *	kstat_waitq_enter()
13812 	 *	kstat_waitq_exit()
13813 	 *	kstat_runq_enter()
13814 	 *	kstat_runq_exit()
13815 	 *
13816 	 *	kstat_waitq_to_runq()		(see below)
13817 	 *	kstat_runq_back_to_waitq()	(see below)
13818 	 *
13819 	 * Since kstat_waitq_exit() is typically followed immediately
13820 	 * by kstat_runq_enter(), there is a single kstat_waitq_to_runq()
13821 	 * function which performs both operations.  This is a performance
13822 	 * win since only one timestamp is required.
13823 	 *
13824 	 * In some instances, it may be necessary to move a request from
13825 	 * the run queue back to the wait queue, e.g. for write throttling.
13826 	 * For these situations, call kstat_runq_back_to_waitq().
13827 	 *
13828 	 * These fields should never be updated by any other means.
13829 	 */
13830 
13831  hrtime_t wtime; /* cumulative wait (pre-service) time */
13832  hrtime_t wlentime; /* cumulative wait length*time product */
13833  hrtime_t wlastupdate; /* last time wait queue changed */
13834  hrtime_t rtime; /* cumulative run (service) time */
13835  hrtime_t rlentime; /* cumulative run length*time product */
13836  hrtime_t rlastupdate; /* last time run queue changed */
13837 
13838  uint_t wcnt; /* count of elements in wait state */
13839  uint_t rcnt; /* count of elements in run state */
13840 
13841 } kstat_io_t;
13842 
13843 
13844 
13845 /*
13846  * Event timer statistics - cumulative elapsed time and number of events.
13847  *
13848  * Updates to these fields are performed implicitly by calls to
13849  * kstat_timer_start() and kstat_timer_stop().
13850  */
13851 
13852 typedef struct kstat_timer {
13853  char name[31]; /* event name */
13854  uchar_t resv; /* reserved */
13855  u_longlong_t num_events; /* number of events */
13856  hrtime_t elapsed_time; /* cumulative elapsed time */
13857  hrtime_t min_time; /* shortest event duration */
13858  hrtime_t max_time; /* longest event duration */
13859  hrtime_t start_time; /* previous event start time */
13860  hrtime_t stop_time; /* previous event stop time */
13861 } kstat_timer_t;
13862 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2
13863 
13864 
13865 
13866 
13867 
13868 /*
13869  * This allows various pieces in and around IP to have a separate instance
13870  * for each instance of IP. This is used to support zones that have an
13871  * exclusive stack.
13872  * Pieces of software far removed from IP (e.g., kernel software
13873  * sitting on top of TCP or UDP) probably should not use the netstack
13874  * support; if such software wants to support separate zones it
13875  * can do that using the zones framework (zone_key_create() etc)
13876  * whether there is a shared IP stack or and exclusive IP stack underneath.
13877  */
13878 
13879 /*
13880  * Each netstack has an identifier. We reuse the zoneid allocation for
13881  * this but have a separate typedef. Thus the shared stack (used by
13882  * the global zone and other shared stack zones) have a zero ID, and
13883  * the exclusive stacks have a netstackid that is the same as their zoneid.
13884  */
13885 typedef id_t netstackid_t;
13886 
13887 
13888 
13889 /*
13890  * One for each module which uses netstack support.
13891  * Used in netstack_register().
13892  *
13893  * The order of these is important for some modules both for
13894  * the creation (which done in ascending order) and destruction (which is
13895  * done in in decending order).
13896  */
13897 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
13898 /*
13899  * State maintained for each module which tracks the state of
13900  * the create, shutdown and destroy callbacks.
13901  *
13902  * Keeps track of pending actions to avoid holding locks when
13903  * calling into the create/shutdown/destroy functions in the module.
13904  */
13905 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
13906 /* User-level compile like IP Filter needs a netstack_t. Dummy */
13907 typedef uint_t nm_state_t;
13908 
13909 
13910 /*
13911  * One for every netstack in the system.
13912  * We use a union so that the compilar and lint can provide type checking -
13913  * in principle we could have
13914  * #define	netstack_arp		netstack_modules[NS_ARP]
13915  * etc, but that would imply void * types hence no type checking by the
13916  * compiler.
13917  *
13918  * All the fields in netstack_t except netstack_next are protected by
13919  * netstack_lock. netstack_next is protected by netstack_g_lock.
13920  */
13921 struct netstack {
13922  union {
13923   void *nu_modules[(18 +1)];
13924   struct {
13925    struct dls_stack *nu_dls;
13926    struct iptun_stack *nu_iptun;
13927    struct str_stack *nu_str;
13928    struct hook_stack *nu_hook;
13929    struct neti_stack *nu_neti;
13930    struct arp_stack *nu_arp;
13931    struct ip_stack *nu_ip;
13932    struct icmp_stack *nu_icmp;
13933    struct udp_stack *nu_udp;
13934    struct tcp_stack *nu_tcp;
13935    struct sctp_stack *nu_sctp;
13936    struct rts_stack *nu_rts;
13937    struct ipsec_stack *nu_ipsec;
13938    struct keysock_stack *nu_keysock;
13939    struct spd_stack *nu_spdsock;
13940    struct ipsecah_stack *nu_ipsecah;
13941    struct ipsecesp_stack *nu_ipsecesp;
13942    struct ipnet_stack *nu_ipnet;
13943    struct ilb_stack *nu_ilb;
13944   } nu_s;
13945  } netstack_u;
13946 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
13947  nm_state_t netstack_m_state[(18 +1)]; /* module state */
13948 
13949  kmutex_t netstack_lock;
13950  struct netstack *netstack_next;
13951  netstackid_t netstack_stackid;
13952  int netstack_numzones; /* Number of zones using this */
13953  int netstack_refcnt; /* Number of hold-rele */
13954  int netstack_flags; /* See below */
13955 
13956 
13957 
13958 
13959 
13960 };
13961 typedef struct netstack netstack_t;
13962 
13963 /* netstack_flags values */
13964 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
13965 /*
13966  * One for each of the NS_* values.
13967  */
13968 struct netstack_registry {
13969  int nr_flags; /* 0 if nothing registered */
13970  void *(*nr_create)(netstackid_t, netstack_t *);
13971  void (*nr_shutdown)(netstackid_t, void *);
13972  void (*nr_destroy)(netstackid_t, void *);
13973 };
13974 
13975 /* nr_flags values */
13976 
13977 
13978 
13979 /*
13980  * To support kstat_create_netstack() using kstat_add_zone we need
13981  * to track both
13982  *  - all zoneids that use the global/shared stack
13983  *  - all kstats that have been added for the shared stack
13984  */
13985 
13986 extern void netstack_init(void);
13987 extern void netstack_hold(netstack_t *);
13988 extern void netstack_rele(netstack_t *);
13989 extern netstack_t *netstack_find_by_cred(const cred_t *);
13990 extern netstack_t *netstack_find_by_stackid(netstackid_t);
13991 extern netstack_t *netstack_find_by_zoneid(zoneid_t);
13992 
13993 extern zoneid_t netstackid_to_zoneid(netstackid_t);
13994 extern zoneid_t netstack_get_zoneid(netstack_t *);
13995 extern netstackid_t zoneid_to_netstackid(zoneid_t);
13996 
13997 extern netstack_t *netstack_get_current(void);
13998 
13999 /*
14000  * Register interest in changes to the set of netstacks.
14001  * The createfn and destroyfn are required, but the shutdownfn can be
14002  * NULL.
14003  * Note that due to the current zsd implementation, when the create
14004  * function is called the zone isn't fully present, thus functions
14005  * like zone_find_by_* will fail, hence the create function can not
14006  * use many zones kernel functions including zcmn_err().
14007  */
14008 extern void netstack_register(int,
14009     void *(*)(netstackid_t, netstack_t *),
14010     void (*)(netstackid_t, void *),
14011     void (*)(netstackid_t, void *));
14012 extern void netstack_unregister(int);
14013 extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t,
14014     uint_t, uchar_t, netstackid_t);
14015 extern void kstat_delete_netstack(kstat_t *, netstackid_t);
14016 
14017 /*
14018  * Simple support for walking all the netstacks.
14019  * The caller of netstack_next() needs to call netstack_rele() when
14020  * done with a netstack.
14021  */
14022 typedef int netstack_handle_t;
14023 
14024 extern void netstack_next_init(netstack_handle_t *);
14025 extern void netstack_next_fini(netstack_handle_t *);
14026 extern netstack_t *netstack_next(netstack_handle_t *);
14027 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
14028 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1
14029 /*
14030  * CDDL HEADER START
14031  *
14032  * The contents of this file are subject to the terms of the
14033  * Common Development and Distribution License (the "License").
14034  * You may not use this file except in compliance with the License.
14035  *
14036  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14037  * or http://www.opensolaris.org/os/licensing.
14038  * See the License for the specific language governing permissions
14039  * and limitations under the License.
14040  *
14041  * When distributing Covered Code, include this CDDL HEADER in each
14042  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14043  * If applicable, add the following below this CDDL HEADER, with the
14044  * fields enclosed by brackets "[]" replaced with your own identifying
14045  * information: Portions Copyright [yyyy] [name of copyright owner]
14046  *
14047  * CDDL HEADER END
14048  */
14049 /*
14050  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
14051  *
14052  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14053  * Use is subject to license terms.
14054  */
14055 
14056 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
14057 /*	  All Rights Reserved  	*/
14058 
14059 
14060 
14061 
14062 
14063 
14064 
14065 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
14066 /*
14067  * CDDL HEADER START
14068  *
14069  * The contents of this file are subject to the terms of the
14070  * Common Development and Distribution License (the "License").
14071  * You may not use this file except in compliance with the License.
14072  *
14073  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14074  * or http://www.opensolaris.org/os/licensing.
14075  * See the License for the specific language governing permissions
14076  * and limitations under the License.
14077  *
14078  * When distributing Covered Code, include this CDDL HEADER in each
14079  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14080  * If applicable, add the following below this CDDL HEADER, with the
14081  * fields enclosed by brackets "[]" replaced with your own identifying
14082  * information: Portions Copyright [yyyy] [name of copyright owner]
14083  *
14084  * CDDL HEADER END
14085  */
14086 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
14087 /*	  All Rights Reserved  	*/
14088 
14089 
14090 /*
14091  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14092  * Use is subject to license terms.
14093  *
14094  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
14095  * Copyright 2016 Joyent, Inc.
14096  */
14097 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2
14098 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
14099 /*
14100  * CDDL HEADER START
14101  *
14102  * The contents of this file are subject to the terms of the
14103  * Common Development and Distribution License (the "License").
14104  * You may not use this file except in compliance with the License.
14105  *
14106  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14107  * or http://www.opensolaris.org/os/licensing.
14108  * See the License for the specific language governing permissions
14109  * and limitations under the License.
14110  *
14111  * When distributing Covered Code, include this CDDL HEADER in each
14112  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14113  * If applicable, add the following below this CDDL HEADER, with the
14114  * fields enclosed by brackets "[]" replaced with your own identifying
14115  * information: Portions Copyright [yyyy] [name of copyright owner]
14116  *
14117  * CDDL HEADER END
14118  */
14119 /*
14120  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14121  * Use is subject to license terms.
14122  */
14123 
14124 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
14125 /*	  All Rights Reserved  	*/
14126 
14127 /*
14128  * Portions of this source code were derived from Berkeley 4.3 BSD
14129  * under license from the Regents of the University of California.
14130  */
14131 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2
14132 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
14133 /*			17-21	   reserved for obsolete interface */
14134 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
14135 /*
14136  * Functions reserved for A_FREEZE (may not be available on all platforms)
14137  * Note:  AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete
14138  *	The first two are succeeded by AD_SUSPEND_TO_DISK and
14139  *		AD_CHECK_SUSPEND_TO_DISK respectively.
14140  *	AD_FORCE should not be used by any new application
14141  *
14142  *	We maintain compatibility with the earlier interfaces:
14143  *	AD_COMPRESS and AD_CHECK, by preserving those values
14144  *	in the corresponding new interfaces
14145  */
14146 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
14147 /*
14148  * NOTE: the following defines comprise an Unstable interface.  Their semantics
14149  * may change or they may be removed completely in a later release
14150  */
14151 
14152 
14153 
14154 
14155 
14156 
14157 
14158 /*
14159  * Functions of A_CONFIG.  Unstable interface.
14160  */
14161 
14162 
14163 /*
14164  * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT,
14165  * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most
14166  * 256 characters.
14167  */
14168 
14169 
14170 
14171 /*
14172  * FMRI for boot-config service.
14173  */
14174 
14175 
14176 
14177 /*
14178  * Property group that contains all Fast Reboot configuration properties.
14179  */
14180 
14181 
14182 /*
14183  * Property group that contains all Fast Reboot blacklisting information.
14184  */
14185 
14186 
14187 /*
14188  * Non-persistent property group which contains all the properties that
14189  * will override settings in the BOOT_CONFIG_PG_PARAMS property group.
14190  */
14191 
14192 
14193 
14194 
14195 /*
14196  * Flag representations of fastboot configuration.
14197  */
14198 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
14199 extern int uadmin(int, int, uintptr_t);
14200 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
14201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1
14202 /*
14203  * CDDL HEADER START
14204  *
14205  * The contents of this file are subject to the terms of the
14206  * Common Development and Distribution License, Version 1.0 only
14207  * (the "License").  You may not use this file except in compliance
14208  * with the License.
14209  *
14210  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14211  * or http://www.opensolaris.org/os/licensing.
14212  * See the License for the specific language governing permissions
14213  * and limitations under the License.
14214  *
14215  * When distributing Covered Code, include this CDDL HEADER in each
14216  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14217  * If applicable, add the following below this CDDL HEADER, with the
14218  * fields enclosed by brackets "[]" replaced with your own identifying
14219  * information: Portions Copyright [yyyy] [name of copyright owner]
14220  *
14221  * CDDL HEADER END
14222  */
14223 /*
14224  *	Copyright (c) 1991, Sun Microsystems, Inc.
14225  */
14226 
14227 /*
14228  * DKI/DDI MT synchronization primitives.
14229  */
14230 
14231 
14232 
14233 
14234 #pragma ident "%Z%%M%	%I%	%E% SMI"
14235 
14236 /*
14237  * The presence of this file is specified by the DKI/DDI.
14238  */
14239 
14240 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
14241 /*
14242  * CDDL HEADER START
14243  *
14244  * The contents of this file are subject to the terms of the
14245  * Common Development and Distribution License, Version 1.0 only
14246  * (the "License").  You may not use this file except in compliance
14247  * with the License.
14248  *
14249  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14250  * or http://www.opensolaris.org/os/licensing.
14251  * See the License for the specific language governing permissions
14252  * and limitations under the License.
14253  *
14254  * When distributing Covered Code, include this CDDL HEADER in each
14255  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14256  * If applicable, add the following below this CDDL HEADER, with the
14257  * fields enclosed by brackets "[]" replaced with your own identifying
14258  * information: Portions Copyright [yyyy] [name of copyright owner]
14259  *
14260  * CDDL HEADER END
14261  */
14262 /*
14263  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
14264  * All rights reserved.
14265  */
14266 
14267 /*
14268  * t_lock.h:	Prototypes for disp_locks, plus include files
14269  *		that describe the interfaces to kernel synch.
14270  *		objects.
14271  */
14272 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2
14273 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
14274 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
14275 /*
14276  * CDDL HEADER START
14277  *
14278  * The contents of this file are subject to the terms of the
14279  * Common Development and Distribution License (the "License").
14280  * You may not use this file except in compliance with the License.
14281  *
14282  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14283  * or http://www.opensolaris.org/os/licensing.
14284  * See the License for the specific language governing permissions
14285  * and limitations under the License.
14286  *
14287  * When distributing Covered Code, include this CDDL HEADER in each
14288  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14289  * If applicable, add the following below this CDDL HEADER, with the
14290  * fields enclosed by brackets "[]" replaced with your own identifying
14291  * information: Portions Copyright [yyyy] [name of copyright owner]
14292  *
14293  * CDDL HEADER END
14294  */
14295 /*
14296  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14297  * Use is subject to license terms.
14298  */
14299 
14300 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
14301 /*	  All Rights Reserved	*/
14302 
14303 /*
14304  * Portions of this source code were derived from Berkeley 4.3 BSD
14305  * under license from the Regents of the University of California.
14306  */
14307 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h"
14308 typedef uint16_t sa_family_t;
14309 
14310 
14311 /*
14312  * Structure used by kernel to store most
14313  * addresses.
14314  */
14315 struct sockaddr {
14316  sa_family_t sa_family; /* address family */
14317  char sa_data[14]; /* up to 14 bytes of direct address */
14318 };
14319 
14320 
14321 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1
14322 /*
14323  * CDDL HEADER START
14324  *
14325  * The contents of this file are subject to the terms of the
14326  * Common Development and Distribution License (the "License").
14327  * You may not use this file except in compliance with the License.
14328  *
14329  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14330  * or http://www.opensolaris.org/os/licensing.
14331  * See the License for the specific language governing permissions
14332  * and limitations under the License.
14333  *
14334  * When distributing Covered Code, include this CDDL HEADER in each
14335  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14336  * If applicable, add the following below this CDDL HEADER, with the
14337  * fields enclosed by brackets "[]" replaced with your own identifying
14338  * information: Portions Copyright [yyyy] [name of copyright owner]
14339  *
14340  * CDDL HEADER END
14341  */
14342 /*
14343  * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
14344  */
14345 
14346 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
14347 /*	  All Rights Reserved  	*/
14348 
14349 /*
14350  * University Copyright- Copyright (c) 1982, 1986, 1988
14351  * The Regents of the University of California
14352  * All Rights Reserved
14353  *
14354  * University Acknowledgment- Portions of this document are derived from
14355  * software developed by the University of California, Berkeley, and its
14356  * contributors.
14357  */
14358 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h"
14359 /*
14360  * Definitions for UNIX IPC domain.
14361  */
14362 struct sockaddr_un {
14363  sa_family_t sun_family; /* AF_UNIX */
14364  char sun_path[108]; /* path name (gag) */
14365 };
14366 
14367 
14368 
14369 /*
14370  * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to
14371  * change.
14372  *
14373  * Also, include a strlen() prototype, and we have to protect it w.r.t.
14374  * UNIX{98,03}.  And because there's strlen, we need size_t as well.
14375  */
14376 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h"
14377 extern size_t strlen(const char *);
14378 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2
14379 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1
14380 /*
14381  * Copyright 1993-2003 Sun Microsystems, Inc.  All rights reserved.
14382  * Use is subject to license terms.
14383  */
14384 /*
14385  * Copyright (c) 1990, 1993
14386  *	The Regents of the University of California.  All rights reserved.
14387  *
14388  * Redistribution and use in source and binary forms, with or without
14389  * modification, are permitted provided that the following conditions
14390  * are met:
14391  * 1. Redistributions of source code must retain the above copyright
14392  *    notice, this list of conditions and the following disclaimer.
14393  * 2. Redistributions in binary form must reproduce the above copyright
14394  *    notice, this list of conditions and the following disclaimer in the
14395  *    documentation and/or other materials provided with the distribution.
14396  * 3. All advertising materials mentioning features or use of this software
14397  *    must display the following acknowledgement:
14398  *	This product includes software developed by the University of
14399  *	California, Berkeley and its contributors.
14400  * 4. Neither the name of the University nor the names of its contributors
14401  *    may be used to endorse or promote products derived from this software
14402  *    without specific prior written permission.
14403  *
14404  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
14405  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14406  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
14407  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
14408  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
14409  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
14410  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
14411  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
14412  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
14413  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
14414  * SUCH DAMAGE.
14415  */
14416 
14417 
14418 
14419 
14420 #pragma ident "%Z%%M%	%I%	%E% SMI"
14421 /* from UCB 8.1 (Berkeley) 6/10/93 */
14422 
14423 
14424 
14425 
14426 
14427 /*
14428  * A Link-Level Sockaddr may specify the interface in one of two
14429  * ways: either by means of a system-provided index number (computed
14430  * anew and possibly differently on every reboot), or by a human-readable
14431  * string such as "il0" (for managerial convenience).
14432  *
14433  * Census taking actions, such as something akin to SIOCGCONF would return
14434  * both the index and the human name.
14435  *
14436  * High volume transactions (such as giving a link-level ``from'' address
14437  * in a recvfrom or recvmsg call) may be likely only to provide the indexed
14438  * form, (which requires fewer copy operations and less space).
14439  *
14440  * The form and interpretation  of the link-level address is purely a matter
14441  * of convention between the device driver and its consumers; however, it is
14442  * expected that all drivers for an interface of a given if_type will agree.
14443  */
14444 
14445 /*
14446  * Structure of a Link-Level sockaddr:
14447  */
14448 struct sockaddr_dl {
14449  ushort_t sdl_family; /* AF_LINK */
14450  ushort_t sdl_index; /* if != 0, system given index for interface */
14451  uchar_t sdl_type; /* interface type */
14452  uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */
14453  uchar_t sdl_alen; /* link level address length */
14454  uchar_t sdl_slen; /* link layer selector length */
14455  char sdl_data[244]; /* contains both if name and ll address */
14456 };
14457 
14458 
14459 
14460 
14461 extern char *_link_ntoa(const unsigned char *, char *, int, int);
14462 extern unsigned char *_link_aton(const char *, int *);
14463 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2
14464 
14465 
14466 
14467 /*
14468  * sockaddr_storage:
14469  * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr
14470  * structures. Has sufficient size and alignment for those sockaddrs.
14471  */
14472 
14473 /*
14474  * Desired maximum size, alignment size and related types.
14475  */
14476 
14477 
14478 /*
14479  * To represent desired sockaddr max alignment for platform, a
14480  * type is chosen which may depend on implementation platform architecture.
14481  * Type chosen based on alignment size restrictions from <sys/isa_defs.h>.
14482  * We desire to force up to (but no more than) 64-bit (8 byte) alignment,
14483  * on platforms where it is possible to do so. (e.g not possible on ia32).
14484  * For all currently supported platforms by our implementation
14485  * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64)
14486  * type "double" is suitable for that intent.
14487  *
14488  * Note: Type "double" is chosen over the more obvious integer type int64_t.
14489  *   int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32.
14490  */
14491 typedef double sockaddr_maxalign_t;
14492 
14493 
14494 
14495 /*
14496  * Definitions used for sockaddr_storage structure paddings design.
14497  */
14498 
14499 
14500 
14501 
14502 struct sockaddr_storage {
14503  sa_family_t ss_family; /* Address family */
14504  /* Following fields are implementation specific */
14505  char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))];
14506  sockaddr_maxalign_t _ss_align;
14507  char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))];
14508 };
14509 
14510 
14511 /*
14512  * To be compatible with the Linux interfaces used, this structure is
14513  * placed in socket_impl.h so that an include for <sys/socket.h> will
14514  * pickup this structure. This structure is for use with PF_PACKET
14515  * sockets.
14516  */
14517 struct sockaddr_ll {
14518  uint16_t sll_family;
14519  uint16_t sll_protocol;
14520  int32_t sll_ifindex;
14521  uint16_t sll_hatype;
14522  uint8_t sll_pkttype;
14523  uint8_t sll_halen;
14524  uint8_t sll_addr[8];
14525 };
14526 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
14527 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
14528 /*
14529  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14530  * Use is subject to license terms.
14531  *
14532  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
14533  */
14534 /*
14535  * Copyright (c) 1982, 1986 Regents of the University of California.
14536  * All rights reserved.
14537  *
14538  * Redistribution and use in source and binary forms are permitted
14539  * provided that this notice is preserved and that due credit is given
14540  * to the University of California at Berkeley. The name of the University
14541  * may not be used to endorse or promote products derived from this
14542  * software without specific prior written permission. This software
14543  * is provided ``as is'' without express or implied warranty.
14544  */
14545 
14546 /*
14547  * Constants and structures defined by the internet system,
14548  * according to following documents
14549  *
14550  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
14551  *	http://www.iana.org/assignments/protocol-numbers
14552  *	http://www.iana.org/assignments/port-numbers
14553  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
14554  *
14555  */
14556 
14557 
14558 
14559 
14560 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
14561 /*
14562  * CDDL HEADER START
14563  *
14564  * The contents of this file are subject to the terms of the
14565  * Common Development and Distribution License (the "License").
14566  * You may not use this file except in compliance with the License.
14567  *
14568  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14569  * or http://www.opensolaris.org/os/licensing.
14570  * See the License for the specific language governing permissions
14571  * and limitations under the License.
14572  *
14573  * When distributing Covered Code, include this CDDL HEADER in each
14574  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14575  * If applicable, add the following below this CDDL HEADER, with the
14576  * fields enclosed by brackets "[]" replaced with your own identifying
14577  * information: Portions Copyright [yyyy] [name of copyright owner]
14578  *
14579  * CDDL HEADER END
14580  */
14581 
14582 /*
14583  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
14584  * Copyright 2016 Joyent, Inc.
14585  *
14586  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
14587  * Use is subject to license terms.
14588  */
14589 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
14590 
14591 
14592 
14593 
14594 
14595 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
14596 /*
14597  * CDDL HEADER START
14598  *
14599  * The contents of this file are subject to the terms of the
14600  * Common Development and Distribution License (the "License").
14601  * You may not use this file except in compliance with the License.
14602  *
14603  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14604  * or http://www.opensolaris.org/os/licensing.
14605  * See the License for the specific language governing permissions
14606  * and limitations under the License.
14607  *
14608  * When distributing Covered Code, include this CDDL HEADER in each
14609  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14610  * If applicable, add the following below this CDDL HEADER, with the
14611  * fields enclosed by brackets "[]" replaced with your own identifying
14612  * information: Portions Copyright [yyyy] [name of copyright owner]
14613  *
14614  * CDDL HEADER END
14615  */
14616 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
14617 /*	  All Rights Reserved  	*/
14618 
14619 
14620 /*
14621  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14622  * Use is subject to license terms.
14623  *
14624  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
14625  * Copyright 2016 Joyent, Inc.
14626  */
14627 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
14628 
14629 
14630 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
14631 /*
14632  * CDDL HEADER START
14633  *
14634  * The contents of this file are subject to the terms of the
14635  * Common Development and Distribution License (the "License").
14636  * You may not use this file except in compliance with the License.
14637  *
14638  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14639  * or http://www.opensolaris.org/os/licensing.
14640  * See the License for the specific language governing permissions
14641  * and limitations under the License.
14642  *
14643  * When distributing Covered Code, include this CDDL HEADER in each
14644  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14645  * If applicable, add the following below this CDDL HEADER, with the
14646  * fields enclosed by brackets "[]" replaced with your own identifying
14647  * information: Portions Copyright [yyyy] [name of copyright owner]
14648  *
14649  * CDDL HEADER END
14650  */
14651 /*
14652  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14653  * Use is subject to license terms.
14654  */
14655 
14656 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
14657 /*	  All Rights Reserved	*/
14658 
14659 /*
14660  * Portions of this source code were derived from Berkeley 4.3 BSD
14661  * under license from the Regents of the University of California.
14662  */
14663 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
14664 
14665 
14666 
14667 
14668 
14669 /*
14670  * The socklen definitions are reproduced here from sys/socket.h so as to
14671  * not introduce that namespace into existing users of netinet/in.h.
14672  */
14673 
14674 
14675 
14676 typedef uint32_t socklen_t;
14677 
14678 
14679 
14680 
14681 
14682 typedef void *Psocklen_t;
14683 
14684 
14685 
14686 
14687 
14688 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1
14689 /*
14690  * CDDL HEADER START
14691  *
14692  * The contents of this file are subject to the terms of the
14693  * Common Development and Distribution License (the "License").
14694  * You may not use this file except in compliance with the License.
14695  *
14696  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14697  * or http://www.opensolaris.org/os/licensing.
14698  * See the License for the specific language governing permissions
14699  * and limitations under the License.
14700  *
14701  * When distributing Covered Code, include this CDDL HEADER in each
14702  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14703  * If applicable, add the following below this CDDL HEADER, with the
14704  * fields enclosed by brackets "[]" replaced with your own identifying
14705  * information: Portions Copyright [yyyy] [name of copyright owner]
14706  *
14707  * CDDL HEADER END
14708  */
14709 /*
14710  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14711  * Use is subject to license terms.
14712  */
14713 
14714 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
14715 /*	  All Rights Reserved  	*/
14716 
14717 
14718 
14719 
14720 
14721 /*
14722  * For source compatibility
14723  */
14724 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
14725 /*
14726  * CDDL HEADER START
14727  *
14728  * The contents of this file are subject to the terms of the
14729  * Common Development and Distribution License (the "License").
14730  * You may not use this file except in compliance with the License.
14731  *
14732  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14733  * or http://www.opensolaris.org/os/licensing.
14734  * See the License for the specific language governing permissions
14735  * and limitations under the License.
14736  *
14737  *
14738  * When distributing Covered Code, include this CDDL HEADER in each
14739  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14740  * If applicable, add the following below this CDDL HEADER, with the
14741  * fields enclosed by brackets "[]" replaced with your own identifying
14742  * information: Portions Copyright [yyyy] [name of copyright owner]
14743  *
14744  * CDDL HEADER END
14745  */
14746 
14747 /*
14748  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
14749  * Use is subject to license terms.
14750  * Copyright 2016 Joyent, Inc.
14751  */
14752 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
14753 
14754 
14755 
14756 
14757 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1
14758 /*
14759  * CDDL HEADER START
14760  *
14761  * The contents of this file are subject to the terms of the
14762  * Common Development and Distribution License, Version 1.0 only
14763  * (the "License").  You may not use this file except in compliance
14764  * with the License.
14765  *
14766  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14767  * or http://www.opensolaris.org/os/licensing.
14768  * See the License for the specific language governing permissions
14769  * and limitations under the License.
14770  *
14771  * When distributing Covered Code, include this CDDL HEADER in each
14772  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14773  * If applicable, add the following below this CDDL HEADER, with the
14774  * fields enclosed by brackets "[]" replaced with your own identifying
14775  * information: Portions Copyright [yyyy] [name of copyright owner]
14776  *
14777  * CDDL HEADER END
14778  */
14779 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
14780 /*	  All Rights Reserved  	*/
14781 
14782 
14783 /*
14784  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
14785  *
14786  * Copyright (c) 1995, 1998 by Sun Microsystems, Inc.
14787  * All rights reserved.
14788  */
14789 
14790 /*
14791  * Copyright 2015, Joyent, Inc.
14792  */
14793 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
14794 /*
14795  * Structure of file descriptor/event pairs supplied in
14796  * the poll arrays.
14797  */
14798 typedef struct pollfd {
14799  int fd; /* file desc to poll */
14800  short events; /* events of interest on fd */
14801  short revents; /* events that occurred on fd */
14802 } pollfd_t;
14803 
14804 typedef unsigned long nfds_t;
14805 
14806 /*
14807  * Testable select events
14808  */
14809 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
14810 /*
14811  * Non-testable poll events (may not be specified in events field,
14812  * but may be returned in revents field).
14813  */
14814 
14815 
14816 
14817 
14818 /*
14819  * These events will never be specified in revents, but may be specified in
14820  * events to control /dev/poll behavior.
14821  */
14822 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
14823 int poll(struct pollfd *, nfds_t, int);
14824 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
14825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1
14826 /*
14827  * CDDL HEADER START
14828  *
14829  * The contents of this file are subject to the terms of the
14830  * Common Development and Distribution License, Version 1.0 only
14831  * (the "License").  You may not use this file except in compliance
14832  * with the License.
14833  *
14834  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14835  * or http://www.opensolaris.org/os/licensing.
14836  * See the License for the specific language governing permissions
14837  * and limitations under the License.
14838  *
14839  * When distributing Covered Code, include this CDDL HEADER in each
14840  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14841  * If applicable, add the following below this CDDL HEADER, with the
14842  * fields enclosed by brackets "[]" replaced with your own identifying
14843  * information: Portions Copyright [yyyy] [name of copyright owner]
14844  *
14845  * CDDL HEADER END
14846  */
14847 /*
14848  * Copyright (c) 1997-1998 by Sun Microsystems, Inc.
14849  * All rights reserved.
14850  */
14851 
14852 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
14853 /*	  All Rights Reserved  	*/
14854 
14855 
14856 
14857 
14858 
14859 #pragma ident "%Z%%M%	%I%	%E% SMI"
14860 
14861 
14862 
14863 
14864 
14865 /*
14866  * This file contains all machine-dependent declarations
14867  * in STREAMS.
14868  */
14869 
14870 /*
14871  * Copy data from one data buffer to another.
14872  * The addresses must be word aligned - if not, use bcopy!
14873  */
14874 
14875 
14876 /*
14877  * save the address of the calling function on the 3b2 to
14878  * enable tracking of who is allocating message blocks
14879  */
14880 
14881 
14882 /*
14883  * macro to check pointer alignment
14884  * (true if alignment is sufficient for worst case)
14885  */
14886 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
14887 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
14888 /*
14889  * CDDL HEADER START
14890  *
14891  * The contents of this file are subject to the terms of the
14892  * Common Development and Distribution License (the "License").
14893  * You may not use this file except in compliance with the License.
14894  *
14895  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14896  * or http://www.opensolaris.org/os/licensing.
14897  * See the License for the specific language governing permissions
14898  * and limitations under the License.
14899  *
14900  * When distributing Covered Code, include this CDDL HEADER in each
14901  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14902  * If applicable, add the following below this CDDL HEADER, with the
14903  * fields enclosed by brackets "[]" replaced with your own identifying
14904  * information: Portions Copyright [yyyy] [name of copyright owner]
14905  *
14906  * CDDL HEADER END
14907  */
14908 /*
14909  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14910  * Use is subject to license terms.
14911  */
14912 
14913 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
14914 /*	  All Rights Reserved  	*/
14915 
14916 /*
14917  * Portions of this source code were derived from Berkeley 4.3 BSD
14918  * under license from the Regents of the University of California.
14919  */
14920 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
14921 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
14922 /*
14923  * CDDL HEADER START
14924  *
14925  * The contents of this file are subject to the terms of the
14926  * Common Development and Distribution License, Version 1.0 only
14927  * (the "License").  You may not use this file except in compliance
14928  * with the License.
14929  *
14930  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14931  * or http://www.opensolaris.org/os/licensing.
14932  * See the License for the specific language governing permissions
14933  * and limitations under the License.
14934  *
14935  * When distributing Covered Code, include this CDDL HEADER in each
14936  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14937  * If applicable, add the following below this CDDL HEADER, with the
14938  * fields enclosed by brackets "[]" replaced with your own identifying
14939  * information: Portions Copyright [yyyy] [name of copyright owner]
14940  *
14941  * CDDL HEADER END
14942  */
14943 /*
14944  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
14945  * All rights reserved.
14946  */
14947 
14948 /*
14949  * t_lock.h:	Prototypes for disp_locks, plus include files
14950  *		that describe the interfaces to kernel synch.
14951  *		objects.
14952  */
14953 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
14954 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1
14955 /*
14956  * CDDL HEADER START
14957  *
14958  * The contents of this file are subject to the terms of the
14959  * Common Development and Distribution License, Version 1.0 only
14960  * (the "License").  You may not use this file except in compliance
14961  * with the License.
14962  *
14963  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14964  * or http://www.opensolaris.org/os/licensing.
14965  * See the License for the specific language governing permissions
14966  * and limitations under the License.
14967  *
14968  * When distributing Covered Code, include this CDDL HEADER in each
14969  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14970  * If applicable, add the following below this CDDL HEADER, with the
14971  * fields enclosed by brackets "[]" replaced with your own identifying
14972  * information: Portions Copyright [yyyy] [name of copyright owner]
14973  *
14974  * CDDL HEADER END
14975  */
14976 /*
14977  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
14978  * Use is subject to license terms.
14979  */
14980 
14981 
14982 
14983 
14984 #pragma ident "%Z%%M%	%I%	%E% SMI"
14985 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h"
14986 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
14987 /*
14988  * CDDL HEADER START
14989  *
14990  * The contents of this file are subject to the terms of the
14991  * Common Development and Distribution License (the "License").
14992  * You may not use this file except in compliance with the License.
14993  *
14994  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14995  * or http://www.opensolaris.org/os/licensing.
14996  * See the License for the specific language governing permissions
14997  * and limitations under the License.
14998  *
14999  *
15000  * When distributing Covered Code, include this CDDL HEADER in each
15001  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15002  * If applicable, add the following below this CDDL HEADER, with the
15003  * fields enclosed by brackets "[]" replaced with your own identifying
15004  * information: Portions Copyright [yyyy] [name of copyright owner]
15005  *
15006  * CDDL HEADER END
15007  */
15008 
15009 /*
15010  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
15011  * Use is subject to license terms.
15012  * Copyright 2016 Joyent, Inc.
15013  */
15014 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2
15015 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h"
15016 /*
15017  * XXX	Ick.  This type needs to be visible outside the above guard because
15018  * the proc structure is visible outside the _KERNEL | _KMEMUSER guard.
15019  * If we can make proc internals less visible, (which we obviously should)
15020  * then this can be invisible too.
15021  */
15022 typedef unsigned int model_t;
15023 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
15024 
15025 
15026 
15027 
15028 
15029 /*
15030  * Data queue.
15031  *
15032  * NOTE: The *only* public fields are documented in queue(9S).
15033  *       Everything else is implementation-private.
15034  *
15035  * The locking rules for the queue_t structure are extremely subtle and vary
15036  * widely depending on the field in question.  As such, each field is
15037  * annotated according to the following legend:
15038  *
15039  *   Q9S: The field is documented in queue(9S) and may be accessed without
15040  *        locks by a STREAMS module when inside an entry point (e.g., put(9E)).
15041  *        However, no fields can be directly modified unless q_lock is held
15042  *        (which is not possible in a DDI compliant STREAMS module), with the
15043  *        following exceptions:
15044  *
15045  *	   - q_ptr: can be modified as per the rules of the STREAMS module.
15046  *		    The STREAMS framework ignores q_ptr and thus imposes *no*
15047  *		    locking rules on it.
15048  *         - q_qinfo: can be modified before qprocson().
15049  *
15050  *	   - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the
15051  *		    rules of the STREAMS module.  The STREAMS framework never
15052  *		    modifies these fields, and is tolerant of temporarily
15053  *		    stale field values.
15054  *
15055  *	  In general, the STREAMS framework employs one of the following
15056  *	  techniques to ensure STREAMS modules can safely access Q9S fields:
15057  *
15058  *	   - The field is only modified by the framework when the stream is
15059  *	     locked with strlock() (q_next).
15060  *
15061  *	   - The field is modified by the framework, but the modifies are
15062  *	     atomic, and temporarily stale values are harmless (q_count,
15063  *	     q_first, q_last).
15064  *
15065  *	   - The field is modified by the framework, but the field's visible
15066  *	     values are either constant or directly under the control
15067  *	     of the STREAMS module itself (q_flag).
15068  *
15069  *   QLK: The field must be accessed or modified under q_lock, except when
15070  *        the stream has been locked with strlock().  If multiple q_locks must
15071  *        be acquired, q_locks at higher addresses must be taken first.
15072  *
15073  *   STR: The field can be accessed without a lock, but must be modified under
15074  *	  strlock().
15075  *
15076  *   SQLK: The field must be accessed or modified under SQLOCK().
15077  *
15078  *   NOLK: The field can be accessed without a lock, but can only be modified
15079  *	   when the queue_t is not known to any other threads.
15080  *
15081  *   SVLK: The field must be accessed or modified under the service_queue lock.
15082  *         Note that service_lock must be taken after any needed q_locks,
15083  *	   and that no other lock should be taken while service_lock is held.
15084  *
15085  * In addition, it is always acceptable to modify a field that is not yet
15086  * known to any other threads -- and other special case exceptions exist in
15087  * the code.  Also, q_lock is used with q_wait to implement a stream head
15088  * monitor for reads and writes.
15089  */
15090 typedef struct queue {
15091  struct qinit *q_qinfo; /* Q9S: Q processing procedure  */
15092  struct msgb *q_first; /* Q9S: first message in Q	*/
15093  struct msgb *q_last; /* Q9S: last message in Q	*/
15094  struct queue *q_next; /* Q9S: next Q in stream	*/
15095  struct queue *q_link; /* SVLK: next Q for scheduling	*/
15096  void *q_ptr; /* Q9S: module-specific data	*/
15097  size_t q_count; /* Q9S: number of bytes on Q	*/
15098  uint_t q_flag; /* Q9S: Q state			*/
15099  ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */
15100  ssize_t q_maxpsz; /* Q9S: largest packet OK on Q	*/
15101  size_t q_hiwat; /* Q9S: Q high water mark	*/
15102  size_t q_lowat; /* Q9S: Q low water mark	*/
15103  struct qband *q_bandp; /* QLK: band flow information	*/
15104  kmutex_t q_lock; /* NOLK: structure lock		*/
15105  struct stdata *q_stream; /* NOLK: stream backpointer	*/
15106  struct syncq *q_syncq; /* NOLK: associated syncq 	*/
15107  unsigned char q_nband; /* QLK: number of bands		*/
15108  kcondvar_t q_wait; /* NOLK: read/write sleep CV	*/
15109  struct queue *q_nfsrv; /* STR: next Q with svc routine */
15110  ushort_t q_draining; /* QLK: Q is draining		*/
15111  short q_struiot; /* QLK: sync streams Q UIO mode	*/
15112  clock_t q_qtstamp; /* QLK: when Q was enabled	*/
15113  size_t q_mblkcnt; /* QLK: mblk count		*/
15114  uint_t q_syncqmsgs; /* QLK: syncq message count	*/
15115  size_t q_rwcnt; /* QLK: # threads in rwnext()	*/
15116  pri_t q_spri; /* QLK: Q scheduling priority	*/
15117 
15118  /*
15119 	 * Syncq scheduling
15120 	 */
15121  struct msgb *q_sqhead; /* QLK: first syncq message	*/
15122  struct msgb *q_sqtail; /* QLK: last syncq message 	*/
15123  struct queue *q_sqnext; /* SQLK: next Q on syncq list	*/
15124  struct queue *q_sqprev; /* SQLK: prev Q on syncq list 	*/
15125  uint_t q_sqflags; /* SQLK: syncq flags		*/
15126  clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */
15127 
15128  /*
15129 	 * NOLK: Reference to the queue's module's implementation
15130 	 * structure. This will be NULL for queues associated with drivers.
15131 	 */
15132  struct fmodsw_impl *q_fp;
15133 } queue_t;
15134 
15135 /*
15136  * Queue flags; unused flags not documented in queue(9S) can be recycled.
15137  */
15138 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
15139 /*	UNUSED		0x00000200	   was QHLIST			*/
15140 /* 	UNUSED 		0x00000400	   was QUNSAFE			*/
15141 
15142 
15143 
15144 
15145 
15146 
15147      /* all MT type flags		*/
15148 
15149 
15150 
15151 
15152 
15153 
15154 /*	UNUSED		0x00400000	   was QHOT			*/
15155 /*	UNUSED		0x00800000	   was QNEXTHOT			*/
15156 /* 	UNUSED		0x01000000	   was _QNEXTLESS		*/
15157 
15158 
15159 
15160 
15161      /* direct interface to/from sockfs */
15162 
15163 /* queue sqflags (protected by SQLOCK). */
15164 
15165 
15166      /* This is also noted by the	*/
15167      /* q_draining field, but this one is */
15168      /* protected by SQLOCK */
15169 
15170 /*
15171  * Structure that describes the separate information
15172  * for each priority band in the queue.
15173  */
15174 typedef struct qband {
15175  struct qband *qb_next; /* next band's info */
15176  size_t qb_count; /* number of bytes in band */
15177  struct msgb *qb_first; /* beginning of band's data */
15178  struct msgb *qb_last; /* end of band's data */
15179  size_t qb_hiwat; /* high water mark for band */
15180  size_t qb_lowat; /* low water mark for band */
15181  uint_t qb_flag; /* see below */
15182  size_t qb_mblkcnt; /* mblk counter for runaway msgs */
15183 } qband_t;
15184 
15185 /*
15186  * qband flags
15187  */
15188 
15189 
15190 
15191 
15192 /*
15193  * Maximum number of bands.
15194  */
15195 
15196 
15197 /*
15198  * Fields that can be manipulated through strqset() and strqget().
15199  */
15200 typedef enum qfields {
15201  QHIWAT = 0, /* q_hiwat or qb_hiwat */
15202  QLOWAT = 1, /* q_lowat or qb_lowat */
15203  QMAXPSZ = 2, /* q_maxpsz */
15204  QMINPSZ = 3, /* q_minpsz */
15205  QCOUNT = 4, /* q_count or qb_count */
15206  QFIRST = 5, /* q_first or qb_first */
15207  QLAST = 6, /* q_last or qb_last */
15208  QFLAG = 7, /* q_flag or qb_flag */
15209  QSTRUIOT = 8, /* q_struiot */
15210  QBAD = 9
15211 } qfields_t;
15212 
15213 /*
15214  * Module information structure
15215  */
15216 struct module_info {
15217  ushort_t mi_idnum; /* module id number */
15218  char *mi_idname; /* module name */
15219  ssize_t mi_minpsz; /* min packet size accepted */
15220  ssize_t mi_maxpsz; /* max packet size accepted */
15221  size_t mi_hiwat; /* hi-water mark */
15222  size_t mi_lowat; /* lo-water mark */
15223 };
15224 
15225 /*
15226  * queue information structure (with Synchronous STREAMS extensions)
15227  */
15228 struct qinit {
15229  int (*qi_putp)(); /* put procedure */
15230  int (*qi_srvp)(); /* service procedure */
15231  int (*qi_qopen)(); /* called on startup */
15232  int (*qi_qclose)(); /* called on finish */
15233  int (*qi_qadmin)(); /* for future use */
15234  struct module_info *qi_minfo; /* module information structure */
15235  struct module_stat *qi_mstat; /* module statistics structure */
15236  int (*qi_rwp)(); /* r/w procedure */
15237  int (*qi_infop)(); /* information procedure */
15238  int qi_struiot; /* stream uio type for struio() */
15239 };
15240 
15241 /*
15242  * Values for qi_struiot and q_struiot:
15243  */
15244 
15245 
15246 
15247 
15248 /*
15249  * Streamtab (used in cdevsw and fmodsw to point to module or driver)
15250  */
15251 struct streamtab {
15252  struct qinit *st_rdinit;
15253  struct qinit *st_wrinit;
15254  struct qinit *st_muxrinit;
15255  struct qinit *st_muxwinit;
15256 };
15257 
15258 /*
15259  * Structure sent to mux drivers to indicate a link.
15260  */
15261 struct linkblk {
15262  queue_t *l_qtop; /* lowest level write queue of upper stream */
15263     /* (set to NULL for persistent links) */
15264  queue_t *l_qbot; /* highest level write queue of lower stream */
15265  int l_index; /* index for lower stream. */
15266 };
15267 
15268 /*
15269  * Esballoc data buffer freeing routine
15270  */
15271 typedef struct free_rtn {
15272  void (*free_func)();
15273  caddr_t free_arg;
15274 } frtn_t;
15275 
15276 /*
15277  * Data block descriptor
15278  *
15279  * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields,
15280  * as described in datab(9S).  Everything else is implementation-private.
15281  */
15282 
15283 
15284 
15285 typedef struct datab {
15286  frtn_t *db_frtnp;
15287  unsigned char *db_base;
15288  unsigned char *db_lim;
15289  unsigned char db_ref;
15290  unsigned char db_type;
15291  unsigned char db_flags;
15292  unsigned char db_struioflag;
15293  pid_t db_cpid; /* cached pid, needs verification */
15294  void *db_cache; /* kmem cache descriptor */
15295  struct msgb *db_mblk;
15296  void (*db_free)(struct msgb *, struct datab *);
15297  void (*db_lastfree)(struct msgb *, struct datab *);
15298  intptr_t db_cksumstart;
15299  intptr_t db_cksumend;
15300  intptr_t db_cksumstuff;
15301  union {
15302   double enforce_alignment;
15303   unsigned char data[8];
15304   struct {
15305    union {
15306     uint32_t u32;
15307     uint16_t u16;
15308    } cksum_val; /* used to store calculated cksum */
15309    uint16_t flags;
15310    uint16_t pad;
15311   } cksum;
15312   /*
15313 		 * Union used for future extensions (pointer to data ?).
15314 		 */
15315  } db_struioun;
15316  struct fthdr *db_fthdr;
15317  cred_t *db_credp; /* credential */
15318 } dblk_t;
15319 
15320 
15321 
15322 
15323 /*
15324  * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>).
15325  */
15326 
15327 
15328 
15329 /*
15330  * Used by GLDv2 to store the TCI information.
15331  */
15332 
15333 
15334 /*
15335  * Message block descriptor
15336  */
15337 typedef struct msgb {
15338  struct msgb *b_next;
15339  struct msgb *b_prev;
15340  struct msgb *b_cont;
15341  unsigned char *b_rptr;
15342  unsigned char *b_wptr;
15343  struct datab *b_datap;
15344  unsigned char b_band;
15345  unsigned char b_tag;
15346  unsigned short b_flag;
15347  queue_t *b_queue; /* for sync queues */
15348 } mblk_t;
15349 
15350 /*
15351  * bcache descriptor
15352  */
15353 typedef struct bcache {
15354  kmutex_t mutex;
15355  struct kmem_cache *buffer_cache;
15356  struct kmem_cache *dblk_cache;
15357  int alloc;
15358  int destroy;
15359  size_t size;
15360  uint_t align;
15361 } bcache_t;
15362 
15363 /*
15364  * db_flags values (all implementation private!)
15365  */
15366 
15367 
15368 
15369 
15370 /*
15371  * db_struioflag values:
15372  */
15373 
15374 
15375 
15376 
15377 
15378 
15379 /*
15380  * Message flags.  These are interpreted by the stream head.
15381  */
15382 
15383 
15384     /* write side of stream */
15385 
15386 /*	UNUSED		0x08	   was MSGNOGET (can be recycled) */
15387 
15388 
15389 
15390 
15391 /*
15392  * Streams message types.
15393  */
15394 
15395 /*
15396  * Data and protocol messages (regular and priority)
15397  */
15398 
15399 
15400 
15401 
15402 /*
15403  * Control messages (regular and priority)
15404  */
15405 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
15406 /*
15407  * Control messages (high priority; go to head of queue)
15408  */
15409 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
15410 /*
15411  * Queue message class definitions.
15412  */
15413 
15414 
15415 
15416 /*
15417  *  IOCTL structure - this structure is the format of the M_IOCTL message type.
15418  */
15419 
15420 struct iocblk {
15421  int ioc_cmd; /* ioctl command type */
15422  cred_t *ioc_cr; /* full credentials */
15423  uint_t ioc_id; /* ioctl id */
15424  uint_t ioc_flag; /* see below */
15425  size_t ioc_count; /* count of bytes in data field */
15426  int ioc_rval; /* return value  */
15427  int ioc_error; /* error code */
15428 };
15429 # 501 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
15430 typedef struct iocblk *IOCP;
15431 
15432 /* {ioc,cp}_flags values */
15433 
15434 
15435 
15436 
15437 
15438 
15439 
15440 /*
15441  *	Is the ioctl data formatted for our native model?
15442  */
15443 
15444 
15445 
15446 /*
15447  * structure for the M_COPYIN and M_COPYOUT message types.
15448  */
15449 
15450 struct copyreq {
15451  int cq_cmd; /* ioctl command (from ioc_cmd) */
15452  cred_t *cq_cr; /* full credentials (from ioc_cmd) */
15453  uint_t cq_id; /* ioctl id (from ioc_id) */
15454  uint_t cq_flag; /* must be zero */
15455  mblk_t *cq_private; /* private state information */
15456  caddr_t cq_addr; /* address to copy data to/from */
15457  size_t cq_size; /* number of bytes to copy */
15458 };
15459 # 543 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
15460 /*
15461  * structure for the M_IOCDATA message type.
15462  */
15463 
15464 struct copyresp {
15465  int cp_cmd; /* ioctl command (from ioc_cmd) */
15466  cred_t *cp_cr; /* full credentials (from ioc_cmd) */
15467  uint_t cp_id; /* ioctl id (from ioc_id) */
15468  uint_t cp_flag; /* datamodel IOC_ flags; see above */
15469  mblk_t *cp_private; /* private state information */
15470  caddr_t cp_rval; /* status of request: 0 -> success */
15471      /* 		non-zero -> failure */
15472 };
15473 # 571 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
15474 /*
15475  * Since these structures are all intended to travel in the same message
15476  * at different stages of a STREAMS ioctl, this union is used to determine
15477  * the message size in strdoioctl().
15478  */
15479 union ioctypes {
15480  struct iocblk iocblk;
15481  struct copyreq copyreq;
15482  struct copyresp copyresp;
15483 };
15484 
15485 /*
15486  * Options structure for M_SETOPTS message.  This is sent upstream
15487  * by a module or driver to set stream head options.
15488  */
15489 struct stroptions {
15490  uint_t so_flags; /* options to set */
15491  short so_readopt; /* read option */
15492  ushort_t so_wroff; /* write offset */
15493  ssize_t so_minpsz; /* minimum read packet size */
15494  ssize_t so_maxpsz; /* maximum read packet size */
15495  size_t so_hiwat; /* read queue high water mark */
15496  size_t so_lowat; /* read queue low water mark */
15497  unsigned char so_band; /* band for water marks */
15498  ushort_t so_erropt; /* error option */
15499  ssize_t so_maxblk; /* maximum message block size */
15500  ushort_t so_copyopt; /* copy options (see stropts.h) */
15501  ushort_t so_tail; /* space available at the end */
15502 };
15503 
15504 /* flags for stream options set message */
15505 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
15506 /*
15507  * Miscellaneous parameters and flags.
15508  */
15509 
15510 /*
15511  * Values for stream flag in open to indicate module open, clone open,
15512  * and the return value for failure.
15513  */
15514 
15515 
15516 
15517 
15518 /*
15519  * Priority definitions for block allocation.
15520  */
15521 
15522 
15523 
15524 
15525 /*
15526  * Value for packet size that denotes infinity
15527  */
15528 
15529 
15530 /*
15531  * Flags for flushq()
15532  */
15533 
15534 
15535 
15536 /*
15537  * Flag for transparent ioctls
15538  */
15539 
15540 
15541 /*
15542  * Stream head default high/low water marks
15543  */
15544 
15545 
15546 
15547 /*
15548  * qwriter perimeter types
15549  */
15550 
15551 
15552 
15553 /*
15554  * Definitions of Streams macros and function interfaces.
15555  */
15556 
15557 /*
15558  * canenable - check if queue can be enabled by putq().
15559  */
15560 
15561 
15562 /*
15563  * Test if data block type is one of the data messages (i.e. not a control
15564  * message).
15565  */
15566 
15567 
15568 
15569 
15570 
15571 
15572 
15573 /*
15574  * Extract queue class of message block.
15575  */
15576 
15577 
15578 /*
15579  * Align address on next lower word boundary.
15580  */
15581 
15582 
15583 /*
15584  * Find the max size of data block.
15585  */
15586 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
15587 
15588 /*
15589  * Symbols such as htonl() are required to be exposed through this file,
15590  * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h>
15591  */
15592 
15593 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1
15594 /*
15595  * CDDL HEADER START
15596  *
15597  * The contents of this file are subject to the terms of the
15598  * Common Development and Distribution License (the "License").
15599  * You may not use this file except in compliance with the License.
15600  *
15601  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15602  * or http://www.opensolaris.org/os/licensing.
15603  * See the License for the specific language governing permissions
15604  * and limitations under the License.
15605  *
15606  * When distributing Covered Code, include this CDDL HEADER in each
15607  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15608  * If applicable, add the following below this CDDL HEADER, with the
15609  * fields enclosed by brackets "[]" replaced with your own identifying
15610  * information: Portions Copyright [yyyy] [name of copyright owner]
15611  *
15612  * CDDL HEADER END
15613  */
15614 
15615 /*
15616  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
15617  * Use is subject to license terms.
15618  */
15619 
15620 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
15621 /*	  All Rights Reserved  	*/
15622 
15623 /*
15624  * University Copyright- Copyright (c) 1982, 1986, 1988
15625  * The Regents of the University of California
15626  * All Rights Reserved
15627  *
15628  * University Acknowledgment- Portions of this document are derived from
15629  * software developed by the University of California, Berkeley, and its
15630  * contributors.
15631  */
15632 
15633 
15634 
15635 
15636 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
15637 /*
15638  * CDDL HEADER START
15639  *
15640  * The contents of this file are subject to the terms of the
15641  * Common Development and Distribution License (the "License").
15642  * You may not use this file except in compliance with the License.
15643  *
15644  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15645  * or http://www.opensolaris.org/os/licensing.
15646  * See the License for the specific language governing permissions
15647  * and limitations under the License.
15648  *
15649  *
15650  * When distributing Covered Code, include this CDDL HEADER in each
15651  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15652  * If applicable, add the following below this CDDL HEADER, with the
15653  * fields enclosed by brackets "[]" replaced with your own identifying
15654  * information: Portions Copyright [yyyy] [name of copyright owner]
15655  *
15656  * CDDL HEADER END
15657  */
15658 
15659 /*
15660  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
15661  * Use is subject to license terms.
15662  * Copyright 2016 Joyent, Inc.
15663  */
15664 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2
15665 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
15666 /*
15667  * CDDL HEADER START
15668  *
15669  * The contents of this file are subject to the terms of the
15670  * Common Development and Distribution License, Version 1.0 only
15671  * (the "License").  You may not use this file except in compliance
15672  * with the License.
15673  *
15674  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15675  * or http://www.opensolaris.org/os/licensing.
15676  * See the License for the specific language governing permissions
15677  * and limitations under the License.
15678  *
15679  * When distributing Covered Code, include this CDDL HEADER in each
15680  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15681  * If applicable, add the following below this CDDL HEADER, with the
15682  * fields enclosed by brackets "[]" replaced with your own identifying
15683  * information: Portions Copyright [yyyy] [name of copyright owner]
15684  *
15685  * CDDL HEADER END
15686  */
15687 /*
15688  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
15689  *
15690  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
15691  * Use is subject to license terms.
15692  */
15693 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2
15694 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
15695 /*
15696  * macros for conversion between host and (internet) network byte order
15697  */
15698 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
15699 typedef uint16_t in_port_t;
15700 
15701 
15702 
15703 
15704 typedef uint32_t in_addr_t;
15705 
15706 
15707 
15708 extern uint32_t htonl(uint32_t);
15709 extern uint16_t htons(uint16_t);
15710 extern uint32_t ntohl(uint32_t);
15711 extern uint16_t ntohs(uint16_t);
15712 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
15713 extern uint64_t htonll(uint64_t);
15714 extern uint64_t ntohll(uint64_t);
15715 
15716 
15717 
15718 
15719 
15720 
15721 /*
15722  * Macros to reverse byte order
15723  */
15724 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
15725 /*
15726  * Macros to convert from a specific byte order to/from native byte order
15727  */
15728 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
15729 /*
15730  * Macros to read unaligned values from a specific byte order to
15731  * native byte order
15732  */
15733 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
15734 /*
15735  * Macros to write unaligned values from native byte order to a specific byte
15736  * order.
15737  */
15738 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
15739 
15740 
15741 
15742 
15743 
15744 
15745 
15746 /*
15747  * Note: IPv4 address data structures usage conventions.
15748  * The "in_addr_t" type below (required by Unix standards)
15749  * is NOT a typedef of "struct in_addr" and violates the usual
15750  * conventions where "struct <name>" and <name>_t are corresponding
15751  * typedefs.
15752  * To minimize confusion, kernel data structures/usage prefers use
15753  * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t"
15754  * The user level APIs continue to follow the historic popular
15755  * practice of using "struct in_addr".
15756  */
15757 
15758 
15759 
15760 
15761 
15762 
15763 
15764 typedef uint32_t ipaddr_t;
15765 
15766 
15767 
15768 
15769 struct in6_addr {
15770  union {
15771   /*
15772 		 * Note: Static initalizers of "union" type assume
15773 		 * the constant on the RHS is the type of the first member
15774 		 * of union.
15775 		 * To make static initializers (and efficient usage) work,
15776 		 * the order of members exposed to user and kernel view of
15777 		 * this data structure is different.
15778 		 * User environment sees specified uint8_t type as first
15779 		 * member whereas kernel sees most efficient type as
15780 		 * first member.
15781 		 */
15782 
15783 
15784 
15785 
15786   uint8_t _S6_u8[16]; /* IPv6 address */
15787   uint32_t _S6_u32[4]; /* IPv6 address */
15788 
15789   uint32_t __S6_align; /* Align on 32 bit boundary */
15790  } _S6_un;
15791 };
15792 
15793 
15794 
15795 
15796 
15797 
15798 
15799 typedef struct in6_addr in6_addr_t;
15800 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15801 /*
15802  * Protocols
15803  *
15804  * Some of these constant names are copied for the DTrace IP provider in
15805  * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept
15806  * in sync.
15807  */
15808 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15809       /* Transmission Protocol */
15810 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15811 /*
15812  * Port/socket numbers: network standard functions
15813  *
15814  * Entries should exist here for each port number compiled into an ON
15815  * component, such as snoop.
15816  */
15817 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15818 /*
15819  * Port/socket numbers: host specific functions
15820  */
15821 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15822 /*
15823  * Internet Key Exchange (IKE) ports
15824  */
15825 
15826 
15827 
15828 /*
15829  * UNIX TCP sockets
15830  */
15831 
15832 
15833 
15834 
15835 
15836 
15837 /*
15838  * UNIX UDP sockets
15839  */
15840 
15841 
15842 
15843 
15844 
15845 
15846 
15847 /*
15848  * DHCPv6 UDP ports
15849  */
15850 
15851 
15852 
15853 
15854 
15855 /*
15856  * Ports < IPPORT_RESERVED are reserved for
15857  * privileged processes (e.g. root).
15858  * Ports > IPPORT_USERRESERVED are reserved
15859  * for servers, not necessarily privileged.
15860  */
15861 
15862 
15863 
15864 /*
15865  * Link numbers
15866  */
15867 
15868 
15869 
15870 
15871 /*
15872  * IPv4 Internet address
15873  *	This definition contains obsolete fields for compatibility
15874  *	with SunOS 3.x and 4.2bsd.  The presence of subnets renders
15875  *	divisions into fixed fields misleading at best.  New code
15876  *	should use only the s_addr field.
15877  */
15878 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15879 struct in_addr {
15880  union {
15881   struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b;
15882   struct { uint16_t s_w1, s_w2; } S_un_w;
15883 
15884   uint32_t S_addr;
15885 
15886 
15887 
15888  } S_un;
15889 
15890 
15891 
15892 
15893 
15894 
15895 };
15896 
15897 /*
15898  * Definitions of bits in internet address integers.
15899  * On subnets, the decomposition of addresses to host and net parts
15900  * is done according to subnet mask, not the masks here.
15901  *
15902  * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB,
15903  * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto
15904  * obsolete". IN_MULTICAST macro should be used to test if a address
15905  * is a multicast address.
15906  */
15907 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15908 /*
15909  * We have removed CLASS E checks from the kernel
15910  * But we preserve these defines for userland in order
15911  * to avoid compile  breakage of some 3rd party piece of software
15912  */
15913 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15914 /* Scoped IPv4 prefixes (in host byte-order) */
15915 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15916 /* RFC 3927 IPv4 link local address (i in host byte-order) */
15917 
15918 
15919 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */
15920 
15921 
15922 
15923 
15924 
15925 
15926 /*
15927  * Define a macro to stuff the loopback address into an Internet address
15928  */
15929 
15930 
15931 
15932 
15933 
15934 
15935 /*
15936  * IPv4 Socket address.
15937  */
15938 struct sockaddr_in {
15939  sa_family_t sin_family;
15940  in_port_t sin_port;
15941  struct in_addr sin_addr;
15942 
15943  char sin_zero[8];
15944 
15945 
15946 
15947 };
15948 
15949 
15950 /*
15951  * IPv6 socket address.
15952  */
15953 struct sockaddr_in6 {
15954  sa_family_t sin6_family;
15955  in_port_t sin6_port;
15956  uint32_t sin6_flowinfo;
15957  struct in6_addr sin6_addr;
15958  uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */
15959  uint32_t __sin6_src_id; /* Impl. specific - UDP replies */
15960 };
15961 
15962 /*
15963  * Macros for accessing the traffic class and flow label fields from
15964  * sin6_flowinfo.
15965  * These are designed to be applied to a 32-bit value.
15966  */
15967 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15968 /* masks */
15969 
15970 
15971 
15972 
15973 
15974 /*
15975  * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for
15976  * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t)
15977  * only. They need to be different for User/Kernel versions because union
15978  * component data structure is defined differently (it is identical at
15979  * binary representation level).
15980  *
15981  * const struct in6_addr IN6ADDR_ANY_INIT;
15982  * const struct in6_addr IN6ADDR_LOOPBACK_INIT;
15983  */
15984 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
15985 /*
15986  * RFC 2553 specifies the following macros. Their type is defined
15987  * as "int" in the RFC but they only have boolean significance
15988  * (zero or non-zero). For the purposes of our comment notation,
15989  * we assume a hypothetical type "bool" defined as follows to
15990  * write the prototypes assumed for macros in our comments better.
15991  *
15992  * typedef int bool;
15993  */
15994 
15995 /*
15996  * IN6 macros used to test for special IPv6 addresses
15997  * (Mostly from spec)
15998  *
15999  * bool  IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *);
16000  * bool  IN6_IS_ADDR_LOOPBACK    (const struct in6_addr *);
16001  * bool  IN6_IS_ADDR_MULTICAST   (const struct in6_addr *);
16002  * bool  IN6_IS_ADDR_LINKLOCAL   (const struct in6_addr *);
16003  * bool  IN6_IS_ADDR_SITELOCAL   (const struct in6_addr *);
16004  * bool  IN6_IS_ADDR_V4MAPPED    (const struct in6_addr *);
16005  * bool  IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553
16006  * bool  IN6_IS_ADDR_V4COMPAT    (const struct in6_addr *);
16007  * bool  IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553
16008  * bool  IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
16009  * bool  IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
16010  * bool  IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
16011  * bool  IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *);
16012  * bool  IN6_IS_ADDR_MC_GLOBAL   (const struct in6_addr *);
16013  * bool  IN6_IS_ADDR_6TO4	 (const struct in6_addr *); -- Not from RFC2553
16014  * bool  IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *,
16015  *	     const struct in6_addr *);			    -- Not from RFC2553
16016  * bool  IN6_IS_ADDR_LINKSCOPE	 (const struct in6addr  *); -- Not from RFC2553
16017  */
16018 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16019 /*
16020  * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY
16021  * Note: This macro is currently NOT defined in RFC2553 specification
16022  * and not a standard macro that portable applications should use.
16023  */
16024 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16025 /* Exclude loopback and unspecified address */
16026 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16027 /*
16028  * Note:
16029  * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553
16030  * specification and not a standard macro that portable applications
16031  * should use.
16032  */
16033 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16034 /*
16035  * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or
16036  * RFC, and shouldn't be used by portable applications.  It is used to see
16037  * if an address is a solicited-node multicast address, which is prefixed
16038  * with ff02:0:0:0:0:1:ff00::/104.
16039  */
16040 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16041 /*
16042  * Macros to a) test for 6to4 IPv6 address, and b) to test if two
16043  * 6to4 addresses have the same /48 prefix, and, hence, are from the
16044  * same 6to4 site.
16045  */
16046 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16047 /*
16048  * IN6_IS_ADDR_LINKSCOPE
16049  * Identifies an address as being either link-local, link-local multicast or
16050  * node-local multicast.  All types of addresses are considered to be unique
16051  * within the scope of a given link.
16052  */
16053 
16054 
16055 
16056 
16057 /*
16058  * Useful utility macros for operations with IPv6 addresses
16059  * Note: These macros are NOT defined in the RFC2553 or any other
16060  * standard specification and are not standard macros that portable
16061  * applications should use.
16062  */
16063 
16064 /*
16065  * IN6_V4MAPPED_TO_INADDR
16066  * IN6_V4MAPPED_TO_IPADDR
16067  *	Assign a IPv4-Mapped IPv6 address to an IPv4 address.
16068  *	Note: These macros are NOT defined in RFC2553 or any other standard
16069  *	specification and are not macros that portable applications should
16070  *	use.
16071  *
16072  * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4);
16073  * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4);
16074  *
16075  */
16076 
16077 
16078 
16079 
16080 
16081 /*
16082  * IN6_INADDR_TO_V4MAPPED
16083  * IN6_IPADDR_TO_V4MAPPED
16084  *	Assign a IPv4 address address to an IPv6 address as a IPv4-mapped
16085  *	address.
16086  *	Note: These macros are NOT defined in RFC2553 or any other standard
16087  *	specification and are not macros that portable applications should
16088  *	use.
16089  *
16090  * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6);
16091  * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6);
16092  *
16093  */
16094 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16095 /*
16096  * IN6_6TO4_TO_V4ADDR
16097  *	Extract the embedded IPv4 address from the prefix to a 6to4 IPv6
16098  *      address.
16099  *	Note: This macro is NOT defined in RFC2553 or any other standard
16100  *	specification and is not a macro that portable applications should
16101  *	use.
16102  *	Note: we don't use the IPADDR form of the macro because we need
16103  *	to do a bytewise copy; the V4ADDR in the 6to4 address is not
16104  *	32-bit aligned.
16105  *
16106  * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4);
16107  *
16108  */
16109 
16110 
16111 
16112 
16113 
16114 
16115 /*
16116  * IN6_V4ADDR_TO_6TO4
16117  *	Given an IPv4 address and an IPv6 address for output, a 6to4 address
16118  *	will be created from the IPv4 Address.
16119  *	Note:  This method for creating 6to4 addresses is not standardized
16120  *	outside of Solaris.  The newly created 6to4 address will be of the form
16121  *	2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and
16122  *	HOSTID will equal 1.
16123  *
16124  * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6)
16125  *
16126  */
16127 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16128 /*
16129  * IN6_ARE_ADDR_EQUAL (defined in RFC2292)
16130  *	 Compares if IPv6 addresses are equal.
16131  * Note: Compares in order of high likelyhood of a miss so we minimize
16132  * compares. (Current heuristic order, compare in reverse order of
16133  * uint32_t units)
16134  *
16135  * bool  IN6_ARE_ADDR_EQUAL(const struct in6_addr *,
16136  *			    const struct in6_addr *);
16137  */
16138 
16139 
16140 
16141 
16142 
16143 
16144 /*
16145  * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs)
16146  *	Compares if prefixed parts of IPv6 addresses are equal.
16147  *
16148  * uint32_t IN6_MASK_FROM_PREFIX(int, int);
16149  * bool     IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *,
16150  *				       const struct in6_addr *,
16151  *				       int);
16152  */
16153 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16154 /*
16155  * Options for use with [gs]etsockopt at the IP level.
16156  *
16157  * Note: Some of the IP_ namespace has conflict with and
16158  * and is exposed through <xti.h>. (It also requires exposing
16159  * options not implemented). The options with potential
16160  * for conflicts use #ifndef guards.
16161  */
16162 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16163 /*
16164  * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in
16165  * is used to differentiate b/w the two.
16166  */
16167 
16168 
16169 
16170 
16171 
16172 /*
16173  * Different preferences that can be requested from IPSEC protocols.
16174  */
16175 
16176 
16177 
16178 
16179 /*
16180  * This can be used with the setsockopt() call to set per socket security
16181  * options. When the application uses per-socket API, we will reflect
16182  * the request on both outbound and inbound packets.
16183  */
16184 
16185 typedef struct ipsec_req {
16186  uint_t ipsr_ah_req; /* AH request */
16187  uint_t ipsr_esp_req; /* ESP request */
16188  uint_t ipsr_self_encap_req; /* Self-Encap request */
16189  uint8_t ipsr_auth_alg; /* Auth algs for AH */
16190  uint8_t ipsr_esp_alg; /* Encr algs for ESP */
16191  uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */
16192 } ipsec_req_t;
16193 
16194 /*
16195  * MCAST_* options are protocol-independent.  The actual definitions
16196  * are with the v6 options below; this comment is here to note the
16197  * namespace usage.
16198  *
16199  * #define	MCAST_JOIN_GROUP	0x29
16200  * #define	MCAST_LEAVE_GROUP	0x2a
16201  * #define	MCAST_BLOCK_SOURCE	0x2b
16202  * #define	MCAST_UNBLOCK_SOURCE	0x2c
16203  * #define	MCAST_JOIN_SOURCE_GROUP	0x2d
16204  * #define	MCAST_LEAVE_SOURCE_GROUP 0x2e
16205  */
16206 
16207 
16208 /*
16209  * SunOS private (potentially not portable) IP_ option names
16210  */
16211 
16212 
16213 
16214 /* can be reused		0x44 */
16215 
16216 
16217 /*
16218  * Option values and names (when !_XPG5) shared with <xti_inet.h>
16219  */
16220 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16221 /*
16222  * The following option values are reserved by <xti_inet.h>
16223  *
16224  * T_IP_OPTIONS	0x107	 -  IP per-packet options
16225  * T_IP_TOS	0x108	 -  IP per packet type of service
16226  */
16227 
16228 /*
16229  * Default value constants for multicast attributes controlled by
16230  * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options.
16231  */
16232 
16233 
16234 
16235 
16236 /*
16237  * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
16238  */
16239 struct ip_mreq {
16240  struct in_addr imr_multiaddr; /* IP multicast address of group */
16241  struct in_addr imr_interface; /* local IP address of interface */
16242 };
16243 
16244 /*
16245  * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE,
16246  * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP.
16247  */
16248 struct ip_mreq_source {
16249  struct in_addr imr_multiaddr; /* IP address of group */
16250  struct in_addr imr_sourceaddr; /* IP address of source */
16251  struct in_addr imr_interface; /* IP address of interface */
16252 };
16253 
16254 /*
16255  * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on
16256  * IPv6 addresses.
16257  */
16258 struct ipv6_mreq {
16259  struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */
16260  unsigned int ipv6mr_interface; /* interface index */
16261 };
16262 
16263 /*
16264  * Use #pragma pack() construct to force 32-bit alignment on amd64.
16265  * This is needed to keep the structure size and offsets consistent
16266  * between a 32-bit app and the 64-bit amd64 kernel in structures
16267  * where 64-bit alignment would create gaps (in this case, structures
16268  * which have a uint32_t followed by a struct sockaddr_storage).
16269  */
16270 
16271 
16272 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16273 #pragma pack(4)
16274 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16275 
16276 
16277 
16278 /*
16279  * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP.
16280  */
16281 struct group_req {
16282  uint32_t gr_interface; /* interface index */
16283  struct sockaddr_storage gr_group; /* group address */
16284 };
16285 
16286 /*
16287  * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE,
16288  * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP.
16289  */
16290 struct group_source_req {
16291  uint32_t gsr_interface; /* interface index */
16292  struct sockaddr_storage gsr_group; /* group address */
16293  struct sockaddr_storage gsr_source; /* source address */
16294 };
16295 
16296 /*
16297  * Argument for SIOC[GS]MSFILTER ioctls
16298  */
16299 struct group_filter {
16300  uint32_t gf_interface; /* interface index */
16301  struct sockaddr_storage gf_group; /* multicast address */
16302  uint32_t gf_fmode; /* filter mode */
16303  uint32_t gf_numsrc; /* number of sources */
16304  struct sockaddr_storage gf_slist[1]; /* source address */
16305 };
16306 
16307 
16308 
16309 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16310 #pragma pack()
16311 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16312 
16313 
16314 
16315 
16316 
16317 
16318 
16319 /*
16320  * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific)
16321  */
16322 struct ip_msfilter {
16323  struct in_addr imsf_multiaddr; /* IP multicast address of group */
16324  struct in_addr imsf_interface; /* local IP address of interface */
16325  uint32_t imsf_fmode; /* filter mode */
16326  uint32_t imsf_numsrc; /* number of sources in src_list */
16327  struct in_addr imsf_slist[1]; /* start of source list */
16328 };
16329 
16330 
16331 
16332 
16333 
16334 /*
16335  * Multicast source filter manipulation functions in libsocket;
16336  * defined in RFC 3678.
16337  */
16338 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t,
16339    uint_t, struct sockaddr_storage *);
16340 
16341 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *,
16342    uint_t *, struct sockaddr_storage *);
16343 
16344 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t,
16345    uint32_t, struct in_addr *);
16346 
16347 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *,
16348    uint32_t *, struct in_addr *);
16349 
16350 /*
16351  * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter()
16352  */
16353 
16354 
16355 
16356 /*
16357  * Argument struct for IP_PKTINFO option
16358  */
16359 typedef struct in_pktinfo {
16360  unsigned int ipi_ifindex; /* send/recv interface index */
16361  struct in_addr ipi_spec_dst; /* matched source address */
16362  struct in_addr ipi_addr; /* src/dst address in IP hdr */
16363 } in_pktinfo_t;
16364 
16365 /*
16366  * Argument struct for IPV6_PKTINFO option
16367  */
16368 struct in6_pktinfo {
16369  struct in6_addr ipi6_addr; /* src/dst IPv6 address */
16370  unsigned int ipi6_ifindex; /* send/recv interface index */
16371 };
16372 
16373 /*
16374  * Argument struct for IPV6_MTUINFO option
16375  */
16376 struct ip6_mtuinfo {
16377  struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */
16378  uint32_t ip6m_mtu; /* path MTU in host byte order */
16379 };
16380 
16381 /*
16382  * IPv6 routing header types
16383  */
16384 
16385 
16386 extern socklen_t inet6_rth_space(int type, int segments);
16387 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments);
16388 extern int inet6_rth_add(void *bp, const struct in6_addr *addr);
16389 extern int inet6_rth_reverse(const void *in, void *out);
16390 extern int inet6_rth_segments(const void *bp);
16391 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index);
16392 
16393 extern int inet6_opt_init(void *extbuf, socklen_t extlen);
16394 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset,
16395  uint8_t type, socklen_t len, uint_t align, void **databufp);
16396 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset);
16397 extern int inet6_opt_set_val(void *databuf, int offset, void *val,
16398  socklen_t vallen);
16399 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset,
16400  uint8_t *typep, socklen_t *lenp, void **databufp);
16401 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset,
16402  uint8_t type, socklen_t *lenp, void **databufp);
16403 extern int inet6_opt_get_val(void *databuf, int offset, void *val,
16404  socklen_t vallen);
16405 
16406 
16407 /*
16408  * Argument structure for IP_ADD_PROXY_ADDR.
16409  * Note that this is an unstable, experimental interface. It may change
16410  * later. Don't use it unless you know what it is.
16411  */
16412 typedef struct {
16413  struct in_addr in_prefix_addr;
16414  unsigned int in_prefix_len;
16415 } in_prefix_t;
16416 
16417 
16418 
16419 /*
16420  * IPv6 options
16421  */
16422 
16423      /* packets. */
16424      /* argument type: uint_t */
16425 
16426      /* multicast packets. */
16427      /* argument type: struct in6_addr */
16428 
16429      /* multicast packets. */
16430      /* argument type: uint_t */
16431 
16432      /* multicast packets on same socket. */
16433      /* argument type: uint_t */
16434 
16435      /* argument type: struct ipv6_mreq */
16436 
16437      /* argument type: struct ipv6_mreq */
16438 
16439 /*
16440  * Other XPG6 constants.
16441  */
16442 
16443      /* decimal notation. */
16444 
16445      /* standard colon-hex notation. */
16446 
16447 
16448 
16449 
16450 
16451 /*
16452  * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept
16453  * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP
16454  * and IPV6_LEAVE_GROUP respectively.
16455  */
16456 
16457      /* argument type: struct ipv6_mreq */
16458 
16459      /* argument type: struct ipv6_mreq */
16460 
16461 
16462      /* arg type: "struct in6_pktingo" - */
16463 
16464 
16465 
16466 
16467      /* the routing header */
16468 
16469 
16470      /* the routing header */
16471 
16472 
16473 
16474 
16475 /*
16476  * This options exists for backwards compatability and should no longer be
16477  * used.  Use IPV6_RECVDSTOPTS instead.
16478  */
16479 
16480 
16481 
16482 
16483 /*
16484  * enable/disable IPV6_RTHDRDSTOPTS.  Now obsolete.  IPV6_RECVDSTOPTS enables
16485  * the receipt of both headers.
16486  */
16487 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16488 /*
16489  * enable/disable receipt of both both IPV6_DSTOPTS headers.
16490  */
16491 
16492 
16493 /*
16494  * protocol-independent multicast membership options.
16495  */
16496 
16497 
16498 
16499 
16500 
16501 
16502 
16503 /* 32Bit field for IPV6_SRC_PREFERENCES */
16504 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
16505 /*
16506  * SunOS private (potentially not portable) IPV6_ option names
16507  */
16508 
16509 
16510      /* unspecified (all zeros) */
16511 
16512 /*
16513  * Miscellaneous IPv6 constants.
16514  */
16515 
16516 
16517 
16518 
16519 /*
16520  * Extern declarations for pre-defined global const variables
16521  */
16522 
16523 
16524 
16525 extern const struct in6_addr in6addr_any;
16526 extern const struct in6_addr in6addr_loopback;
16527 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
16528 
16529 
16530 
16531 
16532 
16533 /*
16534  * NOTE
16535  *
16536  * The contents of this file are private to the implementation of
16537  * Solaris and are subject to change at any time without notice.
16538  * Applications and drivers using these interfaces may fail to
16539  * run on future releases.
16540  */
16541 
16542 /* Available both in kernel and for user space */
16543 
16544 /* zone id restrictions and special ids */
16545 
16546 
16547 
16548 
16549 
16550 
16551 /*
16552  * Special zoneid_t token to refer to all zones.
16553  */
16554 
16555 
16556 /* system call subcodes */
16557 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
16558 /* zone attributes */
16559 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
16560 /* Start of the brand-specific attribute namespace */
16561 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
16562 /*
16563  * Exit values that may be returned by scripts or programs invoked by various
16564  * zone commands.
16565  *
16566  * These are defined as:
16567  *
16568  *	ZONE_SUBPROC_OK
16569  *	===============
16570  *	The subprocess completed successfully.
16571  *
16572  *	ZONE_SUBPROC_USAGE
16573  *	==================
16574  *	The subprocess failed with a usage message, or a usage message should
16575  *	be output in its behalf.
16576  *
16577  *	ZONE_SUBPROC_NOTCOMPLETE
16578  *	========================
16579  *	The subprocess did not complete, but the actions performed by the
16580  *	subprocess require no recovery actions by the user.
16581  *
16582  *	For example, if the subprocess were called by "zoneadm install," the
16583  *	installation of the zone did not succeed but the user need not perform
16584  *	a "zoneadm uninstall" before attempting another install.
16585  *
16586  *	ZONE_SUBPROC_FATAL
16587  *	==================
16588  *	The subprocess failed in a fatal manner, usually one that will require
16589  *	some type of recovery action by the user.
16590  *
16591  *	For example, if the subprocess were called by "zoneadm install," the
16592  *	installation of the zone did not succeed and the user will need to
16593  *	perform a "zoneadm uninstall" before another install attempt is
16594  *	possible.
16595  *
16596  *	The non-success exit values are large to avoid accidental collision
16597  *	with values used internally by some commands (e.g. "Z_ERR" and
16598  *	"Z_USAGE" as used by zoneadm.)
16599  */
16600 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
16601 typedef struct {
16602  const char *zone_name;
16603  const char *zone_root;
16604  const struct priv_set *zone_privs;
16605  size_t zone_privssz;
16606  const char *rctlbuf;
16607  size_t rctlbufsz;
16608  int *extended_error;
16609  const char *zfsbuf;
16610  size_t zfsbufsz;
16611  int match; /* match level */
16612  uint32_t doi; /* DOI for label */
16613  const bslabel_t *label; /* label associated with zone */
16614  int flags;
16615 } zone_def;
16616 
16617 /* extended error information */
16618 
16619 
16620 
16621 
16622 
16623 /*
16624  * zone_status values
16625  *
16626  * You must modify zone_status_names in mdb(1M)'s genunix module
16627  * (genunix/zone.c) when you modify this enum.
16628  */
16629 typedef enum {
16630  ZONE_IS_UNINITIALIZED = 0,
16631  ZONE_IS_INITIALIZED,
16632  ZONE_IS_READY,
16633  ZONE_IS_BOOTING,
16634  ZONE_IS_RUNNING,
16635  ZONE_IS_SHUTTING_DOWN,
16636  ZONE_IS_EMPTY,
16637  ZONE_IS_DOWN,
16638  ZONE_IS_DYING,
16639  ZONE_IS_DEAD
16640 } zone_status_t;
16641 
16642 
16643 
16644 /*
16645  * Valid commands which may be issued by zoneadm to zoneadmd.  The kernel also
16646  * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT.
16647  */
16648 typedef enum zone_cmd {
16649  Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING,
16650  Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN
16651 } zone_cmd_t;
16652 
16653 /*
16654  * The structure of a request to zoneadmd.
16655  */
16656 typedef struct zone_cmd_arg {
16657  uint64_t uniqid; /* unique "generation number" */
16658  zone_cmd_t cmd; /* requested action */
16659  uint32_t _pad; /* need consistent 32/64 bit alignmt */
16660  char locale[1024]; /* locale in which to render messages */
16661  char bootbuf[256]; /* arguments passed to zone_boot() */
16662 } zone_cmd_arg_t;
16663 
16664 /*
16665  * Structure of zoneadmd's response to a request.  A NULL return value means
16666  * the caller should attempt to restart zoneadmd and retry.
16667  */
16668 typedef struct zone_cmd_rval {
16669  int rval; /* return value of request */
16670  char errbuf[1]; /* variable-sized buffer containing error messages */
16671 } zone_cmd_rval_t;
16672 
16673 /*
16674  * The zone support infrastructure uses the zone name as a component
16675  * of unix domain (AF_UNIX) sockets, which are limited to 108 characters
16676  * in length, so ZONENAME_MAX is limited by that.
16677  */
16678 
16679 
16680 
16681 
16682 /*
16683  * Extended Regular expression (see regex(5)) which matches all valid zone
16684  * names.
16685  */
16686 
16687 
16688 /*
16689  * Where the zones support infrastructure places temporary files.
16690  */
16691 
16692 
16693 /*
16694  * The path to the door used by clients to communicate with zoneadmd.
16695  */
16696 
16697 
16698 
16699 /* zone_flags */
16700 /*
16701  * Threads that read or write the following flag must hold zone_lock.
16702  */
16703 
16704 
16705 /*
16706  * The following threads are set when the zone is created and never changed.
16707  * Threads that test for these flags don't have to hold zone_lock.
16708  */
16709 
16710 
16711 
16712 
16713 
16714 /* zone_create flags */
16715 
16716 
16717 /* zone network properties */
16718 
16719 
16720 
16721 
16722 
16723 
16724 typedef struct zone_net_data {
16725  int zn_type;
16726  int zn_len;
16727  datalink_id_t zn_linkid;
16728  uint8_t zn_val[1];
16729 } zone_net_data_t;
16730 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
16731 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1
16732 /*
16733  * CDDL HEADER START
16734  *
16735  * The contents of this file are subject to the terms of the
16736  * Common Development and Distribution License (the "License").
16737  * You may not use this file except in compliance with the License.
16738  *
16739  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16740  * or http://www.opensolaris.org/os/licensing.
16741  * See the License for the specific language governing permissions
16742  * and limitations under the License.
16743  *
16744  * When distributing Covered Code, include this CDDL HEADER in each
16745  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16746  * If applicable, add the following below this CDDL HEADER, with the
16747  * fields enclosed by brackets "[]" replaced with your own identifying
16748  * information: Portions Copyright [yyyy] [name of copyright owner]
16749  *
16750  * CDDL HEADER END
16751  */
16752 /*
16753  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16754  *
16755  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
16756  */
16757 
16758 
16759 
16760 
16761 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
16762 /*
16763  * CDDL HEADER START
16764  *
16765  * The contents of this file are subject to the terms of the
16766  * Common Development and Distribution License (the "License").
16767  * You may not use this file except in compliance with the License.
16768  *
16769  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16770  * or http://www.opensolaris.org/os/licensing.
16771  * See the License for the specific language governing permissions
16772  * and limitations under the License.
16773  *
16774  * When distributing Covered Code, include this CDDL HEADER in each
16775  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16776  * If applicable, add the following below this CDDL HEADER, with the
16777  * fields enclosed by brackets "[]" replaced with your own identifying
16778  * information: Portions Copyright [yyyy] [name of copyright owner]
16779  *
16780  * CDDL HEADER END
16781  */
16782 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16783 /*	  All Rights Reserved  	*/
16784 
16785 
16786 /*
16787  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16788  * Use is subject to license terms.
16789  *
16790  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
16791  * Copyright 2016 Joyent, Inc.
16792  */
16793 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
16794 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
16795 /*
16796  * CDDL HEADER START
16797  *
16798  * The contents of this file are subject to the terms of the
16799  * Common Development and Distribution License (the "License").
16800  * You may not use this file except in compliance with the License.
16801  *
16802  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16803  * or http://www.opensolaris.org/os/licensing.
16804  * See the License for the specific language governing permissions
16805  * and limitations under the License.
16806  *
16807  * When distributing Covered Code, include this CDDL HEADER in each
16808  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16809  * If applicable, add the following below this CDDL HEADER, with the
16810  * fields enclosed by brackets "[]" replaced with your own identifying
16811  * information: Portions Copyright [yyyy] [name of copyright owner]
16812  *
16813  * CDDL HEADER END
16814  */
16815 /*
16816  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16817  * Use is subject to license terms.
16818  */
16819 
16820 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
16821 /*	  All Rights Reserved  	*/
16822 
16823 /*
16824  * Portions of this source code were derived from Berkeley 4.3 BSD
16825  * under license from the Regents of the University of California.
16826  */
16827 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
16828 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1
16829 /*
16830  * CDDL HEADER START
16831  *
16832  * The contents of this file are subject to the terms of the
16833  * Common Development and Distribution License (the "License").
16834  * You may not use this file except in compliance with the License.
16835  *
16836  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16837  * or http://www.opensolaris.org/os/licensing.
16838  * See the License for the specific language governing permissions
16839  * and limitations under the License.
16840  *
16841  * When distributing Covered Code, include this CDDL HEADER in each
16842  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16843  * If applicable, add the following below this CDDL HEADER, with the
16844  * fields enclosed by brackets "[]" replaced with your own identifying
16845  * information: Portions Copyright [yyyy] [name of copyright owner]
16846  *
16847  * CDDL HEADER END
16848  */
16849 /*
16850  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
16851  * Copyright 2015, Joyent, Inc. All rights reserved.
16852  *
16853  * Privilege constant definitions.  Privileges and privilege sets
16854  * are only known by name and should be mapped at runtime.
16855  *
16856  * THIS FILE WAS GENERATED; DO NOT EDIT
16857  */
16858 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h"
16859 /*
16860  * Privilege names
16861  */
16862 /*
16863  * Allows a process to request critical events without limitation.
16864  * Allows a process to request reliable delivery of all events on
16865  * any event queue.
16866  */
16867 
16868 
16869 /*
16870  * Allows a process to set the service FMRI value of a process
16871  * contract template.
16872  */
16873 
16874 
16875 /*
16876  * Allows a process to observe contract events generated by
16877  * contracts created and owned by users other than the process's
16878  * effective user ID.
16879  * Allows a process to open contract event endpoints belonging to
16880  * contracts created and owned by users other than the process's
16881  * effective user ID.
16882  */
16883 
16884 
16885 /*
16886  * Allow a process to access per-CPU hardware performance counters.
16887  */
16888 
16889 
16890 /*
16891  * Allows DTrace kernel-level tracing.
16892  */
16893 
16894 
16895 /*
16896  * Allows DTrace process-level tracing.
16897  * Allows process-level tracing probes to be placed and enabled in
16898  * processes to which the user has permissions.
16899  */
16900 
16901 
16902 /*
16903  * Allows DTrace user-level tracing.
16904  * Allows use of the syscall and profile DTrace providers to
16905  * examine processes to which the user has permissions.
16906  */
16907 
16908 
16909 /*
16910  * Allows a process to change a file's owner user ID.
16911  * Allows a process to change a file's group ID to one other than
16912  * the process' effective group ID or one of the process'
16913  * supplemental group IDs.
16914  */
16915 
16916 
16917 /*
16918  * Allows a process to give away its files; a process with this
16919  * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not
16920  * in effect.
16921  */
16922 
16923 
16924 /*
16925  * Allows a process to execute an executable file whose permission
16926  * bits or ACL do not allow the process execute permission.
16927  */
16928 
16929 
16930 /*
16931  * Allows a process to read a file or directory whose permission
16932  * bits or ACL do not allow the process read permission.
16933  */
16934 
16935 
16936 /*
16937  * Allows a process to search a directory whose permission bits or
16938  * ACL do not allow the process search permission.
16939  */
16940 
16941 
16942 /*
16943  * Allows a process to write a file or directory whose permission
16944  * bits or ACL do not allow the process write permission.
16945  * In order to write files owned by uid 0 in the absence of an
16946  * effective uid of 0 ALL privileges are required.
16947  */
16948 
16949 
16950 /*
16951  * Allows a process to set the sensitivity label of a file or
16952  * directory to a sensitivity label that does not dominate the
16953  * existing sensitivity label.
16954  * This privilege is interpreted only if the system is configured
16955  * with Trusted Extensions.
16956  */
16957 
16958 
16959 /*
16960  * Allows a process to set immutable, nounlink or appendonly
16961  * file attributes.
16962  */
16963 
16964 
16965 /*
16966  * Allows a process to create hardlinks to files owned by a uid
16967  * different from the process' effective uid.
16968  */
16969 
16970 
16971 /*
16972  * Allows a process which is not the owner of a file or directory
16973  * to perform the following operations that are normally permitted
16974  * only for the file owner: modify that file's access and
16975  * modification times; remove or rename a file or directory whose
16976  * parent directory has the ``save text image after execution''
16977  * (sticky) bit set; mount a ``namefs'' upon a file; modify
16978  * permission bits or ACL except for the set-uid and set-gid
16979  * bits.
16980  */
16981 
16982 
16983 /*
16984  * Allows a process to read objects in the filesystem.
16985  */
16986 
16987 
16988 /*
16989  * Allows a process to change the ownership of a file or write to
16990  * a file without the set-user-ID and set-group-ID bits being
16991  * cleared.
16992  * Allows a process to set the set-group-ID bit on a file or
16993  * directory whose group is not the process' effective group or
16994  * one of the process' supplemental groups.
16995  * Allows a process to set the set-user-ID bit on a file with
16996  * different ownership in the presence of PRIV_FILE_OWNER.
16997  * Additional restrictions apply when creating or modifying a
16998  * set-uid 0 file.
16999  */
17000 
17001 
17002 /*
17003  * Allows a process to set the sensitivity label of a file or
17004  * directory to a sensitivity label that dominates the existing
17005  * sensitivity label.
17006  * This privilege is interpreted only if the system is configured
17007  * with Trusted Extensions.
17008  */
17009 
17010 
17011 /*
17012  * Allows a process to modify objects in the filesystem.
17013  */
17014 
17015 
17016 /*
17017  * Allows a process to make privileged ioctls to graphics devices.
17018  * Typically only xserver process needs to have this privilege.
17019  * A process with this privilege is also allowed to perform
17020  * privileged graphics device mappings.
17021  */
17022 
17023 
17024 /*
17025  * Allows a process to perform privileged mappings through a
17026  * graphics device.
17027  */
17028 
17029 
17030 /*
17031  * Allows a process to read a System V IPC
17032  * Message Queue, Semaphore Set, or Shared Memory Segment whose
17033  * permission bits do not allow the process read permission.
17034  * Allows a process to read remote shared memory whose
17035  * permission bits do not allow the process read permission.
17036  */
17037 
17038 
17039 /*
17040  * Allows a process to write a System V IPC
17041  * Message Queue, Semaphore Set, or Shared Memory Segment whose
17042  * permission bits do not allow the process write permission.
17043  * Allows a process to read remote shared memory whose
17044  * permission bits do not allow the process write permission.
17045  * Additional restrictions apply if the owner of the object has uid 0
17046  * and the effective uid of the current process is not 0.
17047  */
17048 
17049 
17050 /*
17051  * Allows a process which is not the owner of a System
17052  * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to
17053  * remove, change ownership of, or change permission bits of the
17054  * Message Queue, Semaphore Set, or Shared Memory Segment.
17055  * Additional restrictions apply if the owner of the object has uid 0
17056  * and the effective uid of the current process is not 0.
17057  */
17058 
17059 
17060 /*
17061  * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint.
17062  */
17063 
17064 
17065 /*
17066  * Allow a process to bind to a port that is configured as a
17067  * multi-level port(MLP) for the process's zone. This privilege
17068  * applies to both shared address and zone-specific address MLPs.
17069  * See tnzonecfg(4) from the Trusted Extensions manual pages for
17070  * information on configuring MLP ports.
17071  * This privilege is interpreted only if the system is configured
17072  * with Trusted Extensions.
17073  */
17074 
17075 
17076 /*
17077  * Allows a process to send and receive ICMP packets.
17078  */
17079 
17080 
17081 /*
17082  * Allows a process to set NET_MAC_AWARE process flag by using
17083  * setpflags(2). This privilege also allows a process to set
17084  * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET).
17085  * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket
17086  * option both allow a local process to communicate with an
17087  * unlabeled peer if the local process' label dominates the
17088  * peer's default label, or if the local process runs in the
17089  * global zone.
17090  * This privilege is interpreted only if the system is configured
17091  * with Trusted Extensions.
17092  */
17093 
17094 
17095 /*
17096  * Allows a process to set SO_MAC_IMPLICIT option by using
17097  * setsockopt(3SOCKET).  This allows a privileged process to
17098  * transmit implicitly-labeled packets to a peer.
17099  * This privilege is interpreted only if the system is configured
17100  * with Trusted Extensions.
17101  */
17102 
17103 
17104 /*
17105  * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/
17106  * while not requiring them to need PRIV_NET_RAWACCESS.
17107  */
17108 
17109 
17110 /*
17111  * Allows a process to bind to a privileged port
17112  * number. The privilege port numbers are 1-1023 (the traditional
17113  * UNIX privileged ports) as well as those ports marked as
17114  * "udp/tcp_extra_priv_ports" with the exception of the ports
17115  * reserved for use by NFS.
17116  */
17117 
17118 
17119 /*
17120  * Allows a process to have direct access to the network layer.
17121  */
17122 
17123 
17124 /*
17125  * Allows a process to generate audit records.
17126  * Allows a process to get its own audit pre-selection information.
17127  */
17128 
17129 
17130 /*
17131  * Allows a process to change its root directory.
17132  */
17133 
17134 
17135 /*
17136  * Allows a process to use high resolution timers.
17137  */
17138 
17139 
17140 /*
17141  * Allows a process to call execve().
17142  */
17143 
17144 
17145 /*
17146  * Allows a process to call fork1()/forkall()/vfork()
17147  */
17148 
17149 
17150 /*
17151  * Allows a process to examine the status of processes other
17152  * than those it can send signals to.  Processes which cannot
17153  * be examined cannot be seen in /proc and appear not to exist.
17154  */
17155 
17156 
17157 /*
17158  * Allows a process to lock pages in physical memory.
17159  */
17160 
17161 
17162 /*
17163  * Allows a process to access physical memory information.
17164  */
17165 
17166 
17167 /*
17168  * Allows a process to send signals to other processes, inspect
17169  * and modify process state to other processes regardless of
17170  * ownership.  When modifying another process, additional
17171  * restrictions apply:  the effective privilege set of the
17172  * attaching process must be a superset of the target process'
17173  * effective, permitted and inheritable sets; the limit set must
17174  * be a superset of the target's limit set; if the target process
17175  * has any uid set to 0 all privilege must be asserted unless the
17176  * effective uid is 0.
17177  * Allows a process to bind arbitrary processes to CPUs.
17178  */
17179 
17180 
17181 /*
17182  * Allows a process to elevate its priority above its current level.
17183  */
17184 
17185 
17186 /*
17187  * Allows all that PRIV_PROC_PRIOUP allows.
17188  * Allows a process to change its scheduling class to any scheduling class,
17189  * including the RT class.
17190  */
17191 
17192 
17193 /*
17194  * Allows a process to send signals or trace processes outside its
17195  * session.
17196  */
17197 
17198 
17199 /*
17200  * Allows a process to set its uids at will.
17201  * Assuming uid 0 requires all privileges to be asserted.
17202  */
17203 
17204 
17205 /*
17206  * Allows a process to assign a new task ID to the calling process.
17207  */
17208 
17209 
17210 /*
17211  * Allows a process to trace or send signals to processes in
17212  * other zones.
17213  */
17214 
17215 
17216 /*
17217  * Allows a process to enable and disable and manage accounting through
17218  * acct(2), getacct(2), putacct(2) and wracct(2).
17219  */
17220 
17221 
17222 /*
17223  * Allows a process to perform system administration tasks such
17224  * as setting node and domain name and specifying nscd and coreadm
17225  * settings.
17226  */
17227 
17228 
17229 /*
17230  * Allows a process to start the (kernel) audit daemon.
17231  * Allows a process to view and set audit state (audit user ID,
17232  * audit terminal ID, audit sessions ID, audit pre-selection mask).
17233  * Allows a process to turn off and on auditing.
17234  * Allows a process to configure the audit parameters (cache and
17235  * queue sizes, event to class mappings, policy options).
17236  */
17237 
17238 
17239 /*
17240  * Allows a process to perform various system configuration tasks.
17241  * Allows a process to add and remove swap devices; when adding a swap
17242  * device, a process must also have sufficient privileges to read from
17243  * and write to the swap device.
17244  */
17245 
17246 
17247 /*
17248  * Allows a process to successfully call a kernel module that
17249  * calls the kernel drv_priv(9F) function to check for allowed
17250  * access.
17251  * Allows a process to open the real console device directly.
17252  * Allows a process to open devices that have been exclusively opened.
17253  */
17254 
17255 
17256 /*
17257  * Allows a process to increase the size of a System V IPC Message
17258  * Queue buffer.
17259  */
17260 
17261 
17262 /*
17263  * Allows a process to unlink and link directories.
17264  */
17265 
17266 
17267 /*
17268  * Allows filesystem specific administrative procedures, such as
17269  * filesystem configuration ioctls, quota calls and creation/deletion
17270  * of snapshots.
17271  * Allows a process to mount and unmount filesystems which would
17272  * otherwise be restricted (i.e., most filesystems except
17273  * namefs).
17274  * A process performing a mount operation needs to have
17275  * appropriate access to the device being mounted (read-write for
17276  * "rw" mounts, read for "ro" mounts).
17277  * A process performing any of the aforementioned
17278  * filesystem operations needs to have read/write/owner
17279  * access to the mount point.
17280  * Only regular files and directories can serve as mount points
17281  * for processes which do not have all zone privileges asserted.
17282  * Unless a process has all zone privileges, the mount(2)
17283  * system call will force the "nosuid" and "restrict" options, the
17284  * latter only for autofs mountpoints.
17285  * Regardless of privileges, a process running in a non-global zone may
17286  * only control mounts performed from within said zone.
17287  * Outside the global zone, the "nodevices" option is always forced.
17288  */
17289 
17290 
17291 /*
17292  * Allows a process to configure IP tunnel links.
17293  */
17294 
17295 
17296 /*
17297  * Allows a process to configure all classes of datalinks, including
17298  * configuration allowed by PRIV_SYS_IPTUN_CONFIG.
17299  */
17300 
17301 
17302 /*
17303  * Allows a process to configure a system's IP interfaces and routes.
17304  * Allows a process to configure network parameters using ndd.
17305  * Allows a process access to otherwise restricted information using ndd.
17306  * Allows a process to configure IPsec.
17307  * Allows a process to pop anchored STREAMs modules with matching zoneid.
17308  */
17309 
17310 
17311 /*
17312  * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and
17313  * PRIV_SYS_PPP_CONFIG allow.
17314  * Allows a process to push the rpcmod STREAMs module.
17315  * Allows a process to INSERT/REMOVE STREAMs modules on locations other
17316  * than the top of the module stack.
17317  */
17318 
17319 
17320 /*
17321  * Allows a process to perform Sun private NFS specific system calls.
17322  * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs)
17323  * and port 4045 (lockd).
17324  */
17325 
17326 
17327 /*
17328  * Allows a process to create and destroy PPP (sppp) interfaces.
17329  * Allows a process to configure PPP tunnels (sppptun).
17330  */
17331 
17332 
17333 /*
17334  * Allows a process to bind processes to processor sets.
17335  */
17336 
17337 
17338 /*
17339  * Allows all that PRIV_SYS_RES_BIND allows.
17340  * Allows a process to create and delete processor sets, assign
17341  * CPUs to processor sets and override the PSET_NOESCAPE property.
17342  * Allows a process to change the operational status of CPUs in
17343  * the system using p_online(2).
17344  * Allows a process to configure resource pools and to bind
17345  * processes to pools
17346  */
17347 
17348 
17349 /*
17350  * Allows a process to modify the resource limits specified
17351  * by setrlimit(2) and setrctl(2) without restriction.
17352  * Allows a process to exceed the per-user maximum number of
17353  * processes.
17354  * Allows a process to extend or create files on a filesystem that
17355  * has less than minfree space in reserve.
17356  */
17357 
17358 
17359 /*
17360  * Allows a process to access the Sun private SMB kernel module.
17361  * Allows a process to bind to ports reserved by NetBIOS and SMB:
17362  * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS
17363  * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP).
17364  */
17365 
17366 
17367 /*
17368  * Allows a process to successfully call a third party loadable module
17369  * that calls the kernel suser() function to check for allowed access.
17370  * This privilege exists only for third party loadable module
17371  * compatibility and is not used by Solaris proper.
17372  */
17373 
17374 
17375 /*
17376  * Allows a process to manipulate system time using any of the
17377  * appropriate system calls: stime, adjtime, ntp_adjtime and
17378  * the IA specific RTC calls.
17379  */
17380 
17381 
17382 /*
17383  * Allows a process to translate labels that are not dominated
17384  * by the process' sensitivity label to and from an external
17385  * string form.
17386  * This privilege is interpreted only if the system is configured
17387  * with Trusted Extensions.
17388  */
17389 
17390 
17391 /*
17392  * Allows a process to manage virtualized environments such as
17393  * xVM(5).
17394  */
17395 
17396 
17397 /*
17398  * Allows a process to override colormap restrictions.
17399  * Allows a process to install or remove colormaps.
17400  * Allows a process to retrieve colormap cell entries allocated
17401  * by other processes.
17402  * This privilege is interpreted only if the system is configured
17403  * with Trusted Extensions.
17404  */
17405 
17406 
17407 /*
17408  * Allows a process to configure or destroy resources that are
17409  * permanently retained by the X server.
17410  * Allows a process to use SetScreenSaver to set the screen
17411  * saver timeout value.
17412  * Allows a process to use ChangeHosts to modify the display
17413  * access control list.
17414  * Allows a process to use GrabServer.
17415  * Allows a process to use the SetCloseDownMode request which
17416  * may retain window, pixmap, colormap, property, cursor, font,
17417  * or graphic context resources.
17418  * This privilege is interpreted only if the system is configured
17419  * with Trusted Extensions.
17420  */
17421 
17422 
17423 /*
17424  * Allows a process to read from a window resource that it does
17425  * not own (has a different user ID).
17426  * This privilege is interpreted only if the system is configured
17427  * with Trusted Extensions.
17428  */
17429 
17430 
17431 /*
17432  * Allows a process to write to or create a window resource that
17433  * it does not own (has a different user ID). A newly created
17434  * window property is created with the window's user ID.
17435  * This privilege is interpreted only if the system is configured
17436  * with Trusted Extensions.
17437  */
17438 
17439 
17440 /*
17441  * Allows a process to perform operations on window input devices.
17442  * Allows a process to get and set keyboard and pointer controls.
17443  * Allows a process to modify pointer button and key mappings.
17444  * This privilege is interpreted only if the system is configured
17445  * with Trusted Extensions.
17446  */
17447 
17448 
17449 /*
17450  * Allows a process to use the direct graphics access (DGA) X protocol
17451  * extensions. Direct process access to the frame buffer is still
17452  * required. Thus the process must have MAC and DAC privileges that
17453  * allow access to the frame buffer, or the frame buffer must be
17454  * allocated to the process.
17455  * This privilege is interpreted only if the system is configured
17456  * with Trusted Extensions.
17457  */
17458 
17459 
17460 /*
17461  * Allows a process to set the sensitivity label of a window resource
17462  * to a sensitivity label that does not dominate the existing
17463  * sensitivity label.
17464  * This privilege is interpreted only if the system is configured
17465  * with Trusted Extensions.
17466  */
17467 
17468 
17469 /*
17470  * Allows a process to set a font path.
17471  * This privilege is interpreted only if the system is configured
17472  * with Trusted Extensions.
17473  */
17474 
17475 
17476 /*
17477  * Allows a process to read from a window resource whose sensitivity
17478  * label is not equal to the process sensitivity label.
17479  * This privilege is interpreted only if the system is configured
17480  * with Trusted Extensions.
17481  */
17482 
17483 
17484 /*
17485  * Allows a process to create a window resource whose sensitivity
17486  * label is not equal to the process sensitivity label.
17487  * A newly created window property is created with the window's
17488  * sensitivity label.
17489  * This privilege is interpreted only if the system is configured
17490  * with Trusted Extensions.
17491  */
17492 
17493 
17494 /*
17495  * Allows a process to request inter-window data moves without the
17496  * intervention of the selection confirmer.
17497  * This privilege is interpreted only if the system is configured
17498  * with Trusted Extensions.
17499  */
17500 
17501 
17502 /*
17503  * Allows a process to set the sensitivity label of a window
17504  * resource to a sensitivity label that dominates the existing
17505  * sensitivity label.
17506  * This privilege is interpreted only if the system is configured
17507  * with Trusted Extensions.
17508  */
17509 
17510 
17511 /*
17512  * Allows a process access to the xVM(5) control devices for
17513  * managing guest domains and the hypervisor. This privilege is
17514  * used only if booted into xVM on x86 platforms.
17515  */
17516 
17517 
17518 
17519 /*
17520  * Privilege set names
17521  */
17522 /*
17523  * Set of privileges currently in effect.
17524  */
17525 
17526 
17527 /*
17528  * Set of privileges that comes into effect on exec.
17529  */
17530 
17531 
17532 /*
17533  * Set of privileges that can be put into the effective set without
17534  * restriction.
17535  */
17536 
17537 
17538 /*
17539  * Set of privileges that determines the absolute upper bound of
17540  * privileges this process and its off-spring can obtain.
17541  */
17542 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
17543 
17544 
17545 
17546 
17547 
17548 typedef uint32_t priv_chunk_t;
17549 typedef struct priv_set priv_set_t;
17550 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
17551 /*
17552  * Userland type definitions.
17553  */
17554 
17555 typedef const char *priv_ptype_t;
17556 typedef const char *priv_t;
17557 
17558 
17559 
17560 /*
17561  * priv_op_t indicates a privilege operation type
17562  */
17563 typedef enum priv_op {
17564  PRIV_ON,
17565  PRIV_OFF,
17566  PRIV_SET
17567 } priv_op_t;
17568 
17569 /*
17570  * Privilege system call subcodes.
17571  */
17572 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
17573 /*
17574  * Maximum length of a user defined privilege name.
17575  */
17576 
17577 
17578 /*
17579  * Privilege interface functions for those parts of the kernel that
17580  * know nothing of the privilege internals.
17581  *
17582  * A privilege implementation can have a varying number of sets; sets
17583  * consist of a number of priv_chunk_t's and the size is expressed as such.
17584  * The privileges can be represented as
17585  *
17586  *		priv_chunk_t privs[info.priv_nsets][info.priv_setsize]
17587  *		... priv_infosize of extra information ...
17588  *
17589  * Extra data contained in the privilege information consists of chunks
17590  * of data with specified size and type all headed by a priv_info_t header
17591  * which defines both the type of information as well as the size of the
17592  * information.  ((char*)&info)+info->priv_info_size should be rounded up
17593  * to point to the next piece of information.
17594  */
17595 
17596 typedef struct priv_impl_info {
17597  uint32_t priv_headersize; /* sizeof (priv_impl_info) */
17598  uint32_t priv_flags; /* additional flags */
17599  uint32_t priv_nsets; /* number of priv sets */
17600  uint32_t priv_setsize; /* size in priv_chunk_t */
17601  uint32_t priv_max; /* highest actual valid priv */
17602  uint32_t priv_infosize; /* Per proc. additional info */
17603  uint32_t priv_globalinfosize; /* Per system info */
17604 } priv_impl_info_t;
17605 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
17606 /*
17607  * Per credential flags.
17608  */
17609 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
17610 /* user-settable flags: */
17611 
17612 
17613 
17614 /*
17615  * Header of the privilege info data structure; multiple structures can
17616  * follow the privilege sets and priv_impl_info structures.
17617  */
17618 typedef struct priv_info {
17619  uint32_t priv_info_type;
17620  uint32_t priv_info_size;
17621 } priv_info_t;
17622 
17623 typedef struct priv_info_uint {
17624  priv_info_t info;
17625  uint_t val;
17626 } priv_info_uint_t;
17627 
17628 /*
17629  * Global privilege set information item; the actual size of the array is
17630  * {priv_setsize}.
17631  */
17632 typedef struct priv_info_set {
17633  priv_info_t info;
17634  priv_chunk_t set[1];
17635 } priv_info_set_t;
17636 
17637 /*
17638  * names[1] is a place holder which can contain multiple NUL terminated,
17639  * non-empty strings.
17640  */
17641 
17642 typedef struct priv_info_names {
17643  priv_info_t info;
17644  int cnt; /* number of strings */
17645  char names[1]; /* "string1\0string2\0 ..stringN\0" */
17646 } priv_info_names_t;
17647 
17648 /*
17649  * Privilege information types.
17650  */
17651 
17652 
17653 
17654 
17655 
17656 /*
17657  * Special "privileges" used to indicate special conditions in privilege
17658  * debugging/tracing code.
17659  */
17660 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
17661 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 1
17662 /*
17663  * CDDL HEADER START
17664  *
17665  * The contents of this file are subject to the terms of the
17666  * Common Development and Distribution License (the "License").
17667  * You may not use this file except in compliance with the License.
17668  *
17669  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17670  * or http://www.opensolaris.org/os/licensing.
17671  * See the License for the specific language governing permissions
17672  * and limitations under the License.
17673  *
17674  * When distributing Covered Code, include this CDDL HEADER in each
17675  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17676  * If applicable, add the following below this CDDL HEADER, with the
17677  * fields enclosed by brackets "[]" replaced with your own identifying
17678  * information: Portions Copyright [yyyy] [name of copyright owner]
17679  *
17680  * CDDL HEADER END
17681  */
17682 /*
17683  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
17684  * Use is subject to license terms.
17685  */
17686 
17687 
17688 
17689 
17690 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
17691 /*
17692  * CDDL HEADER START
17693  *
17694  * The contents of this file are subject to the terms of the
17695  * Common Development and Distribution License (the "License").
17696  * You may not use this file except in compliance with the License.
17697  *
17698  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17699  * or http://www.opensolaris.org/os/licensing.
17700  * See the License for the specific language governing permissions
17701  * and limitations under the License.
17702  *
17703  * When distributing Covered Code, include this CDDL HEADER in each
17704  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17705  * If applicable, add the following below this CDDL HEADER, with the
17706  * fields enclosed by brackets "[]" replaced with your own identifying
17707  * information: Portions Copyright [yyyy] [name of copyright owner]
17708  *
17709  * CDDL HEADER END
17710  */
17711 /*
17712  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
17713  * Use is subject to license terms.
17714  * Copyright 2015 Nexenta Systems, Inc.
17715  */
17716 
17717 
17718 
17719 
17720 #pragma ident "%Z%%M%	%I%	%E% SMI"
17721 
17722 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
17723 /*
17724  * CDDL HEADER START
17725  *
17726  * The contents of this file are subject to the terms of the
17727  * Common Development and Distribution License, Version 1.0 only
17728  * (the "License").  You may not use this file except in compliance
17729  * with the License.
17730  *
17731  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17732  * or http://www.opensolaris.org/os/licensing.
17733  * See the License for the specific language governing permissions
17734  * and limitations under the License.
17735  *
17736  * When distributing Covered Code, include this CDDL HEADER in each
17737  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17738  * If applicable, add the following below this CDDL HEADER, with the
17739  * fields enclosed by brackets "[]" replaced with your own identifying
17740  * information: Portions Copyright [yyyy] [name of copyright owner]
17741  *
17742  * CDDL HEADER END
17743  */
17744 /*
17745  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
17746  *
17747  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
17748  * Use is subject to license terms.
17749  */
17750 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 2
17751 
17752 
17753 
17754 
17755 
17756 /*
17757  * Interoperability types for programs. Used for:
17758  *
17759  * Crossing between 32-bit and 64-bit domains.
17760  *
17761  * On disk data formats such as filesystem meta data
17762  * and disk label.
17763  *
17764  * Note: Applications should never include this
17765  *       header file.
17766  */
17767 typedef uint32_t caddr32_t;
17768 typedef int32_t daddr32_t;
17769 typedef int32_t off32_t;
17770 typedef uint32_t ino32_t;
17771 typedef int32_t blkcnt32_t;
17772 typedef uint32_t fsblkcnt32_t;
17773 typedef uint32_t fsfilcnt32_t;
17774 typedef int32_t id32_t;
17775 typedef uint32_t major32_t;
17776 typedef uint32_t minor32_t;
17777 typedef int32_t key32_t;
17778 typedef uint32_t mode32_t;
17779 typedef uint32_t uid32_t;
17780 typedef uint32_t gid32_t;
17781 typedef uint32_t nlink32_t;
17782 typedef uint32_t dev32_t;
17783 typedef int32_t pid32_t;
17784 typedef uint32_t size32_t;
17785 typedef int32_t ssize32_t;
17786 typedef int32_t time32_t;
17787 typedef int32_t clock32_t;
17788 typedef uint32_t uintptr32_t;
17789 typedef int32_t intptr32_t;
17790 
17791 struct timeval32 {
17792  time32_t tv_sec; /* seconds */
17793  int32_t tv_usec; /* and microseconds */
17794 };
17795 
17796 typedef struct timespec32 {
17797  time32_t tv_sec; /* seconds */
17798  int32_t tv_nsec; /* and nanoseconds */
17799 } timespec32_t;
17800 
17801 typedef struct timespec32 timestruc32_t;
17802 
17803 typedef struct itimerspec32 {
17804  struct timespec32 it_interval;
17805  struct timespec32 it_value;
17806 } itimerspec32_t;
17807 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
17808 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1
17809 /*
17810  * CDDL HEADER START
17811  *
17812  * The contents of this file are subject to the terms of the
17813  * Common Development and Distribution License (the "License").
17814  * You may not use this file except in compliance with the License.
17815  *
17816  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17817  * or http://www.opensolaris.org/os/licensing.
17818  * See the License for the specific language governing permissions
17819  * and limitations under the License.
17820  *
17821  * When distributing Covered Code, include this CDDL HEADER in each
17822  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17823  * If applicable, add the following below this CDDL HEADER, with the
17824  * fields enclosed by brackets "[]" replaced with your own identifying
17825  * information: Portions Copyright [yyyy] [name of copyright owner]
17826  *
17827  * CDDL HEADER END
17828  */
17829 /*
17830  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
17831  * Use is subject to license terms.
17832  */
17833 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
17834 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1
17835 /*
17836  * CDDL HEADER START
17837  *
17838  * The contents of this file are subject to the terms of the
17839  * Common Development and Distribution License (the "License").
17840  * You may not use this file except in compliance with the License.
17841  *
17842  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17843  * or http://www.opensolaris.org/os/licensing.
17844  * See the License for the specific language governing permissions
17845  * and limitations under the License.
17846  *
17847  * When distributing Covered Code, include this CDDL HEADER in each
17848  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17849  * If applicable, add the following below this CDDL HEADER, with the
17850  * fields enclosed by brackets "[]" replaced with your own identifying
17851  * information: Portions Copyright [yyyy] [name of copyright owner]
17852  *
17853  * CDDL HEADER END
17854  */
17855 /*
17856  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
17857  *
17858  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
17859  * Use is subject to license terms.
17860  */
17861 
17862 
17863 
17864 
17865 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1
17866 /*
17867  * CDDL HEADER START
17868  *
17869  * The contents of this file are subject to the terms of the
17870  * Common Development and Distribution License (the "License").
17871  * You may not use this file except in compliance with the License.
17872  *
17873  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17874  * or http://www.opensolaris.org/os/licensing.
17875  * See the License for the specific language governing permissions
17876  * and limitations under the License.
17877  *
17878  * When distributing Covered Code, include this CDDL HEADER in each
17879  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17880  * If applicable, add the following below this CDDL HEADER, with the
17881  * fields enclosed by brackets "[]" replaced with your own identifying
17882  * information: Portions Copyright [yyyy] [name of copyright owner]
17883  *
17884  * CDDL HEADER END
17885  */
17886 /*
17887  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
17888  *
17889  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
17890  */
17891 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 2
17892 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h"
17893 /*
17894  * library functions prototype.
17895  */
17896 
17897 extern int setppriv(priv_op_t, priv_ptype_t, const priv_set_t *);
17898 extern int getppriv(priv_ptype_t, priv_set_t *);
17899 extern int setpflags(uint_t, uint_t);
17900 extern uint_t getpflags(uint_t);
17901 extern const priv_impl_info_t *getprivimplinfo(void);
17902 
17903 extern int priv_set(priv_op_t, priv_ptype_t, ...);
17904 extern boolean_t priv_ineffect(const char *);
17905 extern priv_set_t *priv_str_to_set(const char *, const char *, const char **);
17906 extern char *priv_set_to_str(const priv_set_t *, char, int);
17907 
17908 extern int priv_getbyname(const char *);
17909 extern const char *priv_getbynum(int);
17910 extern int priv_getsetbyname(const char *);
17911 extern const char *priv_getsetbynum(int);
17912 extern char *priv_gettext(const char *);
17913 
17914 extern priv_set_t *priv_allocset(void);
17915 extern void priv_freeset(priv_set_t *);
17916 
17917 extern void priv_emptyset(priv_set_t *);
17918 extern void priv_basicset(priv_set_t *);
17919 extern void priv_fillset(priv_set_t *);
17920 extern boolean_t priv_isemptyset(const priv_set_t *);
17921 extern boolean_t priv_isfullset(const priv_set_t *);
17922 extern boolean_t priv_isequalset(const priv_set_t *, const priv_set_t *);
17923 extern boolean_t priv_issubset(const priv_set_t *, const priv_set_t *);
17924 extern void priv_intersect(const priv_set_t *, priv_set_t *);
17925 extern void priv_union(const priv_set_t *, priv_set_t *);
17926 extern void priv_inverse(priv_set_t *);
17927 extern int priv_addset(priv_set_t *, const char *);
17928 extern void priv_copyset(const priv_set_t *, priv_set_t *);
17929 extern int priv_delset(priv_set_t *, const char *);
17930 extern boolean_t priv_ismember(const priv_set_t *, const char *);
17931 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
17932 
17933 
17934 
17935 
17936 
17937 /* Procedural Interface Structure Definitions */
17938 
17939 struct label_info { /* structure returned by label_info */
17940  short ilabel_len; /* max Information Label length */
17941  short slabel_len; /* max Sensitivity Label length */
17942  short clabel_len; /* max CMW Label length */
17943  short clear_len; /* max Clearance Label length */
17944  short vers_len; /* version string length */
17945  short header_len; /* max len of banner page header */
17946  short protect_as_len; /* max len of banner page protect as */
17947  short caveats_len; /* max len of banner page caveats */
17948  short channels_len; /* max len of banner page channels */
17949 };
17950 
17951 typedef struct label_set_identifier { /* valid label set identifier */
17952  int type; /* type of the set */
17953  char *name; /* name of the set if needed */
17954 } set_id;
17955 
17956 struct name_fields { /* names for label builder fields */
17957  char *class_name; /* Classifications field name */
17958  char *comps_name; /* Compartments field name */
17959  char *marks_name; /* Markings field name */
17960 };
17961 
17962 /* Label Set Identifier Types */
17963 
17964 /*
17965  * The accreditation ranges as specified in the label encodings file.
17966  * The name parameter is ignored.
17967  *
17968  * System Accreditation Range is all valid labels plus Admin High and Low.
17969  *
17970  * User Accreditation Range is valid user labels as defined in the
17971  *	ACCREDITATION RANGE: section of the label encodings file.
17972  */
17973 
17974 
17975 
17976 
17977 
17978 /* System Call Interface Definitions */
17979 
17980 extern int getlabel(const char *, m_label_t *);
17981 extern int fgetlabel(int, m_label_t *);
17982 
17983 extern int getplabel(m_label_t *);
17984 extern int setflabel(const char *, m_label_t *);
17985 extern char *getpathbylabel(const char *, char *, size_t,
17986     const m_label_t *sl);
17987 extern m_label_t *getzonelabelbyid(zoneid_t);
17988 extern m_label_t *getzonelabelbyname(const char *);
17989 extern zoneid_t getzoneidbylabel(const m_label_t *);
17990 extern char *getzonenamebylabel(const m_label_t *);
17991 extern char *getzonerootbyid(zoneid_t);
17992 extern char *getzonerootbyname(const char *);
17993 extern char *getzonerootbylabel(const m_label_t *);
17994 extern m_label_t *getlabelbypath(const char *);
17995 
17996 
17997 /* Flag word values */
17998 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h"
17999       /* implies NEW_LABEL */
18000 
18001 
18002 
18003 
18004 /* Procedure Interface Definitions available to user */
18005 
18006 /* APIs shared with the kernel are in <sys/tsol/label.h */
18007 
18008 extern m_label_t *blabel_alloc(void);
18009 extern void blabel_free(m_label_t *);
18010 extern size32_t blabel_size(void);
18011 extern char *bsltoh(const m_label_t *);
18012 extern char *bcleartoh(const m_label_t *);
18013 
18014 extern char *bsltoh_r(const m_label_t *, char *);
18015 extern char *bcleartoh_r(const m_label_t *, char *);
18016 extern char *h_alloc(uint8_t);
18017 extern void h_free(char *);
18018 
18019 extern int htobsl(const char *, m_label_t *);
18020 extern int htobclear(const char *, m_label_t *);
18021 
18022 extern m_range_t *getuserrange(const char *);
18023 extern m_range_t *getdevicerange(const char *);
18024 
18025 extern int set_effective_priv(priv_op_t, int, ...);
18026 extern int set_inheritable_priv(priv_op_t, int, ...);
18027 extern int set_permitted_priv(priv_op_t, int, ...);
18028 extern int is_system_labeled(void);
18029 
18030 /* Procedures needed for multi-level printing */
18031 
18032 extern int tsol_check_admin_auth(uid_t uid);
18033 
18034 /* APIs implemented via labeld */
18035 
18036 extern int blinset(const m_label_t *, const set_id *);
18037 extern int labelinfo(struct label_info *);
18038 extern ssize_t labelvers(char **, size_t);
18039 extern char *bltocolor(const m_label_t *);
18040 extern char *bltocolor_r(const m_label_t *, size_t, char *);
18041 
18042 extern ssize_t bsltos(const m_label_t *, char **, size_t, int);
18043 extern ssize_t bcleartos(const m_label_t *, char **, size_t, int);
18044 
18045 
18046 extern char *sbsltos(const m_label_t *, size_t);
18047 extern char *sbcleartos(const m_label_t *, size_t);
18048 
18049 
18050 extern int stobsl(const char *, m_label_t *, int, int *);
18051 extern int stobclear(const char *, m_label_t *, int, int *);
18052 extern int bslvalid(const m_label_t *);
18053 extern int bclearvalid(const m_label_t *);
18054 
18055 /* DIA label conversion and parsing */
18056 
18057 /* Conversion types */
18058 
18059 typedef enum _m_label_str {
18060  M_LABEL = 1, /* process or user clearance */
18061  M_INTERNAL = 2, /* internal form for use in public databases */
18062  M_COLOR = 3, /* process label color */
18063  PRINTER_TOP_BOTTOM = 4, /* DIA banner page top/bottom */
18064  PRINTER_LABEL = 5, /* DIA banner page label */
18065  PRINTER_CAVEATS = 6, /* DIA banner page caveats */
18066  PRINTER_CHANNELS = 7 /* DIA banner page handling channels */
18067 } m_label_str_t;
18068 
18069 /* Flags for conversion, not all flags apply to all types */
18070 
18071 
18072 
18073 
18074 extern int label_to_str(const m_label_t *, char **, const m_label_str_t,
18075     uint_t);
18076 extern int l_to_str_internal(const m_label_t *, char **);
18077 
18078 /* Parsing types */
18079 typedef enum _m_label_type {
18080  MAC_LABEL = 1, /* process or object label */
18081  USER_CLEAR = 2 /* user's clearance (LUB) */
18082 } m_label_type_t;
18083 
18084 /* Flags for parsing */
18085 
18086 
18087 
18088 
18089 
18090 
18091 /* EINVAL sub codes */
18092 
18093 
18094 
18095  /* bad requested label type, bad previous label type */
18096 
18097 
18098 extern int str_to_label(const char *, m_label_t **, const m_label_type_t,
18099     uint_t, int *);
18100 extern int hexstr_to_label(const char *, m_label_t *);
18101 
18102 extern m_label_t *m_label_alloc(const m_label_type_t);
18103 
18104 extern int m_label_dup(m_label_t **, const m_label_t *);
18105 
18106 extern void m_label_free(m_label_t *);
18107 
18108 /* Contract Private interfaces with the label builder GUIs */
18109 
18110 extern int bslcvtfull(const m_label_t *, const m_range_t *, int,
18111     char **, char **[], char **[], char *[], int *, int *);
18112 extern int bslcvt(const m_label_t *, int, char **, char *[]);
18113 extern int bclearcvtfull(const m_label_t *, const m_range_t *, int,
18114     char **, char **[], char **[], char *[], int *, int *);
18115 extern int bclearcvt(const m_label_t *, int, char **, char *[]);
18116 
18117 extern int labelfields(struct name_fields *);
18118 extern int userdefs(m_label_t *, m_label_t *);
18119 extern int zonecopy(m_label_t *, char *, char *, char *, int);
18120 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
18121 
18122 
18123 
18124 
18125 
18126 /*
18127  * Functions for mapping between id and name for active zones.
18128  */
18129 extern zoneid_t getzoneid(void);
18130 extern zoneid_t getzoneidbyname(const char *);
18131 extern ssize_t getzonenamebyid(zoneid_t, char *, size_t);
18132 
18133 /*
18134  * NOTE
18135  *
18136  * The remaining contents of this file are private to the implementation
18137  * of Solaris and are subject to change at any time without notice,
18138  * Applications using these interfaces may fail to run on future releases.
18139  */
18140 
18141 extern int zonept(int, zoneid_t);
18142 extern int zone_get_id(const char *, zoneid_t *);
18143 
18144 /* System call API */
18145 extern zoneid_t zone_create(const char *, const char *,
18146     const struct priv_set *, const char *, size_t, const char *, size_t, int *,
18147     int, int, const bslabel_t *, int);
18148 extern int zone_boot(zoneid_t);
18149 extern int zone_destroy(zoneid_t);
18150 extern ssize_t zone_getattr(zoneid_t, int, void *, size_t);
18151 extern int zone_setattr(zoneid_t, int, void *, size_t);
18152 extern int zone_enter(zoneid_t);
18153 extern int zone_list(zoneid_t *, uint_t *);
18154 extern int zone_shutdown(zoneid_t);
18155 extern int zone_version(int *);
18156 extern int zone_add_datalink(zoneid_t, datalink_id_t);
18157 extern int zone_remove_datalink(zoneid_t, datalink_id_t);
18158 extern int zone_check_datalink(zoneid_t *, datalink_id_t);
18159 extern int zone_list_datalink(zoneid_t, int *, datalink_id_t *);
18160 # 46 "../common/instzones_lib.h" 2
18161 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1
18162 /*
18163  * CDDL HEADER START
18164  *
18165  * The contents of this file are subject to the terms of the
18166  * Common Development and Distribution License (the "License").
18167  * You may not use this file except in compliance with the License.
18168  *
18169  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18170  * or http://www.opensolaris.org/os/licensing.
18171  * See the License for the specific language governing permissions
18172  * and limitations under the License.
18173  *
18174  * When distributing Covered Code, include this CDDL HEADER in each
18175  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18176  * If applicable, add the following below this CDDL HEADER, with the
18177  * fields enclosed by brackets "[]" replaced with your own identifying
18178  * information: Portions Copyright [yyyy] [name of copyright owner]
18179  *
18180  * CDDL HEADER END
18181  */
18182 
18183 /*
18184  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
18185  */
18186 
18187 
18188 
18189 
18190 /*
18191  * Zone configuration header file.
18192  */
18193 
18194 
18195 
18196 
18197 
18198 /* sys/socket.h is required by net/if.h, which has a constant needed here */
18199 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
18200 /*
18201  * CDDL HEADER START
18202  *
18203  * The contents of this file are subject to the terms of the
18204  * Common Development and Distribution License (the "License").
18205  * You may not use this file except in compliance with the License.
18206  *
18207  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18208  * or http://www.opensolaris.org/os/licensing.
18209  * See the License for the specific language governing permissions
18210  * and limitations under the License.
18211  *
18212  * When distributing Covered Code, include this CDDL HEADER in each
18213  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18214  * If applicable, add the following below this CDDL HEADER, with the
18215  * fields enclosed by brackets "[]" replaced with your own identifying
18216  * information: Portions Copyright [yyyy] [name of copyright owner]
18217  *
18218  * CDDL HEADER END
18219  */
18220 
18221 /*
18222  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
18223  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
18224  */
18225 
18226 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
18227 /*	  All Rights Reserved  	*/
18228 
18229 /*
18230  * University Copyright- Copyright (c) 1982, 1986, 1988
18231  * The Regents of the University of California
18232  * All Rights Reserved
18233  *
18234  * University Acknowledgment- Portions of this document are derived from
18235  * software developed by the University of California, Berkeley, and its
18236  * contributors.
18237  */
18238 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18239 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 1
18240 /*
18241  * CDDL HEADER START
18242  *
18243  * The contents of this file are subject to the terms of the
18244  * Common Development and Distribution License, Version 1.0 only
18245  * (the "License").  You may not use this file except in compliance
18246  * with the License.
18247  *
18248  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18249  * or http://www.opensolaris.org/os/licensing.
18250  * See the License for the specific language governing permissions
18251  * and limitations under the License.
18252  *
18253  * When distributing Covered Code, include this CDDL HEADER in each
18254  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18255  * If applicable, add the following below this CDDL HEADER, with the
18256  * fields enclosed by brackets "[]" replaced with your own identifying
18257  * information: Portions Copyright [yyyy] [name of copyright owner]
18258  *
18259  * CDDL HEADER END
18260  */
18261 /*
18262  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18263  */
18264 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18265 /*	  All Rights Reserved  	*/
18266 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h"
18267 /*
18268  * Opcodes for the sysfs() system call.
18269  */
18270 
18271 
18272 
18273 
18274 
18275 int sysfs(int, ...);
18276 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18277 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 1
18278 /*
18279  * CDDL HEADER START
18280  *
18281  * The contents of this file are subject to the terms of the
18282  * Common Development and Distribution License, Version 1.0 only
18283  * (the "License").  You may not use this file except in compliance
18284  * with the License.
18285  *
18286  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18287  * or http://www.opensolaris.org/os/licensing.
18288  * See the License for the specific language governing permissions
18289  * and limitations under the License.
18290  *
18291  * When distributing Covered Code, include this CDDL HEADER in each
18292  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18293  * If applicable, add the following below this CDDL HEADER, with the
18294  * fields enclosed by brackets "[]" replaced with your own identifying
18295  * information: Portions Copyright [yyyy] [name of copyright owner]
18296  *
18297  * CDDL HEADER END
18298  */
18299 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18300 /*	  All Rights Reserved  	*/
18301 
18302 
18303 /*
18304  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18305  *
18306  * Copyright (c) 1996, 1999 by Sun Microsystems, Inc.
18307  * All rights reserved.
18308  */
18309 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h"
18310 /*
18311  * Flag bits passed to mount(2).
18312  */
18313 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h"
18314 /*
18315  * Additional flag bits that domount() is prepared to interpret, but that
18316  * can't be passed through mount(2).
18317  */
18318 
18319 
18320 
18321 /*
18322  * Mask to sift out flag bits allowable from mount(2).
18323  */
18324 
18325 
18326 
18327 
18328 /*
18329  * Mask to sift out flag bits allowable from umount2(2).
18330  */
18331 
18332 
18333 
18334 /*
18335  * Maximum option string length accepted or returned by mount(2).
18336  */
18337 
18338 
18339 
18340 int mount(const char *, const char *, int, ...);
18341 int umount(const char *);
18342 int umount2(const char *, int);
18343 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18344 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1
18345 /*
18346  * CDDL HEADER START
18347  *
18348  * The contents of this file are subject to the terms of the
18349  * Common Development and Distribution License (the "License").
18350  * You may not use this file except in compliance with the License.
18351  *
18352  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18353  * or http://www.opensolaris.org/os/licensing.
18354  * See the License for the specific language governing permissions
18355  * and limitations under the License.
18356  *
18357  * When distributing Covered Code, include this CDDL HEADER in each
18358  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18359  * If applicable, add the following below this CDDL HEADER, with the
18360  * fields enclosed by brackets "[]" replaced with your own identifying
18361  * information: Portions Copyright [yyyy] [name of copyright owner]
18362  *
18363  * CDDL HEADER END
18364  */
18365 /*
18366  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18367  *
18368  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
18369  * Use is subject to license terms.
18370  */
18371 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18372 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
18373 /*
18374  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18375  * Use is subject to license terms.
18376  *
18377  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
18378  */
18379 /*
18380  * Copyright (c) 1982, 1986 Regents of the University of California.
18381  * All rights reserved.
18382  *
18383  * Redistribution and use in source and binary forms are permitted
18384  * provided that this notice is preserved and that due credit is given
18385  * to the University of California at Berkeley. The name of the University
18386  * may not be used to endorse or promote products derived from this
18387  * software without specific prior written permission. This software
18388  * is provided ``as is'' without express or implied warranty.
18389  */
18390 
18391 /*
18392  * Constants and structures defined by the internet system,
18393  * according to following documents
18394  *
18395  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
18396  *	http://www.iana.org/assignments/protocol-numbers
18397  *	http://www.iana.org/assignments/port-numbers
18398  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
18399  *
18400  */
18401 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18402 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
18403 /*
18404  * CDDL HEADER START
18405  *
18406  * The contents of this file are subject to the terms of the
18407  * Common Development and Distribution License (the "License").
18408  * You may not use this file except in compliance with the License.
18409  *
18410  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18411  * or http://www.opensolaris.org/os/licensing.
18412  * See the License for the specific language governing permissions
18413  * and limitations under the License.
18414  *
18415  * When distributing Covered Code, include this CDDL HEADER in each
18416  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18417  * If applicable, add the following below this CDDL HEADER, with the
18418  * fields enclosed by brackets "[]" replaced with your own identifying
18419  * information: Portions Copyright [yyyy] [name of copyright owner]
18420  *
18421  * CDDL HEADER END
18422  */
18423 /*
18424  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18425  *
18426  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
18427  */
18428 
18429 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
18430 /*	  All Rights Reserved	*/
18431 
18432 /*
18433  * University Copyright- Copyright (c) 1982, 1986, 1988
18434  * The Regents of the University of California
18435  * All Rights Reserved
18436  *
18437  * University Acknowledgment- Portions of this document are derived from
18438  * software developed by the University of California, Berkeley, and its
18439  * contributors.
18440  */
18441 
18442 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
18443 
18444 
18445 
18446 
18447 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18448 /*
18449  * CDDL HEADER START
18450  *
18451  * The contents of this file are subject to the terms of the
18452  * Common Development and Distribution License (the "License").
18453  * You may not use this file except in compliance with the License.
18454  *
18455  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18456  * or http://www.opensolaris.org/os/licensing.
18457  * See the License for the specific language governing permissions
18458  * and limitations under the License.
18459  *
18460  * When distributing Covered Code, include this CDDL HEADER in each
18461  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18462  * If applicable, add the following below this CDDL HEADER, with the
18463  * fields enclosed by brackets "[]" replaced with your own identifying
18464  * information: Portions Copyright [yyyy] [name of copyright owner]
18465  *
18466  * CDDL HEADER END
18467  */
18468 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18469 /*	  All Rights Reserved  	*/
18470 
18471 
18472 /*
18473  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18474  * Use is subject to license terms.
18475  *
18476  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18477  * Copyright 2016 Joyent, Inc.
18478  */
18479 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
18480 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1
18481 /*
18482  * CDDL HEADER START
18483  *
18484  * The contents of this file are subject to the terms of the
18485  * Common Development and Distribution License (the "License").
18486  * You may not use this file except in compliance with the License.
18487  *
18488  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18489  * or http://www.opensolaris.org/os/licensing.
18490  * See the License for the specific language governing permissions
18491  * and limitations under the License.
18492  *
18493  * When distributing Covered Code, include this CDDL HEADER in each
18494  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18495  * If applicable, add the following below this CDDL HEADER, with the
18496  * fields enclosed by brackets "[]" replaced with your own identifying
18497  * information: Portions Copyright [yyyy] [name of copyright owner]
18498  *
18499  * CDDL HEADER END
18500  */
18501 /*
18502  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18503  *
18504  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
18505  * Use is subject to license terms.
18506  *
18507  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18508  * Copyright (c) 2015, Joyent, Inc.  All rights reserved.
18509  */
18510 
18511 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18512 /*	  All Rights Reserved  	*/
18513 
18514 /*
18515  * University Copyright- Copyright (c) 1982, 1986, 1988
18516  * The Regents of the University of California
18517  * All Rights Reserved
18518  *
18519  * University Acknowledgment- Portions of this document are derived from
18520  * software developed by the University of California, Berkeley, and its
18521  * contributors.
18522  */
18523 
18524 
18525 
18526 
18527 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
18528 /*
18529  * CDDL HEADER START
18530  *
18531  * The contents of this file are subject to the terms of the
18532  * Common Development and Distribution License (the "License").
18533  * You may not use this file except in compliance with the License.
18534  *
18535  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18536  * or http://www.opensolaris.org/os/licensing.
18537  * See the License for the specific language governing permissions
18538  * and limitations under the License.
18539  *
18540  * When distributing Covered Code, include this CDDL HEADER in each
18541  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18542  * If applicable, add the following below this CDDL HEADER, with the
18543  * fields enclosed by brackets "[]" replaced with your own identifying
18544  * information: Portions Copyright [yyyy] [name of copyright owner]
18545  *
18546  * CDDL HEADER END
18547  */
18548 
18549 /*
18550  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
18551  * Copyright 2016 Joyent, Inc.
18552  *
18553  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
18554  * Use is subject to license terms.
18555  */
18556 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2
18557 
18558 
18559 
18560 
18561 
18562 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18563 /*
18564  * CDDL HEADER START
18565  *
18566  * The contents of this file are subject to the terms of the
18567  * Common Development and Distribution License (the "License").
18568  * You may not use this file except in compliance with the License.
18569  *
18570  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18571  * or http://www.opensolaris.org/os/licensing.
18572  * See the License for the specific language governing permissions
18573  * and limitations under the License.
18574  *
18575  * When distributing Covered Code, include this CDDL HEADER in each
18576  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18577  * If applicable, add the following below this CDDL HEADER, with the
18578  * fields enclosed by brackets "[]" replaced with your own identifying
18579  * information: Portions Copyright [yyyy] [name of copyright owner]
18580  *
18581  * CDDL HEADER END
18582  */
18583 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18584 /*	  All Rights Reserved  	*/
18585 
18586 
18587 /*
18588  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18589  * Use is subject to license terms.
18590  *
18591  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18592  * Copyright 2016 Joyent, Inc.
18593  */
18594 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2
18595 
18596 /*
18597  * I/O parameter information.  A uio structure describes the I/O which
18598  * is to be performed by an operation.  Typically the data movement will
18599  * be performed by a routine such as uiomove(), which updates the uio
18600  * structure to reflect what was done.
18601  */
18602 
18603 
18604 
18605 
18606 
18607 
18608 
18609 typedef struct iovec {
18610  caddr_t iov_base;
18611 
18612  size_t iov_len;
18613 
18614 
18615 
18616 } iovec_t;
18617 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
18618 /*
18619  * Segment flag values.
18620  */
18621 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t;
18622 
18623 typedef struct uio {
18624  iovec_t *uio_iov; /* pointer to array of iovecs */
18625  int uio_iovcnt; /* number of iovecs */
18626  lloff_t _uio_offset; /* file offset */
18627  uio_seg_t uio_segflg; /* address space (kernel or user) */
18628  uint16_t uio_fmode; /* file mode flags */
18629  uint16_t uio_extflg; /* extended flags */
18630  lloff_t _uio_limit; /* u-limit (maximum byte offset) */
18631  ssize_t uio_resid; /* residual count */
18632 } uio_t;
18633 
18634 /*
18635  * Extended uio_t uioa_t used for asynchronous uio.
18636  *
18637  * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c"
18638  *	 as there isn't a formal definition of IOV_MAX for the kernel.
18639  */
18640 
18641 
18642 typedef struct uioa_page_s { /* locked uio_iov state */
18643  int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */
18644  void **uioa_ppp; /* page_t or pfn_t arrary */
18645  caddr_t uioa_base; /* address base */
18646  size_t uioa_len; /* span length */
18647 } uioa_page_t;
18648 
18649 typedef struct uioa_s {
18650  iovec_t *uio_iov; /* pointer to array of iovecs */
18651  int uio_iovcnt; /* number of iovecs */
18652  lloff_t _uio_offset; /* file offset */
18653  uio_seg_t uio_segflg; /* address space (kernel or user) */
18654  uint16_t uio_fmode; /* file mode flags */
18655  uint16_t uio_extflg; /* extended flags */
18656  lloff_t _uio_limit; /* u-limit (maximum byte offset) */
18657  ssize_t uio_resid; /* residual count */
18658  /*
18659 	 * uioa extended members.
18660 	 */
18661  uint32_t uioa_state; /* state of asynch i/o */
18662  ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */
18663  uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */
18664  void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */
18665  void *uioa_hwst[4]; /* opaque hardware state */
18666  uioa_page_t uioa_locked[16]; /* Per iov locked pages */
18667 } uioa_t;
18668 
18669 /*
18670  * uio extensions
18671  *
18672  * PSARC 2009/478: Copy Reduction Interfaces
18673  */
18674 typedef enum xuio_type {
18675  UIOTYPE_ASYNCIO,
18676  UIOTYPE_ZEROCOPY
18677 } xuio_type_t;
18678 
18679 typedef struct xuio {
18680  uio_t xu_uio; /* Embedded UIO structure */
18681 
18682  /* Extended uio fields */
18683  enum xuio_type xu_type; /* What kind of uio structure? */
18684  union {
18685   /* Async I/O Support, intend to replace uioa_t. */
18686   struct {
18687    uint32_t xu_a_state; /* state of async i/o */
18688    /* bytes that have been uioamove()ed */
18689    ssize_t xu_a_mbytes;
18690    uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */
18691    /* pointer into lcur->uioa_ppp[] */
18692    void **xu_a_lppp;
18693    void *xu_a_hwst[4]; /* opaque hardware state */
18694    /* Per iov locked pages */
18695    uioa_page_t xu_a_locked[16];
18696   } xu_aio;
18697 
18698   /*
18699 		 * Copy Reduction Support -- facilate loaning / returning of
18700 		 * filesystem cache buffers.
18701 		 */
18702   struct {
18703    int xu_zc_rw; /* read or write buffer */
18704    void *xu_zc_priv; /* fs specific */
18705   } xu_zc;
18706  } xu_ext;
18707 } xuio_t;
18708 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
18709 /*
18710  * I/O direction.
18711  */
18712 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t;
18713 
18714 /*
18715  * uio_extflg: extended flags
18716  *
18717  * NOTE: This flag will be used in uiomove to determine if non-temporal
18718  * access, ie, access bypassing caches, should be used.  Filesystems that
18719  * don't initialize this field could experience suboptimal performance due to
18720  * the random data the field contains.
18721  *
18722  * NOTE: This flag is also used by uioasync callers to pass an extended
18723  * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all
18724  * consumers of a uioa_t require the uio_extflg to be initialized.
18725  */
18726 
18727 
18728 
18729 
18730 
18731 
18732 /*
18733  * Global uioasync capability shadow state.
18734  */
18735 typedef struct uioasync_s {
18736  boolean_t enabled; /* Is uioasync enabled? */
18737  size_t mincnt; /* Minimum byte count for use of */
18738 } uioasync_t;
18739 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
18740 extern ssize_t readv(int, const struct iovec *, int);
18741 extern ssize_t writev(int, const struct iovec *, int);
18742 
18743 /*
18744  * When in the large file compilation environment,
18745  * map preadv/pwritev to their 64 bit offset versions
18746  */
18747 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
18748 /* In the LP64 compilation environment, the APIs are already large file */
18749 
18750 
18751 
18752 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
18753 #pragma redefine_extname preadv64 preadv
18754 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
18755 
18756 
18757 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
18758 #pragma redefine_extname pwritev64 pwritev
18759 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
18760 
18761 
18762 
18763 
18764 
18765 
18766 
18767 extern ssize_t preadv(int, const struct iovec *, int, off_t);
18768 extern ssize_t pwritev(int, const struct iovec *, int, off_t);
18769 
18770 /*
18771  * preadv64 and pwritev64 should be defined when:
18772  * - Using the transitional compilation environment, and not
18773  *     the large file compilation environment.
18774  */
18775 
18776 
18777 extern ssize_t preadv64(int, const struct iovec *, int, off64_t);
18778 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t);
18779 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
18780 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
18781 /*
18782  * CDDL HEADER START
18783  *
18784  * The contents of this file are subject to the terms of the
18785  * Common Development and Distribution License (the "License").
18786  * You may not use this file except in compliance with the License.
18787  *
18788  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18789  * or http://www.opensolaris.org/os/licensing.
18790  * See the License for the specific language governing permissions
18791  * and limitations under the License.
18792  *
18793  * When distributing Covered Code, include this CDDL HEADER in each
18794  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18795  * If applicable, add the following below this CDDL HEADER, with the
18796  * fields enclosed by brackets "[]" replaced with your own identifying
18797  * information: Portions Copyright [yyyy] [name of copyright owner]
18798  *
18799  * CDDL HEADER END
18800  */
18801 
18802 /*
18803  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
18804  * Copyright 2016 Joyent, Inc.
18805  *
18806  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
18807  * Use is subject to license terms.
18808  */
18809 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
18810 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
18811 /*
18812  * CDDL HEADER START
18813  *
18814  * The contents of this file are subject to the terms of the
18815  * Common Development and Distribution License (the "License").
18816  * You may not use this file except in compliance with the License.
18817  *
18818  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18819  * or http://www.opensolaris.org/os/licensing.
18820  * See the License for the specific language governing permissions
18821  * and limitations under the License.
18822  *
18823  * When distributing Covered Code, include this CDDL HEADER in each
18824  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18825  * If applicable, add the following below this CDDL HEADER, with the
18826  * fields enclosed by brackets "[]" replaced with your own identifying
18827  * information: Portions Copyright [yyyy] [name of copyright owner]
18828  *
18829  * CDDL HEADER END
18830  */
18831 /*
18832  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18833  * Use is subject to license terms.
18834  */
18835 
18836 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
18837 /*	  All Rights Reserved	*/
18838 
18839 /*
18840  * Portions of this source code were derived from Berkeley 4.3 BSD
18841  * under license from the Regents of the University of California.
18842  */
18843 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
18844 
18845 
18846 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1
18847 /*
18848  * CDDL HEADER START
18849  *
18850  * The contents of this file are subject to the terms of the
18851  * Common Development and Distribution License, Version 1.0 only
18852  * (the "License").  You may not use this file except in compliance
18853  * with the License.
18854  *
18855  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18856  * or http://www.opensolaris.org/os/licensing.
18857  * See the License for the specific language governing permissions
18858  * and limitations under the License.
18859  *
18860  * When distributing Covered Code, include this CDDL HEADER in each
18861  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18862  * If applicable, add the following below this CDDL HEADER, with the
18863  * fields enclosed by brackets "[]" replaced with your own identifying
18864  * information: Portions Copyright [yyyy] [name of copyright owner]
18865  *
18866  * CDDL HEADER END
18867  */
18868 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18869 /*	  All Rights Reserved  	*/
18870 
18871 
18872 /*
18873  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18874  *
18875  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
18876  * Use is subject to license terms.
18877  */
18878 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h"
18879 struct netconfig {
18880  char *nc_netid; /* network identifier		*/
18881  unsigned int nc_semantics; /* defined below		*/
18882  unsigned int nc_flag; /* defined below		*/
18883  char *nc_protofmly; /* protocol family name		*/
18884  char *nc_proto; /* protocol name		*/
18885  char *nc_device; /* device name for network id	*/
18886  unsigned int nc_nlookups; /* # of entries in nc_lookups	*/
18887  char **nc_lookups; /* list of lookup directories	*/
18888  unsigned int nc_unused[8]; /* borrowed for lockd etc.	*/
18889 };
18890 
18891 typedef struct {
18892  struct netconfig **nc_head;
18893  struct netconfig **nc_curr;
18894 } NCONF_HANDLE;
18895 
18896 /*
18897  *	Values of nc_semantics
18898  */
18899 
18900 
18901 
18902 
18903 
18904 /*
18905  * NOT FOR PUBLIC USE, Solaris internal only.
18906  * This value of nc_semantics is strictly for use of Remote Direct
18907  * Memory Access provider interfaces in Solaris only and not for
18908  * general use. Do not use this value for general purpose user or
18909  * kernel programming. If used the behavior is undefined.
18910  * This is a PRIVATE interface to be used by Solaris kRPC only.
18911  */
18912 
18913 
18914 /*
18915  *	Values of nc_flag
18916  */
18917 
18918 
18919 
18920 
18921 
18922 /*
18923  *	Values of nc_protofmly
18924  */
18925 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h"
18926 /*
18927  * NOT FOR PUBLIC USE, Solaris internal only.
18928  * This value of nc_semantics is strictly for use of Remote Direct
18929  * Memory Access provider interfaces in Solaris only and not for
18930  * general use. Do not use this value for general purpose user or
18931  * kernel programming. If used the behavior is undefined.
18932  * This is a PRIVATE interface to be used by Solaris kRPC only.
18933  */
18934 
18935 
18936 /*
18937  *	Values for nc_proto
18938  */
18939 
18940 
18941 
18942 
18943 
18944 
18945 /*
18946  * 	Values for nc_proto for "rdma" protofmly
18947  */
18948 
18949 
18950 
18951 
18952 extern void *setnetconfig(void);
18953 extern int endnetconfig(void *);
18954 extern struct netconfig *getnetconfig(void *);
18955 extern struct netconfig *getnetconfigent(const char *);
18956 extern void freenetconfigent(struct netconfig *);
18957 extern void *setnetpath(void);
18958 extern int endnetpath(void *);
18959 extern struct netconfig *getnetpath(void *);
18960 extern void nc_perror(const char *);
18961 extern char *nc_sperror(void);
18962 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
18963 
18964 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
18965 /*
18966  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18967  * Use is subject to license terms.
18968  *
18969  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
18970  */
18971 /*
18972  * Copyright (c) 1982, 1986 Regents of the University of California.
18973  * All rights reserved.
18974  *
18975  * Redistribution and use in source and binary forms are permitted
18976  * provided that this notice is preserved and that due credit is given
18977  * to the University of California at Berkeley. The name of the University
18978  * may not be used to endorse or promote products derived from this
18979  * software without specific prior written permission. This software
18980  * is provided ``as is'' without express or implied warranty.
18981  */
18982 
18983 /*
18984  * Constants and structures defined by the internet system,
18985  * according to following documents
18986  *
18987  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
18988  *	http://www.iana.org/assignments/protocol-numbers
18989  *	http://www.iana.org/assignments/port-numbers
18990  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
18991  *
18992  */
18993 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
18994 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
18995 /*
18996  * Definitions related to sockets: types, address families, options.
18997  */
18998 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
18999 /*
19000  * Types
19001  */
19002 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19003 /*
19004  * Flags for socket() and accept4()
19005  */
19006 
19007 
19008 
19009 
19010 /*
19011  * Option flags per-socket.
19012  */
19013 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19014 /*
19015  * Socket options are passed using a signed integer, but it is also rare
19016  * for more than one to ever be passed at the same time with setsockopt
19017  * and only one at a time can be retrieved with getsockopt.
19018  *
19019  * Since the lower numbers cannot be renumbered for compatibility reasons,
19020  * it would seem that we need to start a new number space (0x40000000 -
19021  * 0x7fffffff) for those that don't need to be stored as a bit flag
19022  * somewhere. This limits the flag options to 30 but that seems to be
19023  * plenty, anyway. 0x40000000 is reserved for future use.
19024  */
19025 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19026 /*
19027  * N.B.: The following definition is present only for compatibility
19028  * with release 3.0.  It will disappear in later releases.
19029  */
19030 
19031 
19032 /*
19033  * Additional options, not kept in so_options.
19034  */
19035 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19036 /* "Socket"-level control message types: */
19037 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19038 /*
19039  * Socket filter options
19040  */
19041 
19042 
19043 
19044 
19045 
19046 /*
19047  * Structure returned by FIL_LIST
19048  */
19049 struct fil_info {
19050  int fi_flags; /* see below (FILF_*) */
19051  int fi_pos; /* position (0 is bottom) */
19052  char fi_name[32]; /* filter name */
19053 };
19054 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19055 /*
19056  * Structure used for manipulating linger option.
19057  */
19058 struct linger {
19059  int l_onoff; /* option on/off */
19060  int l_linger; /* linger time */
19061 };
19062 
19063 /*
19064  * Levels for (get/set)sockopt() that don't apply to a specific protocol.
19065  */
19066 
19067 
19068 
19069 
19070 
19071 
19072 
19073 /*
19074  * Address families.
19075  *
19076  * Some of these constant names are copied for the DTrace IP provider in
19077  * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept
19078  * in sync.
19079  */
19080 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19081 /*
19082  * Protocol families, same as address families for now.
19083  */
19084 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19085 /*
19086  * Maximum queue length specifiable by listen.
19087  */
19088 
19089 
19090 /*
19091  * Message header for recvmsg and sendmsg calls.
19092  */
19093 struct msghdr {
19094  void *msg_name; /* optional address */
19095  socklen_t msg_namelen; /* size of address */
19096  struct iovec *msg_iov; /* scatter/gather array */
19097  int msg_iovlen; /* # elements in msg_iov */
19098 
19099 
19100 
19101 
19102 
19103 
19104  caddr_t msg_accrights; /* access rights sent/received */
19105  int msg_accrightslen;
19106 
19107 };
19108 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19109 /* Added for XPGv2 compliance */
19110 
19111 
19112 
19113 
19114 
19115      /* with left over data */
19116 /* End of XPGv2 compliance */
19117 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19118 /* Added for XPGv2 compliance */
19119 
19120 
19121 
19122 
19123 struct cmsghdr {
19124  socklen_t cmsg_len; /* data byte count, including hdr */
19125  int cmsg_level; /* originating protocol */
19126  int cmsg_type; /* protocol-specific type */
19127 };
19128 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
19129 extern int accept(int, struct sockaddr *, Psocklen_t);
19130 extern int accept4(int, struct sockaddr *, Psocklen_t, int);
19131 extern int bind(int, const struct sockaddr *, socklen_t);
19132 extern int connect(int, const struct sockaddr *, socklen_t);
19133 extern int getpeername(int, struct sockaddr *, Psocklen_t);
19134 extern int getsockname(int, struct sockaddr *, Psocklen_t);
19135 extern int getsockopt(int, int, int, void *, Psocklen_t);
19136 extern int listen(int, int); /* XXX - fixme???  where do I go */
19137 extern int socketpair(int, int, int, int *);
19138 extern ssize_t recv(int, void *, size_t, int);
19139 extern ssize_t recvfrom(int, void *, size_t, int,
19140  struct sockaddr *, Psocklen_t);
19141 extern ssize_t recvmsg(int, struct msghdr *, int);
19142 extern ssize_t send(int, const void *, size_t, int);
19143 extern ssize_t sendmsg(int, const struct msghdr *, int);
19144 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *,
19145  socklen_t);
19146 extern int setsockopt(int, int, int, const void *, socklen_t);
19147 extern int shutdown(int, int);
19148 extern int socket(int, int, int);
19149 
19150 
19151 extern int sockatmark(int);
19152 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19153 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1
19154 /*
19155  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
19156  */
19157 
19158 /*
19159  * Copyright (c) 1982, 1986 Regents of the University of California.
19160  * All rights reserved.  The Berkeley software License Agreement
19161  * specifies the terms and conditions for redistribution.
19162  */
19163 
19164 
19165 
19166 
19167 /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86		*/
19168 
19169 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
19170 /*
19171  * CDDL HEADER START
19172  *
19173  * The contents of this file are subject to the terms of the
19174  * Common Development and Distribution License (the "License").
19175  * You may not use this file except in compliance with the License.
19176  *
19177  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19178  * or http://www.opensolaris.org/os/licensing.
19179  * See the License for the specific language governing permissions
19180  * and limitations under the License.
19181  *
19182  * When distributing Covered Code, include this CDDL HEADER in each
19183  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19184  * If applicable, add the following below this CDDL HEADER, with the
19185  * fields enclosed by brackets "[]" replaced with your own identifying
19186  * information: Portions Copyright [yyyy] [name of copyright owner]
19187  *
19188  * CDDL HEADER END
19189  */
19190 
19191 /*
19192  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
19193  * Copyright 2016 Joyent, Inc.
19194  *
19195  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
19196  * Use is subject to license terms.
19197  */
19198 # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
19199 
19200 
19201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
19202 /*
19203  * CDDL HEADER START
19204  *
19205  * The contents of this file are subject to the terms of the
19206  * Common Development and Distribution License (the "License").
19207  * You may not use this file except in compliance with the License.
19208  *
19209  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19210  * or http://www.opensolaris.org/os/licensing.
19211  * See the License for the specific language governing permissions
19212  * and limitations under the License.
19213  *
19214  * When distributing Covered Code, include this CDDL HEADER in each
19215  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19216  * If applicable, add the following below this CDDL HEADER, with the
19217  * fields enclosed by brackets "[]" replaced with your own identifying
19218  * information: Portions Copyright [yyyy] [name of copyright owner]
19219  *
19220  * CDDL HEADER END
19221  */
19222 /*
19223  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19224  *
19225  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
19226  */
19227 
19228 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
19229 /*	  All Rights Reserved	*/
19230 
19231 /*
19232  * University Copyright- Copyright (c) 1982, 1986, 1988
19233  * The Regents of the University of California
19234  * All Rights Reserved
19235  *
19236  * University Acknowledgment- Portions of this document are derived from
19237  * software developed by the University of California, Berkeley, and its
19238  * contributors.
19239  */
19240 
19241 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
19242 # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
19243 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
19244 /*
19245  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19246  * Use is subject to license terms.
19247  *
19248  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
19249  */
19250 /*
19251  * Copyright (c) 1982, 1986 Regents of the University of California.
19252  * All rights reserved.
19253  *
19254  * Redistribution and use in source and binary forms are permitted
19255  * provided that this notice is preserved and that due credit is given
19256  * to the University of California at Berkeley. The name of the University
19257  * may not be used to endorse or promote products derived from this
19258  * software without specific prior written permission. This software
19259  * is provided ``as is'' without express or implied warranty.
19260  */
19261 
19262 /*
19263  * Constants and structures defined by the internet system,
19264  * according to following documents
19265  *
19266  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
19267  *	http://www.iana.org/assignments/protocol-numbers
19268  *	http://www.iana.org/assignments/port-numbers
19269  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
19270  *
19271  */
19272 # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
19273 
19274 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
19275 /*
19276  * CDDL HEADER START
19277  *
19278  * The contents of this file are subject to the terms of the
19279  * Common Development and Distribution License (the "License").
19280  * You may not use this file except in compliance with the License.
19281  *
19282  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19283  * or http://www.opensolaris.org/os/licensing.
19284  * See the License for the specific language governing permissions
19285  * and limitations under the License.
19286  *
19287  * When distributing Covered Code, include this CDDL HEADER in each
19288  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19289  * If applicable, add the following below this CDDL HEADER, with the
19290  * fields enclosed by brackets "[]" replaced with your own identifying
19291  * information: Portions Copyright [yyyy] [name of copyright owner]
19292  *
19293  * CDDL HEADER END
19294  */
19295 /*
19296  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
19297  * Use is subject to license terms.
19298  * Copyright 2015 Nexenta Systems, Inc.
19299  */
19300 # 23 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
19301 
19302 
19303 
19304 
19305 
19306 
19307 
19308 /*
19309  * Structures defining a network interface, providing a packet
19310  * transport mechanism (ala level 0 of the PUP protocols).
19311  *
19312  * Each interface accepts output datagrams of a specified maximum
19313  * length, and provides higher level routines with input datagrams
19314  * received from its medium.
19315  *
19316  * Output occurs when the routine if_output is called, with three parameters:
19317  *	(*ifp->if_output)(ifp, m, dst)
19318  * Here m is the mbuf chain to be sent and dst is the destination address.
19319  * The output routine encapsulates the supplied datagram if necessary,
19320  * and then transmits it on its medium.
19321  *
19322  * On input, each interface unwraps the data received by it, and either
19323  * places it on the input queue of a internetwork datagram routine
19324  * and posts the associated software interrupt, or passes the datagram to a raw
19325  * packet input routine.
19326  *
19327  * Routines exist for locating interfaces by their addresses
19328  * or for locating a interface on a certain network, as well as more general
19329  * routing and gateway routines maintaining information used to locate
19330  * interfaces.  These routines live in the files if.c and route.c
19331  */
19332 
19333 
19334 
19335 /*
19336  * Structure defining a queue for a network interface.
19337  *
19338  * (Would like to call this struct ``if'', but C isn't PL/1.)
19339  */
19340 struct ifnet {
19341  char *if_name; /* name, e.g. ``en'' or ``lo'' */
19342  short if_unit; /* sub-unit for lower level driver */
19343  short if_mtu; /* maximum transmission unit */
19344  short if_flags; /* up/down, broadcast, etc. */
19345  short if_timer; /* time 'til if_watchdog called */
19346  ushort_t if_promisc; /* net # of requests for promisc mode */
19347  int if_metric; /* routing metric (external only) */
19348  struct ifaddr *if_addrlist; /* linked list of addresses per if */
19349  struct ifqueue {
19350   struct mbuf *ifq_head;
19351   struct mbuf *ifq_tail;
19352   int ifq_len;
19353   int ifq_maxlen;
19354   int ifq_drops;
19355  } if_snd; /* output queue */
19356 /* procedure handles */
19357  int (*if_init)(); /* init routine */
19358  int (*if_output)(); /* output routine */
19359  int (*if_ioctl)(); /* ioctl routine */
19360  int (*if_reset)(); /* bus reset routine */
19361  int (*if_watchdog)(); /* timer routine */
19362 /* generic interface statistics */
19363  int if_ipackets; /* packets received on interface */
19364  int if_ierrors; /* input errors on interface */
19365  int if_opackets; /* packets sent on interface */
19366  int if_oerrors; /* output errors on interface */
19367  int if_collisions; /* collisions on csma interfaces */
19368 /* end statistics */
19369  struct ifnet *if_next;
19370  struct ifnet *if_upper; /* next layer up */
19371  struct ifnet *if_lower; /* next layer down */
19372  int (*if_input)(); /* input routine */
19373  int (*if_ctlin)(); /* control input routine */
19374  int (*if_ctlout)(); /* control output routine */
19375  struct map *if_memmap; /* rmap for interface specific memory */
19376 };
19377 
19378 /*
19379  * NOTE : These flags are not directly used within IP.
19380  * ip_if.h has definitions derived from this which is used within IP.
19381  * If you define a flag here, you need to define one in ip_if.h before
19382  * using the new flag in IP. Don't use these flags directly in IP.
19383  */
19384 # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19385 /*
19386  * The IFF_MULTICAST flag indicates that the network can support the
19387  * transmission and reception of higher-level (e.g., IP) multicast packets.
19388  * It is independent of hardware support for multicasting; for example,
19389  * point-to-point links or pure broadcast networks may well support
19390  * higher-level multicasts.
19391  */
19392 
19393 
19394 
19395 
19396 
19397 
19398 
19399 /*
19400  * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS.
19401  * Should use SIOC[GS]LIFFLAGS which has a larger flags field.
19402  */
19403 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19404 /*
19405  * The IFF_XRESOLV flag is an evolving interface and is subject
19406  * to change without notice.
19407  */
19408 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19409 /* flags that cannot be changed by userland on any interface */
19410 
19411 
19412 
19413 
19414 
19415 
19416 
19417 /* flags that cannot be changed by userland on an IPMP interface */
19418 
19419 
19420 /* flags that can never be set on an IPMP interface */
19421 
19422 
19423 
19424 /*
19425  * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1)
19426  * input routines have queues of messages stored on ifqueue structures
19427  * (defined above).  Entries are added to and deleted from these structures
19428  * by these macros, which should be called with ipl raised to splimp().
19429  */
19430 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19431 /*
19432  * Packets destined for level-1 protocol input routines
19433  * have a pointer to the receiving interface prepended to the data.
19434  * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet.
19435  * IF_ADJ should be used otherwise to adjust for its presence.
19436  */
19437 # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19438 /*
19439  * The ifaddr structure contains information about one address
19440  * of an interface.  They are maintained by the different address families,
19441  * are allocated and attached when an address is set, and are linked
19442  * together so all addresses for an interface can be located.
19443  */
19444 struct ifaddr {
19445  struct sockaddr ifa_addr; /* address of interface */
19446  union {
19447   struct sockaddr ifu_broadaddr;
19448   struct sockaddr ifu_dstaddr;
19449  } ifa_ifu;
19450 
19451 
19452  struct ifnet *ifa_ifp; /* back-pointer to interface */
19453  struct ifaddr *ifa_next; /* next address for interface */
19454 };
19455 
19456 /*
19457  * For SIOCLIF*ND ioctls.
19458  *
19459  * The lnr_state_* fields use the ND_* neighbor reachability states.
19460  * The 3 different fields are for use with SIOCLIFSETND to cover the cases
19461  * when
19462  *	A new entry is created
19463  *	The entry already exists and the link-layer address is the same
19464  *	The entry already exists and the link-layer address differs
19465  *
19466  * Use ND_UNCHANGED to not change any state.
19467  */
19468 
19469 typedef struct lif_nd_req {
19470  struct sockaddr_storage lnr_addr;
19471  uint8_t lnr_state_create; /* When creating */
19472  uint8_t lnr_state_same_lla; /* Update same addr */
19473  uint8_t lnr_state_diff_lla; /* Update w/ diff. */
19474  int lnr_hdw_len;
19475  int lnr_flags; /* See below */
19476  /* padding because ia32 "long long"s are only 4-byte aligned. */
19477  int lnr_pad0;
19478  char lnr_hdw_addr[64];
19479 } lif_nd_req_t;
19480 
19481 /*
19482  * Neighbor reachability states
19483  * Used with SIOCLIF*ND ioctls.
19484  */
19485 # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19486 /*
19487  * lnr_flags value of lif_nd_req.
19488  * Used with SIOCLIF*ND ioctls.
19489  */
19490 
19491 
19492 
19493 
19494 
19495 
19496 /*
19497  * the NDF_STATIC entry ensures that an NCE will not be deleted, and is
19498  * used by non-ON applications like IPv6 test suites.
19499  */
19500 
19501 
19502 /* For SIOC[GS]LIFLNKINFO */
19503 typedef struct lif_ifinfo_req {
19504  uint8_t lir_maxhops;
19505  uint32_t lir_reachtime; /* Reachable time in msec */
19506  uint32_t lir_reachretrans; /* Retransmission timer msec */
19507  uint32_t lir_maxmtu;
19508 } lif_ifinfo_req_t;
19509 
19510 
19511 
19512 /*
19513  * Maximum lengths of interface name and IPMP group name; these are the same
19514  * for historical reasons.  Note that the actual maximum length of a name is
19515  * one byte less than these constants since the kernel always sets the final
19516  * byte of lifr_name and lifr_groupname to NUL.
19517  */
19518 
19519 
19520 
19521 
19522 
19523 
19524 
19525 /*
19526  * Interface request structure used for socket
19527  * ioctl's.  All interface ioctl's must have parameter
19528  * definitions which begin with ifr_name.  The
19529  * remainder may be interface specific.
19530  * Note: This data structure uses 64bit type uint64_t which is not
19531  *	 a valid type for strict ANSI/ISO C compilation for ILP32.
19532  *	 Applications with ioctls using this structure that insist on
19533  *	 building with strict ANSI/ISO C (-Xc) will need to be LP64.
19534  */
19535 
19536 struct lifreq {
19537  char lifr_name[32]; /* if name, e.g. "en0" */
19538  union {
19539   int lifru_addrlen; /* for subnet/token etc */
19540   uint_t lifru_ppa; /* SIOCSLIFNAME */
19541  } lifr_lifru1;
19542 
19543 
19544  uint_t lifr_type; /* IFT_ETHER, ... */
19545  union {
19546   struct sockaddr_storage lifru_addr;
19547   struct sockaddr_storage lifru_dstaddr;
19548   struct sockaddr_storage lifru_broadaddr;
19549   struct sockaddr_storage lifru_token; /* With lifr_addrlen */
19550   struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */
19551   int lifru_index; /* interface index */
19552   uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */
19553   int lifru_metric;
19554   uint_t lifru_mtu;
19555   int lif_muxid[2]; /* mux id's for arp and ip */
19556   struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */
19557   struct lif_ifinfo_req lifru_ifinfo_req;
19558   char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */
19559   char lifru_binding[32]; /* SIOCGLIFBINDING */
19560   zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */
19561   uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */
19562  } lifr_lifru;
19563 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19564 };
19565 
19566 
19567 /*
19568  * Argument structure for SIOCT* address testing ioctls.
19569  */
19570 struct sioc_addrreq {
19571  struct sockaddr_storage sa_addr; /* Address to test */
19572  int sa_res; /* Result - 0/1 */
19573  int sa_pad;
19574 };
19575 
19576 /*
19577  * Argument structure used by mrouted to get src-grp pkt counts using
19578  * SIOCGETLSGCNT. See <netinet/ip_mroute.h>.
19579  */
19580 struct sioc_lsg_req {
19581  struct sockaddr_storage slr_src;
19582  struct sockaddr_storage slr_grp;
19583  uint_t slr_pktcnt;
19584  uint_t slr_bytecnt;
19585  uint_t slr_wrong_if;
19586  uint_t slr_pad;
19587 };
19588 
19589 /* Argument structure for SIOCGLIFDADSTATE ioctl */
19590 typedef enum {
19591  DAD_IN_PROGRESS = 0x1,
19592  DAD_DONE = 0x2
19593 } glif_dad_state_t;
19594 
19595 /*
19596  * OBSOLETE: Replaced by struct lifreq. Supported for compatibility.
19597  *
19598  * Interface request structure used for socket
19599  * ioctl's.  All interface ioctl's must have parameter
19600  * definitions which begin with ifr_name.  The
19601  * remainder may be interface specific.
19602  */
19603 struct ifreq {
19604 
19605  char ifr_name[16]; /* if name, e.g. "en0" */
19606  union {
19607   struct sockaddr ifru_addr;
19608   struct sockaddr ifru_dstaddr;
19609   char ifru_oname[16]; /* other if name */
19610   struct sockaddr ifru_broadaddr;
19611   int ifru_index; /* interface index */
19612   uint_t ifru_mtu;
19613   short ifru_flags;
19614   int ifru_metric;
19615   char ifru_data[1]; /* interface dependent data */
19616   char ifru_enaddr[6];
19617   int if_muxid[2]; /* mux id's for arp and ip */
19618 
19619   /* Struct for flags/ppa */
19620   struct ifr_ppaflags {
19621    short ifrup_flags; /* Space of ifru_flags. */
19622    short ifrup_filler;
19623    uint_t ifrup_ppa;
19624   } ifru_ppaflags;
19625 
19626   /* Struct for FDDI ioctl's */
19627   struct ifr_dnld_reqs {
19628    uint32_t v_addr;
19629    uint32_t m_addr;
19630    uint32_t ex_addr;
19631    uint32_t size;
19632   } ifru_dnld_req;
19633 
19634   /* Struct for FDDI stats */
19635   struct ifr_fddi_stats {
19636    uint32_t stat_size;
19637    uint32_t fddi_stats;
19638   } ifru_fddi_stat;
19639 
19640   struct ifr_netmapents {
19641    uint32_t map_ent_size, /* size of netmap structure */
19642     entry_number; /* index into netmap list */
19643    uint32_t fddi_map_ent; /* pointer to user structure */
19644   } ifru_netmapent;
19645 
19646   /* Field for generic ioctl for fddi */
19647 
19648   struct ifr_fddi_gen_struct {
19649    uint32_t ifru_fddi_gioctl; /* field for gen ioctl */
19650    uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */
19651   } ifru_fddi_gstruct;
19652 
19653  } ifr_ifru;
19654 # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19655 /* For setting ppa */
19656 
19657 
19658 /* FDDI specific */
19659 
19660 
19661 
19662 
19663 
19664 
19665 
19666 };
19667 
19668 /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */
19669 struct lifnum {
19670  sa_family_t lifn_family;
19671  int lifn_flags; /* request specific interfaces */
19672  int lifn_count; /* Result */
19673 };
19674 
19675 /*
19676  * Structure used in SIOCGLIFCONF request.
19677  * Used to retrieve interface configuration
19678  * for machine (useful for programs which
19679  * must know all networks accessible) for a given address family.
19680  * Using AF_UNSPEC will retrieve all address families.
19681  */
19682 struct lifconf {
19683  sa_family_t lifc_family;
19684  int lifc_flags; /* request specific interfaces */
19685  int lifc_len; /* size of associated buffer */
19686  union {
19687   caddr_t lifcu_buf;
19688   struct lifreq *lifcu_req;
19689  } lifc_lifcu;
19690 
19691 
19692 };
19693 
19694 /*
19695  * Structure used in SIOCGLIFSRCOF to get the interface
19696  * configuration list for those interfaces that use an address
19697  * hosted on the interface (set in lifs_ifindex), as the source
19698  * address.
19699  */
19700 struct lifsrcof {
19701  uint_t lifs_ifindex; /* interface of interest */
19702  size_t lifs_maxlen; /* size of buffer: input */
19703  size_t lifs_len; /* size of buffer: output */
19704  union {
19705   caddr_t lifsu_buf;
19706   struct lifreq *lifsu_req;
19707  } lifs_lifsu;
19708 
19709 
19710 };
19711 
19712 /* Flags */
19713 
19714 
19715      /* be used to communicate outside the */
19716      /* node (exclude interfaces which are */
19717      /* IFF_NOXMIT, IFF_NOLOCAL, */
19718      /* IFF_LOOPBACK, IFF_DEPRECATED, or */
19719      /* not IFF_UP). Has priority over */
19720      /* LIFC_NOXMIT. */
19721 
19722 
19723      /* (must be issued from global zone) */
19724 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19725 /*
19726  * IPMP group information, for use with SIOCGLIFGROUPINFO.
19727  */
19728 typedef struct lifgroupinfo {
19729  char gi_grname[32]; /* group name (set by caller) */
19730  char gi_grifname[32]; /* IPMP meta-interface name */
19731  char gi_m4ifname[32]; /* v4 mcast interface name */
19732  char gi_m6ifname[32]; /* v6 mcast interface name */
19733  char gi_bcifname[32]; /* v4 bcast interface name */
19734  boolean_t gi_v4; /* group is plumbed for v4 */
19735  boolean_t gi_v6; /* group is plumbed for v6 */
19736  uint_t gi_nv4; /* # of underlying v4 if's */
19737  uint_t gi_nv6; /* # of underlying v6 if's */
19738  uint_t gi_mactype; /* DLPI mac type of group */
19739 } lifgroupinfo_t;
19740 
19741 /*
19742  * OBSOLETE: Structure used in SIOCGIFCONF request.
19743  * Used to retrieve interface configuration
19744  * for machine (useful for programs which
19745  * must know all networks accessible).
19746  */
19747 struct ifconf {
19748  int ifc_len; /* size of associated buffer */
19749  union {
19750   caddr_t ifcu_buf;
19751   struct ifreq *ifcu_req;
19752  } ifc_ifcu;
19753 
19754 
19755 };
19756 # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
19757 typedef struct if_data {
19758     /* generic interface information */
19759  uchar_t ifi_type; /* ethernet, tokenring, etc */
19760  uchar_t ifi_addrlen; /* media address length */
19761  uchar_t ifi_hdrlen; /* media header length */
19762  uint_t ifi_mtu; /* maximum transmission unit */
19763  uint_t ifi_metric; /* routing metric (external only) */
19764  uint_t ifi_baudrate; /* linespeed */
19765     /* volatile statistics */
19766  uint_t ifi_ipackets; /* packets received on interface */
19767  uint_t ifi_ierrors; /* input errors on interface */
19768  uint_t ifi_opackets; /* packets sent on interface */
19769  uint_t ifi_oerrors; /* output errors on interface */
19770  uint_t ifi_collisions; /* collisions on csma interfaces */
19771  uint_t ifi_ibytes; /* total number of octets received */
19772  uint_t ifi_obytes; /* total number of octets sent */
19773  uint_t ifi_imcasts; /* packets received via multicast */
19774  uint_t ifi_omcasts; /* packets sent via multicast */
19775  uint_t ifi_iqdrops; /* dropped on input, this interface */
19776  uint_t ifi_noproto; /* destined for unsupported protocol */
19777 
19778  struct timeval32 ifi_lastchange; /* last updated */
19779 
19780 
19781 
19782 } if_data_t;
19783 
19784 /*
19785  * Message format for use in obtaining information about interfaces
19786  * from the routing socket
19787  */
19788 typedef struct if_msghdr {
19789  ushort_t ifm_msglen; /* to skip over non-understood messages */
19790  uchar_t ifm_version; /* future binary compatibility */
19791  uchar_t ifm_type; /* message type */
19792  int ifm_addrs; /* like rtm_addrs */
19793  int ifm_flags; /* value of if_flags */
19794  ushort_t ifm_index; /* index for associated ifp */
19795  struct if_data ifm_data; /* statistics and other data about if */
19796 } if_msghdr_t;
19797 
19798 /*
19799  * Message format for use in obtaining information about interface addresses
19800  * from the routing socket
19801  */
19802 typedef struct ifa_msghdr {
19803  ushort_t ifam_msglen; /* to skip over non-understood messages */
19804  uchar_t ifam_version; /* future binary compatibility */
19805  uchar_t ifam_type; /* message type */
19806  int ifam_addrs; /* like rtm_addrs */
19807  int ifam_flags; /* route flags */
19808  ushort_t ifam_index; /* index for associated ifp */
19809  int ifam_metric; /* value of ipif_metric */
19810 } ifa_msghdr_t;
19811 
19812 
19813 
19814 /*
19815  * The if_nameindex structure holds the interface index value about
19816  * a single interface. An array of this structure is used to return
19817  * all interfaces and indexes.
19818  */
19819 struct if_nameindex {
19820  unsigned if_index; /* positive interface index */
19821  char *if_name; /* if name, e.g. "en0" */
19822 };
19823 
19824 /* Interface index identification API definitions */
19825 extern unsigned if_nametoindex(const char *);
19826 extern char *if_indextoname(unsigned, char *);
19827 extern struct if_nameindex *if_nameindex(void);
19828 extern void if_freenameindex(struct if_nameindex *);
19829 
19830 
19831 /*
19832  * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if
19833  * struct sockaddr_dl needs to be modified as the interface index is placed
19834  * in this structure by the kernel.
19835  */
19836 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19837 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
19838 /*
19839  * CDDL HEADER START
19840  *
19841  * The contents of this file are subject to the terms of the
19842  * Common Development and Distribution License (the "License").
19843  * You may not use this file except in compliance with the License.
19844  *
19845  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19846  * or http://www.opensolaris.org/os/licensing.
19847  * See the License for the specific language governing permissions
19848  * and limitations under the License.
19849  *
19850  * When distributing Covered Code, include this CDDL HEADER in each
19851  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19852  * If applicable, add the following below this CDDL HEADER, with the
19853  * fields enclosed by brackets "[]" replaced with your own identifying
19854  * information: Portions Copyright [yyyy] [name of copyright owner]
19855  *
19856  * CDDL HEADER END
19857  */
19858 
19859 /*
19860  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19861  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
19862  */
19863 
19864 /*	Copyright (c) 1988 AT&T	*/
19865 /*	  All Rights Reserved  	*/
19866 
19867 /*
19868  * User-visible pieces of the ANSI C standard I/O package.
19869  */
19870 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19871 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1
19872 /*
19873  * CDDL HEADER START
19874  *
19875  * The contents of this file are subject to the terms of the
19876  * Common Development and Distribution License, Version 1.0 only
19877  * (the "License").  You may not use this file except in compliance
19878  * with the License.
19879  *
19880  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19881  * or http://www.opensolaris.org/os/licensing.
19882  * See the License for the specific language governing permissions
19883  * and limitations under the License.
19884  *
19885  * When distributing Covered Code, include this CDDL HEADER in each
19886  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19887  * If applicable, add the following below this CDDL HEADER, with the
19888  * fields enclosed by brackets "[]" replaced with your own identifying
19889  * information: Portions Copyright [yyyy] [name of copyright owner]
19890  *
19891  * CDDL HEADER END
19892  */
19893 /*
19894  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
19895  * Use is subject to license terms.
19896  */
19897 
19898 
19899 
19900 
19901 #pragma ident "%Z%%M%	%I%	%E% SMI"
19902 
19903 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
19904 /*
19905  * CDDL HEADER START
19906  *
19907  * The contents of this file are subject to the terms of the
19908  * Common Development and Distribution License (the "License").
19909  * You may not use this file except in compliance with the License.
19910  *
19911  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19912  * or http://www.opensolaris.org/os/licensing.
19913  * See the License for the specific language governing permissions
19914  * and limitations under the License.
19915  *
19916  * When distributing Covered Code, include this CDDL HEADER in each
19917  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19918  * If applicable, add the following below this CDDL HEADER, with the
19919  * fields enclosed by brackets "[]" replaced with your own identifying
19920  * information: Portions Copyright [yyyy] [name of copyright owner]
19921  *
19922  * CDDL HEADER END
19923  */
19924 /*
19925  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
19926  */
19927 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2
19928 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
19929 /*
19930  * CDDL HEADER START
19931  *
19932  * The contents of this file are subject to the terms of the
19933  * Common Development and Distribution License (the "License").
19934  * You may not use this file except in compliance with the License.
19935  *
19936  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19937  * or http://www.opensolaris.org/os/licensing.
19938  * See the License for the specific language governing permissions
19939  * and limitations under the License.
19940  *
19941  * When distributing Covered Code, include this CDDL HEADER in each
19942  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19943  * If applicable, add the following below this CDDL HEADER, with the
19944  * fields enclosed by brackets "[]" replaced with your own identifying
19945  * information: Portions Copyright [yyyy] [name of copyright owner]
19946  *
19947  * CDDL HEADER END
19948  */
19949 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19950 /*	  All Rights Reserved  	*/
19951 
19952 
19953 /*
19954  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19955  * Use is subject to license terms.
19956  *
19957  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19958  * Copyright 2016 Joyent, Inc.
19959  */
19960 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2
19961 
19962 
19963 
19964 
19965 
19966 int rctl_walk(int (*)(const char *, void *), void *);
19967 
19968 hrtime_t rctlblk_get_firing_time(rctlblk_t *);
19969 uint_t rctlblk_get_global_action(rctlblk_t *);
19970 uint_t rctlblk_get_global_flags(rctlblk_t *);
19971 uint_t rctlblk_get_local_action(rctlblk_t *, int *);
19972 uint_t rctlblk_get_local_flags(rctlblk_t *);
19973 id_t rctlblk_get_recipient_pid(rctlblk_t *);
19974 rctl_priv_t rctlblk_get_privilege(rctlblk_t *);
19975 rctl_qty_t rctlblk_get_value(rctlblk_t *);
19976 rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *);
19977 
19978 void rctlblk_set_local_action(rctlblk_t *, uint_t, int);
19979 void rctlblk_set_local_flags(rctlblk_t *, uint_t);
19980 void rctlblk_set_recipient_pid(rctlblk_t *, id_t);
19981 void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t);
19982 void rctlblk_set_value(rctlblk_t *, rctl_qty_t);
19983 
19984 size_t rctlblk_size(void);
19985 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19986 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1
19987 /*
19988  * CDDL HEADER START
19989  *
19990  * The contents of this file are subject to the terms of the
19991  * Common Development and Distribution License (the "License").
19992  * You may not use this file except in compliance with the License.
19993  *
19994  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19995  * or http://www.opensolaris.org/os/licensing.
19996  * See the License for the specific language governing permissions
19997  * and limitations under the License.
19998  *
19999  * When distributing Covered Code, include this CDDL HEADER in each
20000  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20001  * If applicable, add the following below this CDDL HEADER, with the
20002  * fields enclosed by brackets "[]" replaced with your own identifying
20003  * information: Portions Copyright [yyyy] [name of copyright owner]
20004  *
20005  * CDDL HEADER END
20006  */
20007 /*
20008  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20009  * Use is subject to license terms.
20010  */
20011 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
20012 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 1
20013 /*
20014  * CDDL HEADER START
20015  *
20016  * The contents of this file are subject to the terms of the
20017  * Common Development and Distribution License (the "License").
20018  * You may not use this file except in compliance with the License.
20019  *
20020  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20021  * or http://www.opensolaris.org/os/licensing.
20022  * See the License for the specific language governing permissions
20023  * and limitations under the License.
20024  *
20025  * When distributing Covered Code, include this CDDL HEADER in each
20026  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20027  * If applicable, add the following below this CDDL HEADER, with the
20028  * fields enclosed by brackets "[]" replaced with your own identifying
20029  * information: Portions Copyright [yyyy] [name of copyright owner]
20030  *
20031  * CDDL HEADER END
20032  */
20033 
20034 /*
20035  * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
20036  * Copyright (c) 2011, Joyent, Inc. All rights reserved.
20037  * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
20038  */
20039 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h"
20040 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20041 /*
20042  * CDDL HEADER START
20043  *
20044  * The contents of this file are subject to the terms of the
20045  * Common Development and Distribution License (the "License").
20046  * You may not use this file except in compliance with the License.
20047  *
20048  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20049  * or http://www.opensolaris.org/os/licensing.
20050  * See the License for the specific language governing permissions
20051  * and limitations under the License.
20052  *
20053  * When distributing Covered Code, include this CDDL HEADER in each
20054  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20055  * If applicable, add the following below this CDDL HEADER, with the
20056  * fields enclosed by brackets "[]" replaced with your own identifying
20057  * information: Portions Copyright [yyyy] [name of copyright owner]
20058  *
20059  * CDDL HEADER END
20060  */
20061 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20062 /*	  All Rights Reserved  	*/
20063 
20064 
20065 /*
20066  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20067  * Use is subject to license terms.
20068  *
20069  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20070  * Copyright 2016 Joyent, Inc.
20071  */
20072 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 2
20073 
20074 typedef struct __brand_handle *brand_handle_t;
20075 
20076 typedef struct priv_iter_s {
20077  char *pi_name;
20078  char *pi_set;
20079  char *pi_iptype;
20080 } priv_iter_t;
20081 
20082 extern brand_handle_t brand_open(const char *);
20083 extern void brand_close(brand_handle_t);
20084 
20085 extern boolean_t brand_allow_exclusive_ip(brand_handle_t);
20086 
20087 extern int brand_get_attach(brand_handle_t, const char *, const char *,
20088     char *, size_t);
20089 extern int brand_get_boot(brand_handle_t, const char *, const char *,
20090     char *, size_t);
20091 extern int brand_get_brandname(brand_handle_t, char *, size_t);
20092 extern int brand_get_clone(brand_handle_t, const char *, const char *,
20093     char *, size_t);
20094 extern int brand_get_detach(brand_handle_t, const char *, const char *,
20095     char *, size_t);
20096 extern int brand_get_shutdown(brand_handle_t, const char *, const char *,
20097     char *, size_t);
20098 extern int brand_get_halt(brand_handle_t, const char *, const char *,
20099     char *, size_t);
20100 extern int brand_get_initname(brand_handle_t, char *, size_t);
20101 extern boolean_t brand_restartinit(brand_handle_t);
20102 extern int brand_get_install(brand_handle_t, const char *, const char *,
20103     char *, size_t);
20104 extern int brand_get_installopts(brand_handle_t, char *, size_t);
20105 extern int brand_get_login_cmd(brand_handle_t, const char *, char *, size_t);
20106 extern int brand_get_forcedlogin_cmd(brand_handle_t, const char *,
20107     char *, size_t);
20108 extern int brand_get_modname(brand_handle_t, char *, size_t);
20109 extern int brand_get_postattach(brand_handle_t, const char *, const char *,
20110     char *, size_t);
20111 extern int brand_get_postclone(brand_handle_t, const char *, const char *,
20112     char *, size_t);
20113 extern int brand_get_postinstall(brand_handle_t, const char *, const char *,
20114     char *, size_t);
20115 extern int brand_get_postsnap(brand_handle_t, const char *, const char *,
20116     char *, size_t);
20117 extern int brand_get_poststatechange(brand_handle_t, const char *, const char *,
20118     char *, size_t);
20119 extern int brand_get_predetach(brand_handle_t, const char *, const char *,
20120     char *, size_t);
20121 extern int brand_get_presnap(brand_handle_t, const char *, const char *,
20122     char *, size_t);
20123 extern int brand_get_prestatechange(brand_handle_t, const char *, const char *,
20124     char *, size_t);
20125 extern int brand_get_preuninstall(brand_handle_t, const char *, const char *,
20126     char *, size_t);
20127 extern int brand_get_query(brand_handle_t, const char *, const char *,
20128     char *, size_t);
20129 extern int brand_get_uninstall(brand_handle_t, const char *, const char *,
20130     char *, size_t);
20131 extern int brand_get_validatesnap(brand_handle_t, const char *, const char *,
20132     char *, size_t);
20133 extern int brand_get_user_cmd(brand_handle_t, const char *, char *, size_t);
20134 extern int brand_get_verify_cfg(brand_handle_t, char *, size_t);
20135 extern int brand_get_verify_adm(brand_handle_t, const char *, const char *,
20136     char *, size_t);
20137 extern int brand_get_sysboot(brand_handle_t, const char *, const char *, char *,
20138     size_t);
20139 
20140 extern int brand_config_iter_privilege(brand_handle_t,
20141     int (*func)(void *, priv_iter_t *), void *);
20142 
20143 extern int brand_platform_iter_devices(brand_handle_t, const char *,
20144     int (*)(void *, const char *, const char *), void *, const char *);
20145 extern int brand_platform_iter_gmounts(brand_handle_t, const char *,
20146     int (*)(void *, const char *, const char *, const char *, const char *),
20147     void *);
20148 extern int brand_platform_iter_link(brand_handle_t, int (*)(void *,
20149     const char *, const char *), void *);
20150 extern int brand_platform_iter_mounts(brand_handle_t, int (*)(void *,
20151     const char *, const char *, const char *, const char *), void *);
20152 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
20153 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 1
20154 /*
20155  * CDDL HEADER START
20156  *
20157  * The contents of this file are subject to the terms of the
20158  * Common Development and Distribution License, Version 1.0 only
20159  * (the "License").  You may not use this file except in compliance
20160  * with the License.
20161  *
20162  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20163  * or http://www.opensolaris.org/os/licensing.
20164  * See the License for the specific language governing permissions
20165  * and limitations under the License.
20166  *
20167  * When distributing Covered Code, include this CDDL HEADER in each
20168  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20169  * If applicable, add the following below this CDDL HEADER, with the
20170  * fields enclosed by brackets "[]" replaced with your own identifying
20171  * information: Portions Copyright [yyyy] [name of copyright owner]
20172  *
20173  * CDDL HEADER END
20174  */
20175 /*
20176  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
20177  * Use is subject to license terms.
20178  */
20179 
20180 
20181 
20182 
20183 #pragma ident "%Z%%M%	%I%	%E% SMI"
20184 
20185 
20186 
20187 
20188 
20189 /*
20190  * The copyright in this file is taken from the original Leach
20191  * & Salz UUID specification, from which this implementation
20192  * is derived.
20193  */
20194 
20195 /*
20196  * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
20197  * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
20198  * Digital Equipment Corporation, Maynard, Mass.  Copyright (c) 1998
20199  * Microsoft.  To anyone who acknowledges that this file is provided
20200  * "AS IS" without any express or implied warranty: permission to use,
20201  * copy, modify, and distribute this file for any purpose is hereby
20202  * granted without fee, provided that the above copyright notices and
20203  * this notice appears in all source code copies, and that none of the
20204  * names of Open Software Foundation, Inc., Hewlett-Packard Company,
20205  * or Digital Equipment Corporation be used in advertising or
20206  * publicity pertaining to distribution of the software without
20207  * specific, written prior permission.  Neither Open Software
20208  * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
20209  * Equipment Corporation makes any representations about the
20210  * suitability of this software for any purpose.
20211  */
20212 
20213 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20214 /*
20215  * CDDL HEADER START
20216  *
20217  * The contents of this file are subject to the terms of the
20218  * Common Development and Distribution License (the "License").
20219  * You may not use this file except in compliance with the License.
20220  *
20221  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20222  * or http://www.opensolaris.org/os/licensing.
20223  * See the License for the specific language governing permissions
20224  * and limitations under the License.
20225  *
20226  * When distributing Covered Code, include this CDDL HEADER in each
20227  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20228  * If applicable, add the following below this CDDL HEADER, with the
20229  * fields enclosed by brackets "[]" replaced with your own identifying
20230  * information: Portions Copyright [yyyy] [name of copyright owner]
20231  *
20232  * CDDL HEADER END
20233  */
20234 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20235 /*	  All Rights Reserved  	*/
20236 
20237 
20238 /*
20239  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20240  * Use is subject to license terms.
20241  *
20242  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20243  * Copyright 2016 Joyent, Inc.
20244  */
20245 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2
20246 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1
20247 /*
20248  * CDDL HEADER START
20249  *
20250  * The contents of this file are subject to the terms of the
20251  * Common Development and Distribution License (the "License").
20252  * You may not use this file except in compliance with the License.
20253  *
20254  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20255  * or http://www.opensolaris.org/os/licensing.
20256  * See the License for the specific language governing permissions
20257  * and limitations under the License.
20258  *
20259  * When distributing Covered Code, include this CDDL HEADER in each
20260  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20261  * If applicable, add the following below this CDDL HEADER, with the
20262  * fields enclosed by brackets "[]" replaced with your own identifying
20263  * information: Portions Copyright [yyyy] [name of copyright owner]
20264  *
20265  * CDDL HEADER END
20266  */
20267 
20268 /*
20269  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20270  * Use is subject to license terms.
20271  */
20272 
20273 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
20274 /*	  All Rights Reserved  	*/
20275 
20276 /*
20277  * University Copyright- Copyright (c) 1982, 1986, 1988
20278  * The Regents of the University of California
20279  * All Rights Reserved
20280  *
20281  * University Acknowledgment- Portions of this document are derived from
20282  * software developed by the University of California, Berkeley, and its
20283  * contributors.
20284  */
20285 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2
20286 
20287 typedef struct {
20288  uint8_t nodeID[6];
20289 } uuid_node_t;
20290 
20291 /*
20292  * The uuid type used throughout when referencing uuids themselves
20293  */
20294 struct uuid {
20295  uint32_t time_low;
20296  uint16_t time_mid;
20297  uint16_t time_hi_and_version;
20298  uint8_t clock_seq_hi_and_reserved;
20299  uint8_t clock_seq_low;
20300  uint8_t node_addr[6];
20301 };
20302 
20303 
20304 
20305 
20306 
20307 typedef uchar_t uuid_t[16];
20308 
20309 /*
20310  * Convert a uuid to/from little-endian format
20311  */
20312 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
20313 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 1
20314 /*
20315  * CDDL HEADER START
20316  *
20317  * The contents of this file are subject to the terms of the
20318  * Common Development and Distribution License (the "License").
20319  * You may not use this file except in compliance with the License.
20320  *
20321  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20322  * or http://www.opensolaris.org/os/licensing.
20323  * See the License for the specific language governing permissions
20324  * and limitations under the License.
20325  *
20326  * When distributing Covered Code, include this CDDL HEADER in each
20327  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20328  * If applicable, add the following below this CDDL HEADER, with the
20329  * fields enclosed by brackets "[]" replaced with your own identifying
20330  * information: Portions Copyright [yyyy] [name of copyright owner]
20331  *
20332  * CDDL HEADER END
20333  */
20334 /*
20335  * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
20336  */
20337 
20338 
20339 
20340 
20341 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20342 /*
20343  * CDDL HEADER START
20344  *
20345  * The contents of this file are subject to the terms of the
20346  * Common Development and Distribution License (the "License").
20347  * You may not use this file except in compliance with the License.
20348  *
20349  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20350  * or http://www.opensolaris.org/os/licensing.
20351  * See the License for the specific language governing permissions
20352  * and limitations under the License.
20353  *
20354  * When distributing Covered Code, include this CDDL HEADER in each
20355  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20356  * If applicable, add the following below this CDDL HEADER, with the
20357  * fields enclosed by brackets "[]" replaced with your own identifying
20358  * information: Portions Copyright [yyyy] [name of copyright owner]
20359  *
20360  * CDDL HEADER END
20361  */
20362 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20363 /*	  All Rights Reserved  	*/
20364 
20365 
20366 /*
20367  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20368  * Use is subject to license terms.
20369  *
20370  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20371  * Copyright 2016 Joyent, Inc.
20372  */
20373 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
20374 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1
20375 /*
20376  * CDDL HEADER START
20377  *
20378  * The contents of this file are subject to the terms of the
20379  * Common Development and Distribution License, Version 1.0 only
20380  * (the "License").  You may not use this file except in compliance
20381  * with the License.
20382  *
20383  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20384  * or http://www.opensolaris.org/os/licensing.
20385  * See the License for the specific language governing permissions
20386  * and limitations under the License.
20387  *
20388  * When distributing Covered Code, include this CDDL HEADER in each
20389  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20390  * If applicable, add the following below this CDDL HEADER, with the
20391  * fields enclosed by brackets "[]" replaced with your own identifying
20392  * information: Portions Copyright [yyyy] [name of copyright owner]
20393  *
20394  * CDDL HEADER END
20395  */
20396 /*	Copyright (c) 1988 AT&T	*/
20397 /*	  All Rights Reserved	*/
20398 
20399 /*
20400  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20401  *
20402  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
20403  * Use is subject to license terms.
20404  */
20405 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
20406 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
20407 /*
20408  * CDDL HEADER START
20409  *
20410  * The contents of this file are subject to the terms of the
20411  * Common Development and Distribution License (the "License").
20412  * You may not use this file except in compliance with the License.
20413  *
20414  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20415  * or http://www.opensolaris.org/os/licensing.
20416  * See the License for the specific language governing permissions
20417  * and limitations under the License.
20418  *
20419  * When distributing Covered Code, include this CDDL HEADER in each
20420  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20421  * If applicable, add the following below this CDDL HEADER, with the
20422  * fields enclosed by brackets "[]" replaced with your own identifying
20423  * information: Portions Copyright [yyyy] [name of copyright owner]
20424  *
20425  * CDDL HEADER END
20426  */
20427 
20428 /*
20429  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20430  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
20431  */
20432 
20433 /*	Copyright (c) 1988 AT&T	*/
20434 /*	  All Rights Reserved  	*/
20435 
20436 /*
20437  * User-visible pieces of the ANSI C standard I/O package.
20438  */
20439 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
20440 
20441 
20442 
20443 
20444 
20445 /*
20446  * Standard flags codes.
20447  */
20448 
20449 
20450 /*
20451  * Standard error codes.
20452  */
20453 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h"
20454 /*
20455  * Standard program exit codes.
20456  */
20457 
20458 
20459 
20460 
20461 /*
20462  * Exit status profiles.
20463  */
20464 
20465 
20466 
20467 /*
20468  * Error reporting functions.
20469  */
20470 uint32_t uu_error(void);
20471 const char *uu_strerror(uint32_t);
20472 
20473 /*
20474  * Program notification functions.
20475  */
20476 extern void uu_alt_exit(int);
20477 extern const char *uu_setpname(char *);
20478 extern const char *uu_getpname(void);
20479 /*PRINTFLIKE1*/
20480 extern void uu_warn(const char *, ...);
20481 extern void uu_vwarn(const char *, va_list);
20482 /*PRINTFLIKE1*/
20483 extern void uu_die(const char *, ...) __attribute__((__noreturn__));
20484 extern void uu_vdie(const char *, va_list) __attribute__((__noreturn__));
20485 /*PRINTFLIKE2*/
20486 extern void uu_xdie(int, const char *, ...) __attribute__((__noreturn__));
20487 extern void uu_vxdie(int, const char *, va_list) __attribute__((__noreturn__));
20488 
20489 /*
20490  * Exit status functions (not to be used directly)
20491  */
20492 extern int *uu_exit_ok(void);
20493 extern int *uu_exit_fatal(void);
20494 extern int *uu_exit_usage(void);
20495 
20496 /*
20497  * string->number conversions
20498  */
20499 extern int uu_strtoint(const char *, void *, size_t, int, int64_t, int64_t);
20500 extern int uu_strtouint(const char *, void *, size_t, int, uint64_t, uint64_t);
20501 
20502 /*
20503  * Debug print facility functions.
20504  */
20505 typedef struct uu_dprintf uu_dprintf_t;
20506 
20507 typedef enum {
20508  UU_DPRINTF_SILENT,
20509  UU_DPRINTF_FATAL,
20510  UU_DPRINTF_WARNING,
20511  UU_DPRINTF_NOTICE,
20512  UU_DPRINTF_INFO,
20513  UU_DPRINTF_DEBUG
20514 } uu_dprintf_severity_t;
20515 
20516 extern uu_dprintf_t *uu_dprintf_create(const char *, uu_dprintf_severity_t,
20517     uint_t);
20518 /*PRINTFLIKE3*/
20519 extern void uu_dprintf(uu_dprintf_t *, uu_dprintf_severity_t,
20520     const char *, ...);
20521 extern void uu_dprintf_destroy(uu_dprintf_t *);
20522 extern const char *uu_dprintf_getname(uu_dprintf_t *);
20523 
20524 /*
20525  * Identifier test flags and function.
20526  */
20527 
20528 
20529 
20530 int uu_check_name(const char *, uint_t);
20531 
20532 /*
20533  * File creation functions.
20534  */
20535 extern int uu_open_tmp(const char *dir, uint_t uflags);
20536 
20537 /*
20538  * Convenience functions.
20539  */
20540 
20541 
20542 /*PRINTFLIKE1*/
20543 extern char *uu_msprintf(const char *format, ...);
20544 extern void *uu_zalloc(size_t);
20545 extern char *uu_strdup(const char *);
20546 extern void uu_free(void *);
20547 
20548 extern boolean_t uu_strcaseeq(const char *a, const char *b);
20549 extern boolean_t uu_streq(const char *a, const char *b);
20550 extern char *uu_strndup(const char *s, size_t n);
20551 extern boolean_t uu_strbw(const char *a, const char *b);
20552 extern void *uu_memdup(const void *buf, size_t sz);
20553 extern void uu_dump(FILE *out, const char *prefix, const void *buf, size_t len);
20554 
20555 /*
20556  * Comparison function type definition.
20557  *   Developers should be careful in their use of the _private argument. If you
20558  *   break interface guarantees, you get undefined behavior.
20559  */
20560 typedef int uu_compare_fn_t(const void *__left, const void *__right,
20561     void *__private);
20562 
20563 /*
20564  * Walk variant flags.
20565  *   A data structure need not provide support for all variants and
20566  *   combinations.  Refer to the appropriate documentation.
20567  */
20568 
20569 
20570 
20571 
20572 
20573 
20574 /*
20575  * Walk callback function return codes.
20576  */
20577 
20578 
20579 
20580 
20581 /*
20582  * Walk callback function type definition.
20583  */
20584 typedef int uu_walk_fn_t(void *_elem, void *_private);
20585 
20586 /*
20587  * lists: opaque structures
20588  */
20589 typedef struct uu_list_pool uu_list_pool_t;
20590 typedef struct uu_list uu_list_t;
20591 
20592 typedef struct uu_list_node {
20593  uintptr_t uln_opaque[2];
20594 } uu_list_node_t;
20595 
20596 typedef struct uu_list_walk uu_list_walk_t;
20597 
20598 typedef uintptr_t uu_list_index_t;
20599 
20600 /*
20601  * lists: interface
20602  *
20603  * basic usage:
20604  *	typedef struct foo {
20605  *		...
20606  *		uu_list_node_t foo_node;
20607  *		...
20608  *	} foo_t;
20609  *
20610  *	static int
20611  *	foo_compare(void *l_arg, void *r_arg, void *private)
20612  *	{
20613  *		foo_t *l = l_arg;
20614  *		foo_t *r = r_arg;
20615  *
20616  *		if (... l greater than r ...)
20617  *			return (1);
20618  *		if (... l less than r ...)
20619  *			return (-1);
20620  *		return (0);
20621  *	}
20622  *
20623  *	...
20624  *		// at initialization time
20625  *		foo_pool = uu_list_pool_create("foo_pool",
20626  *		    sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare,
20627  *		    debugging? 0 : UU_AVL_POOL_DEBUG);
20628  *	...
20629  */
20630 uu_list_pool_t *uu_list_pool_create(const char *, size_t, size_t,
20631     uu_compare_fn_t *, uint32_t);
20632 
20633 
20634 void uu_list_pool_destroy(uu_list_pool_t *);
20635 
20636 /*
20637  * usage:
20638  *
20639  *	foo_t *a;
20640  *	a = malloc(sizeof(*a));
20641  *	uu_list_node_init(a, &a->foo_list, pool);
20642  *	...
20643  *	uu_list_node_fini(a, &a->foo_list, pool);
20644  *	free(a);
20645  */
20646 void uu_list_node_init(void *, uu_list_node_t *, uu_list_pool_t *);
20647 void uu_list_node_fini(void *, uu_list_node_t *, uu_list_pool_t *);
20648 
20649 uu_list_t *uu_list_create(uu_list_pool_t *, void *_parent, uint32_t);
20650 
20651 
20652 
20653 void uu_list_destroy(uu_list_t *); /* list must be empty */
20654 
20655 size_t uu_list_numnodes(uu_list_t *);
20656 
20657 void *uu_list_first(uu_list_t *);
20658 void *uu_list_last(uu_list_t *);
20659 
20660 void *uu_list_next(uu_list_t *, void *);
20661 void *uu_list_prev(uu_list_t *, void *);
20662 
20663 int uu_list_walk(uu_list_t *, uu_walk_fn_t *, void *, uint32_t);
20664 
20665 uu_list_walk_t *uu_list_walk_start(uu_list_t *, uint32_t);
20666 void *uu_list_walk_next(uu_list_walk_t *);
20667 void uu_list_walk_end(uu_list_walk_t *);
20668 
20669 void *uu_list_find(uu_list_t *, void *, void *, uu_list_index_t *);
20670 void uu_list_insert(uu_list_t *, void *, uu_list_index_t);
20671 
20672 void *uu_list_nearest_next(uu_list_t *, uu_list_index_t);
20673 void *uu_list_nearest_prev(uu_list_t *, uu_list_index_t);
20674 
20675 void *uu_list_teardown(uu_list_t *, void **);
20676 
20677 void uu_list_remove(uu_list_t *, void *);
20678 
20679 /*
20680  * lists: interfaces for non-sorted lists only
20681  */
20682 int uu_list_insert_before(uu_list_t *, void *_target, void *_elem);
20683 int uu_list_insert_after(uu_list_t *, void *_target, void *_elem);
20684 
20685 /*
20686  * avl trees: opaque structures
20687  */
20688 typedef struct uu_avl_pool uu_avl_pool_t;
20689 typedef struct uu_avl uu_avl_t;
20690 
20691 typedef struct uu_avl_node {
20692 
20693  uintptr_t uan_opaque[3];
20694 
20695 
20696 
20697 } uu_avl_node_t;
20698 
20699 typedef struct uu_avl_walk uu_avl_walk_t;
20700 
20701 typedef uintptr_t uu_avl_index_t;
20702 
20703 /*
20704  * avl trees: interface
20705  *
20706  * basic usage:
20707  *	typedef struct foo {
20708  *		...
20709  *		uu_avl_node_t foo_node;
20710  *		...
20711  *	} foo_t;
20712  *
20713  *	static int
20714  *	foo_compare(void *l_arg, void *r_arg, void *private)
20715  *	{
20716  *		foo_t *l = l_arg;
20717  *		foo_t *r = r_arg;
20718  *
20719  *		if (... l greater than r ...)
20720  *			return (1);
20721  *		if (... l less than r ...)
20722  *			return (-1);
20723  *		return (0);
20724  *	}
20725  *
20726  *	...
20727  *		// at initialization time
20728  *		foo_pool = uu_avl_pool_create("foo_pool",
20729  *		    sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare,
20730  *		    debugging? 0 : UU_AVL_POOL_DEBUG);
20731  *	...
20732  */
20733 uu_avl_pool_t *uu_avl_pool_create(const char *, size_t, size_t,
20734     uu_compare_fn_t *, uint32_t);
20735 
20736 
20737 void uu_avl_pool_destroy(uu_avl_pool_t *);
20738 
20739 /*
20740  * usage:
20741  *
20742  *	foo_t *a;
20743  *	a = malloc(sizeof(*a));
20744  *	uu_avl_node_init(a, &a->foo_avl, pool);
20745  *	...
20746  *	uu_avl_node_fini(a, &a->foo_avl, pool);
20747  *	free(a);
20748  */
20749 void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *);
20750 void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *);
20751 
20752 uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t);
20753 
20754 
20755 void uu_avl_destroy(uu_avl_t *); /* list must be empty */
20756 
20757 size_t uu_avl_numnodes(uu_avl_t *);
20758 
20759 void *uu_avl_first(uu_avl_t *);
20760 void *uu_avl_last(uu_avl_t *);
20761 
20762 void *uu_avl_next(uu_avl_t *, void *);
20763 void *uu_avl_prev(uu_avl_t *, void *);
20764 
20765 int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t);
20766 
20767 uu_avl_walk_t *uu_avl_walk_start(uu_avl_t *, uint32_t);
20768 void *uu_avl_walk_next(uu_avl_walk_t *);
20769 void uu_avl_walk_end(uu_avl_walk_t *);
20770 
20771 void *uu_avl_find(uu_avl_t *, void *, void *, uu_avl_index_t *);
20772 void uu_avl_insert(uu_avl_t *, void *, uu_avl_index_t);
20773 
20774 void *uu_avl_nearest_next(uu_avl_t *, uu_avl_index_t);
20775 void *uu_avl_nearest_prev(uu_avl_t *, uu_avl_index_t);
20776 
20777 void *uu_avl_teardown(uu_avl_t *, void **);
20778 
20779 void uu_avl_remove(uu_avl_t *, void *);
20780 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
20781 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 1
20782 /*
20783  * CDDL HEADER START
20784  *
20785  * The contents of this file are subject to the terms of the
20786  * Common Development and Distribution License (the "License").
20787  * You may not use this file except in compliance with the License.
20788  *
20789  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20790  * or http://www.opensolaris.org/os/licensing.
20791  * See the License for the specific language governing permissions
20792  * and limitations under the License.
20793  *
20794  * When distributing Covered Code, include this CDDL HEADER in each
20795  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20796  * If applicable, add the following below this CDDL HEADER, with the
20797  * fields enclosed by brackets "[]" replaced with your own identifying
20798  * information: Portions Copyright [yyyy] [name of copyright owner]
20799  *
20800  * CDDL HEADER END
20801  */
20802 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20803 /*	  All Rights Reserved  	*/
20804 
20805 
20806 /*
20807  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20808  *
20809  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20810  * Use is subject to license terms.
20811  */
20812 
20813 
20814 
20815 
20816 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20817 /*
20818  * CDDL HEADER START
20819  *
20820  * The contents of this file are subject to the terms of the
20821  * Common Development and Distribution License (the "License").
20822  * You may not use this file except in compliance with the License.
20823  *
20824  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20825  * or http://www.opensolaris.org/os/licensing.
20826  * See the License for the specific language governing permissions
20827  * and limitations under the License.
20828  *
20829  * When distributing Covered Code, include this CDDL HEADER in each
20830  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20831  * If applicable, add the following below this CDDL HEADER, with the
20832  * fields enclosed by brackets "[]" replaced with your own identifying
20833  * information: Portions Copyright [yyyy] [name of copyright owner]
20834  *
20835  * CDDL HEADER END
20836  */
20837 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20838 /*	  All Rights Reserved  	*/
20839 
20840 
20841 /*
20842  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20843  * Use is subject to license terms.
20844  *
20845  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20846  * Copyright 2016 Joyent, Inc.
20847  */
20848 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 2
20849 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h"
20850 /*
20851  * The fields in struct extmnttab should match those in struct mnttab until new
20852  * fields are encountered. This allows hasmntopt(), getmntent_common() and
20853  * mntioctl() to cast one type to the other safely.
20854  *
20855  * The fields in struct mnttab, struct extmnttab and struct mntentbuf must all
20856  * match those in the corresponding 32-bit versions defined in mntvnops.c.
20857  */
20858 struct mnttab {
20859  char *mnt_special;
20860  char *mnt_mountp;
20861  char *mnt_fstype;
20862  char *mnt_mntopts;
20863  char *mnt_time;
20864 };
20865 
20866 struct extmnttab {
20867  char *mnt_special;
20868  char *mnt_mountp;
20869  char *mnt_fstype;
20870  char *mnt_mntopts;
20871  char *mnt_time;
20872  uint_t mnt_major;
20873  uint_t mnt_minor;
20874 };
20875 
20876 struct mntentbuf {
20877  struct extmnttab *mbuf_emp;
20878  size_t mbuf_bufsize;
20879  char *mbuf_buf;
20880 };
20881 
20882 
20883 extern void resetmnttab(FILE *);
20884 extern int getmntent(FILE *, struct mnttab *);
20885 extern int getextmntent(FILE *, struct extmnttab *, size_t);
20886 extern int getmntany(FILE *, struct mnttab *, struct mnttab *);
20887 extern char *hasmntopt(struct mnttab *, char *);
20888 extern char *mntopt(char **);
20889 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
20890 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1
20891 /*
20892  * CDDL HEADER START
20893  *
20894  * The contents of this file are subject to the terms of the
20895  * Common Development and Distribution License (the "License").
20896  * You may not use this file except in compliance with the License.
20897  *
20898  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20899  * or http://www.opensolaris.org/os/licensing.
20900  * See the License for the specific language governing permissions
20901  * and limitations under the License.
20902  *
20903  * When distributing Covered Code, include this CDDL HEADER in each
20904  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20905  * If applicable, add the following below this CDDL HEADER, with the
20906  * fields enclosed by brackets "[]" replaced with your own identifying
20907  * information: Portions Copyright [yyyy] [name of copyright owner]
20908  *
20909  * CDDL HEADER END
20910  */
20911 
20912 /*
20913  * Copyright (c) 2013 Gary Mills
20914  *
20915  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
20916  * Use is subject to license terms.
20917  */
20918 
20919 /*	Copyright (c) 1988 AT&T	*/
20920 /*	  All Rights Reserved  	*/
20921 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
20922 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 1
20923 /*
20924  * CDDL HEADER START
20925  *
20926  * The contents of this file are subject to the terms of the
20927  * Common Development and Distribution License, Version 1.0 only
20928  * (the "License").  You may not use this file except in compliance
20929  * with the License.
20930  *
20931  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20932  * or http://www.opensolaris.org/os/licensing.
20933  * See the License for the specific language governing permissions
20934  * and limitations under the License.
20935  *
20936  * When distributing Covered Code, include this CDDL HEADER in each
20937  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20938  * If applicable, add the following below this CDDL HEADER, with the
20939  * fields enclosed by brackets "[]" replaced with your own identifying
20940  * information: Portions Copyright [yyyy] [name of copyright owner]
20941  *
20942  * CDDL HEADER END
20943  */
20944 /*
20945  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20946  *
20947  * Copyright 1997 Sun Microsystems, Inc.  All rights reserved.
20948  * Use is subject to license terms.
20949  */
20950 
20951 /*	Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T	*/
20952 /*	  All Rights Reserved  	*/
20953 
20954 /*
20955  * Portions of this source code were derived from Berkeley 4.3 BSD
20956  * under license from the Regents of the University of California.
20957  */
20958 
20959 
20960 
20961 
20962 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
20963 /*
20964  * CDDL HEADER START
20965  *
20966  * The contents of this file are subject to the terms of the
20967  * Common Development and Distribution License (the "License").
20968  * You may not use this file except in compliance with the License.
20969  *
20970  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20971  * or http://www.opensolaris.org/os/licensing.
20972  * See the License for the specific language governing permissions
20973  * and limitations under the License.
20974  *
20975  * When distributing Covered Code, include this CDDL HEADER in each
20976  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20977  * If applicable, add the following below this CDDL HEADER, with the
20978  * fields enclosed by brackets "[]" replaced with your own identifying
20979  * information: Portions Copyright [yyyy] [name of copyright owner]
20980  *
20981  * CDDL HEADER END
20982  */
20983 
20984 /*
20985  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
20986  * Copyright 2016 Joyent, Inc.
20987  *
20988  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
20989  * Use is subject to license terms.
20990  */
20991 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
20992 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20993 /*
20994  * CDDL HEADER START
20995  *
20996  * The contents of this file are subject to the terms of the
20997  * Common Development and Distribution License (the "License").
20998  * You may not use this file except in compliance with the License.
20999  *
21000  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21001  * or http://www.opensolaris.org/os/licensing.
21002  * See the License for the specific language governing permissions
21003  * and limitations under the License.
21004  *
21005  * When distributing Covered Code, include this CDDL HEADER in each
21006  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21007  * If applicable, add the following below this CDDL HEADER, with the
21008  * fields enclosed by brackets "[]" replaced with your own identifying
21009  * information: Portions Copyright [yyyy] [name of copyright owner]
21010  *
21011  * CDDL HEADER END
21012  */
21013 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21014 /*	  All Rights Reserved  	*/
21015 
21016 
21017 /*
21018  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21019  * Use is subject to license terms.
21020  *
21021  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21022  * Copyright 2016 Joyent, Inc.
21023  */
21024 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
21025 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
21026 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21027 /*	  All Rights Reserved  	*/
21028 
21029 
21030 /*
21031  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
21032  * All rights reserved.  The Berkeley software License Agreement
21033  * specifies the terms and conditions for redistribution.
21034  */
21035 
21036 /*
21037  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
21038  *
21039  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21040  * Use is subject to license terms.
21041  *
21042  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21043  */
21044 
21045 /*
21046  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
21047  */
21048 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
21049 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 1
21050 /*
21051  * CDDL HEADER START
21052  *
21053  * The contents of this file are subject to the terms of the
21054  * Common Development and Distribution License, Version 1.0 only
21055  * (the "License").  You may not use this file except in compliance
21056  * with the License.
21057  *
21058  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21059  * or http://www.opensolaris.org/os/licensing.
21060  * See the License for the specific language governing permissions
21061  * and limitations under the License.
21062  *
21063  * When distributing Covered Code, include this CDDL HEADER in each
21064  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21065  * If applicable, add the following below this CDDL HEADER, with the
21066  * fields enclosed by brackets "[]" replaced with your own identifying
21067  * information: Portions Copyright [yyyy] [name of copyright owner]
21068  *
21069  * CDDL HEADER END
21070  */
21071 /*	Copyright (c) 1988 AT&T	*/
21072 /*	  All Rights Reserved  	*/
21073 
21074 
21075 /*
21076  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
21077  *
21078  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
21079  * Use is subject to license terms.
21080  */
21081 
21082 
21083 
21084 
21085 
21086 /*
21087  * Note:  The getutent(3c) family of interfaces are obsolete.
21088  * The getutxent(3c) family provide a superset of this functionality
21089  * and should be used in place of getutent(3c).
21090  */
21091 
21092 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
21093 /*
21094  * CDDL HEADER START
21095  *
21096  * The contents of this file are subject to the terms of the
21097  * Common Development and Distribution License (the "License").
21098  * You may not use this file except in compliance with the License.
21099  *
21100  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21101  * or http://www.opensolaris.org/os/licensing.
21102  * See the License for the specific language governing permissions
21103  * and limitations under the License.
21104  *
21105  * When distributing Covered Code, include this CDDL HEADER in each
21106  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21107  * If applicable, add the following below this CDDL HEADER, with the
21108  * fields enclosed by brackets "[]" replaced with your own identifying
21109  * information: Portions Copyright [yyyy] [name of copyright owner]
21110  *
21111  * CDDL HEADER END
21112  */
21113 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21114 /*	  All Rights Reserved  	*/
21115 
21116 
21117 /*
21118  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21119  * Use is subject to license terms.
21120  *
21121  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21122  * Copyright 2016 Joyent, Inc.
21123  */
21124 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
21125 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
21126 struct exit_status {
21127  short e_termination; /* Process termination status */
21128  short e_exit; /* Process exit status */
21129 };
21130 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
21131 /*
21132  * This data structure describes the utmp entries returned by
21133  * the getutent(3c) family of APIs.  It does not (necessarily)
21134  * correspond to the contents of the utmp or wtmp files.
21135  *
21136  * Applications should only interact with this subsystem via
21137  * the getutxent(3c) family of APIs, as the getutent(3c) family
21138  * are obsolete.
21139  */
21140 struct utmp {
21141  char ut_user[8]; /* User login name */
21142  char ut_id[4]; /* /etc/inittab id(usually line #) */
21143  char ut_line[12]; /* device name (console, lnxx) */
21144  short ut_pid; /* short for compat. - process id */
21145  short ut_type; /* type of entry */
21146  struct exit_status ut_exit; /* The exit status of a process */
21147      /* marked as DEAD_PROCESS. */
21148  time_t ut_time; /* time entry was made */
21149 };
21150 
21151 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
21152 /*
21153  * CDDL HEADER START
21154  *
21155  * The contents of this file are subject to the terms of the
21156  * Common Development and Distribution License (the "License").
21157  * You may not use this file except in compliance with the License.
21158  *
21159  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21160  * or http://www.opensolaris.org/os/licensing.
21161  * See the License for the specific language governing permissions
21162  * and limitations under the License.
21163  *
21164  * When distributing Covered Code, include this CDDL HEADER in each
21165  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21166  * If applicable, add the following below this CDDL HEADER, with the
21167  * fields enclosed by brackets "[]" replaced with your own identifying
21168  * information: Portions Copyright [yyyy] [name of copyright owner]
21169  *
21170  * CDDL HEADER END
21171  */
21172 /*
21173  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
21174  * Use is subject to license terms.
21175  * Copyright 2015 Nexenta Systems, Inc.
21176  */
21177 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
21178 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
21179 /*
21180  * CDDL HEADER START
21181  *
21182  * The contents of this file are subject to the terms of the
21183  * Common Development and Distribution License, Version 1.0 only
21184  * (the "License").  You may not use this file except in compliance
21185  * with the License.
21186  *
21187  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21188  * or http://www.opensolaris.org/os/licensing.
21189  * See the License for the specific language governing permissions
21190  * and limitations under the License.
21191  *
21192  * When distributing Covered Code, include this CDDL HEADER in each
21193  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21194  * If applicable, add the following below this CDDL HEADER, with the
21195  * fields enclosed by brackets "[]" replaced with your own identifying
21196  * information: Portions Copyright [yyyy] [name of copyright owner]
21197  *
21198  * CDDL HEADER END
21199  */
21200 /*
21201  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
21202  *
21203  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
21204  * Use is subject to license terms.
21205  */
21206 # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
21207 
21208 /*
21209  * This data structure describes the utmp *file* contents using
21210  * fixed-width data types.  It should only be used by the implementation.
21211  *
21212  * Applications should use the getutxent(3c) family of routines to interact
21213  * with this database.
21214  */
21215 
21216 struct futmp {
21217  char ut_user[8]; /* User login name */
21218  char ut_id[4]; /* /etc/inittab id */
21219  char ut_line[12]; /* device name (console, lnxx) */
21220  int16_t ut_pid; /* process id */
21221  int16_t ut_type; /* type of entry */
21222  struct {
21223   int16_t e_termination; /* Process termination status */
21224   int16_t e_exit; /* Process exit status */
21225  } ut_exit; /* The exit status of a process */
21226  time32_t ut_time; /* time entry was made */
21227 };
21228 
21229 
21230 
21231 /*	Definitions for ut_type						*/
21232 # 135 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
21233 /*	Special strings or formats used in the "ut_line" field when	*/
21234 /*	accounting for something other than a process.			*/
21235 /*	No string for the ut_line field can be more than 11 chars +	*/
21236 /*	a NULL in length.						*/
21237 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
21238 /*	Define and macro for determing if a normal user wrote the entry */
21239 /*	 and marking the utmpx entry as a normal user */
21240 
21241 
21242 
21243 
21244 
21245 extern void endutent(void);
21246 extern struct utmp *getutent(void);
21247 extern struct utmp *getutid(const struct utmp *);
21248 extern struct utmp *getutline(const struct utmp *);
21249 extern struct utmp *pututline(const struct utmp *);
21250 extern void setutent(void);
21251 extern int utmpname(const char *);
21252 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
21253 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h"
21254 /*
21255  * This data structure describes the utmpx entries returned by
21256  * the getutxent(3c) family of APIs.  It does not (necessarily)
21257  * correspond to the contents of the utmpx or wtmpx files.
21258  *
21259  * Applications should only interact with this subsystem via
21260  * the getutxent(3c) family of APIs.
21261  */
21262 struct utmpx {
21263  char ut_user[32]; /* user login name */
21264  char ut_id[4]; /* inittab id */
21265  char ut_line[32]; /* device name (console, lnxx) */
21266  pid_t ut_pid; /* process id */
21267  short ut_type; /* type of entry */
21268 
21269  struct exit_status ut_exit; /* process termination/exit status */
21270 
21271 
21272 
21273  struct timeval ut_tv; /* time entry was made */
21274  int ut_session; /* session ID, used for windowing */
21275 
21276  int pad[5]; /* reserved for future use */
21277 
21278 
21279 
21280  short ut_syslen; /* significant length of ut_host */
21281      /*   including terminating null */
21282  char ut_host[257]; /* remote host name */
21283 };
21284 
21285 
21286 
21287 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
21288 /*
21289  * CDDL HEADER START
21290  *
21291  * The contents of this file are subject to the terms of the
21292  * Common Development and Distribution License (the "License").
21293  * You may not use this file except in compliance with the License.
21294  *
21295  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21296  * or http://www.opensolaris.org/os/licensing.
21297  * See the License for the specific language governing permissions
21298  * and limitations under the License.
21299  *
21300  * When distributing Covered Code, include this CDDL HEADER in each
21301  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21302  * If applicable, add the following below this CDDL HEADER, with the
21303  * fields enclosed by brackets "[]" replaced with your own identifying
21304  * information: Portions Copyright [yyyy] [name of copyright owner]
21305  *
21306  * CDDL HEADER END
21307  */
21308 /*
21309  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
21310  * Use is subject to license terms.
21311  * Copyright 2015 Nexenta Systems, Inc.
21312  */
21313 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
21314 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
21315 /*
21316  * CDDL HEADER START
21317  *
21318  * The contents of this file are subject to the terms of the
21319  * Common Development and Distribution License, Version 1.0 only
21320  * (the "License").  You may not use this file except in compliance
21321  * with the License.
21322  *
21323  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21324  * or http://www.opensolaris.org/os/licensing.
21325  * See the License for the specific language governing permissions
21326  * and limitations under the License.
21327  *
21328  * When distributing Covered Code, include this CDDL HEADER in each
21329  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21330  * If applicable, add the following below this CDDL HEADER, with the
21331  * fields enclosed by brackets "[]" replaced with your own identifying
21332  * information: Portions Copyright [yyyy] [name of copyright owner]
21333  *
21334  * CDDL HEADER END
21335  */
21336 /*
21337  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
21338  *
21339  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
21340  * Use is subject to license terms.
21341  */
21342 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
21343 
21344 /*
21345  * This data structure describes the utmp *file* contents using
21346  * fixed-width data types.  It should only be used by the implementation.
21347  *
21348  * Applications should use the getutxent(3c) family of routines to interact
21349  * with this database.
21350  */
21351 
21352 struct futmpx {
21353  char ut_user[32]; /* user login name */
21354  char ut_id[4]; /* inittab id */
21355  char ut_line[32]; /* device name (console, lnxx) */
21356  pid32_t ut_pid; /* process id */
21357  int16_t ut_type; /* type of entry */
21358  struct {
21359   int16_t e_termination; /* process termination status */
21360   int16_t e_exit; /* process exit status */
21361  } ut_exit; /* exit status of a process */
21362  struct timeval32 ut_tv; /* time entry was made */
21363  int32_t ut_session; /* session ID, user for windowing */
21364  int32_t pad[5]; /* reserved for future use */
21365  int16_t ut_syslen; /* significant length of ut_host */
21366  char ut_host[257]; /* remote host name */
21367 };
21368 
21369 
21370 
21371 /*	Define and macro for determing if a normal user wrote the entry */
21372 /*	and marking the utmpx entry as a normal user */
21373 
21374 
21375 
21376 
21377 
21378 
21379 extern void endutxent(void);
21380 extern struct utmpx *getutxent(void);
21381 extern struct utmpx *getutxid(const struct utmpx *);
21382 extern struct utmpx *getutxline(const struct utmpx *);
21383 extern struct utmpx *pututxline(const struct utmpx *);
21384 extern void setutxent(void);
21385 
21386 
21387 extern int utmpxname(const char *);
21388 extern struct utmpx *makeutx(const struct utmpx *);
21389 extern struct utmpx *modutx(const struct utmpx *);
21390 extern void getutmp(const struct utmpx *, struct utmp *);
21391 extern void getutmpx(const struct utmp *, struct utmpx *);
21392 extern void updwtmp(const char *, struct utmp *);
21393 extern void updwtmpx(const char *, struct utmpx *);
21394 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
21395 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
21396 /*
21397  * Warning: these are shared with the admin/install consolidation.
21398  * Do not insert states between any of the currently defined states,
21399  * and any new states must be evaluated for impact on range comparisons.
21400  */
21401 # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
21402 /* Owner, group, and mode (defined by packaging) for the config directory */
21403 
21404 
21405 
21406 
21407 /* Owner, group, and mode (defined by packaging) for the index file */
21408 
21409 
21410 
21411 
21412 /* The maximum length of the VERSION string in the pkginfo(4) file. */
21413 
21414 
21415 /*
21416  * Shortened alias names for the zones rctls.
21417  */
21418 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
21419 /* Default name for zone detached manifest */
21420 
21421 
21422 /*
21423  * Bit flag definitions for passing into libzonecfg functions.
21424  */
21425 
21426 
21427 /*
21428  * The integer field expresses the current values on a get.
21429  * On a put, it represents the new values if >= 0 or "don't change" if < 0.
21430  */
21431 struct zoneent {
21432  char zone_name[64]; /* name of the zone */
21433  int zone_state; /* configured | incomplete | installed */
21434  char zone_path[1024]; /* path to zone storage */
21435  uuid_t zone_uuid; /* unique ID for zone */
21436  char zone_newname[64]; /* for doing renames */
21437 };
21438 
21439 typedef struct zone_dochandle *zone_dochandle_t; /* opaque handle */
21440 
21441 typedef uint_t zone_state_t;
21442 
21443 typedef struct zone_fsopt {
21444  struct zone_fsopt *zone_fsopt_next;
21445  char zone_fsopt_opt[1024];
21446 } zone_fsopt_t;
21447 
21448 struct zone_fstab {
21449  char zone_fs_special[1024]; /* special file */
21450  char zone_fs_dir[1024]; /* mount point */
21451  char zone_fs_type[16]; /* e.g. ufs */
21452  zone_fsopt_t *zone_fs_options; /* mount options */
21453  char zone_fs_raw[1024]; /* device to fsck */
21454 };
21455 
21456 struct zone_nwiftab {
21457  char zone_nwif_address[46]; /* shared-ip only */
21458  char zone_nwif_allowed_address[46]; /* excl-ip only */
21459  char zone_nwif_physical[32];
21460  char zone_nwif_defrouter[46];
21461 };
21462 
21463 struct zone_devtab {
21464  char zone_dev_match[1024];
21465 };
21466 
21467 struct zone_rctlvaltab {
21468  char zone_rctlval_priv[256];
21469  char zone_rctlval_limit[256];
21470  char zone_rctlval_action[256];
21471  struct zone_rctlvaltab *zone_rctlval_next;
21472 };
21473 
21474 struct zone_rctltab {
21475  char zone_rctl_name[256];
21476  struct zone_rctlvaltab *zone_rctl_valptr;
21477 };
21478 
21479 struct zone_attrtab {
21480  char zone_attr_name[256];
21481  char zone_attr_type[256];
21482  char zone_attr_value[2 * 1024];
21483 };
21484 
21485 struct zone_dstab {
21486  char zone_dataset_name[256];
21487 };
21488 
21489 struct zone_psettab {
21490  char zone_ncpu_min[256];
21491  char zone_ncpu_max[256];
21492  char zone_importance[256];
21493 };
21494 
21495 struct zone_mcaptab {
21496  char zone_physmem_cap[256];
21497 };
21498 
21499 struct zone_pkgtab {
21500  char zone_pkg_name[256];
21501  char zone_pkg_version[256];
21502 };
21503 
21504 struct zone_devpermtab {
21505  char zone_devperm_name[1024];
21506  uid_t zone_devperm_uid;
21507  gid_t zone_devperm_gid;
21508  mode_t zone_devperm_mode;
21509  char *zone_devperm_acl;
21510 };
21511 
21512 struct zone_admintab {
21513  char zone_admin_user[(sizeof (((struct utmpx *)0)->ut_user))];
21514  char zone_admin_auths[4096];
21515 };
21516 
21517 typedef struct zone_userauths {
21518  char user[(sizeof (((struct utmpx *)0)->ut_user))];
21519  char zonename[64];
21520  struct zone_userauths *next;
21521 } zone_userauths_t;
21522 
21523 typedef struct {
21524  uu_avl_node_t zpe_entry;
21525  char *zpe_name;
21526  char *zpe_vers;
21527 } zone_pkg_entry_t;
21528 
21529 typedef enum zone_iptype {
21530  ZS_SHARED,
21531  ZS_EXCLUSIVE
21532 } zone_iptype_t;
21533 
21534 /*
21535  * Basic configuration management routines.
21536  */
21537 extern zone_dochandle_t zonecfg_init_handle(void);
21538 extern int zonecfg_get_handle(const char *, zone_dochandle_t);
21539 extern int zonecfg_get_snapshot_handle(const char *, zone_dochandle_t);
21540 extern int zonecfg_get_template_handle(const char *, const char *,
21541     zone_dochandle_t);
21542 extern int zonecfg_get_xml_handle(const char *, zone_dochandle_t);
21543 extern int zonecfg_check_handle(zone_dochandle_t);
21544 extern void zonecfg_fini_handle(zone_dochandle_t);
21545 extern int zonecfg_destroy(const char *, boolean_t);
21546 extern int zonecfg_destroy_snapshot(const char *);
21547 extern int zonecfg_save(zone_dochandle_t);
21548 extern int zonecfg_create_snapshot(const char *);
21549 extern char *zonecfg_strerror(int);
21550 extern int zonecfg_access(const char *, int);
21551 extern void zonecfg_set_root(const char *);
21552 extern const char *zonecfg_get_root(void);
21553 extern boolean_t zonecfg_in_alt_root(void);
21554 extern int zonecfg_num_resources(zone_dochandle_t, char *);
21555 extern int zonecfg_del_all_resources(zone_dochandle_t, char *);
21556 extern boolean_t zonecfg_valid_ncpus(char *, char *);
21557 extern boolean_t zonecfg_valid_importance(char *);
21558 extern int zonecfg_str_to_bytes(char *, uint64_t *);
21559 extern boolean_t zonecfg_valid_memlimit(char *, uint64_t *);
21560 extern boolean_t zonecfg_valid_alias_limit(char *, char *, uint64_t *);
21561 
21562 /*
21563  * Zone name, path to zone directory, autoboot setting, pool, boot
21564  * arguments, and scheduling-class.
21565  */
21566 extern int zonecfg_validate_zonename(const char *);
21567 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t);
21568 extern int zonecfg_set_name(zone_dochandle_t, char *);
21569 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t);
21570 extern int zonecfg_set_zonepath(zone_dochandle_t, char *);
21571 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *);
21572 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t);
21573 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *);
21574 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t);
21575 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t);
21576 extern int zonecfg_set_pool(zone_dochandle_t, char *);
21577 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t);
21578 extern int zonecfg_set_bootargs(zone_dochandle_t, char *);
21579 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t);
21580 extern int zonecfg_set_sched(zone_dochandle_t, char *);
21581 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int);
21582 
21583 /*
21584  * Set/retrieve the brand for the zone
21585  */
21586 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t);
21587 extern int zonecfg_set_brand(zone_dochandle_t, char *);
21588 
21589 /*
21590  * Filesystem configuration.
21591  */
21592 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *);
21593 extern int zonecfg_delete_filesystem(zone_dochandle_t,
21594     struct zone_fstab *);
21595 extern int zonecfg_modify_filesystem(zone_dochandle_t,
21596     struct zone_fstab *, struct zone_fstab *);
21597 extern int zonecfg_lookup_filesystem(zone_dochandle_t,
21598     struct zone_fstab *);
21599 extern int zonecfg_add_fs_option(struct zone_fstab *, char *);
21600 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *);
21601 extern void zonecfg_free_fs_option_list(zone_fsopt_t *);
21602 extern int zonecfg_find_mounts(char *, int(*)(const struct mnttab *,
21603     void *), void *);
21604 
21605 /*
21606  * Network interface configuration.
21607  */
21608 extern int zonecfg_add_nwif(zone_dochandle_t, struct zone_nwiftab *);
21609 extern int zonecfg_delete_nwif(zone_dochandle_t, struct zone_nwiftab *);
21610 extern int zonecfg_modify_nwif(zone_dochandle_t, struct zone_nwiftab *,
21611     struct zone_nwiftab *);
21612 extern int zonecfg_lookup_nwif(zone_dochandle_t, struct zone_nwiftab *);
21613 
21614 /*
21615  * Hostid emulation configuration.
21616  */
21617 extern int zonecfg_get_hostid(zone_dochandle_t, char *, size_t);
21618 extern int zonecfg_set_hostid(zone_dochandle_t, const char *);
21619 
21620 /*
21621  * Allowed FS mounts configuration.
21622  */
21623 extern int zonecfg_get_fs_allowed(zone_dochandle_t, char *, size_t);
21624 extern int zonecfg_set_fs_allowed(zone_dochandle_t, const char *);
21625 
21626 /*
21627  * Device configuration and rule matching.
21628  */
21629 extern int zonecfg_add_dev(zone_dochandle_t, struct zone_devtab *);
21630 extern int zonecfg_delete_dev(zone_dochandle_t, struct zone_devtab *);
21631 extern int zonecfg_modify_dev(zone_dochandle_t, struct zone_devtab *,
21632     struct zone_devtab *);
21633 extern int zonecfg_lookup_dev(zone_dochandle_t, struct zone_devtab *);
21634 
21635 /*
21636  * Resource control configuration.
21637  */
21638 extern int zonecfg_add_rctl(zone_dochandle_t, struct zone_rctltab *);
21639 extern int zonecfg_delete_rctl(zone_dochandle_t, struct zone_rctltab *);
21640 extern int zonecfg_modify_rctl(zone_dochandle_t, struct zone_rctltab *,
21641     struct zone_rctltab *);
21642 extern int zonecfg_lookup_rctl(zone_dochandle_t, struct zone_rctltab *);
21643 extern int zonecfg_add_rctl_value(struct zone_rctltab *,
21644     struct zone_rctlvaltab *);
21645 extern int zonecfg_remove_rctl_value(struct zone_rctltab *,
21646     struct zone_rctlvaltab *);
21647 extern void zonecfg_free_rctl_value_list(struct zone_rctlvaltab *);
21648 extern boolean_t zonecfg_aliased_rctl_ok(zone_dochandle_t, char *);
21649 extern int zonecfg_set_aliased_rctl(zone_dochandle_t, char *, uint64_t);
21650 extern int zonecfg_get_aliased_rctl(zone_dochandle_t, char *, uint64_t *);
21651 extern int zonecfg_rm_aliased_rctl(zone_dochandle_t, char *);
21652 extern int zonecfg_apply_rctls(char *, zone_dochandle_t);
21653 
21654 /*
21655  * Generic attribute configuration and type/value extraction.
21656  */
21657 extern int zonecfg_add_attr(zone_dochandle_t, struct zone_attrtab *);
21658 extern int zonecfg_delete_attr(zone_dochandle_t, struct zone_attrtab *);
21659 extern int zonecfg_modify_attr(zone_dochandle_t, struct zone_attrtab *,
21660     struct zone_attrtab *);
21661 extern int zonecfg_lookup_attr(zone_dochandle_t, struct zone_attrtab *);
21662 extern int zonecfg_get_attr_boolean(const struct zone_attrtab *,
21663     boolean_t *);
21664 extern int zonecfg_get_attr_int(const struct zone_attrtab *, int64_t *);
21665 extern int zonecfg_get_attr_string(const struct zone_attrtab *, char *,
21666     size_t);
21667 extern int zonecfg_get_attr_uint(const struct zone_attrtab *, uint64_t *);
21668 
21669 /*
21670  * ZFS configuration.
21671  */
21672 extern int zonecfg_add_ds(zone_dochandle_t, struct zone_dstab *);
21673 extern int zonecfg_delete_ds(zone_dochandle_t, struct zone_dstab *);
21674 extern int zonecfg_modify_ds(zone_dochandle_t, struct zone_dstab *,
21675     struct zone_dstab *);
21676 extern int zonecfg_lookup_ds(zone_dochandle_t, struct zone_dstab *);
21677 
21678 /*
21679  * cpu-set configuration.
21680  */
21681 extern int zonecfg_add_pset(zone_dochandle_t, struct zone_psettab *);
21682 extern int zonecfg_delete_pset(zone_dochandle_t);
21683 extern int zonecfg_modify_pset(zone_dochandle_t, struct zone_psettab *);
21684 extern int zonecfg_lookup_pset(zone_dochandle_t, struct zone_psettab *);
21685 
21686 /*
21687  * mem-cap configuration.
21688  */
21689 extern int zonecfg_delete_mcap(zone_dochandle_t);
21690 extern int zonecfg_modify_mcap(zone_dochandle_t, struct zone_mcaptab *);
21691 extern int zonecfg_lookup_mcap(zone_dochandle_t, struct zone_mcaptab *);
21692 
21693 /*
21694  * Temporary pool support functions.
21695  */
21696 extern int zonecfg_destroy_tmp_pool(char *, char *, int);
21697 extern int zonecfg_bind_tmp_pool(zone_dochandle_t, zoneid_t, char *, int);
21698 extern int zonecfg_bind_pool(zone_dochandle_t, zoneid_t, char *, int);
21699 extern boolean_t zonecfg_warn_poold(zone_dochandle_t);
21700 extern int zonecfg_get_poolname(zone_dochandle_t, char *, char *, size_t);
21701 
21702 /*
21703  * Miscellaneous utility functions.
21704  */
21705 extern int zonecfg_enable_rcapd(char *, int);
21706 
21707 /*
21708  * attach/detach support.
21709  */
21710 extern int zonecfg_get_attach_handle(const char *, const char *,
21711     const char *, boolean_t, zone_dochandle_t);
21712 extern int zonecfg_attach_manifest(int, zone_dochandle_t,
21713     zone_dochandle_t);
21714 extern int zonecfg_detach_save(zone_dochandle_t, uint_t);
21715 extern boolean_t zonecfg_detached(const char *);
21716 extern void zonecfg_rm_detached(zone_dochandle_t, boolean_t forced);
21717 extern int zonecfg_dev_manifest(zone_dochandle_t);
21718 extern int zonecfg_devperms_apply(zone_dochandle_t, const char *,
21719     uid_t, gid_t, mode_t, const char *);
21720 extern void zonecfg_set_swinv(zone_dochandle_t);
21721 extern int zonecfg_add_pkg(zone_dochandle_t, char *, char *);
21722 
21723 /*
21724  * External zone verification support.
21725  */
21726 extern int zonecfg_verify_save(zone_dochandle_t, char *);
21727 
21728 /*
21729  * '*ent' iterator routines.
21730  */
21731 extern int zonecfg_setfsent(zone_dochandle_t);
21732 extern int zonecfg_getfsent(zone_dochandle_t, struct zone_fstab *);
21733 extern int zonecfg_endfsent(zone_dochandle_t);
21734 extern int zonecfg_setnwifent(zone_dochandle_t);
21735 extern int zonecfg_getnwifent(zone_dochandle_t, struct zone_nwiftab *);
21736 extern int zonecfg_endnwifent(zone_dochandle_t);
21737 extern int zonecfg_setdevent(zone_dochandle_t);
21738 extern int zonecfg_getdevent(zone_dochandle_t, struct zone_devtab *);
21739 extern int zonecfg_enddevent(zone_dochandle_t);
21740 extern int zonecfg_setattrent(zone_dochandle_t);
21741 extern int zonecfg_getattrent(zone_dochandle_t, struct zone_attrtab *);
21742 extern int zonecfg_endattrent(zone_dochandle_t);
21743 extern int zonecfg_setrctlent(zone_dochandle_t);
21744 extern int zonecfg_getrctlent(zone_dochandle_t, struct zone_rctltab *);
21745 extern int zonecfg_endrctlent(zone_dochandle_t);
21746 extern int zonecfg_setdsent(zone_dochandle_t);
21747 extern int zonecfg_getdsent(zone_dochandle_t, struct zone_dstab *);
21748 extern int zonecfg_enddsent(zone_dochandle_t);
21749 extern int zonecfg_getpsetent(zone_dochandle_t, struct zone_psettab *);
21750 extern int zonecfg_getmcapent(zone_dochandle_t, struct zone_mcaptab *);
21751 extern int zonecfg_getpkgdata(zone_dochandle_t, uu_avl_pool_t *,
21752     uu_avl_t *);
21753 extern int zonecfg_setdevperment(zone_dochandle_t);
21754 extern int zonecfg_getdevperment(zone_dochandle_t,
21755     struct zone_devpermtab *);
21756 extern int zonecfg_enddevperment(zone_dochandle_t);
21757 extern int zonecfg_setadminent(zone_dochandle_t);
21758 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *);
21759 extern int zonecfg_endadminent(zone_dochandle_t);
21760 
21761 /*
21762  * Privilege-related functions.
21763  */
21764 extern int zonecfg_default_privset(priv_set_t *, const char *);
21765 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *,
21766     char **);
21767 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **);
21768 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *);
21769 
21770 /*
21771  * Higher-level routines.
21772  */
21773 extern int zone_get_brand(char *, char *, size_t);
21774 extern int zone_get_rootpath(char *, char *, size_t);
21775 extern int zone_get_devroot(char *, char *, size_t);
21776 extern int zone_get_zonepath(char *, char *, size_t);
21777 extern int zone_get_state(char *, zone_state_t *);
21778 extern int zone_set_state(char *, zone_state_t);
21779 extern char *zone_state_str(zone_state_t);
21780 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t);
21781 extern int zonecfg_get_uuid(const char *, uuid_t);
21782 extern int zonecfg_default_brand(char *, size_t);
21783 
21784 /*
21785  * Iterator for configured zones.
21786  */
21787 extern FILE *setzoneent(void);
21788 extern char *getzoneent(FILE *);
21789 extern struct zoneent *getzoneent_private(FILE *);
21790 extern void endzoneent(FILE *);
21791 
21792 /*
21793  * File-system-related convenience functions.
21794  */
21795 extern boolean_t zonecfg_valid_fs_type(const char *);
21796 
21797 /*
21798  * Network-related convenience functions.
21799  */
21800 extern boolean_t zonecfg_same_net_address(char *, char *);
21801 extern int zonecfg_valid_net_address(char *, struct lifreq *);
21802 extern boolean_t zonecfg_ifname_exists(sa_family_t, char *);
21803 
21804 /*
21805  * Rctl-related common functions.
21806  */
21807 extern boolean_t zonecfg_is_rctl(const char *);
21808 extern boolean_t zonecfg_valid_rctlname(const char *);
21809 extern boolean_t zonecfg_valid_rctlblk(const rctlblk_t *);
21810 extern boolean_t zonecfg_valid_rctl(const char *, const rctlblk_t *);
21811 extern int zonecfg_construct_rctlblk(const struct zone_rctlvaltab *,
21812     rctlblk_t *);
21813 
21814 /*
21815  * Live Upgrade support functions.  Shared between ON and install gate.
21816  */
21817 extern FILE *zonecfg_open_scratch(const char *, boolean_t);
21818 extern int zonecfg_lock_scratch(FILE *);
21819 extern void zonecfg_close_scratch(FILE *);
21820 extern int zonecfg_get_scratch(FILE *, char *, size_t, char *, size_t, char *,
21821     size_t);
21822 extern int zonecfg_find_scratch(FILE *, const char *, const char *, char *,
21823     size_t);
21824 extern int zonecfg_reverse_scratch(FILE *, const char *, char *, size_t,
21825     char *, size_t);
21826 extern int zonecfg_add_scratch(FILE *, const char *, const char *,
21827     const char *);
21828 extern int zonecfg_delete_scratch(FILE *, const char *);
21829 extern boolean_t zonecfg_is_scratch(const char *);
21830 
21831 /*
21832  * zoneadmd support functions.  Shared between zoneadm and brand hook code.
21833  */
21834 extern void zonecfg_init_lock_file(const char *, char **);
21835 extern void zonecfg_release_lock_file(const char *, int);
21836 extern int zonecfg_grab_lock_file(const char *, int *);
21837 extern boolean_t zonecfg_lock_file_held(int *);
21838 extern int zonecfg_ping_zoneadmd(const char *);
21839 extern int zonecfg_call_zoneadmd(const char *, zone_cmd_arg_t *, char *,
21840     boolean_t);
21841 extern int zonecfg_insert_userauths(zone_dochandle_t, char *, char *);
21842 extern int zonecfg_remove_userauths(zone_dochandle_t, char *, char *,
21843     boolean_t);
21844 extern int zonecfg_add_admin(zone_dochandle_t, struct zone_admintab *,
21845     char *);
21846 extern int zonecfg_delete_admin(zone_dochandle_t,
21847     struct zone_admintab *, char *);
21848 extern int zonecfg_modify_admin(zone_dochandle_t, struct zone_admintab *,
21849     struct zone_admintab *, char *);
21850 extern int zonecfg_delete_admins(zone_dochandle_t, char *);
21851 extern int zonecfg_lookup_admin(zone_dochandle_t, struct zone_admintab *);
21852 extern int zonecfg_authorize_users(zone_dochandle_t, char *);
21853 extern int zonecfg_update_userauths(zone_dochandle_t, char *);
21854 extern int zonecfg_deauthorize_user(zone_dochandle_t, char *, char *);
21855 extern int zonecfg_deauthorize_users(zone_dochandle_t, char *);
21856 extern boolean_t zonecfg_valid_auths(const char *, const char *);
21857 # 47 "../common/instzones_lib.h" 2
21858 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 1
21859 /*
21860  * CDDL HEADER START
21861  *
21862  * The contents of this file are subject to the terms of the
21863  * Common Development and Distribution License (the "License").
21864  * You may not use this file except in compliance with the License.
21865  *
21866  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21867  * or http://www.opensolaris.org/os/licensing.
21868  * See the License for the specific language governing permissions
21869  * and limitations under the License.
21870  *
21871  * When distributing Covered Code, include this CDDL HEADER in each
21872  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21873  * If applicable, add the following below this CDDL HEADER, with the
21874  * fields enclosed by brackets "[]" replaced with your own identifying
21875  * information: Portions Copyright [yyyy] [name of copyright owner]
21876  *
21877  * CDDL HEADER END
21878  */
21879 /*
21880  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
21881  * Use is subject to license terms.
21882  */
21883 
21884 
21885 
21886 
21887 #pragma ident "%Z%%M%	%I%	%E% SMI"
21888 
21889 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
21890 /*
21891  * CDDL HEADER START
21892  *
21893  * The contents of this file are subject to the terms of the
21894  * Common Development and Distribution License (the "License").
21895  * You may not use this file except in compliance with the License.
21896  *
21897  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21898  * or http://www.opensolaris.org/os/licensing.
21899  * See the License for the specific language governing permissions
21900  * and limitations under the License.
21901  *
21902  * When distributing Covered Code, include this CDDL HEADER in each
21903  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21904  * If applicable, add the following below this CDDL HEADER, with the
21905  * fields enclosed by brackets "[]" replaced with your own identifying
21906  * information: Portions Copyright [yyyy] [name of copyright owner]
21907  *
21908  * CDDL HEADER END
21909  */
21910 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21911 /*	  All Rights Reserved  	*/
21912 
21913 
21914 /*
21915  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21916  * Use is subject to license terms.
21917  *
21918  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21919  * Copyright 2016 Joyent, Inc.
21920  */
21921 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2
21922 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 1
21923 /*
21924  * CDDL HEADER START
21925  *
21926  * The contents of this file are subject to the terms of the
21927  * Common Development and Distribution License (the "License").
21928  * You may not use this file except in compliance with the License.
21929  *
21930  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21931  * or http://www.opensolaris.org/os/licensing.
21932  * See the License for the specific language governing permissions
21933  * and limitations under the License.
21934  *
21935  * When distributing Covered Code, include this CDDL HEADER in each
21936  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21937  * If applicable, add the following below this CDDL HEADER, with the
21938  * fields enclosed by brackets "[]" replaced with your own identifying
21939  * information: Portions Copyright [yyyy] [name of copyright owner]
21940  *
21941  * CDDL HEADER END
21942  */
21943 /*
21944  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
21945  * Use is subject to license terms.
21946  */
21947 
21948 
21949 
21950 
21951 #pragma ident "%Z%%M%	%I%	%E% SMI"
21952 
21953 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
21954 /*
21955  * CDDL HEADER START
21956  *
21957  * The contents of this file are subject to the terms of the
21958  * Common Development and Distribution License (the "License").
21959  * You may not use this file except in compliance with the License.
21960  *
21961  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21962  * or http://www.opensolaris.org/os/licensing.
21963  * See the License for the specific language governing permissions
21964  * and limitations under the License.
21965  *
21966  * When distributing Covered Code, include this CDDL HEADER in each
21967  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21968  * If applicable, add the following below this CDDL HEADER, with the
21969  * fields enclosed by brackets "[]" replaced with your own identifying
21970  * information: Portions Copyright [yyyy] [name of copyright owner]
21971  *
21972  * CDDL HEADER END
21973  */
21974 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21975 /*	  All Rights Reserved  	*/
21976 
21977 
21978 /*
21979  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21980  * Use is subject to license terms.
21981  *
21982  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21983  * Copyright 2016 Joyent, Inc.
21984  */
21985 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 2
21986 
21987 
21988 
21989 
21990 
21991 typedef uint64_t ctevid_t;
21992 
21993 /*
21994  * Contract parameter maximum size, in bytes
21995  */
21996 
21997 
21998 /*
21999  * Common event types
22000  */
22001 
22002 
22003 /*
22004  * Level of status detail requested
22005  */
22006 
22007 
22008 
22009 
22010 /*
22011  * Values for ctev_flags.
22012  */
22013 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h"
22014 typedef enum ctstate {
22015  CTS_OWNED, /* contract is owned by a process */
22016  CTS_INHERITED, /* contract has been inherited by its parent */
22017  CTS_ORPHAN, /* contract has no parent */
22018  CTS_DEAD /* contract has been destroyed */
22019 } ctstate_t;
22020 
22021 typedef enum ct_typeid {
22022  CTT_PROCESS, /* process contract */
22023  CTT_DEVICE, /* device contract */
22024  CTT_MAXTYPE
22025 } ct_typeid_t;
22026 
22027 typedef struct ct_event {
22028  ctid_t ctev_id;
22029  uint32_t ctev_pad1;
22030  ctevid_t ctev_evid;
22031  ct_typeid_t ctev_cttype;
22032  uint32_t ctev_flags;
22033  uint32_t ctev_type;
22034  uint32_t ctev_nbytes;
22035  uint32_t ctev_goffset;
22036  uint32_t ctev_pad2;
22037  char *ctev_buffer;
22038 } ct_event_t;
22039 
22040 typedef struct ct_status {
22041  ctid_t ctst_id;
22042  zoneid_t ctst_zoneid;
22043  ct_typeid_t ctst_type;
22044  pid_t ctst_holder;
22045  ctstate_t ctst_state;
22046  int ctst_nevents;
22047  int ctst_ntime;
22048  int ctst_qtime;
22049  uint64_t ctst_nevid;
22050  uint_t ctst_detail;
22051  size_t ctst_nbytes;
22052  uint_t ctst_critical;
22053  uint_t ctst_informative;
22054  uint64_t ctst_cookie;
22055  char *ctst_buffer;
22056 } ct_status_t;
22057 
22058 typedef struct ct_param {
22059  uint32_t ctpm_id;
22060  uint32_t ctpm_size;
22061  void *ctpm_value;
22062 } ct_param_t;
22063 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2
22064 
22065 
22066 
22067 
22068 
22069 typedef void *ct_stathdl_t;
22070 typedef void *ct_evthdl_t;
22071 
22072 /*
22073  * Common routines
22074  */
22075 extern int ct_tmpl_activate(int);
22076 extern int ct_tmpl_clear(int);
22077 extern int ct_tmpl_create(int, ctid_t *);
22078 extern int ct_tmpl_set_cookie(int, uint64_t);
22079 extern int ct_tmpl_get_cookie(int, uint64_t *);
22080 extern int ct_tmpl_set_critical(int, uint_t);
22081 extern int ct_tmpl_get_critical(int, uint_t *);
22082 extern int ct_tmpl_set_informative(int, uint_t);
22083 extern int ct_tmpl_get_informative(int, uint_t *);
22084 
22085 extern int ct_ctl_adopt(int);
22086 extern int ct_ctl_abandon(int);
22087 extern int ct_ctl_ack(int, ctevid_t);
22088 extern int ct_ctl_nack(int, ctevid_t);
22089 extern int ct_ctl_qack(int, ctevid_t);
22090 extern int ct_ctl_newct(int, ctevid_t, int);
22091 
22092 extern int ct_status_read(int, int, ct_stathdl_t *);
22093 extern void ct_status_free(ct_stathdl_t);
22094 
22095 extern ctid_t ct_status_get_id(ct_stathdl_t);
22096 extern zoneid_t ct_status_get_zoneid(ct_stathdl_t);
22097 extern const char *ct_status_get_type(ct_stathdl_t);
22098 extern id_t ct_status_get_holder(ct_stathdl_t);
22099 extern ctstate_t ct_status_get_state(ct_stathdl_t);
22100 extern int ct_status_get_nevents(ct_stathdl_t);
22101 extern int ct_status_get_ntime(ct_stathdl_t);
22102 extern int ct_status_get_qtime(ct_stathdl_t);
22103 extern ctevid_t ct_status_get_nevid(ct_stathdl_t);
22104 extern uint_t ct_status_get_informative(ct_stathdl_t);
22105 extern uint_t ct_status_get_critical(ct_stathdl_t);
22106 extern uint64_t ct_status_get_cookie(ct_stathdl_t);
22107 
22108 extern int ct_event_read(int, ct_evthdl_t *);
22109 extern int ct_event_read_critical(int, ct_evthdl_t *);
22110 extern int ct_event_reset(int);
22111 extern int ct_event_reliable(int);
22112 extern void ct_event_free(ct_evthdl_t);
22113 
22114 extern uint_t ct_event_get_flags(ct_evthdl_t);
22115 extern ctid_t ct_event_get_ctid(ct_evthdl_t);
22116 extern ctevid_t ct_event_get_evid(ct_evthdl_t);
22117 extern uint_t ct_event_get_type(ct_evthdl_t);
22118 extern int ct_event_get_nevid(ct_evthdl_t, ctevid_t *);
22119 extern int ct_event_get_newct(ct_evthdl_t, ctid_t *);
22120 
22121 /*
22122  * Process contract routines
22123  */
22124 extern int ct_pr_tmpl_set_transfer(int, ctid_t);
22125 extern int ct_pr_tmpl_set_fatal(int, uint_t);
22126 extern int ct_pr_tmpl_set_param(int, uint_t);
22127 extern int ct_pr_tmpl_set_svc_fmri(int, const char *);
22128 extern int ct_pr_tmpl_set_svc_aux(int, const char *);
22129 
22130 extern int ct_pr_tmpl_get_transfer(int, ctid_t *);
22131 extern int ct_pr_tmpl_get_fatal(int, uint_t *);
22132 extern int ct_pr_tmpl_get_param(int, uint_t *);
22133 extern int ct_pr_tmpl_get_svc_fmri(int, char *, size_t);
22134 extern int ct_pr_tmpl_get_svc_aux(int, char *, size_t);
22135 
22136 extern int ct_pr_event_get_pid(ct_evthdl_t, pid_t *);
22137 extern int ct_pr_event_get_ppid(ct_evthdl_t, pid_t *);
22138 extern int ct_pr_event_get_signal(ct_evthdl_t, int *);
22139 extern int ct_pr_event_get_sender(ct_evthdl_t, pid_t *);
22140 extern int ct_pr_event_get_senderct(ct_evthdl_t, ctid_t *);
22141 extern int ct_pr_event_get_exitstatus(ct_evthdl_t, int *);
22142 extern int ct_pr_event_get_pcorefile(ct_evthdl_t, const char **);
22143 extern int ct_pr_event_get_gcorefile(ct_evthdl_t, const char **);
22144 extern int ct_pr_event_get_zcorefile(ct_evthdl_t, const char **);
22145 
22146 extern int ct_pr_status_get_param(ct_stathdl_t, uint_t *);
22147 extern int ct_pr_status_get_fatal(ct_stathdl_t, uint_t *);
22148 extern int ct_pr_status_get_members(ct_stathdl_t, pid_t **, uint_t *);
22149 extern int ct_pr_status_get_contracts(ct_stathdl_t, ctid_t **, uint_t *);
22150 extern int ct_pr_status_get_svc_fmri(ct_stathdl_t, char **);
22151 extern int ct_pr_status_get_svc_aux(ct_stathdl_t, char **);
22152 extern int ct_pr_status_get_svc_ctid(ct_stathdl_t, ctid_t *);
22153 extern int ct_pr_status_get_svc_creator(ct_stathdl_t, char **);
22154 
22155 /*
22156  * Device contract routines
22157  */
22158 int ct_dev_tmpl_set_minor(int, char *);
22159 int ct_dev_tmpl_set_aset(int, uint_t);
22160 int ct_dev_tmpl_set_noneg(int);
22161 int ct_dev_tmpl_clear_noneg(int);
22162 int ct_dev_tmpl_get_minor(int, char *, size_t *);
22163 int ct_dev_tmpl_get_aset(int, uint_t *);
22164 int ct_dev_tmpl_get_noneg(int, uint_t *);
22165 int ct_dev_status_get_aset(ct_stathdl_t, uint_t *);
22166 int ct_dev_status_get_noneg(ct_stathdl_t, uint_t *);
22167 int ct_dev_status_get_dev_state(ct_stathdl_t, uint_t *);
22168 int ct_dev_status_get_minor(ct_stathdl_t, char **);
22169 # 48 "../common/instzones_lib.h" 2
22170 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 1
22171 /*
22172  * CDDL HEADER START
22173  *
22174  * The contents of this file are subject to the terms of the
22175  * Common Development and Distribution License (the "License").
22176  * You may not use this file except in compliance with the License.
22177  *
22178  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22179  * or http://www.opensolaris.org/os/licensing.
22180  * See the License for the specific language governing permissions
22181  * and limitations under the License.
22182  *
22183  * When distributing Covered Code, include this CDDL HEADER in each
22184  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22185  * If applicable, add the following below this CDDL HEADER, with the
22186  * fields enclosed by brackets "[]" replaced with your own identifying
22187  * information: Portions Copyright [yyyy] [name of copyright owner]
22188  *
22189  * CDDL HEADER END
22190  */
22191 
22192 /*
22193  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
22194  */
22195 
22196 
22197 
22198 
22199 
22200 /*
22201  * Module:	instzones_api.h
22202  * Group:	libinstzones
22203  * Description:	This module contains the libinstzones API data structures,
22204  *		constants, and function prototypes.
22205  */
22206 
22207 /*
22208  * required includes
22209  */
22210 
22211 /* System includes */
22212 
22213 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1
22214 /*
22215  * CDDL HEADER START
22216  *
22217  * The contents of this file are subject to the terms of the
22218  * Common Development and Distribution License, Version 1.0 only
22219  * (the "License").  You may not use this file except in compliance
22220  * with the License.
22221  *
22222  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22223  * or http://www.opensolaris.org/os/licensing.
22224  * See the License for the specific language governing permissions
22225  * and limitations under the License.
22226  *
22227  * When distributing Covered Code, include this CDDL HEADER in each
22228  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22229  * If applicable, add the following below this CDDL HEADER, with the
22230  * fields enclosed by brackets "[]" replaced with your own identifying
22231  * information: Portions Copyright [yyyy] [name of copyright owner]
22232  *
22233  * CDDL HEADER END
22234  */
22235 /*	Copyright (c) 1988 AT&T	*/
22236 /*	  All Rights Reserved	*/
22237 
22238 /*
22239  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
22240  *
22241  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
22242  * Use is subject to license terms.
22243  */
22244 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22245 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
22246 /*
22247  * CDDL HEADER START
22248  *
22249  * The contents of this file are subject to the terms of the
22250  * Common Development and Distribution License (the "License").
22251  * You may not use this file except in compliance with the License.
22252  *
22253  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22254  * or http://www.opensolaris.org/os/licensing.
22255  * See the License for the specific language governing permissions
22256  * and limitations under the License.
22257  *
22258  * When distributing Covered Code, include this CDDL HEADER in each
22259  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22260  * If applicable, add the following below this CDDL HEADER, with the
22261  * fields enclosed by brackets "[]" replaced with your own identifying
22262  * information: Portions Copyright [yyyy] [name of copyright owner]
22263  *
22264  * CDDL HEADER END
22265  */
22266 
22267 /*
22268  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
22269  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
22270  */
22271 
22272 /*	Copyright (c) 1988 AT&T	*/
22273 /*	  All Rights Reserved  	*/
22274 
22275 /*
22276  * User-visible pieces of the ANSI C standard I/O package.
22277  */
22278 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22279 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
22280 /*
22281  * CDDL HEADER START
22282  *
22283  * The contents of this file are subject to the terms of the
22284  * Common Development and Distribution License (the "License").
22285  * You may not use this file except in compliance with the License.
22286  *
22287  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22288  * or http://www.opensolaris.org/os/licensing.
22289  * See the License for the specific language governing permissions
22290  * and limitations under the License.
22291  *
22292  * When distributing Covered Code, include this CDDL HEADER in each
22293  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22294  * If applicable, add the following below this CDDL HEADER, with the
22295  * fields enclosed by brackets "[]" replaced with your own identifying
22296  * information: Portions Copyright [yyyy] [name of copyright owner]
22297  *
22298  * CDDL HEADER END
22299  */
22300 
22301 /*
22302  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
22303  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
22304  */
22305 
22306 /*	Copyright (c) 1988 AT&T	*/
22307 /*	  All Rights Reserved  	*/
22308 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22309 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 1
22310 /*
22311  * CDDL HEADER START
22312  *
22313  * The contents of this file are subject to the terms of the
22314  * Common Development and Distribution License, Version 1.0 only
22315  * (the "License").  You may not use this file except in compliance
22316  * with the License.
22317  *
22318  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22319  * or http://www.opensolaris.org/os/licensing.
22320  * See the License for the specific language governing permissions
22321  * and limitations under the License.
22322  *
22323  * When distributing Covered Code, include this CDDL HEADER in each
22324  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22325  * If applicable, add the following below this CDDL HEADER, with the
22326  * fields enclosed by brackets "[]" replaced with your own identifying
22327  * information: Portions Copyright [yyyy] [name of copyright owner]
22328  *
22329  * CDDL HEADER END
22330  */
22331 /*	Copyright (c) 1988 AT&T	*/
22332 /*	  All Rights Reserved  	*/
22333 
22334 
22335 
22336 
22337 
22338 #pragma ident "%Z%%M%	%I%	%E% SMI"
22339 
22340 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 1
22341 /*
22342  * CDDL HEADER START
22343  *
22344  * The contents of this file are subject to the terms of the
22345  * Common Development and Distribution License (the "License").
22346  * You may not use this file except in compliance with the License.
22347  *
22348  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22349  * or http://www.opensolaris.org/os/licensing.
22350  * See the License for the specific language governing permissions
22351  * and limitations under the License.
22352  *
22353  * When distributing Covered Code, include this CDDL HEADER in each
22354  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22355  * If applicable, add the following below this CDDL HEADER, with the
22356  * fields enclosed by brackets "[]" replaced with your own identifying
22357  * information: Portions Copyright [yyyy] [name of copyright owner]
22358  *
22359  * CDDL HEADER END
22360  */
22361 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
22362 /*	  All Rights Reserved  	*/
22363 
22364 
22365 /*
22366  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
22367  *
22368  * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
22369  */
22370 
22371 
22372 
22373 
22374 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
22375 /*
22376  * CDDL HEADER START
22377  *
22378  * The contents of this file are subject to the terms of the
22379  * Common Development and Distribution License (the "License").
22380  * You may not use this file except in compliance with the License.
22381  *
22382  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22383  * or http://www.opensolaris.org/os/licensing.
22384  * See the License for the specific language governing permissions
22385  * and limitations under the License.
22386  *
22387  * When distributing Covered Code, include this CDDL HEADER in each
22388  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22389  * If applicable, add the following below this CDDL HEADER, with the
22390  * fields enclosed by brackets "[]" replaced with your own identifying
22391  * information: Portions Copyright [yyyy] [name of copyright owner]
22392  *
22393  * CDDL HEADER END
22394  */
22395 
22396 /*
22397  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
22398  * Copyright 2016 Joyent, Inc.
22399  *
22400  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
22401  * Use is subject to license terms.
22402  */
22403 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
22404 
22405 
22406 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ttydev.h" 1
22407 /*
22408  * CDDL HEADER START
22409  *
22410  * The contents of this file are subject to the terms of the
22411  * Common Development and Distribution License, Version 1.0 only
22412  * (the "License").  You may not use this file except in compliance
22413  * with the License.
22414  *
22415  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22416  * or http://www.opensolaris.org/os/licensing.
22417  * See the License for the specific language governing permissions
22418  * and limitations under the License.
22419  *
22420  * When distributing Covered Code, include this CDDL HEADER in each
22421  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22422  * If applicable, add the following below this CDDL HEADER, with the
22423  * fields enclosed by brackets "[]" replaced with your own identifying
22424  * information: Portions Copyright [yyyy] [name of copyright owner]
22425  *
22426  * CDDL HEADER END
22427  */
22428 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
22429 /*	  All Rights Reserved  	*/
22430 
22431 
22432 
22433 
22434 
22435 #pragma ident "%Z%%M%	%I%	%E% SMI"
22436 
22437 
22438 
22439 
22440 
22441 /*
22442  * Terminal definitions related to underlying hardware.
22443  */
22444 
22445 /*
22446  * Speeds
22447  */
22448 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
22449 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
22450 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
22451 /*	  All Rights Reserved  	*/
22452 
22453 
22454 /*
22455  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
22456  * All rights reserved.  The Berkeley software License Agreement
22457  * specifies the terms and conditions for redistribution.
22458  */
22459 
22460 /*
22461  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
22462  *
22463  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
22464  * Use is subject to license terms.
22465  *
22466  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
22467  */
22468 
22469 /*
22470  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
22471  */
22472 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
22473 
22474 
22475 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
22476 /*
22477  * CDDL HEADER START
22478  *
22479  * The contents of this file are subject to the terms of the
22480  * Common Development and Distribution License (the "License").
22481  * You may not use this file except in compliance with the License.
22482  *
22483  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22484  * or http://www.opensolaris.org/os/licensing.
22485  * See the License for the specific language governing permissions
22486  * and limitations under the License.
22487  *
22488  * When distributing Covered Code, include this CDDL HEADER in each
22489  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22490  * If applicable, add the following below this CDDL HEADER, with the
22491  * fields enclosed by brackets "[]" replaced with your own identifying
22492  * information: Portions Copyright [yyyy] [name of copyright owner]
22493  *
22494  * CDDL HEADER END
22495  */
22496 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
22497 /*	  All Rights Reserved  	*/
22498 
22499 
22500 /*
22501  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
22502  * Use is subject to license terms.
22503  *
22504  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
22505  * Copyright 2016 Joyent, Inc.
22506  */
22507 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
22508 
22509 
22510 
22511 
22512 
22513 /*
22514  * _POSIX_VDISABLE has been defined in <sys/termios.h> since the
22515  * introduction of the header. The POSIX standard, IEEE Std.
22516  * 1003.1-1988 also required  the existence of _POSIX_VDISABLE in
22517  * this header. Subsequent versions of the IEEE Standard as well
22518  * as the X/Open specifications required that _POSIX_VDISABLE be
22519  * defined in <unistd.h> while still allowing for it's existence
22520  * here. With the introduction of XPG6, _POSIX_VDISABLE can only
22521  * be defined in <unistd.h>.
22522  */
22523 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22524 /* required by termio.h and VCEOF/VCEOL */
22525 
22526 
22527 
22528 
22529 
22530 /* some defines required by POSIX */
22531 
22532 
22533 /*
22534  * types defined by POSIX. These are better off in types.h, but
22535  * the standard says that they have to be in termios.h.
22536  */
22537 typedef unsigned int tcflag_t;
22538 typedef unsigned char cc_t;
22539 typedef unsigned int speed_t;
22540 
22541 /*
22542  * Ioctl control packet
22543  */
22544 struct termios {
22545  tcflag_t c_iflag; /* input modes */
22546  tcflag_t c_oflag; /* output modes */
22547  tcflag_t c_cflag; /* control modes */
22548  tcflag_t c_lflag; /* line discipline modes */
22549  cc_t c_cc[19]; /* control chars */
22550 };
22551 
22552 /*
22553  * POSIX termios functions
22554  * These functions get mapped into ioctls.
22555  */
22556 
22557 
22558 
22559 extern speed_t cfgetospeed(const struct termios *);
22560 extern int cfsetospeed(struct termios *, speed_t);
22561 extern speed_t cfgetispeed(const struct termios *);
22562 extern int cfsetispeed(struct termios *, speed_t);
22563 extern int tcgetattr(int, struct termios *);
22564 extern int tcsetattr(int, int, const struct termios *);
22565 extern int tcsendbreak(int, int);
22566 extern int tcdrain(int);
22567 extern int tcflush(int, int);
22568 extern int tcflow(int, int);
22569 
22570 
22571 
22572 extern pid_t tcgetsid(int);
22573 
22574 
22575 
22576 
22577 
22578 /* control characters */
22579 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22580 /* 17 through 19 reserved for future use */
22581 
22582 /*
22583  * control characters form Xenix termio.h
22584  */
22585 
22586 
22587 
22588 
22589 
22590 
22591 /* S5 default control chars */
22592 /* CINTR, CERASE and CKILL modified to SunOS traditional values */
22593 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22594 /* input modes */
22595 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22596 /* output modes */
22597 # 255 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22598 /* control modes */
22599 # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22600 /*
22601  * 4.4BSD hardware flow control flags
22602  */
22603 
22604 
22605 
22606 
22607 
22608 /* line discipline 0 modes */
22609 # 327 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22610 /* Slots reserved for 386/XENIX compatibility - keyboard control */
22611 # 343 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22612 /*
22613  * Softcarrier ioctls
22614  */
22615 
22616 
22617 
22618 
22619 /* termios ioctls */
22620 # 363 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22621 /*
22622  * NTP PPS ioctls
22623  */
22624 
22625 
22626 
22627 
22628 /* Argument filled in by TIOCGPPSEV */
22629 struct ppsclockev {
22630  struct timeval tv;
22631  uint_t serial;
22632 };
22633 # 387 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22634 /* termios option flags */
22635 # 398 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22636 /* TIOC ioctls for BSD, ptys, job control and modem control */
22637 
22638 
22639 
22640 
22641 
22642 /* Slots for 386/XENIX compatibility */
22643 /* BSD includes these ioctls in ttold.h */
22644 # 421 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22645 /*
22646  * BSD ioctls that are not the same as XENIX are included here.
22647  * There are also some relevant ioctls from SUN/BSD sys/ttycom.h
22648  * BSD pty ioctls like TIOCPKT are not supported in SVR4.
22649  */
22650 # 449 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22651 /* POSIX job control ioctls */
22652 
22653 
22654 
22655 
22656 
22657 
22658 /* Miscellaneous */
22659 
22660 
22661 /* Modem control */
22662 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22663 /* pseudo-tty */
22664 
22665 
22666 
22667 
22668 
22669 /* Some more 386 xenix stuff */
22670 # 492 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22671 /* Slots for 386 compatibility */
22672 
22673 
22674 
22675 
22676 
22677 
22678 
22679 /*
22680  * These are retained for 386/XENIX compatibility.
22681  */
22682 
22683 
22684 
22685 
22686 
22687 /*
22688  * Returns a non-zero value if there
22689  * are characters in the input queue.
22690  *
22691  * XXX - somebody is confused here.  V7 had no such "ioctl", although XENIX may
22692  * have added it; 4BSD had FIONREAD, which returned the number of characters
22693  * waiting, and was supposed to work on all descriptors (i.e., every driver
22694  * should make a stab at implementing it).
22695  */
22696 
22697 
22698 
22699 /*
22700  * Speeds
22701  */
22702 # 551 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
22703 /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */
22704 struct winsize {
22705  unsigned short ws_row; /* rows, in characters */
22706  unsigned short ws_col; /* columns, in character */
22707  unsigned short ws_xpixel; /* horizontal size, pixels */
22708  unsigned short ws_ypixel; /* vertical size, pixels */
22709 };
22710 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 2
22711 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22712 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1
22713 /*
22714  * CDDL HEADER START
22715  *
22716  * The contents of this file are subject to the terms of the
22717  * Common Development and Distribution License (the "License").
22718  * You may not use this file except in compliance with the License.
22719  *
22720  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22721  * or http://www.opensolaris.org/os/licensing.
22722  * See the License for the specific language governing permissions
22723  * and limitations under the License.
22724  *
22725  * When distributing Covered Code, include this CDDL HEADER in each
22726  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22727  * If applicable, add the following below this CDDL HEADER, with the
22728  * fields enclosed by brackets "[]" replaced with your own identifying
22729  * information: Portions Copyright [yyyy] [name of copyright owner]
22730  *
22731  * CDDL HEADER END
22732  */
22733 
22734 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */
22735 /*
22736  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
22737  *
22738  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
22739  * Use is subject to license terms.
22740  * Copyright 2015 Joyent, Inc.  All rights reserved.
22741  */
22742 
22743 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
22744 /*	  All Rights Reserved	*/
22745 
22746 /*
22747  * University Copyright- Copyright (c) 1982, 1986, 1988
22748  * The Regents of the University of California
22749  * All Rights Reserved
22750  *
22751  * University Acknowledgment- Portions of this document are derived from
22752  * software developed by the University of California, Berkeley, and its
22753  * contributors.
22754  */
22755 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22756 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
22757 /*
22758  * CDDL HEADER START
22759  *
22760  * The contents of this file are subject to the terms of the
22761  * Common Development and Distribution License (the "License").
22762  * You may not use this file except in compliance with the License.
22763  *
22764  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22765  * or http://www.opensolaris.org/os/licensing.
22766  * See the License for the specific language governing permissions
22767  * and limitations under the License.
22768  *
22769  * When distributing Covered Code, include this CDDL HEADER in each
22770  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22771  * If applicable, add the following below this CDDL HEADER, with the
22772  * fields enclosed by brackets "[]" replaced with your own identifying
22773  * information: Portions Copyright [yyyy] [name of copyright owner]
22774  *
22775  * CDDL HEADER END
22776  */
22777 
22778 /*
22779  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
22780  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
22781  */
22782 
22783 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
22784 /*	  All Rights Reserved  	*/
22785 
22786 /*
22787  * University Copyright- Copyright (c) 1982, 1986, 1988
22788  * The Regents of the University of California
22789  * All Rights Reserved
22790  *
22791  * University Acknowledgment- Portions of this document are derived from
22792  * software developed by the University of California, Berkeley, and its
22793  * contributors.
22794  */
22795 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22796 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
22797 /*
22798  * CDDL HEADER START
22799  *
22800  * The contents of this file are subject to the terms of the
22801  * Common Development and Distribution License (the "License").
22802  * You may not use this file except in compliance with the License.
22803  *
22804  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22805  * or http://www.opensolaris.org/os/licensing.
22806  * See the License for the specific language governing permissions
22807  * and limitations under the License.
22808  *
22809  * When distributing Covered Code, include this CDDL HEADER in each
22810  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22811  * If applicable, add the following below this CDDL HEADER, with the
22812  * fields enclosed by brackets "[]" replaced with your own identifying
22813  * information: Portions Copyright [yyyy] [name of copyright owner]
22814  *
22815  * CDDL HEADER END
22816  */
22817 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
22818 /*	  All Rights Reserved  	*/
22819 
22820 
22821 /*
22822  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
22823  * Use is subject to license terms.
22824  *
22825  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
22826  * Copyright 2016 Joyent, Inc.
22827  */
22828 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22829 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 1
22830 /*
22831  * CDDL HEADER START
22832  *
22833  * The contents of this file are subject to the terms of the
22834  * Common Development and Distribution License, Version 1.0 only
22835  * (the "License").  You may not use this file except in compliance
22836  * with the License.
22837  *
22838  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22839  * or http://www.opensolaris.org/os/licensing.
22840  * See the License for the specific language governing permissions
22841  * and limitations under the License.
22842  *
22843  * When distributing Covered Code, include this CDDL HEADER in each
22844  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22845  * If applicable, add the following below this CDDL HEADER, with the
22846  * fields enclosed by brackets "[]" replaced with your own identifying
22847  * information: Portions Copyright [yyyy] [name of copyright owner]
22848  *
22849  * CDDL HEADER END
22850  */
22851 /*
22852  * Copyright 1991 Sun Microsystems, Inc.  All rights reserved.
22853  * Use is subject to license terms.
22854  */
22855 
22856 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
22857 /*	  All Rights Reserved  	*/
22858 
22859 
22860 
22861 
22862 #pragma ident "%Z%%M%	%I%	%E% SMI"
22863 
22864 
22865 
22866 
22867 
22868 /*
22869  *	There are some inherent problems in having a single file
22870  *	ioctl.h, with both System V and BSD flags. Introducing
22871  *	BSD flags into this file creates compilation problems
22872  *	with flags such as ECHO, NL1 etc., if termio.h and ioctl.h
22873  *	are included by the same file. Since these two files can
22874  *	be only included by System V applications, /usr/inclule/sys/ioctl.h
22875  *	will be System V mode and all the BSD flags will be turned off
22876  *	using #ifdef BSD_COMP. This file will also exist in
22877  *	/usr/ucbinclude/sys/ioctl.h for BSD applications but without the
22878  *	BSD flags turned off. System V appliactions can use ioctl.h without
22879  *	any changes, System V applications requiring BSD flags should
22880  *	-D BSD_COMP when compiling (and be warned about the common
22881  *	flags between System V and BSD) and BSD applications should
22882  *	use /usr/ucbinclude/sys/ioctl.h.
22883  *
22884  */
22885 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h"
22886 /* BSD related defines */
22887 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22888 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1
22889 /*
22890  * CDDL HEADER START
22891  *
22892  * The contents of this file are subject to the terms of the
22893  * Common Development and Distribution License (the "License").
22894  * You may not use this file except in compliance with the License.
22895  *
22896  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
22897  * or http://www.opensolaris.org/os/licensing.
22898  * See the License for the specific language governing permissions
22899  * and limitations under the License.
22900  *
22901  * When distributing Covered Code, include this CDDL HEADER in each
22902  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
22903  * If applicable, add the following below this CDDL HEADER, with the
22904  * fields enclosed by brackets "[]" replaced with your own identifying
22905  * information: Portions Copyright [yyyy] [name of copyright owner]
22906  *
22907  * CDDL HEADER END
22908  */
22909 
22910 /*
22911  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
22912  */
22913 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
22914 
22915 /*
22916  * C++ prefix
22917  */
22918 
22919 
22920 
22921 
22922 
22923 
22924 /* function prototypes */
22925 
22926 /* PRINTFLIKE1 */
22927 typedef void (*_z_printf_fcn_t)(char *a_format, ...);
22928 
22929 /* zone list structure */
22930 
22931 typedef struct _zoneListElement_t *zoneList_t;
22932 
22933 /* zone brand list structure */
22934 
22935 typedef struct _zoneBrandList zoneBrandList_t;
22936 
22937 /* flag for zone locking functions */
22938 
22939 typedef unsigned long ZLOCKS_T;
22940 
22941 /* flags for zone locking */
22942 
22943 
22944 
22945 
22946 
22947 
22948 /*
22949  * external function definitions
22950  */
22951 
22952 /* zones.c */
22953 
22954 extern boolean_t z_zones_are_implemented(void);
22955 extern void z_set_zone_root(const char *zroot);
22956 extern boolean_t z_zlist_is_zone_runnable(zoneList_t a_zoneList,
22957     int a_zoneIndex);
22958 extern boolean_t z_zlist_restore_zone_state(zoneList_t a_zoneList,
22959     int a_zoneIndex);
22960 extern boolean_t z_zlist_change_zone_state(zoneList_t a_zoneList,
22961     int a_zoneIndex, zone_state_t a_newState);
22962 extern char *z_get_zonename(void);
22963 extern zone_state_t z_zlist_get_current_state(zoneList_t a_zoneList,
22964     int a_zoneIndex);
22965 extern zone_state_t z_zlist_get_original_state(zoneList_t a_zoneList,
22966     int a_zoneIndex);
22967 extern int z_zoneExecCmdArray(int *r_status, char **r_results,
22968     char *a_inputFile, char *a_path, char *a_argv[],
22969     const char *a_zoneName, int *a_fds);
22970 extern int z_zone_exec(const char *zonename, const char *path,
22971     char *argv[], char *a_stdoutPath,
22972     char *a_stderrPath, int *a_fds);
22973 extern boolean_t z_create_zone_admin_file(char *a_zoneAdminFilename,
22974     char *a_userAdminFilename);
22975 extern void z_free_zone_list(zoneList_t a_zoneList);
22976 extern zoneList_t z_get_nonglobal_zone_list(void);
22977 extern zoneList_t z_get_nonglobal_zone_list_by_brand(zoneBrandList_t *);
22978 extern void z_free_brand_list(zoneBrandList_t *a_brandList);
22979 extern zoneBrandList_t *z_make_brand_list(const char *brandList,
22980     const char *delim);
22981 extern boolean_t z_lock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags);
22982 extern boolean_t z_non_global_zones_exist(void);
22983 extern boolean_t z_running_in_global_zone(void);
22984 extern void z_set_output_functions(_z_printf_fcn_t a_echo_fcn,
22985     _z_printf_fcn_t a_echo_debug_fcn,
22986     _z_printf_fcn_t a_progerr_fcn);
22987 extern int z_set_zone_spec(const char *zlist);
22988 extern int z_verify_zone_spec(void);
22989 extern boolean_t z_on_zone_spec(const char *zonename);
22990 extern boolean_t z_global_only(void);
22991 extern boolean_t z_unlock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags);
22992 extern boolean_t z_lock_this_zone(ZLOCKS_T a_lflags);
22993 extern boolean_t z_unlock_this_zone(ZLOCKS_T a_lflags);
22994 extern char *z_zlist_get_zonename(zoneList_t a_zoneList,
22995     int a_zoneId);
22996 extern char *z_zlist_get_zonepath(zoneList_t a_zoneList,
22997     int a_zoneId);
22998 extern char *z_zlist_get_scratch(zoneList_t a_zoneList,
22999     int a_zoneId);
23000 extern boolean_t z_umount_lz_mount(char *a_lzMountPoint);
23001 extern boolean_t z_mount_in_lz(char **r_lzMountPoint,
23002     char **r_lzRootPath,
23003     char *a_zoneName, char *a_gzPath,
23004     char *a_mountPointPrefix);
23005 extern boolean_t z_is_zone_branded(char *zoneName);
23006 extern boolean_t z_is_zone_brand_in_list(char *zoneName,
23007        zoneBrandList_t *brands);
23008 extern boolean_t z_zones_are_implemented(void);
23009 
23010 /* zones_exec.c */
23011 extern int z_ExecCmdArray(int *r_status, char **r_results,
23012     char *a_inputFile, char *a_cmd, char **a_args);
23013 /*VARARGS*/
23014 extern int z_ExecCmdList(int *r_status, char **r_results,
23015     char *a_inputFile, char *a_cmd, ...);
23016 
23017 /* zones_paths.c */
23018 extern char *z_make_zone_root(char *);
23019 extern void z_path_canonize(char *file);
23020 extern void z_canoninplace(char *file);
23021 
23022 /* zones_lofs.c */
23023 extern void z_destroyMountTable(void);
23024 extern int z_createMountTable(void);
23025 extern int z_isPathWritable(const char *);
23026 extern void z_resolve_lofs(char *path, size_t);
23027 
23028 /* zones_states.c */
23029 extern int UmountAllZones(char *mntpnt);
23030 
23031 /*
23032  * C++ postfix
23033  */
23034 # 49 "../common/instzones_lib.h" 2
23035 
23036 
23037 
23038 /*
23039  * C++ prefix
23040  */
23041 
23042 
23043 
23044 
23045 
23046 /* constants */
23047 
23048 
23049 /* macros */
23050 
23051 /*
23052  * argument array processing type
23053  */
23054 
23055 /*
23056  * This is the "argument array" definition that is returned by _z_new_args
23057  * and is used by _z_add_args, _z_free_args, etc.
23058  */
23059 
23060 struct _argArray_t {
23061  long _aaNumArgs; /* number of arguments set */
23062  long _aaMaxArgs; /* number of arguments allocated */
23063  char **_aaArgs; /* actual arguments */
23064 };
23065 
23066 typedef struct _argArray_t argArray_t;
23067 
23068 /*
23069  * lock objects
23070  */
23071 
23072 /*
23073  * this allows a root path to be prepended to a lock object; e.g.
23074  *   rootpath.%s/zone.%s/...
23075  */
23076 
23077 
23078 /* this locks a single zone (zone.name) */
23079 
23080 
23081 /* this locks all zones */
23082 
23083 
23084 /* this locks all packages, in all zones */
23085 
23086 
23087 
23088 
23089 
23090 /* paths to commands executed by this module */
23091 
23092 
23093 
23094 
23095 /* max message size for program output functions (echo, echo debug, progerr) */
23096 
23097 
23098 
23099 /* maximum number of retries when waiting for lock */
23100 
23101 
23102 
23103 /* delay (in seconds) between retries when waiting for lock */
23104 
23105 
23106 
23107 /* Size of buffer increments when reading from pipe */
23108 
23109 
23110 
23111 /* Maximum number of arguments to pkg_ExecCmdList */
23112 
23113 
23114 
23115 /*
23116  * These dynamic libraries are required in order to use the zones
23117  * functionality - if these libraries are not available at runtime,
23118  * then zones are assumed to NOT be available, and it is assumed that
23119  * the program is running in the global zone with no non-global zones.
23120  */
23121 # 147 "../common/instzones_lib.h"
23122 /*
23123  * Environment values used when running commands within a non-global zone
23124  */
23125 
23126 /* SHELL= */
23127 
23128 
23129 
23130 /* PATH= */
23131 
23132 
23133 
23134 /* error codes */
23135 
23136 
23137 /*
23138  * zone brand list structure
23139  */
23140 
23141 struct _zoneBrandList {
23142  char *string_ptr;
23143  struct _zoneBrandList *next;
23144 };
23145 
23146 /*
23147  * zone status structure - used to retrieve and hold status of zones
23148  */
23149 
23150 typedef unsigned long _zone_status_t;
23151 
23152 struct _zoneListElement_t {
23153  char *_zlName;
23154  char *_zlPath;
23155  char *_zlScratchName;
23156  char *_zlLockObjects;
23157  /*
23158 	 * the install "state" refers to the zone states listed in
23159 	 * /usr/include/libzonecfg.h that is stored in the zone_state_t
23160 	 * structure and returned from getzoneent_private() - such as:
23161 	 * ZONE_STATE_CONFIGURED, ZONE_STATE_INCOMPLETE,
23162 	 * ZONE_STATE_INSTALLED, ZONE_STATE_READY, ZONE_STATE_MOUNTED,
23163 	 * ZONE_STATE_SHUTTING_DOWN, ZONE_STATE_DOWN.
23164 	 */
23165  zone_state_t _zlOrigInstallState;
23166  zone_state_t _zlCurrInstallState;
23167  /*
23168 	 * the kernel "status" refers to the zone status listed in
23169 	 * /usr/include/sys/zone.h, returned by zone_get_state(),
23170 	 * and defined in the zone_status_t enum - such as:
23171 	 * ZONE_IS_UNINITIALIZED, ZONE_IS_READY, ZONE_IS_BOOTING,
23172 	 * ZONE_IS_RUNNING, ZONE_IS_SHUTTING_DOWN, ZONE_IS_EMPTY,
23173 	 * ZONE_IS_DOWN, ZONE_IS_DYING, ZONE_IS_DEAD.
23174 	 */
23175  zone_status_t _zlOrigKernelStatus;
23176  zone_status_t _zlCurrKernelStatus;
23177  /*
23178 	 * this is an internal state recorded about the zone (ZSF_xxx).
23179 	 */
23180  _zone_status_t _zlStatus;
23181 };
23182 
23183 typedef struct _zoneListElement_t zoneListElement_t;
23184 
23185 /* bits used in the _zoneListElement _zlStatus variable */
23186 
23187 
23188 
23189 
23190 /*
23191  * User-specified list of zones.
23192  */
23193 
23194 typedef struct zone_spec_s {
23195  struct zone_spec_s *zl_next;
23196  boolean_t zl_used;
23197  char zl_name[64];
23198 } zone_spec_t;
23199 
23200 /*
23201  * The global data structure used to hold all of the global (extern) data
23202  * used by this library.
23203  *
23204  * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED <--
23205  * --> ON THE ORDER OF THE STRUCTURE INITIALIZERS! <--
23206  */
23207 
23208 struct _z_global_data_t {
23209  char *_z_ObjectLocks; /* object locks held */
23210  char *_z_root_dir; /* root for zone lib fctns */
23211  int _z_SigReceived; /* received signal count */
23212  pid_t _z_ChildProcessId; /* child to propagate sigs to */
23213  zone_spec_t *_zone_spec; /* zones to operate on */
23214  _z_printf_fcn_t _z_echo; /* operational message fcn */
23215  _z_printf_fcn_t _z_echo_debug; /* debug message fcn */
23216  _z_printf_fcn_t _z_progerr; /* program error fcn */
23217 };
23218 
23219 typedef struct _z_global_data_t z_global_data_t;
23220 
23221 /*
23222  * When _INSTZONES_LIB_Z_DEFINE_GLOBAL_DATA is defined,
23223  * instzones_lib.h will define the z_global_data structure.
23224  * Otherwise an extern to the structure is inserted.
23225  *
23226  * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED ON <--
23227  * --> THE ORDER OF THE _z_global_data_t STRUCTURE!!! <--
23228  */
23229 # 272 "../common/instzones_lib.h"
23230 /* define structure extern */
23231 
23232 extern z_global_data_t _z_global_data;
23233 
23234 
23235 
23236 /* function prototypes */
23237 
23238 /*
23239  *  The following functions can be used by other libs, but not
23240  *  by applications.
23241  */
23242 
23243 /* ---> zones_states.c */
23244 
23245 boolean_t _z_make_zone_ready(zoneListElement_t *a_zlem);
23246 boolean_t _z_make_zone_down(zoneListElement_t *a_zlem);
23247 boolean_t _z_make_zone_running(zoneListElement_t *a_zlem);
23248 int UmountAllZones(char *mntpnt);
23249 void *_z_calloc(size_t size);
23250 void *_z_malloc(size_t size);
23251 void *_z_realloc(void *ptr, size_t size);
23252 void *_z_strdup(char *str);
23253 
23254 /* ---> zones_utils.c */
23255 
23256 /*PRINTFLIKE1*/
23257 void _z_program_error(char *fmt, ...);
23258 /*PRINTFLIKE1*/
23259 void _z_echo(char *fmt, ...);
23260 /*PRINTFLIKE1*/
23261 void _z_echoDebug(char *a_fmt, ...);
23262 int _z_is_directory(char *path);
23263 boolean_t _z_running_in_global_zone(void);
23264 boolean_t _z_zones_are_implemented(void);
23265 void _z_sig_trap(int a_signo);
23266 int _z_close_file_descriptors(void *a_fds, int a_fd);
23267 boolean_t _z_brands_are_implemented(void);
23268 
23269 
23270 /* ---> zones_locks.c */
23271 
23272 boolean_t _z_adjust_lock_object_for_rootpath(char **r_result,
23273    char *a_lockObject);
23274 boolean_t _z_acquire_lock(char **r_lockKey, char *a_zoneName,
23275    char *a_lock, pid_t a_pid, boolean_t a_wait);
23276 boolean_t _z_lock_zone(zoneListElement_t *a_zlst,
23277    ZLOCKS_T a_lflags);
23278 boolean_t _z_lock_zone_object(char **r_objectLocks,
23279    char *a_zoneName, char *a_lockObject,
23280    pid_t a_pid, char *a_waitingMsg,
23281    char *a_busyMsg);
23282 boolean_t _z_release_lock(char *a_zoneName, char *a_lock,
23283    char *a_key, boolean_t a_wait);
23284 boolean_t _z_unlock_zone(zoneListElement_t *a_zlst,
23285    ZLOCKS_T a_lflags);
23286 boolean_t _z_unlock_zone_object(char **r_objectLocks,
23287    char *a_zoneName, char *a_lockObject,
23288    char *a_errMsg);
23289 
23290 /* ---> zones_args.c */
23291 
23292 void _z_free_args(argArray_t *a_args);
23293 argArray_t *_z_new_args(int initialCount);
23294 /*PRINTFLIKE2*/
23295 boolean_t _z_add_arg(argArray_t *a_args, char *a_format, ...);
23296 int _z_get_argc(argArray_t *a_args);
23297 char **_z_get_argv(argArray_t *a_args);
23298 
23299 /* ---> zones_str.c */
23300 
23301 boolean_t _z_strContainsToken(char *a_string, char *a_token,
23302    char *a_separators);
23303 char *_z_strGetToken(char *r_sep, char *a_string,
23304    int a_index, char *a_separators);
23305 void _z_strRemoveLeadingWhitespace(char **a_str);
23306 void _z_strGetToken_r(char *r_sep, char *a_string,
23307    int a_index, char *a_separators, char *a_buf,
23308    int a_bufLen);
23309 void _z_strAddToken(char **a_old, char *a_new,
23310    char a_separator);
23311 void _z_strRemoveToken(char **r_string, char *a_token,
23312    char *a_separators, int a_index);
23313 /*PRINTFLIKE3*/
23314 void _z_strPrintf_r(char *a_buf, int a_bufLen,
23315    char *a_format, ...);
23316 /*PRINTFLIKE1*/
23317 char *_z_strPrintf(char *a_format, ...);
23318 
23319 /* ---> zones_exec.c */
23320 
23321 int _z_zone_exec(int *r_status, char **r_results, char *a_inputFile,
23322    char *a_path, char *a_argv[], const char *a_zoneName,
23323    int *a_fds);
23324 int _zexec(const char *a_zoneName,
23325    const char *path, char *argv[]);
23326 char *_zexec_add_env(char *name, char *value);
23327 int _zexec_init_template(void);
23328 char **_zexec_prep_env();
23329 
23330 /*
23331  * C++ postfix
23332  */
23333 # 78 "../common/zones_utils.c" 2
23334 # 1 "../common/zones_strings.h" 1
23335 /*
23336  * CDDL HEADER START
23337  *
23338  * The contents of this file are subject to the terms of the
23339  * Common Development and Distribution License (the "License").
23340  * You may not use this file except in compliance with the License.
23341  *
23342  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
23343  * or http://www.opensolaris.org/os/licensing.
23344  * See the License for the specific language governing permissions
23345  * and limitations under the License.
23346  *
23347  * When distributing Covered Code, include this CDDL HEADER in each
23348  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
23349  * If applicable, add the following below this CDDL HEADER, with the
23350  * fields enclosed by brackets "[]" replaced with your own identifying
23351  * information: Portions Copyright [yyyy] [name of copyright owner]
23352  *
23353  * CDDL HEADER END
23354  */
23355 /*
23356  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
23357  */
23358 
23359 
23360 
23361 
23362 
23363 
23364 
23365 /*
23366  * Module:	zones_strings.h
23367  * Group:	libinstzones
23368  * Description:	This header contains strings used in libinstzones
23369  *		library modules.
23370  */
23371 
23372 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
23373 /*
23374  * CDDL HEADER START
23375  *
23376  * The contents of this file are subject to the terms of the
23377  * Common Development and Distribution License (the "License").
23378  * You may not use this file except in compliance with the License.
23379  *
23380  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
23381  * or http://www.opensolaris.org/os/licensing.
23382  * See the License for the specific language governing permissions
23383  * and limitations under the License.
23384  *
23385  * When distributing Covered Code, include this CDDL HEADER in each
23386  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
23387  * If applicable, add the following below this CDDL HEADER, with the
23388  * fields enclosed by brackets "[]" replaced with your own identifying
23389  * information: Portions Copyright [yyyy] [name of copyright owner]
23390  *
23391  * CDDL HEADER END
23392  */
23393 /*
23394  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
23395  *
23396  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
23397  * Use is subject to license terms.
23398  */
23399 # 39 "../common/zones_strings.h" 2
23400 
23401 /*
23402  * C++ prefix
23403  */
23404 
23405 
23406 
23407 
23408 
23409 /* constants */
23410 # 58 "../common/zones_strings.h"
23411 /*
23412  * message strings
23413  */
23414 
23415 /* BEGIN CSTYLED */
23416 
23417 /*
23418  * I18N: these messages are debugging message and are only displayed
23419  * when special debugging output has been enabled - these messages
23420  * will never be displayed during normal product usage
23421  */
23422 # 121 "../common/zones_strings.h"
23423 /*
23424  * I18N: these messages are error messages that can be displayed
23425  * during the normal usage of the products
23426  */
23427 # 189 "../common/zones_strings.h"
23428 /*
23429  * I18N: these are messages that can be displayed during the normal
23430  * usage of the products
23431  */
23432 
23433 
23434 
23435 
23436 
23437 
23438 
23439 /*
23440  * I18N: these messages are warning messages that can be displayed
23441  * during the normal usage of the products
23442  */
23443 
23444 
23445 
23446 
23447 /* END CSTYLED */
23448 
23449 /*
23450  * C++ postfix
23451  */
23452 # 79 "../common/zones_utils.c" 2
23453 
23454 /*
23455  * Private structures
23456  */
23457 
23458 /*
23459  * these dynamic libraries are required in order to use the branded zones
23460  * functionality.  If these libraries are not available at runtime,
23461  * then the zones we find are assumed to be native zones.
23462  */
23463 
23464 
23465 
23466 
23467 /*
23468  * Library Function Prototypes
23469  */
23470 
23471 /*
23472  * Local Function Prototypes
23473  */
23474 
23475 static void error_and_exit(int error_num);
23476 
23477 static void (*fatal_err_func)() = &error_and_exit;
23478 
23479 /* ----------------------- private functions -------------------------- */
23480 /*
23481  * error_and_exit()
23482  *	Abort routine. An exit code of '2' is used by all applications
23483  *	to indicate a non-recoverable fatal error.
23484  * Parameters:
23485  *	error_num - error index number:
23486  *			ERR_MALLOC_FAIL
23487  * Return:
23488  *	none
23489  * Status:
23490  *	private
23491  */
23492 static void
23493 error_and_exit(int error_num)
23494 {
23495  if (error_num == -50)
23496   (void) fprintf((&__iob[2]), "Allocation of memory failed\n");
23497  else
23498   (void) fprintf((&__iob[2]), "ERROR: code %d\n", error_num);
23499  exit(2);
23500 }
23501 
23502 /*
23503  * *****************************************************************************
23504  * global external (public) functions
23505  * *****************************************************************************
23506  */
23507 
23508 /*
23509  * Name:	_z_close_file_descriptors
23510  * Description:	close a file descriptor "a_fd" not in the list "a_fds"
23511  *		This function is called from the fdwalk() library function.
23512  *		If the file descriptor passed in is NOT in the list passed in,
23513  *		the file is closed.
23514  * Arguments:	a_fds - [RO, *RO] - (void *)
23515  *			Pointer to list of file descriptors to keep open
23516  *		a_fd - [RO, *RO] - (int)
23517  *			File descriptor to check
23518  * Returns:	int
23519  *			0 - success
23520  */
23521 
23522 int
23523 _z_close_file_descriptors(void *a_fds, int a_fd)
23524 {
23525  int *fds;
23526  int i;
23527 
23528  /* do not close standard input, output, or error file descriptors */
23529 
23530  if (a_fd == 0 || a_fd == 1 ||
23531      a_fd == 2) {
23532   return (0);
23533  }
23534 
23535  /* if no file descriptor retention list, close this file */
23536 
23537  if (a_fds == (void *)0L) {
23538   (void) close(a_fd);
23539   return (0);
23540  }
23541 
23542  /*
23543 	 * retention list provided, skip this descriptor if its in the list
23544 	 */
23545 
23546  fds = (int *)a_fds;
23547 
23548  for (i = 0; fds[i] != -1; i++) {
23549   if (fds[i] == a_fd) {
23550    return (0);
23551   }
23552  }
23553 
23554  /* this descriptor not in retention list - close this file */
23555 
23556  (void) close(a_fd);
23557 
23558  return (0);
23559 }
23560 
23561 /*
23562  * Name:	_z_echo
23563  * Synopsis:	Output an interactive message if interaction is enabled
23564  * Description:	Main method for outputting an interactive message; call to
23565  *		output interactive message if interation has not been disabled
23566  *		by a previous call to echoSetFlag(0).
23567  * Arguments:	format - [RO, RO*] (char *)
23568  *			printf-style format for debugging message to be output
23569  *		VARG_LIST - [RO] (?)
23570  *			arguments as appropriate to 'format' specified
23571  * Returns:	void
23572  */
23573 
23574 /*PRINTFLIKE1*/
23575 void
23576 _z_echo(char *a_format, ...)
23577 {
23578  va_list ap;
23579  char message[4096];
23580 
23581  /* entry assertions */
23582 
23583  (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_utils.c", 209), 0));
23584 
23585  /* return if no progerr function registered */
23586 
23587  if (_z_global_data._z_echo == 0L) {
23588   return;
23589  }
23590 
23591  /* capture message */
23592 
23593  __builtin_va_start(ap, a_format);
23594  (void) vsnprintf(message, sizeof (message), a_format, ap);
23595  __builtin_va_end(ap);
23596 
23597  /* pass message to registered function */
23598 
23599  (_z_global_data._z_echo)("%s", message);
23600 }
23601 
23602 /*
23603  * Name:	_z_echoDebug
23604  * Synopsis:	Output a debugging message if debugging is enabled
23605  * Description:	Main method for outputting a debugging message; call to
23606  *		output debugging message if debugging has been enabled
23607  *		by a previous call to _z_echoDebugSetFlag(1).
23608  * Arguments:	format - [RO, RO*] (char *)
23609  *			printf-style format for debugging message to be output
23610  *		VARG_LIST - [RO] (?)
23611  *			arguments as appropriate to 'format' specified
23612  * Returns:	void
23613  * NOTE:	format of message will be:
23614  *			# [ aaa bbb ccc ] message
23615  *		where:	aaa - process i.d.
23616  *			bbb - zone i.d.
23617  *			ccc - name of program
23618  * 		for example:
23619  *			# [ 25685   0 pkgadd     ] unable to get package list
23620  */
23621 
23622 /*PRINTFLIKE1*/
23623 void
23624 _z_echoDebug(char *a_format, ...)
23625 {
23626  va_list ap;
23627  char message[4096];
23628 
23629  /* entry assertions */
23630 
23631  (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_utils.c", 257), 0));
23632 
23633  /* return if no progerr function registered */
23634 
23635  if (_z_global_data._z_echo_debug == 0L) {
23636   return;
23637  }
23638 
23639  /* capture message */
23640 
23641  __builtin_va_start(ap, a_format);
23642  (void) vsnprintf(message, sizeof (message), a_format, ap);
23643  __builtin_va_end(ap);
23644 
23645  /* pass message to registered function */
23646 
23647  (_z_global_data._z_echo_debug)("%s", message);
23648 }
23649 
23650 /*
23651  * Name:	_z_is_directory
23652  * Description:	determine if specified path exists and is a directory
23653  * Arguments:	path - pointer to string representing the path to verify
23654  * returns: 0 - directory exists
23655  *	    1 - directory does not exist or is not a directory
23656  * NOTE:	errno is set appropriately
23657  */
23658 
23659 int
23660 _z_is_directory(char *path)
23661 {
23662  struct stat statbuf;
23663 
23664  /* entry assertions */
23665 
23666  (void)((path != 0L) || (__assert("path != NULL", "../common/zones_utils.c", 292), 0));
23667  (void)((*path != '\0') || (__assert("*path != '\\0'", "../common/zones_utils.c", 293), 0));
23668 
23669  /* return error if path does not exist */
23670 
23671  if (stat(path, &statbuf) != 0) {
23672   return (1);
23673  }
23674 
23675  /* return error if path is not a directory */
23676 
23677  if ((statbuf.st_mode & 0xF000) != 0x4000) {
23678   (*(___errno())) = 20;
23679   return (1);
23680  }
23681 
23682  /* path exists and is a directory */
23683 
23684  return (0);
23685 }
23686 
23687 /*
23688  * Name:	_z_pluginCatchSigint
23689  * Synopsis:	SIGINT/SIGHUP interrupt handler
23690  * Description:	Catch the "SIGINT" and "SIGHUP" signals:
23691  *		-> increment _z_SigReceived global variable
23692  *		-> propagate signal to "_z_ChildProcessId" if registered (!= -1)
23693  * Arguments:	signo - [RO, *RO] - (int)
23694  *			Signal number that was caught
23695  * Returns:	void
23696  */
23697 
23698 void
23699 _z_sig_trap(int a_signo)
23700 {
23701  /* bump signals received count */
23702 
23703  _z_global_data._z_SigReceived++;
23704 
23705  /* if child process registered, propagate signal to child */
23706 
23707  if (_z_global_data._z_ChildProcessId > 0) {
23708   (void) kill(_z_global_data._z_ChildProcessId, a_signo);
23709  }
23710 }
23711 
23712 /*
23713  * Name:	_z_program_error
23714  * Description:	Output an error message to the appropriate destinations
23715  * Arguments:	format - [RO, RO*] (char *)
23716  *			printf-style format for debugging message to be output
23717  *		VARG_LIST - [RO] (?)
23718  *			arguments as appropriate to 'format' specified
23719  * Returns:	void
23720  * NOTE:	format of message will be:
23721  *			[aaa: ] ERROR: message
23722  *		where:	aaa - program name (if set)
23723  *			message - results of format and arguments
23724  * 		for example:
23725  *			ERROR: unable to get package list
23726  */
23727 
23728 /*PRINTFLIKE1*/
23729 void
23730 _z_program_error(char *a_format, ...)
23731 {
23732  va_list ap;
23733  char message[4096];
23734 
23735  /* entry assertions */
23736 
23737  (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_utils.c", 363), 0));
23738 
23739  /* return if no progerr function registered */
23740 
23741  if (_z_global_data._z_progerr == 0L) {
23742   return;
23743  }
23744 
23745  /* capture message */
23746 
23747  __builtin_va_start(ap, a_format);
23748  (void) vsnprintf(message, sizeof (message), a_format, ap);
23749  __builtin_va_end(ap);
23750 
23751  /* pass message to registered function */
23752 
23753  (_z_global_data._z_progerr)(dgettext(TEXT_DOMAIN, "ERROR: %s"), message);
23754 }
23755 
23756 /*
23757  * Name:	_z_running_in_global_zone
23758  * Synopsis:	Determine if this process is running in the global zone
23759  * Arguments:	void
23760  * Returns:	boolean_t
23761  *			== B_TRUE - this process is running in the global zone
23762  *			== B_FALSE - this process is running in a nonglobal zone
23763  */
23764 
23765 boolean_t
23766 _z_running_in_global_zone(void)
23767 {
23768  zoneid_t zoneid = (zoneid_t)-1;
23769 
23770  /*
23771 	 * if zones are not implemented, there is no way to tell if zones
23772 	 * are supported or not - in this case, we can only be running in the
23773 	 * global zone (since non-global zones cannot exist) so return TRUE
23774 	 */
23775 
23776  if (z_zones_are_implemented() == B_FALSE) {
23777   return (B_TRUE);
23778  }
23779 
23780  /* get the zone i.d. of the current zone */
23781 
23782  zoneid = getzoneid();
23783 
23784  /* return TRUE if this is the global zone i.d. */
23785 
23786  if (zoneid == 0) {
23787   return (B_TRUE);
23788  }
23789 
23790  /* return FALSE - not in the global zone */
23791 
23792  return (B_FALSE);
23793 }
23794 
23795 /*
23796  * Name:	_z_zones_are_implemented
23797  * Synopsis:	Determine if zones are supported by the current system
23798  * Arguments:	void
23799  * Returns:	boolean_t
23800  *			== B_TRUE - zones are supported
23801  *			== B_FALSE - zones are not supported
23802  */
23803 
23804 boolean_t
23805 _z_zones_are_implemented(void)
23806 {
23807  void *libptr = 0L;
23808 
23809  /* locate zone cfg library */
23810 
23811  libptr = dlopen("libzonecfg.so", 0x00002|0x00100);
23812  if (libptr == (void *)0L) {
23813   _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libzonecfg.so", dlerror());
23814   libptr = dlopen("libzonecfg.so.1", 0x00002|0x00100);
23815  }
23816 
23817  /* return false if library not available */
23818 
23819  if (libptr == (void *)0L) {
23820   _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libzonecfg.so.1",
23821       dlerror());
23822   return (B_FALSE);
23823  }
23824 
23825  /* library available - close handle */
23826 
23827  (void) dlclose(libptr);
23828 
23829  /* locate contract filesystem library */
23830 
23831  libptr = dlopen("libcontract.so", 0x00002|0x00100);
23832  if (libptr == (void *)0L) {
23833   _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libcontract.so",
23834       dlerror());
23835   libptr = dlopen("libcontract.so.1", 0x00002|0x00100);
23836  }
23837 
23838  /* return false if library not available */
23839 
23840  if (libptr == (void *)0L) {
23841   _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libcontract.so.1",
23842       dlerror());
23843   return (B_FALSE);
23844  }
23845 
23846  /* library available - close handle */
23847 
23848  (void) dlclose(libptr);
23849 
23850  /* return success */
23851 
23852  return (B_TRUE);
23853 }
23854 
23855 boolean_t
23856 _z_brands_are_implemented(void)
23857 {
23858  void *libptr;
23859 
23860  /* locate brand library */
23861 
23862  libptr = dlopen("libbrand.so", 0x00002|0x00100);
23863  if (libptr == 0L) {
23864   _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libbrand.so", dlerror());
23865   libptr = dlopen("libbrand.so.1", 0x00002|0x00100);
23866  }
23867 
23868  /* return false if library not available */
23869 
23870  if (libptr == 0L) {
23871   _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libbrand.so.1", dlerror());
23872   return (B_FALSE);
23873  }
23874 
23875  /* library available - close handle */
23876 
23877  (void) dlclose(libptr);
23878 
23879  /* return success */
23880 
23881  return (B_TRUE);
23882 }
23883 
23884 /*
23885  * z_calloc()
23886  * 	Allocate 'size' bytes from the heap using calloc()
23887  * Parameters:
23888  *	size	- number of bytes to allocate
23889  * Return:
23890  *	NULL	- calloc() failure
23891  *	void *	- pointer to allocated structure
23892  * Status:
23893  *	public
23894  */
23895 void *
23896 _z_calloc(size_t size)
23897 {
23898  void * tmp;
23899 
23900  if ((tmp = (void *) malloc(size)) == 0L) {
23901   fatal_err_func(-50);
23902   return (0L);
23903  }
23904 
23905  (void) memset(tmp, 0, size);
23906  return (tmp);
23907 }
23908 
23909 /*
23910  * z_malloc()
23911  * 	Alloc 'size' bytes from heap using malloc()
23912  * Parameters:
23913  *	size	- number of bytes to malloc
23914  * Return:
23915  *	NULL	- malloc() failure
23916  *	void *	- pointer to allocated structure
23917  * Status:
23918  *	public
23919  */
23920 void *
23921 _z_malloc(size_t size)
23922 {
23923  void *tmp;
23924 
23925  if ((tmp = (void *) malloc(size)) == 0L) {
23926   fatal_err_func(-50);
23927   return (0L);
23928  } else
23929   return (tmp);
23930 }
23931 
23932 /*
23933  * _z_realloc()
23934  *	Calls realloc() with the specfied parameters. _z_realloc()
23935  *	checks for realloc failures and adjusts the return value
23936  *	automatically.
23937  * Parameters:
23938  *	ptr	- pointer to existing data block
23939  * 	size	- number of bytes additional
23940  * Return:
23941  *	NULL	- realloc() failed
23942  *	void *	- pointer to realloc'd structured
23943  * Status:
23944  *	public
23945  */
23946 void *
23947 _z_realloc(void *ptr, size_t size)
23948 {
23949  void *tmp;
23950 
23951  if ((tmp = (void *)realloc(ptr, size)) == (void *)0L) {
23952   fatal_err_func(-50);
23953   return ((void *)0L);
23954  } else
23955   return (tmp);
23956 }
23957 
23958 /*
23959  * z_strdup()
23960  *	Allocate space for the string from the heap, copy 'str' into it,
23961  *	and return a pointer to it.
23962  * Parameters:
23963  *	str	- string to duplicate
23964  * Return:
23965  *	NULL	- duplication failed or 'str' was NULL
23966  * 	char *	- pointer to newly allocated/initialized structure
23967  * Status:
23968  *	public
23969  */
23970 void *
23971 _z_strdup(char *str)
23972 {
23973  char *tmp;
23974 
23975  if (str == 0L)
23976   return ((char *)0L);
23977 
23978  if ((tmp = strdup(str)) == 0L) {
23979   fatal_err_func(-50);
23980   return ((char *)0L);
23981  } else
23982   return (tmp);
23983 }
23984