1 # 1 "../common/zones_paths.c"
2 # 1 "<built-in>"
3 # 1 "<command-line>"
4 # 1 "../common/zones_paths.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 /*
27  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
28  */
29 
30 
31 
32 /*
33  * System includes
34  */
35 
36 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
37 /*
38  * CDDL HEADER START
39  *
40  * The contents of this file are subject to the terms of the
41  * Common Development and Distribution License (the "License").
42  * You may not use this file except in compliance with the License.
43  *
44  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
45  * or http://www.opensolaris.org/os/licensing.
46  * See the License for the specific language governing permissions
47  * and limitations under the License.
48  *
49  * When distributing Covered Code, include this CDDL HEADER in each
50  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
51  * If applicable, add the following below this CDDL HEADER, with the
52  * fields enclosed by brackets "[]" replaced with your own identifying
53  * information: Portions Copyright [yyyy] [name of copyright owner]
54  *
55  * CDDL HEADER END
56  */
57 
58 /*
59  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
60  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
61  */
62 
63 /*	Copyright (c) 1988 AT&T	*/
64 /*	  All Rights Reserved  	*/
65 
66 /*
67  * User-visible pieces of the ANSI C standard I/O package.
68  */
69 
70 
71 
72 
73 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
74 /*
75  * CDDL HEADER START
76  *
77  * The contents of this file are subject to the terms of the
78  * Common Development and Distribution License (the "License").
79  * You may not use this file except in compliance with the License.
80  *
81  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
82  * or http://www.opensolaris.org/os/licensing.
83  * See the License for the specific language governing permissions
84  * and limitations under the License.
85  *
86  * When distributing Covered Code, include this CDDL HEADER in each
87  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
88  * If applicable, add the following below this CDDL HEADER, with the
89  * fields enclosed by brackets "[]" replaced with your own identifying
90  * information: Portions Copyright [yyyy] [name of copyright owner]
91  *
92  * CDDL HEADER END
93  */
94 
95 /*
96  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
97  * Copyright 2016 Joyent, Inc.
98  *
99  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
100  * Use is subject to license terms.
101  */
102 
103 
104 
105 
106 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1
107 /*
108  * CDDL HEADER START
109  *
110  * The contents of this file are subject to the terms of the
111  * Common Development and Distribution License, Version 1.0 only
112  * (the "License").  You may not use this file except in compliance
113  * with the License.
114  *
115  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
116  * or http://www.opensolaris.org/os/licensing.
117  * See the License for the specific language governing permissions
118  * and limitations under the License.
119  *
120  * When distributing Covered Code, include this CDDL HEADER in each
121  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
122  * If applicable, add the following below this CDDL HEADER, with the
123  * fields enclosed by brackets "[]" replaced with your own identifying
124  * information: Portions Copyright [yyyy] [name of copyright owner]
125  *
126  * CDDL HEADER END
127  */
128 /*
129  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
130  * Use is subject to license terms.
131  */
132 /*
133  * Copyright 2015 EveryCity Ltd. All rights reserved.
134  */
135 
136 
137 
138 
139 /*
140  * This file contains definitions designed to enable different compilers
141  * to be used harmoniously on Solaris systems.
142  */
143 
144 
145 
146 
147 
148 /*
149  * Allow for version tests for compiler bugs and features.
150  */
151 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
152 /*
153  * analogous to lint's PRINTFLIKEn
154  */
155 
156 
157 
158 
159 
160 /*
161  * Handle the kernel printf routines that can take '%b' too
162  */
163 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
164 /*
165  * This one's pretty obvious -- the function never returns
166  */
167 
168 
169 /*
170  * The function is 'extern inline' and expects GNU C89 behaviour, not C99
171  * behaviour.
172  *
173  * Should only be used on 'extern inline' definitions for GCC.
174  */
175 
176 
177 
178 
179 
180 
181 /*
182  * The function has control flow such that it may return multiple times (in
183  * the manner of setjmp or vfork)
184  */
185 
186 
187 
188 
189 
190 
191 /*
192  * This is an appropriate label for functions that do not
193  * modify their arguments, e.g. strlen()
194  */
195 
196 
197 /*
198  * This is a stronger form of __pure__. Can be used for functions
199  * that do not modify their arguments and don't depend on global
200  * memory.
201  */
202 
203 
204 
205 
206 /*
207  * This attribute, attached to a variable, means that the variable is meant to
208  * be possibly unused. GCC will not produce a warning for this variable.
209  */
210 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
211 /*
212  * Shorthand versions for readability
213  */
214 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
215 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
216 /*
217  * CDDL HEADER START
218  *
219  * The contents of this file are subject to the terms of the
220  * Common Development and Distribution License (the "License").
221  * You may not use this file except in compliance with the License.
222  *
223  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
224  * or http://www.opensolaris.org/os/licensing.
225  * See the License for the specific language governing permissions
226  * and limitations under the License.
227  *
228  *
229  * When distributing Covered Code, include this CDDL HEADER in each
230  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
231  * If applicable, add the following below this CDDL HEADER, with the
232  * fields enclosed by brackets "[]" replaced with your own identifying
233  * information: Portions Copyright [yyyy] [name of copyright owner]
234  *
235  * CDDL HEADER END
236  */
237 
238 /*
239  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
240  * Use is subject to license terms.
241  * Copyright 2016 Joyent, Inc.
242  */
243 
244 
245 
246 
247 /*
248  * This header file serves to group a set of well known defines and to
249  * set these for each instruction set architecture.  These defines may
250  * be divided into two groups;  characteristics of the processor and
251  * implementation choices for Solaris on a processor.
252  *
253  * Processor Characteristics:
254  *
255  * _LITTLE_ENDIAN / _BIG_ENDIAN:
256  *	The natural byte order of the processor.  A pointer to an int points
257  *	to the least/most significant byte of that int.
258  *
259  * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD:
260  *	The processor specific direction of stack growth.  A push onto the
261  *	stack increases/decreases the stack pointer, so it stores data at
262  *	successively higher/lower addresses.  (Stackless machines ignored
263  *	without regrets).
264  *
265  * _LONG_LONG_HTOL / _LONG_LONG_LTOH:
266  *	A pointer to a long long points to the most/least significant long
267  *	within that long long.
268  *
269  * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH:
270  *	The C compiler assigns bit fields from the high/low to the low/high end
271  *	of an int (most to least significant vs. least to most significant).
272  *
273  * _IEEE_754:
274  *	The processor (or supported implementations of the processor)
275  *	supports the ieee-754 floating point standard.  No other floating
276  *	point standards are supported (or significant).  Any other supported
277  *	floating point formats are expected to be cased on the ISA processor
278  *	symbol.
279  *
280  * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED:
281  *	The C Compiler implements objects of type `char' as `unsigned' or
282  *	`signed' respectively.  This is really an implementation choice of
283  *	the compiler writer, but it is specified in the ABI and tends to
284  *	be uniform across compilers for an instruction set architecture.
285  *	Hence, it has the properties of a processor characteristic.
286  *
287  * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT /
288  * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT /
289  * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT:
290  *	The ABI defines alignment requirements of each of the primitive
291  *	object types.  Some, if not all, may be hardware requirements as
292  * 	well.  The values are expressed in "byte-alignment" units.
293  *
294  * _MAX_ALIGNMENT:
295  *	The most stringent alignment requirement as specified by the ABI.
296  *	Equal to the maximum of all the above _XXX_ALIGNMENT values.
297  *
298  * _MAX_ALIGNMENT_TYPE:
299  * 	The name of the C type that has the value descried in _MAX_ALIGNMENT.
300  *
301  * _ALIGNMENT_REQUIRED:
302  *	True or false (1 or 0) whether or not the hardware requires the ABI
303  *	alignment.
304  *
305  * _LONG_LONG_ALIGNMENT_32
306  *	The 32-bit ABI supported by a 64-bit kernel may have different
307  *	alignment requirements for primitive object types.  The value of this
308  *	identifier is expressed in "byte-alignment" units.
309  *
310  * _HAVE_CPUID_INSN
311  *	This indicates that the architecture supports the 'cpuid'
312  *	instruction as defined by Intel.  (Intel allows other vendors
313  *	to extend the instruction for their own purposes.)
314  *
315  *
316  * Implementation Choices:
317  *
318  * _ILP32 / _LP64:
319  *	This specifies the compiler data type implementation as specified in
320  *	the relevant ABI.  The choice between these is strongly influenced
321  *	by the underlying hardware, but is not absolutely tied to it.
322  *	Currently only two data type models are supported:
323  *
324  *	_ILP32:
325  *		Int/Long/Pointer are 32 bits.  This is the historical UNIX
326  *		and Solaris implementation.  Due to its historical standing,
327  *		this is the default case.
328  *
329  *	_LP64:
330  *		Long/Pointer are 64 bits, Int is 32 bits.  This is the chosen
331  *		implementation for 64-bit ABIs such as SPARC V9.
332  *
333  *	_I32LPx:
334  *		A compilation environment where 'int' is 32-bit, and
335  *		longs and pointers are simply the same size.
336  *
337  *	In all cases, Char is 8 bits and Short is 16 bits.
338  *
339  * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16:
340  *	This specifies the form of the disk VTOC (or label):
341  *
342  *	_SUNOS_VTOC_8:
343  *		This is a VTOC form which is upwardly compatible with the
344  *		SunOS 4.x disk label and allows 8 partitions per disk.
345  *
346  *	_SUNOS_VTOC_16:
347  *		In this format the incore vtoc image matches the ondisk
348  *		version.  It allows 16 slices per disk, and is not
349  *		compatible with the SunOS 4.x disk label.
350  *
351  *	Note that these are not the only two VTOC forms possible and
352  *	additional forms may be added.  One possible form would be the
353  *	SVr4 VTOC form.  The symbol for that is reserved now, although
354  *	it is not implemented.
355  *
356  *	_SVR4_VTOC_16:
357  *		This VTOC form is compatible with the System V Release 4
358  *		VTOC (as implemented on the SVr4 Intel and 3b ports) with
359  *		16 partitions per disk.
360  *
361  *
362  * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR
363  *	This describes the type of addresses used by system DMA:
364  *
365  *	_DMA_USES_PHYSADDR:
366  *		This type of DMA, used in the x86 implementation,
367  *		requires physical addresses for DMA buffers.  The 24-bit
368  *		addresses used by some legacy boards is the source of the
369  *		"low-memory" (<16MB) requirement for some devices using DMA.
370  *
371  *	_DMA_USES_VIRTADDR:
372  *		This method of DMA allows the use of virtual addresses for
373  *		DMA transfers.
374  *
375  * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT
376  *      This indicates the presence/absence of an fdisk table.
377  *
378  *      _FIRMWARE_NEEDS_FDISK
379  *              The fdisk table is required by system firmware.  If present,
380  *              it allows a disk to be subdivided into multiple fdisk
381  *              partitions, each of which is equivalent to a separate,
382  *              virtual disk.  This enables the co-existence of multiple
383  *              operating systems on a shared hard disk.
384  *
385  *      _NO_FDISK_PRESENT
386  *              If the fdisk table is absent, it is assumed that the entire
387  *              media is allocated for a single operating system.
388  *
389  * _HAVE_TEM_FIRMWARE
390  *	Defined if this architecture has the (fallback) option of
391  *	using prom_* calls for doing I/O if a suitable kernel driver
392  *	is not available to do it.
393  *
394  * _DONT_USE_1275_GENERIC_NAMES
395  *		Controls whether or not device tree node names should
396  *		comply with the IEEE 1275 "Generic Names" Recommended
397  *		Practice. With _DONT_USE_GENERIC_NAMES, device-specific
398  *		names identifying the particular device will be used.
399  *
400  * __i386_COMPAT
401  *	This indicates whether the i386 ABI is supported as a *non-native*
402  *	mode for the platform.  When this symbol is defined:
403  *	-	32-bit xstat-style system calls are enabled
404  *	-	32-bit xmknod-style system calls are enabled
405  *	-	32-bit system calls use i386 sizes -and- alignments
406  *
407  *	Note that this is NOT defined for the i386 native environment!
408  *
409  * __x86
410  *	This is ONLY a synonym for defined(__i386) || defined(__amd64)
411  *	which is useful only insofar as these two architectures share
412  *	common attributes.  Analogous to __sparc.
413  *
414  * _PSM_MODULES
415  *	This indicates whether or not the implementation uses PSM
416  *	modules for processor support, reading /etc/mach from inside
417  *	the kernel to extract a list.
418  *
419  * _RTC_CONFIG
420  *	This indicates whether or not the implementation uses /etc/rtc_config
421  *	to configure the real-time clock in the kernel.
422  *
423  * _UNIX_KRTLD
424  *	This indicates that the implementation uses a dynamically
425  *	linked unix + krtld to form the core kernel image at boot
426  *	time, or (in the absence of this symbol) a prelinked kernel image.
427  *
428  * _OBP
429  *	This indicates the firmware interface is OBP.
430  *
431  * _SOFT_HOSTID
432  *	This indicates that the implementation obtains the hostid
433  *	from the file /etc/hostid, rather than from hardware.
434  */
435 
436 
437 
438 
439 
440 /*
441  * The following set of definitions characterize Solaris on AMD's
442  * 64-bit systems.
443  */
444 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
445 /*
446  * Define the appropriate "processor characteristics"
447  */
448 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
449 /*
450  * Different alignment constraints for the i386 ABI in compatibility mode
451  */
452 
453 
454 /*
455  * Define the appropriate "implementation choices".
456  */
457 # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
458 /*
459  * The feature test macro __i386 is generic for all processors implementing
460  * the Intel 386 instruction set or a superset of it.  Specifically, this
461  * includes all members of the 386, 486, and Pentium family of processors.
462  */
463 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
464 
465 
466 
467 
468 
469 /*
470  * Values of _POSIX_C_SOURCE
471  *
472  *		undefined   not a POSIX compilation
473  *		1	    POSIX.1-1990 compilation
474  *		2	    POSIX.2-1992 compilation
475  *		199309L	    POSIX.1b-1993 compilation (Real Time)
476  *		199506L	    POSIX.1c-1995 compilation (POSIX Threads)
477  *		200112L	    POSIX.1-2001 compilation (Austin Group Revision)
478  *		200809L     POSIX.1-2008 compilation
479  */
480 
481 
482 
483 
484 /*
485  * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS,
486  * and _STDC_C99 are Sun implementation specific macros created in order to
487  * compress common standards specified feature test macros for easier reading.
488  * These macros should not be used by the application developer as
489  * unexpected results may occur. Instead, the user should reference
490  * standards(5) for correct usage of the standards feature test macros.
491  *
492  * __XOPEN_OR_POSIX     Used in cases where a symbol is defined by both
493  *                      X/Open or POSIX or in the negative, when neither
494  *                      X/Open or POSIX defines a symbol.
495  *
496  * _STRICT_STDC         __STDC__ is specified by the C Standards and defined
497  *                      by the compiler. For Sun compilers the value of
498  *                      __STDC__ is either 1, 0, or not defined based on the
499  *                      compilation mode (see cc(1)). When the value of
500  *                      __STDC__ is 1 and in the absence of any other feature
501  *                      test macros, the namespace available to the application
502  *                      is limited to only those symbols defined by the C
503  *                      Standard. _STRICT_STDC provides a more readable means
504  *                      of identifying symbols defined by the standard, or in
505  *                      the negative, symbols that are extensions to the C
506  *                      Standard. See additional comments for GNU C differences.
507  *
508  * _STDC_C99            __STDC_VERSION__ is specified by the C standards and
509  *                      defined by the compiler and indicates the version of
510  *                      the C standard. A value of 199901L indicates a
511  *                      compiler that complies with ISO/IEC 9899:1999, other-
512  *                      wise known as the C99 standard.
513  *
514  * _STDC_C11		Like _STDC_C99 except that the value of __STDC_VERSION__
515  *                      is 201112L indicating a compiler that compiles with
516  *                      ISO/IEXC 9899:2011, otherwise known as the C11 standard.
517  *
518  * _STRICT_SYMBOLS	Used in cases where symbol visibility is restricted
519  *                      by the standards, and the user has not explicitly
520  *                      relaxed the strictness via __EXTENSIONS__.
521  */
522 
523 
524 
525 
526 
527 /*
528  * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC
529  * 99899:2011 specify the following predefined macro name:
530  *
531  * __STDC__	The integer constant 1, intended to indicate a conforming
532  *		implementation.
533  *
534  * Furthermore, a strictly conforming program shall use only those features
535  * of the language and library specified in these standards. A conforming
536  * implementation shall accept any strictly conforming program.
537  *
538  * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for
539  * strictly conforming environments and __STDC__ to 0 for environments that
540  * use ANSI C semantics but allow extensions to the C standard. For non-ANSI
541  * C semantics, Sun's C compiler does not define __STDC__.
542  *
543  * The GNU C project interpretation is that __STDC__ should always be defined
544  * to 1 for compilation modes that accept ANSI C syntax regardless of whether
545  * or not extensions to the C standard are used. Violations of conforming
546  * behavior are conditionally flagged as warnings via the use of the
547  * -pedantic option. In addition to defining __STDC__ to 1, the GNU C
548  * compiler also defines __STRICT_ANSI__ as a means of specifying strictly
549  * conforming environments using the -ansi or -std=<standard> options.
550  *
551  * In the absence of any other compiler options, Sun and GNU set the value
552  * of __STDC__ as follows when using the following options:
553  *
554  *				Value of __STDC__  __STRICT_ANSI__
555  *
556  * cc -Xa (default)			0	      undefined
557  * cc -Xt (transitional)		0             undefined
558  * cc -Xc (strictly conforming)		1	      undefined
559  * cc -Xs (K&R C)		    undefined	      undefined
560  *
561  * gcc (default)			1	      undefined
562  * gcc -ansi, -std={c89, c99,...)  	1              defined
563  * gcc -traditional (K&R)	    undefined	      undefined
564  *
565  * The default compilation modes for Sun C compilers versus GNU C compilers
566  * results in a differing value for __STDC__ which results in a more
567  * restricted namespace when using Sun compilers. To allow both GNU and Sun
568  * interpretations to peacefully co-exist, we use the following Sun
569  * implementation _STRICT_STDC_ macro:
570  */
571 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
572 /*
573  * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011
574  */
575 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
576 /*
577  * Use strict symbol visibility.
578  */
579 
580 
581 
582 
583 
584 /*
585  * Large file interfaces:
586  *
587  *	_LARGEFILE_SOURCE
588  *		1		large file-related additions to POSIX
589  *				interfaces requested (fseeko, etc.)
590  *	_LARGEFILE64_SOURCE
591  *		1		transitional large-file-related interfaces
592  *				requested (seek64, stat64, etc.)
593  *
594  * The corresponding announcement macros are respectively:
595  *	_LFS_LARGEFILE
596  *	_LFS64_LARGEFILE
597  * (These are set in <unistd.h>.)
598  *
599  * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as
600  * well.
601  *
602  * The large file interfaces are made visible regardless of the initial values
603  * of the feature test macros under certain circumstances:
604  *    -	If no explicit standards-conforming environment is requested (neither
605  *	of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of
606  *	__STDC__ does not imply standards conformance).
607  *    -	Extended system interfaces are explicitly requested (__EXTENSIONS__
608  * 	is defined).
609  *    -	Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is
610  *	defined).  (Note that this dependency is an artifact of the current
611  *	kernel implementation and may change in future releases.)
612  */
613 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
614 /*
615  * Large file compilation environment control:
616  *
617  * The setting of _FILE_OFFSET_BITS controls the size of various file-related
618  * types and governs the mapping between file-related source function symbol
619  * names and the corresponding binary entry points.
620  *
621  * In the 32-bit environment, the default value is 32; if not set, set it to
622  * the default here, to simplify tests in other headers.
623  *
624  * In the 64-bit compilation environment, the only value allowed is 64.
625  */
626 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
627 /*
628  * Use of _XOPEN_SOURCE
629  *
630  * The following X/Open specifications are supported:
631  *
632  * X/Open Portability Guide, Issue 3 (XPG3)
633  * X/Open CAE Specification, Issue 4 (XPG4)
634  * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2)
635  * X/Open CAE Specification, Issue 5 (XPG5)
636  * Open Group Technical Standard, Issue 6 (XPG6), also referred to as
637  *    IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002.
638  * Open Group Technical Standard, Issue 7 (XPG7), also referred to as
639  *    IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009.
640  *
641  * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1).
642  * XPG5 is also referred to as UNIX 98 or the Single Unix Specification,
643  *     Version 2 (SUSv2)
644  * XPG6 is the result of a merge of the X/Open and POSIX specifications
645  *     and as such is also referred to as IEEE Std. 1003.1-2001 in
646  *     addition to UNIX 03 and SUSv3.
647  * XPG7 is also referred to as UNIX 08 and SUSv4.
648  *
649  * When writing a conforming X/Open application, as per the specification
650  * requirements, the appropriate feature test macros must be defined at
651  * compile time. These are as follows. For more info, see standards(5).
652  *
653  * Feature Test Macro				     Specification
654  * ------------------------------------------------  -------------
655  * _XOPEN_SOURCE                                         XPG3
656  * _XOPEN_SOURCE && _XOPEN_VERSION = 4                   XPG4
657  * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1           XPG4v2
658  * _XOPEN_SOURCE = 500                                   XPG5
659  * _XOPEN_SOURCE = 600  (or POSIX_C_SOURCE=200112L)      XPG6
660  * _XOPEN_SOURCE = 700  (or POSIX_C_SOURCE=200809L)      XPG7
661  *
662  * In order to simplify the guards within the headers, the following
663  * implementation private test macros have been created. Applications
664  * must NOT use these private test macros as unexpected results will
665  * occur.
666  *
667  * Note that in general, the use of these private macros is cumulative.
668  * For example, the use of _XPG3 with no other restrictions on the X/Open
669  * namespace will make the symbols visible for XPG3 through XPG6
670  * compilation environments. The use of _XPG4_2 with no other X/Open
671  * namespace restrictions indicates that the symbols were introduced in
672  * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation
673  * environments, but not for XPG3 or XPG4 compilation environments.
674  *
675  * _XPG3    X/Open Portability Guide, Issue 3 (XPG3)
676  * _XPG4    X/Open CAE Specification, Issue 4 (XPG4)
677  * _XPG4_2  X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS)
678  * _XPG5    X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2)
679  * _XPG6    Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3)
680  * _XPG7    Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4)
681  */
682 
683 /* X/Open Portability Guide, Issue 3 */
684 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
685 /*
686  * _XOPEN_VERSION is defined by the X/Open specifications and is not
687  * normally defined by the application, except in the case of an XPG4
688  * application.  On the implementation side, _XOPEN_VERSION defined with
689  * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined
690  * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application.
691  * _XOPEN_VERSION  defined with a value of 500 indicates an XPG5 (UNIX 98)
692  * application and with a value of 600 indicates an XPG6 (UNIX 03)
693  * application and with a value of 700 indicates an XPG7 (UNIX 08).
694  * The appropriate version is determined by the use of the
695  * feature test macros described earlier.  The value of _XOPEN_VERSION
696  * defaults to 3 otherwise indicating support for XPG3 applications.
697  */
698 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
699 /*
700  * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly
701  * conforming environments.  ISO 9899:1999 says it does.
702  *
703  * The presence of _LONGLONG_TYPE says "long long exists" which is therefore
704  * defined in all but strictly conforming environments that disallow it.
705  */
706 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
707 /*
708  * The following macro defines a value for the ISO C99 restrict
709  * keyword so that _RESTRICT_KYWD resolves to "restrict" if
710  * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string)
711  * if any other compiler is used. This allows for the use of single
712  * prototype declarations regardless of compiler version.
713  */
714 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
715 /*
716  * The following macro defines a value for the ISO C11 _Noreturn
717  * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if
718  * an ISO C11 compiler is used and "" (null string) if any other
719  * compiler is used. This allows for the use of single prototype
720  * declarations regardless of compiler version.
721  */
722 
723 
724 
725 
726 
727 
728 
729 /*
730  * The following macro indicates header support for the ANSI C++
731  * standard.  The ISO/IEC designation for this is ISO/IEC FDIS 14882.
732  */
733 
734 
735 /*
736  * The following macro indicates header support for the C99 standard,
737  * ISO/IEC 9899:1999, Programming Languages - C.
738  */
739 
740 
741 /*
742  * The following macro indicates header support for the C99 standard,
743  * ISO/IEC 9899:2011, Programming Languages - C.
744  */
745 
746 
747 /*
748  * The following macro indicates header support for DTrace. The value is an
749  * integer that corresponds to the major version number for DTrace.
750  */
751 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
752 
753 
754 
755 
756 
757 /*
758  * Do all of our 'redefine_extname' processing before
759  * declarations of the associated functions are seen.
760  * This is necessary to keep gcc happy.
761  */
762 
763 
764 /* large file compilation environment setup */
765 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
766 /* In the LP64 compilation environment, all APIs are already large file */
767 
768 
769 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
770 #pragma redefine_extname fopen64 fopen
771 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
772 
773 
774 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
775 #pragma redefine_extname freopen64 freopen
776 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
777 
778 
779 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
780 #pragma redefine_extname tmpfile64 tmpfile
781 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
782 
783 
784 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
785 #pragma redefine_extname fgetpos64 fgetpos
786 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
787 
788 
789 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
790 #pragma redefine_extname fsetpos64 fsetpos
791 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
792 
793 
794 
795 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
796 #pragma redefine_extname fseeko64 fseeko
797 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
798 
799 
800 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
801 #pragma redefine_extname ftello64 ftello
802 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
803 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
804 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1
805 /*
806  * CDDL HEADER START
807  *
808  * The contents of this file are subject to the terms of the
809  * Common Development and Distribution License, Version 1.0 only
810  * (the "License").  You may not use this file except in compliance
811  * with the License.
812  *
813  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
814  * or http://www.opensolaris.org/os/licensing.
815  * See the License for the specific language governing permissions
816  * and limitations under the License.
817  *
818  * When distributing Covered Code, include this CDDL HEADER in each
819  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
820  * If applicable, add the following below this CDDL HEADER, with the
821  * fields enclosed by brackets "[]" replaced with your own identifying
822  * information: Portions Copyright [yyyy] [name of copyright owner]
823  *
824  * CDDL HEADER END
825  */
826 /*
827  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
828  * Copyright 2014 PALO, Richard.
829  *
830  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
831  * Use is subject to license terms.
832  */
833 
834 /*	Copyright (c) 1988 AT&T	*/
835 /*	  All Rights Reserved  	*/
836 
837 /*
838  * An application should not include this header directly.  Instead it
839  * should be included only through the inclusion of other Sun headers.
840  *
841  * The contents of this header is limited to identifiers specified in the
842  * C Standard.  Any new identifiers specified in future amendments to the
843  * C Standard must be placed in this header.  If these new identifiers
844  * are required to also be in the C++ Standard "std" namespace, then for
845  * anything other than macro definitions, corresponding "using" directives
846  * must also be added to <stdio.h>.
847  */
848 
849 /*
850  * User-visible pieces of the ANSI C standard I/O package.
851  */
852 
853 
854 
855 
856 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
857 /*
858  * CDDL HEADER START
859  *
860  * The contents of this file are subject to the terms of the
861  * Common Development and Distribution License (the "License").
862  * You may not use this file except in compliance with the License.
863  *
864  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
865  * or http://www.opensolaris.org/os/licensing.
866  * See the License for the specific language governing permissions
867  * and limitations under the License.
868  *
869  * When distributing Covered Code, include this CDDL HEADER in each
870  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
871  * If applicable, add the following below this CDDL HEADER, with the
872  * fields enclosed by brackets "[]" replaced with your own identifying
873  * information: Portions Copyright [yyyy] [name of copyright owner]
874  *
875  * CDDL HEADER END
876  */
877 
878 /*
879  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
880  * Copyright 2016 Joyent, Inc.
881  *
882  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
883  * Use is subject to license terms.
884  */
885 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
886 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
887 /*
888  * This file and its contents are supplied under the terms of the
889  * Common Development and Distribution License ("CDDL"), version 1.0.
890  * You may only use this file in accordance with the terms of version
891  * 1.0 of the CDDL.
892  *
893  * A full copy of the text of the CDDL should have accompanied this
894  * source.  A copy of the CDDL is also available via the Internet at
895  * http://www.illumos.org/license/CDDL.
896  */
897 
898 /*
899  * Copyright 2014-2016 PALO, Richard.
900  */
901 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
902 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
903 /*
904  * CDDL HEADER START
905  *
906  * The contents of this file are subject to the terms of the
907  * Common Development and Distribution License, Version 1.0 only
908  * (the "License").  You may not use this file except in compliance
909  * with the License.
910  *
911  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
912  * or http://www.opensolaris.org/os/licensing.
913  * See the License for the specific language governing permissions
914  * and limitations under the License.
915  *
916  * When distributing Covered Code, include this CDDL HEADER in each
917  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
918  * If applicable, add the following below this CDDL HEADER, with the
919  * fields enclosed by brackets "[]" replaced with your own identifying
920  * information: Portions Copyright [yyyy] [name of copyright owner]
921  *
922  * CDDL HEADER END
923  */
924 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
925 /*	  All Rights Reserved	*/
926 
927 
928 /*
929  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
930  *
931  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
932  * Use is subject to license terms.
933  */
934 
935 
936 
937 
938 /*
939  * An application should not include this header directly.  Instead it
940  * should be included only through the inclusion of other Sun headers.
941  *
942  * The purpose of this header is to provide the type definitions for
943  * the va_list argument used by a number of printf and printf like
944  * functions. The headers that define these various function prototypes
945  * #include this header directly. These include but are not necessarily
946  * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and
947  * <syslog.h>. The type definitions included in this header are for
948  * the benefit of consumers of va_list.
949  *
950  * Any application that accepts variable argument lists must as documented,
951  * include either <varargs.h> or the preferred <stdarg.h>. Doing so will
952  * pull in the appropriate compiler protocols defined in <sys/va_impl.h>
953  * which is in turn is included by <varargs.h> and <stdarg.h>. See comments
954  * in <sys/va_impl.h> for more detailed information regarding implementation
955  * and compiler specific protocols.
956  */
957 
958 /*
959  * The common definitions exported by this header or compilers using
960  * this header are:
961  *
962  * the identifier __builtin_va_alist for the variable list pseudo parameter
963  * the type __va_alist_type for the variable list pseudo parameter
964  * the type __va_list defining the type of the variable list iterator
965  *
966  * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros
967  * (__GNUC__) and processor macros (e.g. __amd64) are intended to be
968  * defined by the compilation system, not the user of the system.
969  */
970 
971 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
972 /*
973  * CDDL HEADER START
974  *
975  * The contents of this file are subject to the terms of the
976  * Common Development and Distribution License (the "License").
977  * You may not use this file except in compliance with the License.
978  *
979  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
980  * or http://www.opensolaris.org/os/licensing.
981  * See the License for the specific language governing permissions
982  * and limitations under the License.
983  *
984  *
985  * When distributing Covered Code, include this CDDL HEADER in each
986  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
987  * If applicable, add the following below this CDDL HEADER, with the
988  * fields enclosed by brackets "[]" replaced with your own identifying
989  * information: Portions Copyright [yyyy] [name of copyright owner]
990  *
991  * CDDL HEADER END
992  */
993 
994 /*
995  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
996  * Use is subject to license terms.
997  * Copyright 2016 Joyent, Inc.
998  */
999 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2
1000 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h"
1001 typedef __builtin_va_list __gnuc_va_list;
1002 /*
1003  * XX64 This seems unnecessary .. but is needed because vcmn_err is
1004  *	defined with __va_list instead of plain old va_list.
1005  *	Perhaps that should be fixed!
1006  */
1007 typedef __builtin_va_list __va_list;
1008 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1009 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1
1010 /*
1011  * CDDL HEADER START
1012  *
1013  * The contents of this file are subject to the terms of the
1014  * Common Development and Distribution License, Version 1.0 only
1015  * (the "License").  You may not use this file except in compliance
1016  * with the License.
1017  *
1018  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1019  * or http://www.opensolaris.org/os/licensing.
1020  * See the License for the specific language governing permissions
1021  * and limitations under the License.
1022  *
1023  * When distributing Covered Code, include this CDDL HEADER in each
1024  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1025  * If applicable, add the following below this CDDL HEADER, with the
1026  * fields enclosed by brackets "[]" replaced with your own identifying
1027  * information: Portions Copyright [yyyy] [name of copyright owner]
1028  *
1029  * CDDL HEADER END
1030  */
1031 /*
1032  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1033  * Use is subject to license terms.
1034  */
1035 
1036 
1037 
1038 
1039 #pragma ident "%Z%%M%	%I%	%E% SMI"
1040 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h"
1041 typedef struct __FILE __FILE;
1042 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1043 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1
1044 /*
1045  * CDDL HEADER START
1046  *
1047  * The contents of this file are subject to the terms of the
1048  * Common Development and Distribution License (the "License").
1049  * You may not use this file except in compliance with the License.
1050  *
1051  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1052  * or http://www.opensolaris.org/os/licensing.
1053  * See the License for the specific language governing permissions
1054  * and limitations under the License.
1055  *
1056  * When distributing Covered Code, include this CDDL HEADER in each
1057  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1058  * If applicable, add the following below this CDDL HEADER, with the
1059  * fields enclosed by brackets "[]" replaced with your own identifying
1060  * information: Portions Copyright [yyyy] [name of copyright owner]
1061  *
1062  * CDDL HEADER END
1063  */
1064 
1065 /*
1066  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1067  * Use is subject to license terms.
1068  */
1069 
1070 
1071 
1072 
1073 #pragma ident "%Z%%M%	%I%	%E% SMI"
1074 
1075 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
1076 /*
1077  * CDDL HEADER START
1078  *
1079  * The contents of this file are subject to the terms of the
1080  * Common Development and Distribution License (the "License").
1081  * You may not use this file except in compliance with the License.
1082  *
1083  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1084  * or http://www.opensolaris.org/os/licensing.
1085  * See the License for the specific language governing permissions
1086  * and limitations under the License.
1087  *
1088  *
1089  * When distributing Covered Code, include this CDDL HEADER in each
1090  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1091  * If applicable, add the following below this CDDL HEADER, with the
1092  * fields enclosed by brackets "[]" replaced with your own identifying
1093  * information: Portions Copyright [yyyy] [name of copyright owner]
1094  *
1095  * CDDL HEADER END
1096  */
1097 
1098 /*
1099  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1100  * Use is subject to license terms.
1101  * Copyright 2016 Joyent, Inc.
1102  */
1103 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2
1104 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h"
1105 struct __FILE {
1106  long __pad[16];
1107 };
1108 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1109 
1110 /*
1111  * If feature test macros are set that enable interfaces that use types
1112  * defined in <sys/types.h>, get those types by doing the include.
1113  *
1114  * Note that in asking for the interfaces associated with this feature test
1115  * macro one also asks for definitions of the POSIX types.
1116  */
1117 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1118 typedef __FILE FILE;
1119 
1120 
1121 
1122 
1123 
1124 typedef unsigned long size_t; /* size of something in bytes */
1125 
1126 
1127 
1128 
1129 
1130 
1131 typedef long fpos_t;
1132 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1133 /*
1134  * The value of _NFILE is defined in the Processor Specific ABI.  The value
1135  * is chosen for historical reasons rather than for truly processor related
1136  * attribute.  Note that the SPARC Processor Specific ABI uses the common
1137  * UNIX historical value of 20 so it is allowed to fall through.
1138  */
1139 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1140 extern __FILE __iob[20];
1141 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1142 extern int remove(const char *);
1143 extern int rename(const char *, const char *);
1144 extern FILE *tmpfile(void);
1145 extern char *tmpnam(char *);
1146 extern int fclose(FILE *);
1147 extern int fflush(FILE *);
1148 extern FILE *fopen(const char *, const char *);
1149 extern FILE *freopen(const char *,
1150    const char *, FILE *);
1151 extern void setbuf(FILE *, char *);
1152 extern int setvbuf(FILE *, char *, int,
1153    size_t);
1154 /* PRINTFLIKE2 */
1155 extern int fprintf(FILE *, const char *, ...);
1156 /* SCANFLIKE2 */
1157 extern int fscanf(FILE *, const char *, ...);
1158 /* PRINTFLIKE1 */
1159 extern int printf(const char *, ...);
1160 /* SCANFLIKE1 */
1161 extern int scanf(const char *, ...);
1162 /* PRINTFLIKE2 */
1163 extern int sprintf(char *, const char *, ...);
1164 /* SCANFLIKE2 */
1165 extern int sscanf(const char *,
1166    const char *, ...);
1167 extern int vfprintf(FILE *, const char *,
1168    __va_list);
1169 extern int vprintf(const char *, __va_list);
1170 extern int vsprintf(char *, const char *,
1171    __va_list);
1172 extern int fgetc(FILE *);
1173 extern char *fgets(char *, int, FILE *);
1174 extern int fputc(int, FILE *);
1175 extern int fputs(const char *, FILE *);
1176 
1177 
1178 extern int getc(FILE *);
1179 extern int putc(int, FILE *);
1180 
1181 
1182 
1183 extern int getchar(void);
1184 extern int putchar(int);
1185 
1186 
1187 /*
1188  * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11
1189  * environment has been requested, we remove it.
1190  */
1191 
1192 extern char *gets(char *);
1193 
1194 extern int puts(const char *);
1195 extern int ungetc(int, FILE *);
1196 extern size_t fread(void *, size_t, size_t,
1197  FILE *);
1198 extern size_t fwrite(const void *, size_t, size_t,
1199  FILE *);
1200 
1201 extern int fgetpos(FILE *, fpos_t *);
1202 extern int fsetpos(FILE *, const fpos_t *);
1203 
1204 extern int fseek(FILE *, long, int);
1205 extern long ftell(FILE *);
1206 extern void rewind(FILE *);
1207 
1208 
1209 extern void clearerr(FILE *);
1210 extern int feof(FILE *);
1211 extern int ferror(FILE *);
1212 
1213 extern void perror(const char *);
1214 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
1215 
1216 /*
1217  * If feature test macros are set that enable interfaces that use types
1218  * defined in <sys/types.h>, get those types by doing the include.
1219  *
1220  * Note that in asking for the interfaces associated with this feature test
1221  * macro one also asks for definitions of the POSIX types.
1222  */
1223 
1224 /*
1225  * Allow global visibility for symbols defined in
1226  * C++ "std" namespace in <iso/stdio_iso.h>.
1227  */
1228 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1229 /*
1230  * This header needs to be included here because it relies on the global
1231  * visibility of FILE and size_t in the C++ environment.
1232  */
1233 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1
1234 /*
1235  * CDDL HEADER START
1236  *
1237  * The contents of this file are subject to the terms of the
1238  * Common Development and Distribution License, Version 1.0 only
1239  * (the "License").  You may not use this file except in compliance
1240  * with the License.
1241  *
1242  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1243  * or http://www.opensolaris.org/os/licensing.
1244  * See the License for the specific language governing permissions
1245  * and limitations under the License.
1246  *
1247  * When distributing Covered Code, include this CDDL HEADER in each
1248  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1249  * If applicable, add the following below this CDDL HEADER, with the
1250  * fields enclosed by brackets "[]" replaced with your own identifying
1251  * information: Portions Copyright [yyyy] [name of copyright owner]
1252  *
1253  * CDDL HEADER END
1254  */
1255 /*
1256  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1257  *
1258  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1259  * Use is subject to license terms.
1260  */
1261 
1262 /*
1263  * An application should not include this header directly.  Instead it
1264  * should be included only through the inclusion of other Sun headers.
1265  *
1266  * The contents of this header is limited to identifiers specified in
1267  * the C99 standard and in conflict with the C++ implementation of the
1268  * standard header.  The C++ standard may adopt the C99 standard at
1269  * which point it is expected that the symbols included here will
1270  * become part of the C++ std namespace.
1271  */
1272 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
1273 /*
1274  * The following have been added as a result of the ISO/IEC 9899:1999
1275  * standard. For a strictly conforming C application, visibility is
1276  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1277  * For non-strictly conforming C applications, there are no restrictions
1278  * on the C namespace.
1279  */
1280 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
1281 extern int vfscanf(FILE *, const char *, __va_list);
1282 extern int vscanf(const char *, __va_list);
1283 extern int vsscanf(const char *, const char *,
1284   __va_list);
1285 
1286 
1287 
1288 
1289 extern int snprintf(char *, size_t, const char *,
1290  ...);
1291 extern int vsnprintf(char *, size_t, const char *,
1292  __va_list);
1293 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
1294 # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1295 typedef long off_t;
1296 
1297 
1298 
1299 
1300 
1301 typedef off_t off64_t;
1302 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1303 typedef fpos_t fpos64_t;
1304 
1305 
1306 
1307 
1308 
1309 /*
1310  * XPG4 requires that va_list be defined in <stdio.h> "as described in
1311  * <stdarg.h>".  ANSI-C and POSIX require that the namespace of <stdio.h>
1312  * not be polluted with this name.
1313  */
1314 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1315 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1316 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1317 extern unsigned char _sibuf[], _sobuf[];
1318 
1319 
1320 /* large file compilation environment setup */
1321 # 241 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1322 /* In the LP64 compilation environment, all APIs are already large file */
1323 # 259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1324 typedef long ssize_t; /* size of something in bytes or -1 */
1325 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1326 extern char *tmpnam_r(char *);
1327 
1328 
1329 
1330 
1331 extern int fcloseall(void);
1332 extern void setbuffer(FILE *, char *, size_t);
1333 extern int setlinebuf(FILE *);
1334 /* PRINTFLIKE2 */
1335 extern int asprintf(char **, const char *, ...);
1336 /* PRINTFLIKE2 */
1337 extern int vasprintf(char **, const char *, __va_list);
1338 
1339 
1340 
1341 
1342  /* || defined(_XPG7) */
1343 extern ssize_t getdelim(char **, size_t *,
1344  int, FILE *);
1345 extern ssize_t getline(char **, size_t *,
1346  FILE *);
1347 
1348 
1349 /*
1350  * The following are known to POSIX and XOPEN, but not to ANSI-C.
1351  */
1352 
1353 
1354 
1355 extern FILE *fdopen(int, const char *);
1356 extern char *ctermid(char *);
1357 extern int fileno(FILE *);
1358 
1359 
1360 
1361 /*
1362  * The following are known to POSIX.1c, but not to ANSI-C or XOPEN.
1363  */
1364 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1365 /*
1366  * The following are known to XOPEN, but not to ANSI-C or POSIX.
1367  */
1368 
1369 
1370 extern FILE *popen(const char *, const char *);
1371 extern char *tempnam(const char *, const char *);
1372 extern int pclose(FILE *);
1373 
1374 extern int getsubopt(char **, char *const *, char **);
1375 
1376 
1377 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1378 
1379 extern char *cuserid(char *);
1380 extern int getopt(int, char *const *, const char *);
1381 extern char *optarg;
1382 extern int optind, opterr, optopt;
1383 extern int getw(FILE *);
1384 extern int putw(int, FILE *);
1385 
1386 
1387 
1388 
1389 /*
1390  * The following are defined as part of the Large File Summit interfaces.
1391  */
1392 
1393 extern int fseeko(FILE *, off_t, int);
1394 extern off_t ftello(FILE *);
1395 
1396 
1397 /*
1398  * The following are defined as part of the transitional Large File Summit
1399  * interfaces.
1400  */
1401 
1402 
1403 extern FILE *fopen64(const char *, const char *);
1404 extern FILE *freopen64(const char *, const char *, FILE *);
1405 extern FILE *tmpfile64(void);
1406 extern int fgetpos64(FILE *, fpos64_t *);
1407 extern int fsetpos64(FILE *, const fpos64_t *);
1408 extern int fseeko64(FILE *, off64_t, int);
1409 extern off64_t ftello64(FILE *);
1410 
1411 
1412 /*
1413  * XPG7 symbols
1414  */
1415 
1416 extern FILE *fmemopen(void *, size_t,
1417       const char *);
1418 extern FILE *open_memstream(char **, size_t *);
1419 # 33 "../common/zones_paths.c" 2
1420 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1
1421 /*
1422  * CDDL HEADER START
1423  *
1424  * The contents of this file are subject to the terms of the
1425  * Common Development and Distribution License (the "License").
1426  * You may not use this file except in compliance with the License.
1427  *
1428  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1429  * or http://www.opensolaris.org/os/licensing.
1430  * See the License for the specific language governing permissions
1431  * and limitations under the License.
1432  *
1433  * When distributing Covered Code, include this CDDL HEADER in each
1434  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1435  * If applicable, add the following below this CDDL HEADER, with the
1436  * fields enclosed by brackets "[]" replaced with your own identifying
1437  * information: Portions Copyright [yyyy] [name of copyright owner]
1438  *
1439  * CDDL HEADER END
1440  */
1441 
1442 /*
1443  * Copyright (c) 2013 Gary Mills
1444  *
1445  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1446  * Use is subject to license terms.
1447  */
1448 
1449 /*	Copyright (c) 1988 AT&T	*/
1450 /*	  All Rights Reserved  	*/
1451 
1452 
1453 
1454 
1455 
1456 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1457 /*
1458  * CDDL HEADER START
1459  *
1460  * The contents of this file are subject to the terms of the
1461  * Common Development and Distribution License (the "License").
1462  * You may not use this file except in compliance with the License.
1463  *
1464  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1465  * or http://www.opensolaris.org/os/licensing.
1466  * See the License for the specific language governing permissions
1467  * and limitations under the License.
1468  *
1469  * When distributing Covered Code, include this CDDL HEADER in each
1470  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1471  * If applicable, add the following below this CDDL HEADER, with the
1472  * fields enclosed by brackets "[]" replaced with your own identifying
1473  * information: Portions Copyright [yyyy] [name of copyright owner]
1474  *
1475  * CDDL HEADER END
1476  */
1477 
1478 /*
1479  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1480  * Copyright 2016 Joyent, Inc.
1481  *
1482  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1483  * Use is subject to license terms.
1484  */
1485 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
1486 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
1487 /*
1488  * CDDL HEADER START
1489  *
1490  * The contents of this file are subject to the terms of the
1491  * Common Development and Distribution License (the "License").
1492  * You may not use this file except in compliance with the License.
1493  *
1494  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1495  * or http://www.opensolaris.org/os/licensing.
1496  * See the License for the specific language governing permissions
1497  * and limitations under the License.
1498  *
1499  *
1500  * When distributing Covered Code, include this CDDL HEADER in each
1501  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1502  * If applicable, add the following below this CDDL HEADER, with the
1503  * fields enclosed by brackets "[]" replaced with your own identifying
1504  * information: Portions Copyright [yyyy] [name of copyright owner]
1505  *
1506  * CDDL HEADER END
1507  */
1508 
1509 /*
1510  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1511  * Use is subject to license terms.
1512  * Copyright 2016 Joyent, Inc.
1513  */
1514 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
1515 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1
1516 /*
1517  * CDDL HEADER START
1518  *
1519  * The contents of this file are subject to the terms of the
1520  * Common Development and Distribution License, Version 1.0 only
1521  * (the "License").  You may not use this file except in compliance
1522  * with the License.
1523  *
1524  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1525  * or http://www.opensolaris.org/os/licensing.
1526  * See the License for the specific language governing permissions
1527  * and limitations under the License.
1528  *
1529  * When distributing Covered Code, include this CDDL HEADER in each
1530  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1531  * If applicable, add the following below this CDDL HEADER, with the
1532  * fields enclosed by brackets "[]" replaced with your own identifying
1533  * information: Portions Copyright [yyyy] [name of copyright owner]
1534  *
1535  * CDDL HEADER END
1536  */
1537 /*
1538  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
1539  * Use is subject to license terms.
1540  */
1541 
1542 /*	Copyright (c) 1988 AT&T	*/
1543 /*	  All Rights Reserved  	*/
1544 
1545 
1546 /*
1547  * An application should not include this header directly.  Instead it
1548  * should be included only through the inclusion of other Sun headers.
1549  *
1550  * The contents of this header is limited to identifiers specified in the
1551  * C Standard.  Any new identifiers specified in future amendments to the
1552  * C Standard must be placed in this header.  If these new identifiers
1553  * are required to also be in the C++ Standard "std" namespace, then for
1554  * anything other than macro definitions, corresponding "using" directives
1555  * must also be added to <limits.h>.
1556  */
1557 
1558 
1559 
1560 
1561 #pragma ident "%Z%%M%	%I%	%E% SMI"
1562 
1563 
1564 
1565 
1566 
1567 /*
1568  * Sizes of integral types
1569  */
1570 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h"
1571      /* min value of a "long int" */
1572 
1573      /* max value of a "long int" */
1574 
1575      /* max value of "unsigned long int" */
1576 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h"
1577      /* min value of a long long */
1578 
1579      /* max value of a long long */
1580 
1581      /* max value of "unsigned long long */
1582 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
1583 
1584 /*
1585  * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C
1586  * committee's working draft for the revision of the current ISO C standard,
1587  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
1588  * required by any standard but constitute a useful, general purpose set
1589  * of type definitions and limits which is namespace clean with respect to
1590  * all standards.
1591  */
1592 
1593 
1594 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
1595 /*
1596  * CDDL HEADER START
1597  *
1598  * The contents of this file are subject to the terms of the
1599  * Common Development and Distribution License, Version 1.0 only
1600  * (the "License").  You may not use this file except in compliance
1601  * with the License.
1602  *
1603  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1604  * or http://www.opensolaris.org/os/licensing.
1605  * See the License for the specific language governing permissions
1606  * and limitations under the License.
1607  *
1608  * When distributing Covered Code, include this CDDL HEADER in each
1609  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1610  * If applicable, add the following below this CDDL HEADER, with the
1611  * fields enclosed by brackets "[]" replaced with your own identifying
1612  * information: Portions Copyright [yyyy] [name of copyright owner]
1613  *
1614  * CDDL HEADER END
1615  */
1616 /*
1617  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1618  *
1619  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1620  * Use is subject to license terms.
1621  */
1622 
1623 
1624 
1625 
1626 /*
1627  * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation
1628  * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999
1629  * Programming language - C.
1630  *
1631  * Programs/Modules should not directly include this file.  Access to the
1632  * types defined in this file should be through the inclusion of one of the
1633  * following files:
1634  *
1635  *	<limits.h>		This nested inclusion is disabled for strictly
1636  *				ANSI-C conforming compilations.  The *_MIN
1637  *				definitions are not visible to POSIX or XPG
1638  *				conforming applications (due to what may be
1639  *				a bug in the specification - this is under
1640  *				investigation)
1641  *
1642  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
1643  *				components of <inttypes.h>.
1644  *
1645  *	<inttypes.h>		For use by applications.
1646  *
1647  * See these files for more details.
1648  */
1649 
1650 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1651 /*
1652  * CDDL HEADER START
1653  *
1654  * The contents of this file are subject to the terms of the
1655  * Common Development and Distribution License (the "License").
1656  * You may not use this file except in compliance with the License.
1657  *
1658  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1659  * or http://www.opensolaris.org/os/licensing.
1660  * See the License for the specific language governing permissions
1661  * and limitations under the License.
1662  *
1663  * When distributing Covered Code, include this CDDL HEADER in each
1664  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1665  * If applicable, add the following below this CDDL HEADER, with the
1666  * fields enclosed by brackets "[]" replaced with your own identifying
1667  * information: Portions Copyright [yyyy] [name of copyright owner]
1668  *
1669  * CDDL HEADER END
1670  */
1671 
1672 /*
1673  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1674  * Copyright 2016 Joyent, Inc.
1675  *
1676  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1677  * Use is subject to license terms.
1678  */
1679 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2
1680 
1681 
1682 
1683 
1684 
1685 /*
1686  * Limits
1687  *
1688  * The following define the limits for the types defined in <sys/int_types.h>.
1689  *
1690  * INTMAX_MIN (minimum value of the largest supported signed integer type),
1691  * INTMAX_MAX (maximum value of the largest supported signed integer type),
1692  * and UINTMAX_MAX (maximum value of the largest supported unsigned integer
1693  * type) can be set to implementation defined limits.
1694  *
1695  * NOTE : A programmer can test to see whether an implementation supports
1696  * a particular size of integer by testing if the macro that gives the
1697  * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX
1698  * tests false, the implementation does not support unsigned 64 bit integers.
1699  *
1700  * The type of these macros is intentionally unspecified.
1701  *
1702  * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs
1703  * where the ABI specifies "char" as unsigned when the translation mode is
1704  * not ANSI-C.
1705  */
1706 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
1707 /*
1708  * The following 2 macros are provided for testing whether the types
1709  * intptr_t and uintptr_t (integers large enough to hold a void *) are
1710  * defined in this header. They are needed in case the architecture can't
1711  * represent a pointer in any standard integral type.
1712  */
1713 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
1714 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */
1715 
1716 
1717 
1718 
1719 
1720 
1721 /*
1722  * Maximum value of a "size_t".  SIZE_MAX was previously defined
1723  * in <limits.h>, however, the standards specify it be defined
1724  * in <stdint.h>. The <stdint.h> headers includes this header as
1725  * does <limits.h>. The value of SIZE_MAX should not deviate
1726  * from the value of ULONG_MAX defined <sys/types.h>.
1727  */
1728 
1729 
1730 
1731 
1732 
1733 
1734 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */
1735 
1736 
1737 
1738 
1739 /*
1740  * Maximum limit of wchar_t. The WCHAR_* macros are also
1741  * defined in <iso/wchar_iso.h>, but inclusion of that header
1742  * will break ISO/IEC C namespace.
1743  */
1744 
1745 
1746 
1747 
1748 /* Maximum limit of wint_t */
1749 
1750 
1751 
1752 
1753 /*
1754  * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that
1755  * when including <limits.h> that the suffix _MAX is reserved but not the
1756  * suffix _MIN.  However, until that issue is resolved....
1757  */
1758 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
1759 /* Minimum value of a pointer-holding signed integer type */
1760 
1761 
1762 
1763 
1764 
1765 
1766 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */
1767 
1768 
1769 
1770 
1771 
1772 
1773 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */
1774 
1775 
1776 
1777 
1778 /*
1779  * Minimum limit of wchar_t. The WCHAR_* macros are also
1780  * defined in <iso/wchar_iso.h>, but inclusion of that header
1781  * will break ISO/IEC C namespace.
1782  */
1783 
1784 
1785 
1786 
1787 /* Minimum limit of wint_t */
1788 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
1789 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1790 /*
1791  * ARG_MAX is calculated as follows:
1792  * NCARGS - space for other stuff on initial stack
1793  * like aux vectors, saved registers, etc..
1794  */
1795 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1796 /*
1797  * POSIX conformant definitions - An implementation may define
1798  * other symbols which reflect the actual implementation. Alternate
1799  * definitions may not be as restrictive as the POSIX definitions.
1800  */
1801 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1802 /* POSIX.1c conformant */
1803 
1804 
1805 
1806 
1807 
1808 /* UNIX 03 conformant */
1809 
1810 
1811 
1812 
1813 
1814 /*
1815  * POSIX.2 and XPG4-XSH4 conformant definitions
1816  */
1817 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1818 /* UNIX 03 conformant */
1819 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1820 /*
1821  * For dual definitions for PASS_MAX and sysconf.c
1822  */
1823 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1824     /* NLS printf() and scanf() */
1825 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1826 /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */
1827 
1828 
1829 
1830        /* of a double */
1831 
1832 
1833        /* of a "float" */
1834 
1835 
1836 /* Marked as LEGACY in SUSv1 and removed in SUSv2 */
1837 
1838 
1839        /* of a double */
1840 
1841        /* of a float */
1842 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1843 /*
1844  * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the
1845  * related text states:
1846  *
1847  * A definition of one of the values from Table 2-5 shall be omitted from the
1848  * <limits.h> on specific implementations where the corresponding value is
1849  * equal to or greater than the stated minimum, but where the value can vary
1850  * depending on the file to which it is applied. The actual value supported for
1851  * a specific pathname shall be provided by the pathconf() (5.7.1) function.
1852  *
1853  * This is clear that any machine supporting multiple file system types
1854  * and/or a network can not include this define, regardless of protection
1855  * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags.
1856  *
1857  * #define	NAME_MAX	14
1858  */
1859 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1860 typedef long clock_t;
1861 
1862 
1863 extern long _sysconf(int); /* System Private interface to sysconf() */
1864 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
1865     /* Increased for illumos */
1866 # 34 "../common/zones_paths.c" 2
1867 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1
1868 /*
1869  * CDDL HEADER START
1870  *
1871  * The contents of this file are subject to the terms of the
1872  * Common Development and Distribution License (the "License").
1873  * You may not use this file except in compliance with the License.
1874  *
1875  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1876  * or http://www.opensolaris.org/os/licensing.
1877  * See the License for the specific language governing permissions
1878  * and limitations under the License.
1879  *
1880  * When distributing Covered Code, include this CDDL HEADER in each
1881  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1882  * If applicable, add the following below this CDDL HEADER, with the
1883  * fields enclosed by brackets "[]" replaced with your own identifying
1884  * information: Portions Copyright [yyyy] [name of copyright owner]
1885  *
1886  * CDDL HEADER END
1887  */
1888 
1889 /*
1890  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1891  * Copyright (c) 2013 Gary Mills
1892  *
1893  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
1894  */
1895 
1896 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
1897 
1898 /*	Copyright (c) 1988 AT&T	*/
1899 /*	  All Rights Reserved  	*/
1900 
1901 
1902 
1903 
1904 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1
1905 /*
1906  * CDDL HEADER START
1907  *
1908  * The contents of this file are subject to the terms of the
1909  * Common Development and Distribution License, Version 1.0 only
1910  * (the "License").  You may not use this file except in compliance
1911  * with the License.
1912  *
1913  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1914  * or http://www.opensolaris.org/os/licensing.
1915  * See the License for the specific language governing permissions
1916  * and limitations under the License.
1917  *
1918  * When distributing Covered Code, include this CDDL HEADER in each
1919  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1920  * If applicable, add the following below this CDDL HEADER, with the
1921  * fields enclosed by brackets "[]" replaced with your own identifying
1922  * information: Portions Copyright [yyyy] [name of copyright owner]
1923  *
1924  * CDDL HEADER END
1925  */
1926 /*
1927  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1928  * Copyright 2014 PALO, Richard.
1929  *
1930  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
1931  * Use is subject to license terms.
1932  */
1933 
1934 /*	Copyright (c) 1988 AT&T	*/
1935 /*	  All Rights Reserved  	*/
1936 
1937 
1938 /*
1939  * An application should not include this header directly.  Instead it
1940  * should be included only through the inclusion of other Sun headers.
1941  *
1942  * The contents of this header is limited to identifiers specified in the
1943  * C Standard.  Any new identifiers specified in future amendments to the
1944  * C Standard must be placed in this header.  If these new identifiers
1945  * are required to also be in the C++ Standard "std" namespace, then for
1946  * anything other than macro definitions, corresponding "using" directives
1947  * must also be added to <locale.h>.
1948  */
1949 
1950 
1951 
1952 
1953 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1954 /*
1955  * CDDL HEADER START
1956  *
1957  * The contents of this file are subject to the terms of the
1958  * Common Development and Distribution License (the "License").
1959  * You may not use this file except in compliance with the License.
1960  *
1961  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1962  * or http://www.opensolaris.org/os/licensing.
1963  * See the License for the specific language governing permissions
1964  * and limitations under the License.
1965  *
1966  * When distributing Covered Code, include this CDDL HEADER in each
1967  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1968  * If applicable, add the following below this CDDL HEADER, with the
1969  * fields enclosed by brackets "[]" replaced with your own identifying
1970  * information: Portions Copyright [yyyy] [name of copyright owner]
1971  *
1972  * CDDL HEADER END
1973  */
1974 
1975 /*
1976  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1977  * Copyright 2016 Joyent, Inc.
1978  *
1979  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1980  * Use is subject to license terms.
1981  */
1982 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
1983 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
1984 /*
1985  * This file and its contents are supplied under the terms of the
1986  * Common Development and Distribution License ("CDDL"), version 1.0.
1987  * You may only use this file in accordance with the terms of version
1988  * 1.0 of the CDDL.
1989  *
1990  * A full copy of the text of the CDDL should have accompanied this
1991  * source.  A copy of the CDDL is also available via the Internet at
1992  * http://www.illumos.org/license/CDDL.
1993  */
1994 
1995 /*
1996  * Copyright 2014-2016 PALO, Richard.
1997  */
1998 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
1999 
2000 
2001 
2002 
2003 
2004 unsigned char __mb_cur_max(void);
2005 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
2006 typedef struct {
2007  int quot;
2008  int rem;
2009 } div_t;
2010 
2011 typedef struct {
2012  long quot;
2013  long rem;
2014 } ldiv_t;
2015 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
2016 /*
2017  * wchar_t is a built-in type in standard C++ and as such is not
2018  * defined here when using standard C++. However, the GNU compiler
2019  * fixincludes utility nonetheless creates its own version of this
2020  * header for use by gcc and g++. In that version it adds a redundant
2021  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
2022  * header we need to include the following magic comment:
2023  *
2024  * we must use the C++ compiler's type
2025  *
2026  * The above comment should not be removed or changed until GNU
2027  * gcc/fixinc/inclhack.def is updated to bypass this header.
2028  */
2029 
2030 
2031 
2032 
2033 typedef int wchar_t;
2034 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
2035 extern void abort(void) __attribute__((__noreturn__));
2036 extern int abs(int);
2037 extern int atexit(void (*)(void));
2038 extern double atof(const char *);
2039 extern int atoi(const char *);
2040 extern long int atol(const char *);
2041 extern void *bsearch(const void *, const void *, size_t, size_t,
2042  int (*)(const void *, const void *));
2043 
2044 
2045 
2046 
2047 
2048 
2049 extern void *calloc(size_t, size_t);
2050 extern div_t div(int, int);
2051 extern void exit(int)
2052  __attribute__((__noreturn__));
2053 extern void free(void *);
2054 extern char *getenv(const char *);
2055 extern long int labs(long);
2056 extern ldiv_t ldiv(long, long);
2057 extern void *malloc(size_t);
2058 extern int mblen(const char *, size_t);
2059 extern size_t mbstowcs(wchar_t *, const char *,
2060  size_t);
2061 extern int mbtowc(wchar_t *, const char *, size_t);
2062 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
2063 
2064 
2065 
2066 
2067 
2068 extern int rand(void);
2069 extern void *realloc(void *, size_t);
2070 extern void srand(unsigned int);
2071 extern double strtod(const char *, char **);
2072 extern long int strtol(const char *, char **, int);
2073 extern unsigned long int strtoul(const char *,
2074  char **, int);
2075 extern int system(const char *);
2076 extern int wctomb(char *, wchar_t);
2077 extern size_t wcstombs(char *, const wchar_t *,
2078  size_t);
2079 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
2080 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1
2081 /*
2082  * CDDL HEADER START
2083  *
2084  * The contents of this file are subject to the terms of the
2085  * Common Development and Distribution License, Version 1.0 only
2086  * (the "License").  You may not use this file except in compliance
2087  * with the License.
2088  *
2089  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2090  * or http://www.opensolaris.org/os/licensing.
2091  * See the License for the specific language governing permissions
2092  * and limitations under the License.
2093  *
2094  * When distributing Covered Code, include this CDDL HEADER in each
2095  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2096  * If applicable, add the following below this CDDL HEADER, with the
2097  * fields enclosed by brackets "[]" replaced with your own identifying
2098  * information: Portions Copyright [yyyy] [name of copyright owner]
2099  *
2100  * CDDL HEADER END
2101  */
2102 /*
2103  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2104  *
2105  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2106  * Use is subject to license terms.
2107  */
2108 
2109 /*
2110  * An application should not include this header directly.  Instead it
2111  * should be included only through the inclusion of other Sun headers.
2112  *
2113  * The contents of this header is limited to identifiers specified in
2114  * the C99 standard and in conflict with the C++ implementation of the
2115  * standard header.  The C++ standard may adopt the C99 standard at
2116  * which point it is expected that the symbols included here will
2117  * become part of the C++ std namespace.
2118  */
2119 
2120 
2121 
2122 
2123 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2124 /*
2125  * CDDL HEADER START
2126  *
2127  * The contents of this file are subject to the terms of the
2128  * Common Development and Distribution License (the "License").
2129  * You may not use this file except in compliance with the License.
2130  *
2131  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2132  * or http://www.opensolaris.org/os/licensing.
2133  * See the License for the specific language governing permissions
2134  * and limitations under the License.
2135  *
2136  * When distributing Covered Code, include this CDDL HEADER in each
2137  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2138  * If applicable, add the following below this CDDL HEADER, with the
2139  * fields enclosed by brackets "[]" replaced with your own identifying
2140  * information: Portions Copyright [yyyy] [name of copyright owner]
2141  *
2142  * CDDL HEADER END
2143  */
2144 
2145 /*
2146  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2147  * Copyright 2016 Joyent, Inc.
2148  *
2149  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2150  * Use is subject to license terms.
2151  */
2152 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2
2153 
2154 
2155 
2156 
2157 
2158 /*
2159  * The following have been added as a result of the ISO/IEC 9899:1999
2160  * standard. For a strictly conforming C application, visibility is
2161  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
2162  * For non-strictly conforming C applications, there are no restrictions
2163  * on the C namespace.
2164  */
2165 
2166 
2167 typedef struct {
2168  long long quot;
2169  long long rem;
2170 } lldiv_t;
2171 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h"
2172 extern void _Exit(int);
2173 extern float strtof(const char *, char **);
2174 extern long double strtold(const char *, char **);
2175 
2176 
2177 extern long long atoll(const char *);
2178 extern long long llabs(long long);
2179 extern lldiv_t lldiv(long long, long long);
2180 extern long long strtoll(const char *, char **,
2181  int);
2182 extern unsigned long long strtoull(const char *,
2183  char **, int);
2184 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
2185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1
2186 /*
2187  * This file and its contents are supplied under the terms of the
2188  * Common Development and Distribution License ("CDDL"), version 1.0.
2189  * You may only use this file in accordance with the terms of version
2190  * 1.0 of the CDDL.
2191  *
2192  * A full copy of the text of the CDDL should have accompanied this
2193  * source.  A copy of the CDDL is also available via the Internet at
2194  * http://www.illumos.org/license/CDDL.
2195  */
2196 
2197 /*
2198  * Copyright 2016 Joyent, Inc.
2199  */
2200 
2201 /*
2202  * An application should not include this header directly.  Instead it
2203  * should be included only through the inclusion of other illumos headers.
2204  *
2205  * The contents of this header is limited to identifiers specified in
2206  * the C11 standard and in conflict with the C++ implementation of the
2207  * standard header.  The C++ standard may adopt the C11 standard at
2208  * which point it is expected that the symbols included here will
2209  * become part of the C++ std namespace.
2210  */
2211 
2212 
2213 
2214 
2215 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2216 /*
2217  * CDDL HEADER START
2218  *
2219  * The contents of this file are subject to the terms of the
2220  * Common Development and Distribution License (the "License").
2221  * You may not use this file except in compliance with the License.
2222  *
2223  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2224  * or http://www.opensolaris.org/os/licensing.
2225  * See the License for the specific language governing permissions
2226  * and limitations under the License.
2227  *
2228  * When distributing Covered Code, include this CDDL HEADER in each
2229  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2230  * If applicable, add the following below this CDDL HEADER, with the
2231  * fields enclosed by brackets "[]" replaced with your own identifying
2232  * information: Portions Copyright [yyyy] [name of copyright owner]
2233  *
2234  * CDDL HEADER END
2235  */
2236 
2237 /*
2238  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2239  * Copyright 2016 Joyent, Inc.
2240  *
2241  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2242  * Use is subject to license terms.
2243  */
2244 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2
2245 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
2246 /*
2247  * The following have been added as a result of the ISO/IEC 9899:2011
2248  * standard. For a strictly conforming C application, visibility is
2249  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
2250  * For non-strictly conforming C applications, there are no restrictions
2251  * on the C namespace.
2252  */
2253 
2254 /*
2255  * Work around fix-includes and other bad actors with using multiple headers.
2256  */
2257 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
2258 extern void *aligned_alloc(size_t, size_t);
2259 extern int at_quick_exit(void (*)(void));
2260 extern void quick_exit(int);
2261 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
2262 
2263 
2264 
2265 
2266 
2267 /*
2268  * Allow global visibility for symbols defined in
2269  * C++ "std" namespace in <iso/stdlib_iso.h>.
2270  */
2271 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2272 /*
2273  * Allow global visibility for symbols defined in
2274  * C++ "std" namespace in <iso/stdlib_c11.h>.
2275  */
2276 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2277 typedef unsigned int uid_t; /* UID type		*/
2278 
2279 
2280 /* large file compilation environment setup */
2281 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2282 /* In the LP64 compilation environment, all APIs are already large file */
2283 
2284 
2285 
2286 
2287 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2288 #pragma redefine_extname mkstemp64 mkstemp
2289 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2290 
2291 
2292 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2293 #pragma redefine_extname mkstemps64 mkstemps
2294 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2295 
2296 
2297 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2298 #pragma redefine_extname mkostemp64 mkostemp
2299 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2300 
2301 
2302 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2303 #pragma redefine_extname mkostemps64 mkostemps
2304 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2305 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2306 extern int rand_r(unsigned int *);
2307 
2308 
2309 extern void _exithandle(void);
2310 
2311 
2312 
2313 
2314 extern double drand48(void);
2315 extern double erand48(unsigned short *);
2316 extern long jrand48(unsigned short *);
2317 extern void lcong48(unsigned short *);
2318 extern long lrand48(void);
2319 extern long mrand48(void);
2320 extern long nrand48(unsigned short *);
2321 extern unsigned short *seed48(unsigned short *);
2322 extern void srand48(long);
2323 extern int putenv(char *);
2324 extern void setkey(const char *);
2325 
2326 
2327 /*
2328  * swab() has historically been in <stdlib.h> as delivered from AT&T
2329  * and continues to be visible in the default compilation environment.
2330  * As of Issue 4 of the X/Open Portability Guides, swab() was declared
2331  * in <unistd.h>. As a result, with respect to X/Open namespace the
2332  * swab() declaration in this header is only visible for the XPG3
2333  * environment.
2334  */
2335 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2336 extern void swab(const char *, char *, ssize_t);
2337 
2338 
2339 
2340 
2341 
2342 extern int mkstemp(char *);
2343 
2344 extern int mkstemps(char *, int);
2345 
2346 
2347 
2348 
2349 
2350 extern int mkstemp64(char *);
2351 
2352 extern int mkstemps64(char *, int);
2353 
2354 
2355 
2356 
2357 extern char *mkdtemp(char *);
2358 
2359 
2360 
2361 extern int mkostemp(char *, int);
2362 extern int mkostemps(char *, int, int);
2363 
2364 
2365 extern int mkostemp64(char *, int);
2366 extern int mkostemps64(char *, int, int);
2367 
2368 
2369 
2370 
2371 
2372 
2373 extern long a64l(const char *);
2374 extern char *ecvt(double, int, int *, int *);
2375 extern char *fcvt(double, int, int *, int *);
2376 extern char *gcvt(double, int, char *);
2377 extern int getsubopt(char **, char *const *, char **);
2378 extern int grantpt(int);
2379 extern char *initstate(unsigned, char *, size_t);
2380 extern char *l64a(long);
2381 extern char *mktemp(char *);
2382 extern char *ptsname(int);
2383 extern long random(void);
2384 extern char *realpath(const char *, char *);
2385 extern char *setstate(const char *);
2386 extern void srandom(unsigned);
2387 extern int unlockpt(int);
2388 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
2389 
2390 extern int ttyslot(void);
2391 extern void *valloc(size_t);
2392 
2393 
2394 
2395 
2396 
2397 
2398 extern int posix_memalign(void **, size_t, size_t);
2399 extern int posix_openpt(int);
2400 extern int setenv(const char *, const char *, int);
2401 extern int unsetenv(const char *);
2402 
2403 
2404 
2405 
2406 extern char *canonicalize_file_name(const char *);
2407 extern int clearenv(void);
2408 extern void closefrom(int);
2409 extern int daemon(int, int);
2410 extern int dup2(int, int);
2411 extern int dup3(int, int, int);
2412 extern int fdwalk(int (*)(void *, int), void *);
2413 extern char *qecvt(long double, int, int *, int *);
2414 extern char *qfcvt(long double, int, int *, int *);
2415 extern char *qgcvt(long double, int, char *);
2416 extern char *getcwd(char *, size_t);
2417 extern const char *getexecname(void);
2418 
2419 
2420 
2421 
2422 
2423 
2424 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2425 #pragma redefine_extname getlogin getloginx
2426 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
2427 
2428 
2429 
2430 
2431 
2432 
2433 extern char *getlogin(void);
2434 
2435 
2436 extern int getopt(int, char *const *, const char *);
2437 extern char *optarg;
2438 extern int optind, opterr, optopt;
2439 extern char *getpass(const char *);
2440 extern char *getpassphrase(const char *);
2441 extern int getpw(uid_t, char *);
2442 extern int isatty(int);
2443 extern void *memalign(size_t, size_t);
2444 extern char *ttyname(int);
2445 extern char *mkdtemp(char *);
2446 extern const char *getprogname(void);
2447 extern void setprogname(const char *);
2448 
2449 
2450 extern char *lltostr(long long, char *);
2451 extern char *ulltostr(unsigned long long, char *);
2452 
2453 
2454 
2455 
2456 /* OpenBSD compatibility functions */
2457 
2458 
2459 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
2460 /*
2461  * CDDL HEADER START
2462  *
2463  * The contents of this file are subject to the terms of the
2464  * Common Development and Distribution License, Version 1.0 only
2465  * (the "License").  You may not use this file except in compliance
2466  * with the License.
2467  *
2468  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2469  * or http://www.opensolaris.org/os/licensing.
2470  * See the License for the specific language governing permissions
2471  * and limitations under the License.
2472  *
2473  * When distributing Covered Code, include this CDDL HEADER in each
2474  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2475  * If applicable, add the following below this CDDL HEADER, with the
2476  * fields enclosed by brackets "[]" replaced with your own identifying
2477  * information: Portions Copyright [yyyy] [name of copyright owner]
2478  *
2479  * CDDL HEADER END
2480  */
2481 /*
2482  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2483  *
2484  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
2485  * Use is subject to license terms.
2486  */
2487 
2488 
2489 
2490 
2491 /*
2492  * This file, <inttypes.h>, is specified by the ISO C standard,
2493  * standard, ISO/IEC 9899:1999 Programming language - C and is
2494  * also defined by SUSv3.
2495  *
2496  * ISO	  International Organization for Standardization.
2497  * SUSv3  Single Unix Specification, Version 3
2498  */
2499 
2500 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2501 /*
2502  * CDDL HEADER START
2503  *
2504  * The contents of this file are subject to the terms of the
2505  * Common Development and Distribution License (the "License").
2506  * You may not use this file except in compliance with the License.
2507  *
2508  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2509  * or http://www.opensolaris.org/os/licensing.
2510  * See the License for the specific language governing permissions
2511  * and limitations under the License.
2512  *
2513  * When distributing Covered Code, include this CDDL HEADER in each
2514  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2515  * If applicable, add the following below this CDDL HEADER, with the
2516  * fields enclosed by brackets "[]" replaced with your own identifying
2517  * information: Portions Copyright [yyyy] [name of copyright owner]
2518  *
2519  * CDDL HEADER END
2520  */
2521 
2522 /*
2523  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2524  * Copyright 2016 Joyent, Inc.
2525  *
2526  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2527  * Use is subject to license terms.
2528  */
2529 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2530 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1
2531 /*
2532  * CDDL HEADER START
2533  *
2534  * The contents of this file are subject to the terms of the
2535  * Common Development and Distribution License, Version 1.0 only
2536  * (the "License").  You may not use this file except in compliance
2537  * with the License.
2538  *
2539  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2540  * or http://www.opensolaris.org/os/licensing.
2541  * See the License for the specific language governing permissions
2542  * and limitations under the License.
2543  *
2544  * When distributing Covered Code, include this CDDL HEADER in each
2545  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2546  * If applicable, add the following below this CDDL HEADER, with the
2547  * fields enclosed by brackets "[]" replaced with your own identifying
2548  * information: Portions Copyright [yyyy] [name of copyright owner]
2549  *
2550  * CDDL HEADER END
2551  */
2552 /*
2553  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
2554  * Use is subject to license terms.
2555  */
2556 
2557 
2558 
2559 
2560 #pragma ident "%Z%%M%	%I%	%E% SMI"
2561 
2562 /*
2563  * This header, <sys/inttypes.h>, contains (through nested inclusion) the
2564  * vast majority of the facilities specified for <inttypes.h> as defined
2565  * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
2566  *
2567  * Kernel/Driver developers are encouraged to include this file to access
2568  * the fixed size types, limits and utility macros. Application developers
2569  * should use the standard defined header <inttypes.h>.
2570  */
2571 
2572 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2573 /*
2574  * CDDL HEADER START
2575  *
2576  * The contents of this file are subject to the terms of the
2577  * Common Development and Distribution License (the "License").
2578  * You may not use this file except in compliance with the License.
2579  *
2580  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2581  * or http://www.opensolaris.org/os/licensing.
2582  * See the License for the specific language governing permissions
2583  * and limitations under the License.
2584  *
2585  * When distributing Covered Code, include this CDDL HEADER in each
2586  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2587  * If applicable, add the following below this CDDL HEADER, with the
2588  * fields enclosed by brackets "[]" replaced with your own identifying
2589  * information: Portions Copyright [yyyy] [name of copyright owner]
2590  *
2591  * CDDL HEADER END
2592  */
2593 
2594 /*
2595  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2596  * Copyright 2016 Joyent, Inc.
2597  *
2598  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2599  * Use is subject to license terms.
2600  */
2601 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2602 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
2603 /*
2604  * CDDL HEADER START
2605  *
2606  * The contents of this file are subject to the terms of the
2607  * Common Development and Distribution License, Version 1.0 only
2608  * (the "License").  You may not use this file except in compliance
2609  * with the License.
2610  *
2611  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2612  * or http://www.opensolaris.org/os/licensing.
2613  * See the License for the specific language governing permissions
2614  * and limitations under the License.
2615  *
2616  * When distributing Covered Code, include this CDDL HEADER in each
2617  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2618  * If applicable, add the following below this CDDL HEADER, with the
2619  * fields enclosed by brackets "[]" replaced with your own identifying
2620  * information: Portions Copyright [yyyy] [name of copyright owner]
2621  *
2622  * CDDL HEADER END
2623  */
2624 /*
2625  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2626  *
2627  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2628  * Use is subject to license terms.
2629  */
2630 
2631 
2632 
2633 
2634 /*
2635  * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation
2636  * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999
2637  * Programming language - C.
2638  *
2639  * Programs/Modules should not directly include this file.  Access to the
2640  * types defined in this file should be through the inclusion of one of the
2641  * following files:
2642  *
2643  *	<sys/types.h>		Provides only the "_t" types defined in this
2644  *				file which is a subset of the contents of
2645  *				<inttypes.h>.  (This can be appropriate for
2646  *				all programs/modules except those claiming
2647  *				ANSI-C conformance.)
2648  *
2649  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2650  *				components of <inttypes.h>.
2651  *
2652  *	<inttypes.h>		For use by applications.
2653  *
2654  * See these files for more details.
2655  */
2656 
2657 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2658 /*
2659  * CDDL HEADER START
2660  *
2661  * The contents of this file are subject to the terms of the
2662  * Common Development and Distribution License (the "License").
2663  * You may not use this file except in compliance with the License.
2664  *
2665  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2666  * or http://www.opensolaris.org/os/licensing.
2667  * See the License for the specific language governing permissions
2668  * and limitations under the License.
2669  *
2670  * When distributing Covered Code, include this CDDL HEADER in each
2671  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2672  * If applicable, add the following below this CDDL HEADER, with the
2673  * fields enclosed by brackets "[]" replaced with your own identifying
2674  * information: Portions Copyright [yyyy] [name of copyright owner]
2675  *
2676  * CDDL HEADER END
2677  */
2678 
2679 /*
2680  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2681  * Copyright 2016 Joyent, Inc.
2682  *
2683  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2684  * Use is subject to license terms.
2685  */
2686 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2
2687 
2688 
2689 
2690 
2691 
2692 /*
2693  * Basic / Extended integer types
2694  *
2695  * The following defines the basic fixed-size integer types.
2696  *
2697  * Implementations are free to typedef them to Standard C integer types or
2698  * extensions that they support. If an implementation does not support one
2699  * of the particular integer data types below, then it should not define the
2700  * typedefs and macros corresponding to that data type.  Note that int8_t
2701  * is not defined in -Xs mode on ISAs for which the ABI specifies "char"
2702  * as an unsigned entity because there is no way to define an eight bit
2703  * signed integral.
2704  */
2705 
2706 typedef char int8_t;
2707 
2708 
2709 
2710 typedef short int16_t;
2711 typedef int int32_t;
2712 
2713 
2714 typedef long int64_t;
2715 
2716 
2717 
2718 
2719 
2720 
2721 
2722 typedef unsigned char uint8_t;
2723 typedef unsigned short uint16_t;
2724 typedef unsigned int uint32_t;
2725 
2726 typedef unsigned long uint64_t;
2727 
2728 
2729 
2730 
2731 
2732 
2733 /*
2734  * intmax_t and uintmax_t are to be the longest (in number of bits) signed
2735  * and unsigned integer types supported by the implementation.
2736  */
2737 
2738 typedef int64_t intmax_t;
2739 typedef uint64_t uintmax_t;
2740 
2741 
2742 
2743 
2744 
2745 /*
2746  * intptr_t and uintptr_t are signed and unsigned integer types large enough
2747  * to hold any data pointer; that is, data pointers can be assigned into or
2748  * from these integer types without losing precision.
2749  */
2750 
2751 typedef long intptr_t;
2752 typedef unsigned long uintptr_t;
2753 
2754 
2755 
2756 
2757 
2758 /*
2759  * The following define the fastest integer types that can hold the
2760  * specified number of bits.
2761  */
2762 
2763 typedef char int_fast8_t;
2764 
2765 
2766 
2767 typedef int int_fast16_t;
2768 typedef int int_fast32_t;
2769 
2770 typedef long int_fast64_t;
2771 
2772 
2773 
2774 
2775 
2776 
2777 typedef unsigned char uint_fast8_t;
2778 typedef unsigned int uint_fast16_t;
2779 typedef unsigned int uint_fast32_t;
2780 
2781 typedef unsigned long uint_fast64_t;
2782 
2783 
2784 
2785 
2786 
2787 
2788 /*
2789  * The following define the smallest integer types that can hold the
2790  * specified number of bits.
2791  */
2792 
2793 typedef char int_least8_t;
2794 
2795 
2796 
2797 typedef short int_least16_t;
2798 typedef int int_least32_t;
2799 
2800 typedef long int_least64_t;
2801 
2802 
2803 
2804 
2805 
2806 
2807 /*
2808  * If these are changed, please update char16_t and char32_t in head/uchar.h.
2809  */
2810 typedef unsigned char uint_least8_t;
2811 typedef unsigned short uint_least16_t;
2812 typedef unsigned int uint_least32_t;
2813 
2814 typedef unsigned long uint_least64_t;
2815 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2816 
2817 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
2818 /*
2819  * CDDL HEADER START
2820  *
2821  * The contents of this file are subject to the terms of the
2822  * Common Development and Distribution License, Version 1.0 only
2823  * (the "License").  You may not use this file except in compliance
2824  * with the License.
2825  *
2826  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2827  * or http://www.opensolaris.org/os/licensing.
2828  * See the License for the specific language governing permissions
2829  * and limitations under the License.
2830  *
2831  * When distributing Covered Code, include this CDDL HEADER in each
2832  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2833  * If applicable, add the following below this CDDL HEADER, with the
2834  * fields enclosed by brackets "[]" replaced with your own identifying
2835  * information: Portions Copyright [yyyy] [name of copyright owner]
2836  *
2837  * CDDL HEADER END
2838  */
2839 /*
2840  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2841  *
2842  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2843  * Use is subject to license terms.
2844  */
2845 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2846 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
2847 /*
2848  * CDDL HEADER START
2849  *
2850  * The contents of this file are subject to the terms of the
2851  * Common Development and Distribution License, Version 1.0 only
2852  * (the "License").  You may not use this file except in compliance
2853  * with the License.
2854  *
2855  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2856  * or http://www.opensolaris.org/os/licensing.
2857  * See the License for the specific language governing permissions
2858  * and limitations under the License.
2859  *
2860  * When distributing Covered Code, include this CDDL HEADER in each
2861  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2862  * If applicable, add the following below this CDDL HEADER, with the
2863  * fields enclosed by brackets "[]" replaced with your own identifying
2864  * information: Portions Copyright [yyyy] [name of copyright owner]
2865  *
2866  * CDDL HEADER END
2867  */
2868 /*
2869  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2870  *
2871  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2872  * Use is subject to license terms.
2873  */
2874 
2875 
2876 
2877 
2878 /*
2879  * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation
2880  * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working
2881  * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990
2882  * Programming language - C.
2883  *
2884  * Programs/Modules should not directly include this file.  Access to the
2885  * types defined in this file should be through the inclusion of one of the
2886  * following files:
2887  *
2888  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2889  *				components of <inttypes.h>.
2890  *
2891  *	<inttypes.h>		For use by applications.
2892  *
2893  * See these files for more details.
2894  *
2895  * Use at your own risk.  This file will track the evolution of the revision
2896  * of the current ISO C standard.  As of February 1996, the committee is
2897  * squarely behind the fixed sized types.
2898  */
2899 
2900 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2901 /*
2902  * CDDL HEADER START
2903  *
2904  * The contents of this file are subject to the terms of the
2905  * Common Development and Distribution License (the "License").
2906  * You may not use this file except in compliance with the License.
2907  *
2908  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2909  * or http://www.opensolaris.org/os/licensing.
2910  * See the License for the specific language governing permissions
2911  * and limitations under the License.
2912  *
2913  * When distributing Covered Code, include this CDDL HEADER in each
2914  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2915  * If applicable, add the following below this CDDL HEADER, with the
2916  * fields enclosed by brackets "[]" replaced with your own identifying
2917  * information: Portions Copyright [yyyy] [name of copyright owner]
2918  *
2919  * CDDL HEADER END
2920  */
2921 
2922 /*
2923  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2924  * Copyright 2016 Joyent, Inc.
2925  *
2926  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2927  * Use is subject to license terms.
2928  */
2929 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2
2930 
2931 
2932 
2933 
2934 
2935 /*
2936  * Constants
2937  *
2938  * The following macros create constants of the types defined in
2939  * <sys/int_types.h>. The intent is that:
2940  *	Constants defined using these macros have a specific size and
2941  *	signedness. The suffix used for int64_t and uint64_t (ll and ull)
2942  *	are for examples only. Implementations are permitted to use other
2943  *	suffixes.
2944  *
2945  * The "CSTYLED" comments are flags to an internal code style analysis tool
2946  * telling it to silently accept the line which follows.  This internal
2947  * standard requires a space between arguments, but the historical,
2948  * non-ANSI-C ``method'' of concatenation can't tolerate those spaces.
2949  */
2950 /* CSTYLED */
2951 
2952 
2953 
2954 
2955 
2956 
2957 /* CSTYLED */
2958 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
2959 /* CSTYLED */
2960 
2961 /* CSTYLED */
2962 
2963 /* CSTYLED */
2964 
2965 
2966 /* CSTYLED */
2967 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
2968 /* CSTYLED */
2969 
2970 /* CSTYLED */
2971 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2972 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1
2973 /*
2974  * CDDL HEADER START
2975  *
2976  * The contents of this file are subject to the terms of the
2977  * Common Development and Distribution License, Version 1.0 only
2978  * (the "License").  You may not use this file except in compliance
2979  * with the License.
2980  *
2981  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2982  * or http://www.opensolaris.org/os/licensing.
2983  * See the License for the specific language governing permissions
2984  * and limitations under the License.
2985  *
2986  * When distributing Covered Code, include this CDDL HEADER in each
2987  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2988  * If applicable, add the following below this CDDL HEADER, with the
2989  * fields enclosed by brackets "[]" replaced with your own identifying
2990  * information: Portions Copyright [yyyy] [name of copyright owner]
2991  *
2992  * CDDL HEADER END
2993  */
2994 /*
2995  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2996  *
2997  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2998  * Use is subject to license terms.
2999  */
3000 
3001 
3002 
3003 
3004 /*
3005  * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation
3006  * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999
3007  * Programming language - C.
3008  *
3009  * ISO  International Organization for Standardization.
3010  *
3011  * Programs/Modules should not directly include this file.  Access to the
3012  * types defined in this file should be through the inclusion of one of the
3013  * following files:
3014  *
3015  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
3016  *				components of <inttypes.h>.
3017  *
3018  *	<inttypes.h>		For use by applications.
3019  *
3020  * See these files for more details.
3021  */
3022 
3023 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3024 /*
3025  * CDDL HEADER START
3026  *
3027  * The contents of this file are subject to the terms of the
3028  * Common Development and Distribution License (the "License").
3029  * You may not use this file except in compliance with the License.
3030  *
3031  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3032  * or http://www.opensolaris.org/os/licensing.
3033  * See the License for the specific language governing permissions
3034  * and limitations under the License.
3035  *
3036  * When distributing Covered Code, include this CDDL HEADER in each
3037  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3038  * If applicable, add the following below this CDDL HEADER, with the
3039  * fields enclosed by brackets "[]" replaced with your own identifying
3040  * information: Portions Copyright [yyyy] [name of copyright owner]
3041  *
3042  * CDDL HEADER END
3043  */
3044 
3045 /*
3046  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3047  * Copyright 2016 Joyent, Inc.
3048  *
3049  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3050  * Use is subject to license terms.
3051  */
3052 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2
3053 
3054 
3055 
3056 
3057 
3058 /*
3059  * Formatted I/O
3060  *
3061  * The following macros can be used even when an implementation has not
3062  * extended the printf/scanf family of functions.
3063  *
3064  * The form of the names of the macros is either "PRI" for printf specifiers
3065  * or "SCN" for scanf specifiers, followed by the conversion specifier letter
3066  * followed by the datatype size. For example, PRId32 is the macro for
3067  * the printf d conversion specifier with the flags for 32 bit datatype.
3068  *
3069  * An example using one of these macros:
3070  *
3071  *	uint64_t u;
3072  *	printf("u = %016" PRIx64 "\n", u);
3073  *
3074  * For the purpose of example, the definitions of the printf/scanf macros
3075  * below have the values appropriate for a machine with 8 bit shorts, 16
3076  * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation
3077  * mode, and 64 bit long longs.
3078  */
3079 
3080 /*
3081  * fprintf macros for signed integers
3082  */
3083 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
3084 /*
3085  * fprintf macros for unsigned integers
3086  */
3087 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
3088 /*
3089  * fprintf macros for pointers
3090  */
3091 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
3092 /*
3093  * fscanf macros for signed integers
3094  */
3095 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
3096 /*
3097  * fscanf macros for unsigned integers
3098  */
3099 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
3100 /*
3101  * The following macros define I/O formats for intmax_t and uintmax_t.
3102  */
3103 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
3104 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
3105 
3106 
3107 
3108 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1
3109 /*
3110  * CDDL HEADER START
3111  *
3112  * The contents of this file are subject to the terms of the
3113  * Common Development and Distribution License, Version 1.0 only
3114  * (the "License").  You may not use this file except in compliance
3115  * with the License.
3116  *
3117  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3118  * or http://www.opensolaris.org/os/licensing.
3119  * See the License for the specific language governing permissions
3120  * and limitations under the License.
3121  *
3122  * When distributing Covered Code, include this CDDL HEADER in each
3123  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3124  * If applicable, add the following below this CDDL HEADER, with the
3125  * fields enclosed by brackets "[]" replaced with your own identifying
3126  * information: Portions Copyright [yyyy] [name of copyright owner]
3127  *
3128  * CDDL HEADER END
3129  */
3130 /*
3131  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
3132  * Use is subject to license terms.
3133  */
3134 
3135 
3136 
3137 
3138 #pragma ident "%Z%%M%	%I%	%E% SMI"
3139 
3140 /*
3141  * This header is included by <stdint.h> which was introduced by
3142  * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
3143  * The header is a subset of the <inttypes.h> header.
3144  */
3145 
3146 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
3147 /*
3148  * CDDL HEADER START
3149  *
3150  * The contents of this file are subject to the terms of the
3151  * Common Development and Distribution License, Version 1.0 only
3152  * (the "License").  You may not use this file except in compliance
3153  * with the License.
3154  *
3155  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3156  * or http://www.opensolaris.org/os/licensing.
3157  * See the License for the specific language governing permissions
3158  * and limitations under the License.
3159  *
3160  * When distributing Covered Code, include this CDDL HEADER in each
3161  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3162  * If applicable, add the following below this CDDL HEADER, with the
3163  * fields enclosed by brackets "[]" replaced with your own identifying
3164  * information: Portions Copyright [yyyy] [name of copyright owner]
3165  *
3166  * CDDL HEADER END
3167  */
3168 /*
3169  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3170  *
3171  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3172  * Use is subject to license terms.
3173  */
3174 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
3175 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
3176 /*
3177  * CDDL HEADER START
3178  *
3179  * The contents of this file are subject to the terms of the
3180  * Common Development and Distribution License, Version 1.0 only
3181  * (the "License").  You may not use this file except in compliance
3182  * with the License.
3183  *
3184  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3185  * or http://www.opensolaris.org/os/licensing.
3186  * See the License for the specific language governing permissions
3187  * and limitations under the License.
3188  *
3189  * When distributing Covered Code, include this CDDL HEADER in each
3190  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3191  * If applicable, add the following below this CDDL HEADER, with the
3192  * fields enclosed by brackets "[]" replaced with your own identifying
3193  * information: Portions Copyright [yyyy] [name of copyright owner]
3194  *
3195  * CDDL HEADER END
3196  */
3197 /*
3198  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3199  *
3200  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3201  * Use is subject to license terms.
3202  */
3203 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
3204 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
3205 /*
3206  * CDDL HEADER START
3207  *
3208  * The contents of this file are subject to the terms of the
3209  * Common Development and Distribution License, Version 1.0 only
3210  * (the "License").  You may not use this file except in compliance
3211  * with the License.
3212  *
3213  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3214  * or http://www.opensolaris.org/os/licensing.
3215  * See the License for the specific language governing permissions
3216  * and limitations under the License.
3217  *
3218  * When distributing Covered Code, include this CDDL HEADER in each
3219  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3220  * If applicable, add the following below this CDDL HEADER, with the
3221  * fields enclosed by brackets "[]" replaced with your own identifying
3222  * information: Portions Copyright [yyyy] [name of copyright owner]
3223  *
3224  * CDDL HEADER END
3225  */
3226 /*
3227  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3228  *
3229  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3230  * Use is subject to license terms.
3231  */
3232 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
3233 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
3234 
3235 
3236 
3237 
3238 
3239 
3240 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */
3241 
3242 /*
3243  * wchar_t is a built-in type in standard C++ and as such is not
3244  * defined here when using standard C++. However, the GNU compiler
3245  * fixincludes utility nonetheless creates its own version of this
3246  * header for use by gcc and g++. In that version it adds a redundant
3247  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
3248  * header we need to include the following magic comment:
3249  *
3250  * we must use the C++ compiler's type
3251  *
3252  * The above comment should not be removed or changed until GNU
3253  * gcc/fixinc/inclhack.def is updated to bypass this header.
3254  */
3255 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
3256 typedef struct {
3257  intmax_t quot;
3258  intmax_t rem;
3259 } imaxdiv_t;
3260 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
3261 extern intmax_t imaxabs(intmax_t);
3262 extern imaxdiv_t imaxdiv(intmax_t, intmax_t);
3263 extern intmax_t strtoimax(const char *, char **,
3264  int);
3265 extern uintmax_t strtoumax(const char *, char **,
3266  int);
3267 extern intmax_t wcstoimax(const wchar_t *,
3268  wchar_t **, int);
3269 extern uintmax_t wcstoumax(const wchar_t *,
3270  wchar_t **, int);
3271 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
3272 extern uint32_t arc4random(void);
3273 extern void arc4random_buf(void *, size_t);
3274 extern uint32_t arc4random_uniform(uint32_t);
3275 extern void freezero(void *, size_t);
3276 extern void *recallocarray(void *, size_t, size_t, size_t);
3277 # 35 "../common/zones_paths.c" 2
3278 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1
3279 /*
3280  * CDDL HEADER START
3281  *
3282  * The contents of this file are subject to the terms of the
3283  * Common Development and Distribution License (the "License").
3284  * You may not use this file except in compliance with the License.
3285  *
3286  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3287  * or http://www.opensolaris.org/os/licensing.
3288  * See the License for the specific language governing permissions
3289  * and limitations under the License.
3290  *
3291  * When distributing Covered Code, include this CDDL HEADER in each
3292  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3293  * If applicable, add the following below this CDDL HEADER, with the
3294  * fields enclosed by brackets "[]" replaced with your own identifying
3295  * information: Portions Copyright [yyyy] [name of copyright owner]
3296  *
3297  * CDDL HEADER END
3298  */
3299 
3300 /*
3301  * Copyright 2014 PALO, Richard.
3302  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3303  * Copyright (c) 2013 Gary Mills
3304  *
3305  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
3306  */
3307 
3308 /*	Copyright (c) 1988 AT&T	*/
3309 /*	  All Rights Reserved  	*/
3310 
3311 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
3312 
3313 
3314 
3315 
3316 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3317 /*
3318  * CDDL HEADER START
3319  *
3320  * The contents of this file are subject to the terms of the
3321  * Common Development and Distribution License (the "License").
3322  * You may not use this file except in compliance with the License.
3323  *
3324  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3325  * or http://www.opensolaris.org/os/licensing.
3326  * See the License for the specific language governing permissions
3327  * and limitations under the License.
3328  *
3329  * When distributing Covered Code, include this CDDL HEADER in each
3330  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3331  * If applicable, add the following below this CDDL HEADER, with the
3332  * fields enclosed by brackets "[]" replaced with your own identifying
3333  * information: Portions Copyright [yyyy] [name of copyright owner]
3334  *
3335  * CDDL HEADER END
3336  */
3337 
3338 /*
3339  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3340  * Copyright 2016 Joyent, Inc.
3341  *
3342  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3343  * Use is subject to license terms.
3344  */
3345 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
3346 
3347 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
3348 /*
3349  * This file and its contents are supplied under the terms of the
3350  * Common Development and Distribution License ("CDDL"), version 1.0.
3351  * You may only use this file in accordance with the terms of version
3352  * 1.0 of the CDDL.
3353  *
3354  * A full copy of the text of the CDDL should have accompanied this
3355  * source.  A copy of the CDDL is also available via the Internet at
3356  * http://www.illumos.org/license/CDDL.
3357  */
3358 
3359 /*
3360  * Copyright 2014-2016 PALO, Richard.
3361  */
3362 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
3363 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
3364 /*
3365  * CDDL HEADER START
3366  *
3367  * The contents of this file are subject to the terms of the
3368  * Common Development and Distribution License (the "License").
3369  * You may not use this file except in compliance with the License.
3370  *
3371  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3372  * or http://www.opensolaris.org/os/licensing.
3373  * See the License for the specific language governing permissions
3374  * and limitations under the License.
3375  *
3376  * When distributing Covered Code, include this CDDL HEADER in each
3377  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3378  * If applicable, add the following below this CDDL HEADER, with the
3379  * fields enclosed by brackets "[]" replaced with your own identifying
3380  * information: Portions Copyright [yyyy] [name of copyright owner]
3381  *
3382  * CDDL HEADER END
3383  */
3384 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3385 /*	  All Rights Reserved  	*/
3386 
3387 
3388 /*
3389  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3390  * Use is subject to license terms.
3391  *
3392  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3393  * Copyright 2016 Joyent, Inc.
3394  */
3395 
3396 
3397 
3398 
3399 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3400 /*
3401  * CDDL HEADER START
3402  *
3403  * The contents of this file are subject to the terms of the
3404  * Common Development and Distribution License (the "License").
3405  * You may not use this file except in compliance with the License.
3406  *
3407  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3408  * or http://www.opensolaris.org/os/licensing.
3409  * See the License for the specific language governing permissions
3410  * and limitations under the License.
3411  *
3412  * When distributing Covered Code, include this CDDL HEADER in each
3413  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3414  * If applicable, add the following below this CDDL HEADER, with the
3415  * fields enclosed by brackets "[]" replaced with your own identifying
3416  * information: Portions Copyright [yyyy] [name of copyright owner]
3417  *
3418  * CDDL HEADER END
3419  */
3420 
3421 /*
3422  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3423  * Copyright 2016 Joyent, Inc.
3424  *
3425  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3426  * Use is subject to license terms.
3427  */
3428 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3429 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
3430 /*
3431  * CDDL HEADER START
3432  *
3433  * The contents of this file are subject to the terms of the
3434  * Common Development and Distribution License (the "License").
3435  * You may not use this file except in compliance with the License.
3436  *
3437  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3438  * or http://www.opensolaris.org/os/licensing.
3439  * See the License for the specific language governing permissions
3440  * and limitations under the License.
3441  *
3442  *
3443  * When distributing Covered Code, include this CDDL HEADER in each
3444  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3445  * If applicable, add the following below this CDDL HEADER, with the
3446  * fields enclosed by brackets "[]" replaced with your own identifying
3447  * information: Portions Copyright [yyyy] [name of copyright owner]
3448  *
3449  * CDDL HEADER END
3450  */
3451 
3452 /*
3453  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
3454  * Use is subject to license terms.
3455  * Copyright 2016 Joyent, Inc.
3456  */
3457 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3458 
3459 /*
3460  * Machine dependent definitions moved to <sys/machtypes.h>.
3461  */
3462 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1
3463 /*
3464  * CDDL HEADER START
3465  *
3466  * The contents of this file are subject to the terms of the
3467  * Common Development and Distribution License, Version 1.0 only
3468  * (the "License").  You may not use this file except in compliance
3469  * with the License.
3470  *
3471  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3472  * or http://www.opensolaris.org/os/licensing.
3473  * See the License for the specific language governing permissions
3474  * and limitations under the License.
3475  *
3476  * When distributing Covered Code, include this CDDL HEADER in each
3477  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3478  * If applicable, add the following below this CDDL HEADER, with the
3479  * fields enclosed by brackets "[]" replaced with your own identifying
3480  * information: Portions Copyright [yyyy] [name of copyright owner]
3481  *
3482  * CDDL HEADER END
3483  */
3484 /*
3485  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3486  * Use is subject to license terms.
3487  */
3488 
3489 
3490 
3491 
3492 #pragma ident "%Z%%M%	%I%	%E% SMI"
3493 
3494 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3495 /*
3496  * CDDL HEADER START
3497  *
3498  * The contents of this file are subject to the terms of the
3499  * Common Development and Distribution License (the "License").
3500  * You may not use this file except in compliance with the License.
3501  *
3502  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3503  * or http://www.opensolaris.org/os/licensing.
3504  * See the License for the specific language governing permissions
3505  * and limitations under the License.
3506  *
3507  * When distributing Covered Code, include this CDDL HEADER in each
3508  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3509  * If applicable, add the following below this CDDL HEADER, with the
3510  * fields enclosed by brackets "[]" replaced with your own identifying
3511  * information: Portions Copyright [yyyy] [name of copyright owner]
3512  *
3513  * CDDL HEADER END
3514  */
3515 
3516 /*
3517  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3518  * Copyright 2016 Joyent, Inc.
3519  *
3520  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3521  * Use is subject to license terms.
3522  */
3523 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
3524 
3525 
3526 
3527 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1
3528 /*
3529  * CDDL HEADER START
3530  *
3531  * The contents of this file are subject to the terms of the
3532  * Common Development and Distribution License (the "License").
3533  * You may not use this file except in compliance with the License.
3534  *
3535  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3536  * or http://www.opensolaris.org/os/licensing.
3537  * See the License for the specific language governing permissions
3538  * and limitations under the License.
3539  *
3540  * When distributing Covered Code, include this CDDL HEADER in each
3541  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3542  * If applicable, add the following below this CDDL HEADER, with the
3543  * fields enclosed by brackets "[]" replaced with your own identifying
3544  * information: Portions Copyright [yyyy] [name of copyright owner]
3545  *
3546  * CDDL HEADER END
3547  */
3548 /*
3549  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3550  * Use is subject to license terms.
3551  */
3552 
3553 
3554 
3555 
3556 #pragma ident "%Z%%M%	%I%	%E% SMI"
3557 
3558 
3559 
3560 
3561 
3562 /*
3563  * Machine dependent types:
3564  *
3565  *	intel ia32 Version
3566  */
3567 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h"
3568 typedef struct _label_t { long val[8]; } label_t;
3569 
3570 
3571 
3572 typedef unsigned char lock_t; /* lock work for busy wait */
3573 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
3574 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3575 
3576 /*
3577  * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C
3578  * committee's working draft for the revision of the current ISO C standard,
3579  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
3580  * required by any standard but constitute a useful, general purpose set
3581  * of type definitions which is namespace clean with respect to all standards.
3582  */
3583 
3584 
3585 
3586 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
3587 /*
3588  * CDDL HEADER START
3589  *
3590  * The contents of this file are subject to the terms of the
3591  * Common Development and Distribution License, Version 1.0 only
3592  * (the "License").  You may not use this file except in compliance
3593  * with the License.
3594  *
3595  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3596  * or http://www.opensolaris.org/os/licensing.
3597  * See the License for the specific language governing permissions
3598  * and limitations under the License.
3599  *
3600  * When distributing Covered Code, include this CDDL HEADER in each
3601  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3602  * If applicable, add the following below this CDDL HEADER, with the
3603  * fields enclosed by brackets "[]" replaced with your own identifying
3604  * information: Portions Copyright [yyyy] [name of copyright owner]
3605  *
3606  * CDDL HEADER END
3607  */
3608 /*
3609  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3610  *
3611  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3612  * Use is subject to license terms.
3613  */
3614 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3615 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3616 /*
3617  * Strictly conforming ANSI C environments prior to the 1999
3618  * revision of the C Standard (ISO/IEC 9899:1999) do not have
3619  * the long long data type.
3620  */
3621 
3622 typedef long long longlong_t;
3623 typedef unsigned long long u_longlong_t;
3624 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3625 /*
3626  * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had
3627  * to use them instead of int32_t and uint32_t because DEC had
3628  * shipped 64-bit wide.
3629  */
3630 
3631 typedef int32_t t_scalar_t;
3632 typedef uint32_t t_uscalar_t;
3633 
3634 
3635 
3636 
3637 
3638 /*
3639  * POSIX Extensions
3640  */
3641 typedef unsigned char uchar_t;
3642 typedef unsigned short ushort_t;
3643 typedef unsigned int uint_t;
3644 typedef unsigned long ulong_t;
3645 
3646 typedef char *caddr_t; /* ?<core address> type */
3647 typedef long daddr_t; /* <disk address> type */
3648 typedef short cnt_t; /* ?<count> type */
3649 
3650 
3651 
3652 
3653 typedef long ptrdiff_t; /* pointer difference */
3654 
3655 
3656 
3657 
3658 
3659 /*
3660  * VM-related types
3661  */
3662 typedef ulong_t pfn_t; /* page frame number */
3663 typedef ulong_t pgcnt_t; /* number of pages */
3664 typedef long spgcnt_t; /* signed number of pages */
3665 
3666 typedef uchar_t use_t; /* use count for swap.  */
3667 typedef short sysid_t;
3668 typedef short index_t;
3669 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */
3670 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */
3671 
3672 /*
3673  * The size of off_t and related types depends on the setting of
3674  * _FILE_OFFSET_BITS.  (Note that other system headers define other types
3675  * related to those defined here.)
3676  *
3677  * If _LARGEFILE64_SOURCE is defined, variants of these types that are
3678  * explicitly 64 bits wide become available.
3679  */
3680 # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3681 typedef ulong_t ino_t; /* expanded inode type	*/
3682 typedef long blkcnt_t; /* count of file blocks */
3683 typedef ulong_t fsblkcnt_t; /* count of file system blocks */
3684 typedef ulong_t fsfilcnt_t; /* count of files */
3685 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3686 typedef ino_t ino64_t; /* expanded inode type */
3687 typedef blkcnt_t blkcnt64_t; /* count of file blocks */
3688 typedef fsblkcnt_t fsblkcnt64_t; /* count of file system blocks */
3689 typedef fsfilcnt_t fsfilcnt64_t; /* count of files */
3690 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3691 typedef int blksize_t; /* used for block sizes */
3692 
3693 
3694 
3695 
3696 
3697 
3698 
3699 typedef enum { B_FALSE, B_TRUE } boolean_t;
3700 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3701 /*
3702  * The {u,}pad64_t types can be used in structures such that those structures
3703  * may be accessed by code produced by compilation environments which don't
3704  * support a 64 bit integral datatype.  The intention is not to allow
3705  * use of these fields in such environments, but to maintain the alignment
3706  * and offsets of the structure.
3707  *
3708  * Similar comments for {u,}pad128_t.
3709  *
3710  * Note that these types do NOT generate any stronger alignment constraints
3711  * than those available in the underlying ABI.  See <sys/isa_defs.h>
3712  */
3713 
3714 typedef int64_t pad64_t;
3715 typedef uint64_t upad64_t;
3716 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3717 typedef union {
3718  long double _q;
3719  int32_t _l[4];
3720 } pad128_t;
3721 
3722 typedef union {
3723  long double _q;
3724  uint32_t _l[4];
3725 } upad128_t;
3726 
3727 typedef longlong_t offset_t;
3728 typedef u_longlong_t u_offset_t;
3729 typedef u_longlong_t len_t;
3730 typedef u_longlong_t diskaddr_t;
3731 
3732 
3733 
3734 
3735 /*
3736  * Definitions remaining from previous partial support for 64-bit file
3737  * offsets.  This partial support for devices greater than 2gb requires
3738  * compiler support for long long.
3739  */
3740 
3741 typedef union {
3742  offset_t _f; /* Full 64 bit offset value */
3743  struct {
3744   int32_t _l; /* lower 32 bits of offset value */
3745   int32_t _u; /* upper 32 bits of offset value */
3746  } _p;
3747 } lloff_t;
3748 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3749 typedef union {
3750  longlong_t _f; /* Full 64 bit disk address value */
3751  struct {
3752   int32_t _l; /* lower 32 bits of disk address value */
3753   int32_t _u; /* upper 32 bits of disk address value */
3754  } _p;
3755 } lldaddr_t;
3756 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3757 typedef uint_t k_fltset_t; /* kernel fault set type */
3758 
3759 /*
3760  * The following type is for various kinds of identifiers.  The
3761  * actual type must be the same for all since some system calls
3762  * (such as sigsend) take arguments that may be any of these
3763  * types.  The enumeration type idtype_t defined in sys/procset.h
3764  * is used to indicate what type of id is being specified --
3765  * a process id, process group id, session id, scheduling class id,
3766  * user id, group id, project id, task id or zone id.
3767  */
3768 
3769 typedef int id_t;
3770 
3771 
3772 
3773 
3774 typedef id_t lgrp_id_t; /* lgroup ID */
3775 
3776 /*
3777  * Type useconds_t is an unsigned integral type capable of storing
3778  * values at least in the range of zero to 1,000,000.
3779  */
3780 typedef uint_t useconds_t; /* Time, in microseconds */
3781 
3782 
3783 
3784 typedef long suseconds_t; /* signed # of microseconds */
3785 
3786 
3787 /*
3788  * Typedefs for dev_t components.
3789  */
3790 
3791 typedef uint_t major_t; /* major part of device number */
3792 typedef uint_t minor_t; /* minor part of device number */
3793 
3794 
3795 
3796 
3797 
3798 /*
3799  * The data type of a thread priority.
3800  */
3801 typedef short pri_t;
3802 
3803 /*
3804  * The data type for a CPU flags field.  (Can be extended to larger unsigned
3805  * types, if needed, limited by ability to update atomically.)
3806  */
3807 typedef ushort_t cpu_flag_t;
3808 
3809 /*
3810  * For compatibility reasons the following typedefs (prefixed o_)
3811  * can't grow regardless of the EFT definition. Although,
3812  * applications should not explicitly use these typedefs
3813  * they may be included via a system header definition.
3814  * WARNING: These typedefs may be removed in a future
3815  * release.
3816  *		ex. the definitions in s5inode.h (now obsoleted)
3817  *			remained small to preserve compatibility
3818  *			in the S5 file system type.
3819  */
3820 typedef ushort_t o_mode_t; /* old file attribute type */
3821 typedef short o_dev_t; /* old device type	*/
3822 typedef ushort_t o_uid_t; /* old UID type		*/
3823 typedef o_uid_t o_gid_t; /* old GID type		*/
3824 typedef short o_nlink_t; /* old file link type	*/
3825 typedef short o_pid_t; /* old process id type	*/
3826 typedef ushort_t o_ino_t; /* old inode type	*/
3827 
3828 
3829 /*
3830  * POSIX and XOPEN Declarations
3831  */
3832 typedef int key_t; /* IPC key type		*/
3833 
3834 typedef uint_t mode_t; /* file attribute type	*/
3835 # 382 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3836 typedef uid_t gid_t; /* GID type		*/
3837 
3838 typedef uint32_t datalink_id_t;
3839 typedef uint32_t vrid_t;
3840 
3841 typedef id_t taskid_t;
3842 typedef id_t projid_t;
3843 typedef id_t poolid_t;
3844 typedef id_t zoneid_t;
3845 typedef id_t ctid_t;
3846 
3847 /*
3848  * POSIX definitions are same as defined in thread.h and synch.h.
3849  * Any changes made to here should be reflected in corresponding
3850  * files as described in comments.
3851  */
3852 typedef uint_t pthread_t; /* = thread_t in thread.h */
3853 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */
3854 
3855 /* "Magic numbers" tagging synchronization object types */
3856 
3857 
3858 
3859 
3860 
3861 typedef struct _pthread_mutex { /* = mutex_t in synch.h */
3862  struct {
3863   uint16_t __pthread_mutex_flag1;
3864   uint8_t __pthread_mutex_flag2;
3865   uint8_t __pthread_mutex_ceiling;
3866   uint16_t __pthread_mutex_type;
3867   uint16_t __pthread_mutex_magic;
3868  } __pthread_mutex_flags;
3869  union {
3870   struct {
3871    uint8_t __pthread_mutex_pad[8];
3872   } __pthread_mutex_lock64;
3873   struct {
3874    uint32_t __pthread_ownerpid;
3875    uint32_t __pthread_lockword;
3876   } __pthread_mutex_lock32;
3877   upad64_t __pthread_mutex_owner64;
3878  } __pthread_mutex_lock;
3879  upad64_t __pthread_mutex_data;
3880 } pthread_mutex_t;
3881 
3882 typedef struct _pthread_cond { /* = cond_t in synch.h */
3883  struct {
3884   uint8_t __pthread_cond_flag[4];
3885   uint16_t __pthread_cond_type;
3886   uint16_t __pthread_cond_magic;
3887  } __pthread_cond_flags;
3888  upad64_t __pthread_cond_data;
3889 } pthread_cond_t;
3890 
3891 /*
3892  * UNIX 98 Extension
3893  */
3894 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */
3895  int32_t __pthread_rwlock_readers;
3896  uint16_t __pthread_rwlock_type;
3897  uint16_t __pthread_rwlock_magic;
3898  pthread_mutex_t __pthread_rwlock_mutex;
3899  pthread_cond_t __pthread_rwlock_readercv;
3900  pthread_cond_t __pthread_rwlock_writercv;
3901 } pthread_rwlock_t;
3902 
3903 /*
3904  * SUSV3
3905  */
3906 typedef struct {
3907  uint32_t __pthread_barrier_count;
3908  uint32_t __pthread_barrier_current;
3909  upad64_t __pthread_barrier_cycle;
3910  upad64_t __pthread_barrier_reserved;
3911  pthread_mutex_t __pthread_barrier_lock;
3912  pthread_cond_t __pthread_barrier_cond;
3913 } pthread_barrier_t;
3914 
3915 typedef pthread_mutex_t pthread_spinlock_t;
3916 
3917 /*
3918  * attributes for threads, dynamically allocated by library
3919  */
3920 typedef struct _pthread_attr {
3921  void *__pthread_attrp;
3922 } pthread_attr_t;
3923 
3924 /*
3925  * attributes for mutex, dynamically allocated by library
3926  */
3927 typedef struct _pthread_mutexattr {
3928  void *__pthread_mutexattrp;
3929 } pthread_mutexattr_t;
3930 
3931 /*
3932  * attributes for cond, dynamically allocated by library
3933  */
3934 typedef struct _pthread_condattr {
3935  void *__pthread_condattrp;
3936 } pthread_condattr_t;
3937 
3938 /*
3939  * pthread_once
3940  */
3941 typedef struct _once {
3942  upad64_t __pthread_once_pad[4];
3943 } pthread_once_t;
3944 
3945 /*
3946  * UNIX 98 Extensions
3947  * attributes for rwlock, dynamically allocated by library
3948  */
3949 typedef struct _pthread_rwlockattr {
3950  void *__pthread_rwlockattrp;
3951 } pthread_rwlockattr_t;
3952 
3953 /*
3954  * SUSV3
3955  * attributes for pthread_barrier_t, dynamically allocated by library
3956  */
3957 typedef struct {
3958  void *__pthread_barrierattrp;
3959 } pthread_barrierattr_t;
3960 
3961 typedef ulong_t dev_t; /* expanded device type */
3962 
3963 
3964 typedef uint_t nlink_t; /* file link type	*/
3965 typedef int pid_t; /* process id type	*/
3966 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3967 typedef long time_t; /* time of day in seconds */
3968 # 547 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3969 typedef int clockid_t; /* clock identifier type */
3970 
3971 
3972 
3973 
3974 typedef int timer_t; /* timer identifier type */
3975 
3976 
3977 
3978 
3979 /* BEGIN CSTYLED */
3980 typedef unsigned char unchar;
3981 typedef unsigned short ushort;
3982 typedef unsigned int uint;
3983 typedef unsigned long ulong;
3984 /* END CSTYLED */
3985 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3986 /*
3987  * The following is the value of type id_t to use to indicate the
3988  * caller's current id.  See procset.h for the type idtype_t
3989  * which defines which kind of id is being specified.
3990  */
3991 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3992 /*
3993  * The following value of type pfn_t is used to indicate
3994  * invalid page frame number.
3995  */
3996 
3997 
3998 
3999 /* BEGIN CSTYLED */
4000 typedef unsigned char u_char;
4001 typedef unsigned short u_short;
4002 typedef unsigned int u_int;
4003 typedef unsigned long u_long;
4004 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */
4005 typedef quad_t quad; /* used by UFS */
4006 /* END CSTYLED */
4007 
4008 /*
4009  * Nested include for BSD/sockets source compatibility.
4010  * (The select macros used to be defined here).
4011  */
4012 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
4013 /*
4014  * CDDL HEADER START
4015  *
4016  * The contents of this file are subject to the terms of the
4017  * Common Development and Distribution License (the "License").
4018  * You may not use this file except in compliance with the License.
4019  *
4020  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4021  * or http://www.opensolaris.org/os/licensing.
4022  * See the License for the specific language governing permissions
4023  * and limitations under the License.
4024  *
4025  * When distributing Covered Code, include this CDDL HEADER in each
4026  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4027  * If applicable, add the following below this CDDL HEADER, with the
4028  * fields enclosed by brackets "[]" replaced with your own identifying
4029  * information: Portions Copyright [yyyy] [name of copyright owner]
4030  *
4031  * CDDL HEADER END
4032  */
4033 
4034 /*
4035  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4036  *
4037  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4038  *
4039  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
4040  * Use is subject to license terms.
4041  */
4042 
4043 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4044 /*	  All Rights Reserved	*/
4045 
4046 /*
4047  * University Copyright- Copyright (c) 1982, 1986, 1988
4048  * The Regents of the University of California
4049  * All Rights Reserved
4050  *
4051  * University Acknowledgment- Portions of this document are derived from
4052  * software developed by the University of California, Berkeley, and its
4053  * contributors.
4054  */
4055 
4056 
4057 
4058 
4059 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4060 /*
4061  * CDDL HEADER START
4062  *
4063  * The contents of this file are subject to the terms of the
4064  * Common Development and Distribution License (the "License").
4065  * You may not use this file except in compliance with the License.
4066  *
4067  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4068  * or http://www.opensolaris.org/os/licensing.
4069  * See the License for the specific language governing permissions
4070  * and limitations under the License.
4071  *
4072  * When distributing Covered Code, include this CDDL HEADER in each
4073  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4074  * If applicable, add the following below this CDDL HEADER, with the
4075  * fields enclosed by brackets "[]" replaced with your own identifying
4076  * information: Portions Copyright [yyyy] [name of copyright owner]
4077  *
4078  * CDDL HEADER END
4079  */
4080 
4081 /*
4082  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4083  * Copyright 2016 Joyent, Inc.
4084  *
4085  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4086  * Use is subject to license terms.
4087  */
4088 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
4089 
4090 
4091 
4092 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
4093 /*
4094  * CDDL HEADER START
4095  *
4096  * The contents of this file are subject to the terms of the
4097  * Common Development and Distribution License, Version 1.0 only
4098  * (the "License").  You may not use this file except in compliance
4099  * with the License.
4100  *
4101  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4102  * or http://www.opensolaris.org/os/licensing.
4103  * See the License for the specific language governing permissions
4104  * and limitations under the License.
4105  *
4106  * When distributing Covered Code, include this CDDL HEADER in each
4107  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4108  * If applicable, add the following below this CDDL HEADER, with the
4109  * fields enclosed by brackets "[]" replaced with your own identifying
4110  * information: Portions Copyright [yyyy] [name of copyright owner]
4111  *
4112  * CDDL HEADER END
4113  */
4114 /*
4115  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
4116  * Use is subject to license terms.
4117  */
4118 
4119 /*
4120  * Implementation-private.  This header should not be included
4121  * directly by an application.  The application should instead
4122  * include <time.h> which includes this header conditionally
4123  * depending on which feature test macros are defined. By default,
4124  * this header is included by <time.h>.  X/Open and POSIX
4125  * standards requirements result in this header being included
4126  * by <time.h> only under a restricted set of conditions.
4127  */
4128 
4129 
4130 
4131 
4132 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4133 /*
4134  * CDDL HEADER START
4135  *
4136  * The contents of this file are subject to the terms of the
4137  * Common Development and Distribution License (the "License").
4138  * You may not use this file except in compliance with the License.
4139  *
4140  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4141  * or http://www.opensolaris.org/os/licensing.
4142  * See the License for the specific language governing permissions
4143  * and limitations under the License.
4144  *
4145  * When distributing Covered Code, include this CDDL HEADER in each
4146  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4147  * If applicable, add the following below this CDDL HEADER, with the
4148  * fields enclosed by brackets "[]" replaced with your own identifying
4149  * information: Portions Copyright [yyyy] [name of copyright owner]
4150  *
4151  * CDDL HEADER END
4152  */
4153 
4154 /*
4155  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4156  * Copyright 2016 Joyent, Inc.
4157  *
4158  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4159  * Use is subject to license terms.
4160  */
4161 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2
4162 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
4163 /*
4164  * Time expressed in seconds and nanoseconds
4165  */
4166 
4167 typedef struct timespec { /* definition per POSIX.4 */
4168  time_t tv_sec; /* seconds */
4169  long tv_nsec; /* and nanoseconds */
4170 } timespec_t;
4171 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
4172 typedef struct timespec timestruc_t; /* definition per SVr4 */
4173 
4174 /*
4175  * The following has been left in for backward compatibility. Portable
4176  * applications should not use the structure name timestruc.
4177  */
4178 
4179 
4180 
4181 
4182 
4183 /*
4184  * Timer specification
4185  */
4186 typedef struct itimerspec { /* definition per POSIX.4 */
4187  struct timespec it_interval; /* timer period */
4188  struct timespec it_value; /* timer expiration */
4189 } itimerspec_t;
4190 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
4191 
4192 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
4193 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4194 /*	  All Rights Reserved  	*/
4195 
4196 
4197 /*
4198  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
4199  * All rights reserved.  The Berkeley software License Agreement
4200  * specifies the terms and conditions for redistribution.
4201  */
4202 
4203 /*
4204  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4205  *
4206  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4207  * Use is subject to license terms.
4208  *
4209  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4210  */
4211 
4212 /*
4213  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
4214  */
4215 
4216 
4217 
4218 
4219 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.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 (the "License").
4225  * You may not use this file except in compliance with the License.
4226  *
4227  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4228  * or http://www.opensolaris.org/os/licensing.
4229  * See the License for the specific language governing permissions
4230  * and limitations under the License.
4231  *
4232  * When distributing Covered Code, include this CDDL HEADER in each
4233  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4234  * If applicable, add the following below this CDDL HEADER, with the
4235  * fields enclosed by brackets "[]" replaced with your own identifying
4236  * information: Portions Copyright [yyyy] [name of copyright owner]
4237  *
4238  * CDDL HEADER END
4239  */
4240 
4241 /*
4242  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4243  * Copyright 2016 Joyent, Inc.
4244  *
4245  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4246  * Use is subject to license terms.
4247  */
4248 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4249 
4250 /*
4251  * Structure returned by gettimeofday(2) system call,
4252  * and used in other calls.
4253  */
4254 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4255 struct timeval {
4256  time_t tv_sec; /* seconds */
4257  suseconds_t tv_usec; /* and microseconds */
4258 };
4259 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4260 struct timezone {
4261  int tz_minuteswest; /* minutes west of Greenwich */
4262  int tz_dsttime; /* type of dst correction */
4263 };
4264 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4265 /*
4266  * Needed for longlong_t type.  Placement of this due to <sys/types.h>
4267  * including <sys/select.h> which relies on the presense of the itimerval
4268  * structure.
4269  */
4270 
4271 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4272 /*
4273  * CDDL HEADER START
4274  *
4275  * The contents of this file are subject to the terms of the
4276  * Common Development and Distribution License (the "License").
4277  * You may not use this file except in compliance with the License.
4278  *
4279  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4280  * or http://www.opensolaris.org/os/licensing.
4281  * See the License for the specific language governing permissions
4282  * and limitations under the License.
4283  *
4284  * When distributing Covered Code, include this CDDL HEADER in each
4285  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4286  * If applicable, add the following below this CDDL HEADER, with the
4287  * fields enclosed by brackets "[]" replaced with your own identifying
4288  * information: Portions Copyright [yyyy] [name of copyright owner]
4289  *
4290  * CDDL HEADER END
4291  */
4292 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4293 /*	  All Rights Reserved  	*/
4294 
4295 
4296 /*
4297  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4298  * Use is subject to license terms.
4299  *
4300  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4301  * Copyright 2016 Joyent, Inc.
4302  */
4303 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4304 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4305 /*
4306  * Operations on timevals.
4307  */
4308 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4309 /*
4310  * Names of the interval timers, and structure
4311  * defining a timer setting.
4312  */
4313 
4314 
4315 
4316     /* time and when system is running on */
4317     /* behalf of the process. */
4318 
4319     /* time profiling of multithreaded */
4320     /* programs. */
4321 
4322 
4323 struct itimerval {
4324  struct timeval it_interval; /* timer interval */
4325  struct timeval it_value; /* current value */
4326 };
4327 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4328 /*
4329  *	Definitions for commonly used resolutions.
4330  */
4331 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4332 /*
4333  * Time expressed as a 64-bit nanosecond counter.
4334  */
4335 typedef longlong_t hrtime_t;
4336 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4337 int adjtime(struct timeval *, struct timeval *);
4338 
4339 
4340 
4341 
4342 int futimesat(int, const char *, const struct timeval *);
4343 
4344 
4345 
4346 
4347 
4348 int getitimer(int, struct itimerval *);
4349 int utimes(const char *, const struct timeval *);
4350 
4351 
4352 
4353 
4354 int setitimer(int, struct itimerval *,
4355  struct itimerval *);
4356 
4357 
4358 
4359 
4360 /*
4361  * gettimeofday() and settimeofday() were included in SVr4 due to their
4362  * common use in BSD based applications.  They were to be included exactly
4363  * as in BSD, with two parameters.  However, AT&T/USL noted that the second
4364  * parameter was unused and deleted it, thereby making a routine included
4365  * for compatibility, incompatible.
4366  *
4367  * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two
4368  * parameters.
4369  *
4370  * This has caused general disagreement in the application community as to
4371  * the syntax of these routines.  Solaris defaults to the XSH4.2 definition.
4372  * The flag _SVID_GETTOD may be used to force the SVID version.
4373  */
4374 
4375 
4376 
4377 
4378 
4379 int settimeofday(struct timeval *, void *);
4380 
4381 hrtime_t gethrtime(void);
4382 hrtime_t gethrvtime(void);
4383 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4384 int gettimeofday(struct timeval *, void *);
4385 
4386 
4387 
4388 
4389 /*
4390  * The inclusion of <time.h> is historical and was added for
4391  * backward compatibility in delta 1.2 when a number of definitions
4392  * were moved out of <sys/time.h>.  More recently, the timespec and
4393  * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*,
4394  * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>,
4395  * which is now included by <time.h>.  This change was due to POSIX
4396  * 1003.1b-1993 and X/Open UNIX 98 requirements.  For non-POSIX and
4397  * non-X/Open applications, including this header will still make
4398  * visible these definitions.
4399  */
4400 
4401 
4402 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1
4403 /*
4404  * CDDL HEADER START
4405  *
4406  * The contents of this file are subject to the terms of the
4407  * Common Development and Distribution License (the "License").
4408  * You may not use this file except in compliance with the License.
4409  *
4410  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4411  * or http://www.opensolaris.org/os/licensing.
4412  * See the License for the specific language governing permissions
4413  * and limitations under the License.
4414  *
4415  * When distributing Covered Code, include this CDDL HEADER in each
4416  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4417  * If applicable, add the following below this CDDL HEADER, with the
4418  * fields enclosed by brackets "[]" replaced with your own identifying
4419  * information: Portions Copyright [yyyy] [name of copyright owner]
4420  *
4421  * CDDL HEADER END
4422  */
4423 /*	Copyright (c) 1988 AT&T	*/
4424 /*	  All Rights Reserved  	*/
4425 
4426 
4427 /*
4428  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4429  *
4430  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
4431  * Use is subject to license terms.
4432  */
4433 /*
4434  * Copyright 2010 Nexenta Systems, Inc.  Al rights reserved.
4435  * Copyright 2016 Joyent, Inc.
4436  */
4437 
4438 
4439 
4440 
4441 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4442 /*
4443  * CDDL HEADER START
4444  *
4445  * The contents of this file are subject to the terms of the
4446  * Common Development and Distribution License (the "License").
4447  * You may not use this file except in compliance with the License.
4448  *
4449  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4450  * or http://www.opensolaris.org/os/licensing.
4451  * See the License for the specific language governing permissions
4452  * and limitations under the License.
4453  *
4454  * When distributing Covered Code, include this CDDL HEADER in each
4455  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4456  * If applicable, add the following below this CDDL HEADER, with the
4457  * fields enclosed by brackets "[]" replaced with your own identifying
4458  * information: Portions Copyright [yyyy] [name of copyright owner]
4459  *
4460  * CDDL HEADER END
4461  */
4462 
4463 /*
4464  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4465  * Copyright 2016 Joyent, Inc.
4466  *
4467  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4468  * Use is subject to license terms.
4469  */
4470 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4471 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1
4472 /*
4473  * CDDL HEADER START
4474  *
4475  * The contents of this file are subject to the terms of the
4476  * Common Development and Distribution License, Version 1.0 only
4477  * (the "License").  You may not use this file except in compliance
4478  * with the License.
4479  *
4480  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4481  * or http://www.opensolaris.org/os/licensing.
4482  * See the License for the specific language governing permissions
4483  * and limitations under the License.
4484  *
4485  * When distributing Covered Code, include this CDDL HEADER in each
4486  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4487  * If applicable, add the following below this CDDL HEADER, with the
4488  * fields enclosed by brackets "[]" replaced with your own identifying
4489  * information: Portions Copyright [yyyy] [name of copyright owner]
4490  *
4491  * CDDL HEADER END
4492  */
4493 /*	Copyright (c) 1988 AT&T	*/
4494 /*	  All Rights Reserved  	*/
4495 
4496 /*
4497  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4498  * Copyright 2014 PALO, Richard.
4499  *
4500  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
4501  * Use is subject to license terms.
4502  */
4503 
4504 /*
4505  * An application should not include this header directly.  Instead it
4506  * should be included only through the inclusion of other Sun headers.
4507  *
4508  * The contents of this header is limited to identifiers specified in the
4509  * C Standard.  Any new identifiers specified in future amendments to the
4510  * C Standard must be placed in this header.  If these new identifiers
4511  * are required to also be in the C++ Standard "std" namespace, then for
4512  * anything other than macro definitions, corresponding "using" directives
4513  * must also be added to <time.h.h>.
4514  */
4515 
4516 
4517 
4518 
4519 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4520 /*
4521  * CDDL HEADER START
4522  *
4523  * The contents of this file are subject to the terms of the
4524  * Common Development and Distribution License (the "License").
4525  * You may not use this file except in compliance with the License.
4526  *
4527  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4528  * or http://www.opensolaris.org/os/licensing.
4529  * See the License for the specific language governing permissions
4530  * and limitations under the License.
4531  *
4532  * When distributing Covered Code, include this CDDL HEADER in each
4533  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4534  * If applicable, add the following below this CDDL HEADER, with the
4535  * fields enclosed by brackets "[]" replaced with your own identifying
4536  * information: Portions Copyright [yyyy] [name of copyright owner]
4537  *
4538  * CDDL HEADER END
4539  */
4540 
4541 /*
4542  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4543  * Copyright 2016 Joyent, Inc.
4544  *
4545  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4546  * Use is subject to license terms.
4547  */
4548 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
4549 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
4550 /*
4551  * This file and its contents are supplied under the terms of the
4552  * Common Development and Distribution License ("CDDL"), version 1.0.
4553  * You may only use this file in accordance with the terms of version
4554  * 1.0 of the CDDL.
4555  *
4556  * A full copy of the text of the CDDL should have accompanied this
4557  * source.  A copy of the CDDL is also available via the Internet at
4558  * http://www.illumos.org/license/CDDL.
4559  */
4560 
4561 /*
4562  * Copyright 2014-2016 PALO, Richard.
4563  */
4564 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
4565 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h"
4566 struct tm { /* see ctime(3) */
4567  int tm_sec;
4568  int tm_min;
4569  int tm_hour;
4570  int tm_mday;
4571  int tm_mon;
4572  int tm_year;
4573  int tm_wday;
4574  int tm_yday;
4575  int tm_isdst;
4576 };
4577 
4578 
4579 extern char *asctime(const struct tm *);
4580 extern clock_t clock(void);
4581 extern char *ctime(const time_t *);
4582 extern double difftime(time_t, time_t);
4583 extern struct tm *gmtime(const time_t *);
4584 extern struct tm *localtime(const time_t *);
4585 extern time_t mktime(struct tm *);
4586 extern time_t time(time_t *);
4587 extern size_t strftime(char *, size_t, const char *,
4588  const struct tm *);
4589 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4590 /*
4591  * C11 requires sys/time_impl.h for the definition of the struct timespec.
4592  */
4593 
4594 
4595 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4596 /*
4597  * CDDL HEADER START
4598  *
4599  * The contents of this file are subject to the terms of the
4600  * Common Development and Distribution License (the "License").
4601  * You may not use this file except in compliance with the License.
4602  *
4603  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4604  * or http://www.opensolaris.org/os/licensing.
4605  * See the License for the specific language governing permissions
4606  * and limitations under the License.
4607  *
4608  * When distributing Covered Code, include this CDDL HEADER in each
4609  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4610  * If applicable, add the following below this CDDL HEADER, with the
4611  * fields enclosed by brackets "[]" replaced with your own identifying
4612  * information: Portions Copyright [yyyy] [name of copyright owner]
4613  *
4614  * CDDL HEADER END
4615  */
4616 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4617 /*	  All Rights Reserved  	*/
4618 
4619 
4620 /*
4621  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4622  * Use is subject to license terms.
4623  *
4624  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4625  * Copyright 2016 Joyent, Inc.
4626  */
4627 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4628 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
4629 /*
4630  * CDDL HEADER START
4631  *
4632  * The contents of this file are subject to the terms of the
4633  * Common Development and Distribution License, Version 1.0 only
4634  * (the "License").  You may not use this file except in compliance
4635  * with the License.
4636  *
4637  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4638  * or http://www.opensolaris.org/os/licensing.
4639  * See the License for the specific language governing permissions
4640  * and limitations under the License.
4641  *
4642  * When distributing Covered Code, include this CDDL HEADER in each
4643  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4644  * If applicable, add the following below this CDDL HEADER, with the
4645  * fields enclosed by brackets "[]" replaced with your own identifying
4646  * information: Portions Copyright [yyyy] [name of copyright owner]
4647  *
4648  * CDDL HEADER END
4649  */
4650 /*
4651  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
4652  * Use is subject to license terms.
4653  */
4654 
4655 /*
4656  * Implementation-private.  This header should not be included
4657  * directly by an application.  The application should instead
4658  * include <time.h> which includes this header conditionally
4659  * depending on which feature test macros are defined. By default,
4660  * this header is included by <time.h>.  X/Open and POSIX
4661  * standards requirements result in this header being included
4662  * by <time.h> only under a restricted set of conditions.
4663  */
4664 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4665 
4666 
4667 /*
4668  * Allow global visibility for symbols defined in
4669  * C++ "std" namespace in <iso/time_iso.h>.
4670  */
4671 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4672 extern struct tm *gmtime_r(const time_t *,
4673    struct tm *);
4674 extern struct tm *localtime_r(const time_t *,
4675    struct tm *);
4676 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4677 extern char *strptime(const char *, const char *,
4678   struct tm *);
4679 
4680 
4681 
4682 
4683 
4684 /*
4685  * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the
4686  * definition of the sigevent structure.  Both require the inclusion
4687  * of <signal.h> and <time.h> when using the timer_create() function.
4688  * However, X/Open also specifies that the sigevent structure be defined
4689  * in <time.h> as described in the header <signal.h>.  This prevents
4690  * compiler warnings for applications that only include <time.h> and not
4691  * also <signal.h>.  The sigval union and the sigevent structure is
4692  * therefore defined both here and in <sys/siginfo.h> which gets included
4693  * via inclusion of <signal.h>.
4694  */
4695 
4696 
4697 union sigval {
4698  int sival_int; /* integer value */
4699  void *sival_ptr; /* pointer value */
4700 };
4701 
4702 
4703 
4704 
4705 struct sigevent {
4706  int sigev_notify; /* notification mode */
4707  int sigev_signo; /* signal number */
4708  union sigval sigev_value; /* signal value */
4709  void (*sigev_notify_function)(union sigval);
4710  pthread_attr_t *sigev_notify_attributes;
4711  int __sigev_pad2;
4712 };
4713 
4714 
4715 extern int clock_getres(clockid_t, struct timespec *);
4716 extern int clock_gettime(clockid_t, struct timespec *);
4717 extern int clock_settime(clockid_t, const struct timespec *);
4718 extern int timer_create(clockid_t, struct sigevent *,
4719   timer_t *);
4720 extern int timer_delete(timer_t);
4721 extern int timer_getoverrun(timer_t);
4722 extern int timer_gettime(timer_t, struct itimerspec *);
4723 extern int timer_settime(timer_t, int, const struct itimerspec *,
4724   struct itimerspec *);
4725 
4726 extern int nanosleep(const struct timespec *, struct timespec *);
4727 extern int clock_nanosleep(clockid_t, int,
4728  const struct timespec *, struct timespec *);
4729 
4730 
4731 
4732 
4733 
4734 
4735 extern void tzset(void);
4736 extern char *tzname[2];
4737 
4738 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */
4739 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4740 extern long timezone;
4741 extern int daylight;
4742 
4743 
4744 
4745 
4746 
4747 
4748 extern time_t timegm(struct tm *);
4749 extern int cftime(char *, char *, const time_t *);
4750 extern int ascftime(char *, const char *, const struct tm *);
4751 extern long altzone;
4752 
4753 
4754 
4755 
4756 extern struct tm *getdate(const char *);
4757 
4758 
4759 
4760 
4761 
4762 extern int getdate_err;
4763 
4764 
4765 
4766 /*
4767  * ctime_r() & asctime_r() prototypes are defined here.
4768  */
4769 
4770 /*
4771  * Previous releases of Solaris, starting at 2.3, provided definitions of
4772  * various functions as specified in POSIX.1c, Draft 6.  For some of these
4773  * functions, the final POSIX 1003.1c standard had a different number of
4774  * arguments and return values.
4775  *
4776  * The following segment of this header provides support for the standard
4777  * interfaces while supporting applications written under earlier
4778  * releases.  The application defines appropriate values of the feature
4779  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
4780  * whether it was written to expect the Draft 6 or standard versions of
4781  * these interfaces, before including this header.  This header then
4782  * provides a mapping from the source version of the interface to an
4783  * appropriate binary interface.  Such mappings permit an application
4784  * to be built from libraries and objects which have mixed expectations
4785  * of the definitions of these functions.
4786  *
4787  * For applications using the Draft 6 definitions, the binary symbol is the
4788  * same as the source symbol, and no explicit mapping is needed.  For the
4789  * standard interface, the function func() is mapped to the binary symbol
4790  * _posix_func().  The preferred mechanism for the remapping is a compiler
4791  * #pragma.  If the compiler does not provide such a #pragma, the header file
4792  * defines a static function func() which calls the _posix_func() version;
4793  * this has to be done instead of #define since POSIX specifies that an
4794  * application can #undef the symbol and still be bound to the correct
4795  * implementation.  Unfortunately, the statics confuse lint so we fallback to
4796  * #define in that case.
4797  *
4798  * NOTE: Support for the Draft 6 definitions is provided for compatibility
4799  * only.  New applications/libraries should use the standard definitions.
4800  */
4801 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4802 extern char *asctime_r(const struct tm *, char *, int);
4803 extern char *ctime_r(const time_t *, char *, int);
4804 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4805 typedef struct _locale *locale_t;
4806 
4807 
4808 extern size_t strftime_l(char *, size_t,
4809  const char *, const struct tm *, locale_t);
4810 
4811 
4812 
4813 
4814 
4815 /*
4816  * Note, the C11 standard requires that all the various base values that are
4817  * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one.
4818  */
4819 
4820 
4821 extern int timespec_get(struct timespec *, int);
4822 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4823 
4824 
4825 /*
4826  * The inclusion of <sys/select.h> is needed for the FD_CLR,
4827  * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the
4828  * select() prototype defined in the XOpen specifications
4829  * beginning with XSH4v2.  Placement required after definition
4830  * for itimerval.
4831  */
4832 
4833 
4834 
4835 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
4836 /*
4837  * CDDL HEADER START
4838  *
4839  * The contents of this file are subject to the terms of the
4840  * Common Development and Distribution License (the "License").
4841  * You may not use this file except in compliance with the License.
4842  *
4843  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4844  * or http://www.opensolaris.org/os/licensing.
4845  * See the License for the specific language governing permissions
4846  * and limitations under the License.
4847  *
4848  * When distributing Covered Code, include this CDDL HEADER in each
4849  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4850  * If applicable, add the following below this CDDL HEADER, with the
4851  * fields enclosed by brackets "[]" replaced with your own identifying
4852  * information: Portions Copyright [yyyy] [name of copyright owner]
4853  *
4854  * CDDL HEADER END
4855  */
4856 
4857 /*
4858  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4859  *
4860  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4861  *
4862  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
4863  * Use is subject to license terms.
4864  */
4865 
4866 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4867 /*	  All Rights Reserved	*/
4868 
4869 /*
4870  * University Copyright- Copyright (c) 1982, 1986, 1988
4871  * The Regents of the University of California
4872  * All Rights Reserved
4873  *
4874  * University Acknowledgment- Portions of this document are derived from
4875  * software developed by the University of California, Berkeley, and its
4876  * contributors.
4877  */
4878 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4879 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
4880 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4881 /*
4882  * The sigset_t type is defined in <sys/signal.h> and duplicated
4883  * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6
4884  * now allows the visibility of signal.h in this header, however
4885  * an order of inclusion problem occurs as a result of inclusion
4886  * of <sys/select.h> in <signal.h> under certain conditions.
4887  * Rather than include <sys/signal.h> here, we've duplicated
4888  * the sigset_t type instead. This type is required for the XPG6
4889  * introduced pselect() function also declared in this header.
4890  */
4891 
4892 
4893 typedef struct { /* signal set type */
4894  unsigned int __sigbits[4];
4895 } sigset_t;
4896 
4897 
4898 
4899 
4900 /*
4901  * Select uses bit masks of file descriptors in longs.
4902  * These macros manipulate such bit fields.
4903  * FD_SETSIZE may be defined by the user, but the default here
4904  * should be >= NOFILE (param.h).
4905  */
4906 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4907 typedef long fd_mask;
4908 
4909 typedef long fds_mask;
4910 
4911 /*
4912  *  The value of _NBBY needs to be consistant with the value
4913  *  of NBBY in <sys/param.h>.
4914  */
4915 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4916 typedef struct fd_set {
4917 
4918 
4919 
4920  long fds_bits[(((65536)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))];
4921 } fd_set;
4922 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4923 extern int select(int, fd_set *, fd_set *,
4924  fd_set *, struct timeval *);
4925 
4926 
4927 extern int pselect(int, fd_set *, fd_set *,
4928  fd_set *, const struct timespec *,
4929  const sigset_t *);
4930 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
4931 
4932 
4933 
4934 /*
4935  * _VOID was defined to be either void or char but this is not
4936  * required because previous SunOS compilers have accepted the void
4937  * type. However, because many system header and source files use the
4938  * void keyword, the volatile keyword, and ANSI C function prototypes,
4939  * non-ANSI compilers cannot compile the system anyway. The _VOID macro
4940  * should therefore not be used and remains for source compatibility
4941  * only.
4942  */
4943 /* CSTYLED */
4944 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
4945 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
4946 /*
4947  * CDDL HEADER START
4948  *
4949  * The contents of this file are subject to the terms of the
4950  * Common Development and Distribution License (the "License").
4951  * You may not use this file except in compliance with the License.
4952  *
4953  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4954  * or http://www.opensolaris.org/os/licensing.
4955  * See the License for the specific language governing permissions
4956  * and limitations under the License.
4957  *
4958  * When distributing Covered Code, include this CDDL HEADER in each
4959  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4960  * If applicable, add the following below this CDDL HEADER, with the
4961  * fields enclosed by brackets "[]" replaced with your own identifying
4962  * information: Portions Copyright [yyyy] [name of copyright owner]
4963  *
4964  * CDDL HEADER END
4965  */
4966 
4967 /*
4968  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
4969  *	  All Rights Reserved
4970  *
4971  */
4972 
4973 /*
4974  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4975  * Use is subject to license terms.
4976  */
4977 
4978 /*
4979  * WARNING: This is an implementation-specific header,
4980  * its contents are not guaranteed. Applications
4981  * should include <unistd.h> and not this header.
4982  */
4983 
4984 
4985 
4986 
4987 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4988 /*
4989  * CDDL HEADER START
4990  *
4991  * The contents of this file are subject to the terms of the
4992  * Common Development and Distribution License (the "License").
4993  * You may not use this file except in compliance with the License.
4994  *
4995  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4996  * or http://www.opensolaris.org/os/licensing.
4997  * See the License for the specific language governing permissions
4998  * and limitations under the License.
4999  *
5000  * When distributing Covered Code, include this CDDL HEADER in each
5001  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5002  * If applicable, add the following below this CDDL HEADER, with the
5003  * fields enclosed by brackets "[]" replaced with your own identifying
5004  * information: Portions Copyright [yyyy] [name of copyright owner]
5005  *
5006  * CDDL HEADER END
5007  */
5008 
5009 /*
5010  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5011  * Copyright 2016 Joyent, Inc.
5012  *
5013  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5014  * Use is subject to license terms.
5015  */
5016 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2
5017 
5018 
5019 
5020 
5021 
5022 /* command names for confstr */
5023 
5024 
5025 
5026 /*
5027  * command names for large file configuration information
5028  */
5029 /* large file compilation environment configuration */
5030 
5031 
5032 
5033 
5034 /* transitional large file interface configuration */
5035 
5036 
5037 
5038 
5039 
5040 /* UNIX 98 */
5041 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5042 /* UNIX 03 */
5043 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5044 /* command names for POSIX sysconf */
5045 
5046 /* POSIX.1 names */
5047 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5048 /* SVR4 names */
5049 
5050 
5051 
5052 
5053 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */
5054 
5055 
5056 
5057 
5058 /* POSIX.4 names */
5059 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5060 /* XPG4 names */
5061 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5062 /* additional XSH4/XCU4 command names for sysconf */
5063 
5064 
5065 
5066 /* additional XPG4v2 (UNIX 95) command names */
5067 
5068 
5069 
5070 
5071 
5072 /* defined for XTI (XNS Issue 5) */
5073 
5074 
5075 
5076 
5077 
5078 
5079 
5080 /*
5081  * Hardware specific items
5082  * Note that not all items are supported on all architectures
5083  */
5084 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5085 /*
5086  * POSIX.1c (pthreads) names. These values are defined above
5087  * the sub-500 range. See psarc case 1995/257.
5088  */
5089 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5090 /* UNIX 98 */
5091 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5092 /* UNIX 03 */
5093 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5094 /* command names for POSIX pathconf */
5095 
5096 /* POSIX.1 names */
5097 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5098 /* POSIX.4 names */
5099 
5100 
5101 
5102 /* UNIX 03 names */
5103 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5104 /* UNIX 08 names */
5105 
5106 
5107 /*
5108  * Large File Summit names
5109  *
5110  * This value matches the MIPS ABI choice, but leaves a large gap in the
5111  * value space.
5112  */
5113 
5114 
5115 /*
5116  * Extended attributes
5117  */
5118 
5119 
5120 
5121 /*
5122  * If you add a _PC define above 101, you must change _PC_LAST (and truss).
5123  */
5124 
5125 
5126 /*
5127  * Case sensitivity values (related to _PC_CASE_BEHAVIOR)
5128  */
5129 
5130 
5131 
5132 /*
5133  * The value of 0 is returned when
5134  * ACL's are not supported
5135  */
5136 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5137 /*
5138  * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications
5139  * should not rely on this value, it has been aligned with the current
5140  * standard to avoid confusion if used.
5141  */
5142 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5143 /* UNIX 03 names */
5144 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
5145 
5146 
5147 
5148 
5149 
5150 /* Symbolic constants for the "access" routine: */
5151 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5152 /* Symbolic constants for the "lseek" routine: */
5153 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5154 /* Path names: */
5155 
5156 
5157 
5158 
5159 /*
5160  * compile-time symbolic constants,
5161  * Support does not mean the feature is enabled.
5162  * Use pathconf/sysconf to obtain actual configuration value.
5163  */
5164 
5165 /* Values unchanged in UNIX 03 */
5166 
5167 
5168 
5169 
5170 
5171 /*
5172  * POSIX.1b compile-time symbolic constants.
5173  */
5174 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5175 /*
5176  * POSIX.1c compile-time symbolic constants.
5177  */
5178 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5179 /* New in UNIX 03 */
5180 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5181 /*
5182  * Support for the POSIX.1 mutex protocol attribute. For realtime applications
5183  * which need mutexes to support priority inheritance/ceiling.
5184  */
5185 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5186 /*
5187  * Large File Summit-related announcement macros.  The system supports both
5188  * the additional and transitional Large File Summit interfaces.  (The final
5189  * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.)
5190  */
5191 
5192 
5193 
5194 
5195 
5196 /* large file compilation environment setup */
5197 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5198 /* In the LP64 compilation environment, the APIs are already large file */
5199 
5200 
5201 
5202 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5203 #pragma redefine_extname ftruncate64 ftruncate
5204 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5205 
5206 
5207 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5208 #pragma redefine_extname lseek64 lseek
5209 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5210 
5211 
5212 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5213 #pragma redefine_extname pread64 pread
5214 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5215 
5216 
5217 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5218 #pragma redefine_extname pwrite64 pwrite
5219 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5220 
5221 
5222 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5223 #pragma redefine_extname truncate64 truncate
5224 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5225 
5226 
5227 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5228 #pragma redefine_extname lockf64 lockf
5229 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5230 
5231 
5232 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5233 #pragma redefine_extname tell64 tell
5234 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5235 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5236 extern int access(const char *, int);
5237 
5238 extern int acct(const char *);
5239 
5240 extern unsigned alarm(unsigned);
5241 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5242 
5243 
5244 extern int brk(void *);
5245 
5246 extern int chdir(const char *);
5247 extern int chown(const char *, uid_t, gid_t);
5248 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5249 
5250 
5251 extern int chroot(const char *);
5252 
5253 extern int close(int);
5254 
5255 
5256 
5257 
5258 
5259 
5260 extern char *ctermid(char *);
5261 
5262 
5263 extern char *ctermid_r(char *);
5264 
5265 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5266 
5267 extern char *cuserid(char *);
5268 
5269 extern int dup(int);
5270 extern int dup2(int, int);
5271 extern int dup3(int, int, int);
5272 
5273 
5274 
5275 
5276 extern void endusershell(void);
5277 
5278 extern int execl(const char *, const char *, ...);
5279 extern int execle(const char *, const char *, ...);
5280 extern int execlp(const char *, const char *, ...);
5281 extern int execv(const char *, char *const *);
5282 extern int execve(const char *, char *const *, char *const *);
5283 extern int execvp(const char *, char *const *);
5284 extern void _exit(int)
5285  __attribute__((__noreturn__));
5286 /*
5287  * The following fattach prototype is duplicated in <stropts.h>. The
5288  * duplication is necessitated by XPG4.2 which requires the prototype
5289  * be defined in <stropts.h>.
5290  */
5291 
5292 extern int fattach(int, const char *);
5293 
5294 
5295 extern int fchdir(int);
5296 extern int fchown(int, uid_t, gid_t);
5297 
5298 
5299 extern int fchroot(int);
5300 
5301 
5302 
5303 extern int fdatasync(int);
5304 
5305 /*
5306  * The following fdetach prototype is duplicated in <stropts.h>. The
5307  * duplication is necessitated by XPG4.2 which requires the prototype
5308  * be defined in <stropts.h>.
5309  */
5310 
5311 extern int fdetach(const char *);
5312 
5313 extern pid_t fork(void);
5314 
5315 extern pid_t fork1(void);
5316 extern pid_t forkall(void);
5317 
5318 extern long fpathconf(int, int);
5319 
5320 
5321 extern int fsync(int);
5322 
5323 
5324 
5325 
5326 extern int ftruncate(int, off_t);
5327 
5328 extern char *getcwd(char *, size_t);
5329 
5330 
5331 extern int getdtablesize(void);
5332 
5333 extern gid_t getegid(void);
5334 extern uid_t geteuid(void);
5335 extern gid_t getgid(void);
5336 extern int getgroups(int, gid_t *);
5337 
5338 extern long gethostid(void);
5339 
5340 
5341 
5342 
5343 extern int gethostname(char *, int);
5344 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5345 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5346 
5347 extern int getpagesize(void);
5348 
5349 extern pid_t getpgid(pid_t);
5350 
5351 extern pid_t getpid(void);
5352 extern pid_t getppid(void);
5353 extern pid_t getpgrp(void);
5354 
5355 
5356 char *gettxt(const char *, const char *);
5357 
5358 
5359 extern pid_t getsid(pid_t);
5360 
5361 extern uid_t getuid(void);
5362 
5363 extern char *getusershell(void);
5364 
5365 /*
5366  * The following ioctl prototype is duplicated in <stropts.h>. The
5367  * duplication is necessitated by XPG4.2 which requires the prototype
5368  * be defined in <stropts.h>.
5369  */
5370 
5371 extern int ioctl(int, int, ...);
5372 extern int isaexec(const char *, char *const *, char *const *);
5373 extern int issetugid(void);
5374 
5375 extern int isatty(int);
5376 
5377 extern int lchown(const char *, uid_t, gid_t);
5378 
5379 extern int link(const char *, const char *);
5380 
5381 extern offset_t llseek(int, offset_t, int);
5382 
5383 
5384 
5385 
5386 extern int lockf(int, int, off_t);
5387 
5388 extern off_t lseek(int, off_t, int);
5389 
5390 
5391 extern int nice(int);
5392 
5393 
5394 extern int mincore(caddr_t, size_t, char *);
5395 
5396 extern long pathconf(const char *, int);
5397 extern int pause(void);
5398 extern int pipe(int *);
5399 extern int pipe2(int *, int);
5400 
5401 
5402 
5403 extern ssize_t pread(int, void *, size_t, off_t);
5404 
5405 
5406 extern void profil(unsigned short *, size_t, unsigned long, unsigned int);
5407 
5408 /*
5409  * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The
5410  * declarations are identical. A change to either one may also require
5411  * appropriate namespace updates in order to avoid redeclaration
5412  * warnings in the case where both prototypes are exposed via inclusion
5413  * of both <pthread.h> and <unistd.h>.
5414  */
5415 
5416 
5417 
5418 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));
5419 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5420 extern ssize_t pwrite(int, const void *, size_t, off_t);
5421 
5422 
5423 /* per RFC 3542; This is also defined in netdb.h */
5424 extern int rcmd_af(char **, unsigned short, const char *, const char *,
5425  const char *, int *, int);
5426 
5427 extern ssize_t read(int, void *, size_t);
5428 
5429 
5430 extern ssize_t readlink(const char *, char *,
5431  size_t);
5432 
5433 
5434 
5435 
5436 
5437 
5438 extern int rename(const char *, const char *);
5439 
5440 
5441 
5442 
5443 
5444 
5445 
5446 extern int resolvepath(const char *, char *, size_t);
5447 /* per RFC 3542; This is also defined in netdb.h */
5448 extern int rexec_af(char **, unsigned short, const char *, const char *,
5449  const char *, int *, int);
5450 
5451 extern int rmdir(const char *);
5452 
5453 /* per RFC 3542; This is also defined in netdb.h */
5454 extern int rresvport_af(int *, int);
5455 
5456 
5457 
5458 
5459 extern void *sbrk(intptr_t);
5460 
5461 
5462 extern int setegid(gid_t);
5463 extern int seteuid(uid_t);
5464 
5465 extern int setgid(gid_t);
5466 
5467 extern int setgroups(int, const gid_t *);
5468 extern int sethostname(char *, int);
5469 
5470 extern int setpgid(pid_t, pid_t);
5471 
5472 extern pid_t setpgrp(void);
5473 extern int setregid(gid_t, gid_t);
5474 extern int setreuid(uid_t, uid_t);
5475 
5476 extern pid_t setsid(void);
5477 extern int setuid(uid_t);
5478 
5479 extern void setusershell(void);
5480 
5481 extern unsigned sleep(unsigned);
5482 
5483 extern int stime(const time_t *);
5484 
5485 
5486 
5487 
5488 
5489 
5490 extern int symlink(const char *, const char *);
5491 extern void sync(void);
5492 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5493 extern long sysconf(int);
5494 extern pid_t tcgetpgrp(int);
5495 extern int tcsetpgrp(int, pid_t);
5496 
5497 
5498 
5499 extern off_t tell(int);
5500 
5501 
5502 
5503 
5504 extern int truncate(const char *, off_t);
5505 
5506 extern char *ttyname(int);
5507 
5508 extern useconds_t ualarm(useconds_t, useconds_t);
5509 
5510 extern int unlink(const char *);
5511 
5512 extern char *getwd(char *);
5513 extern int usleep(useconds_t);
5514 extern pid_t vfork(void) __attribute__((__returns_twice__));
5515 #pragma unknown_control_flow(vfork)
5516 
5517 
5518 extern void vhangup(void);
5519 
5520 extern ssize_t write(int, const void *, size_t);
5521 
5522 extern void yield(void);
5523 
5524 
5525 
5526 
5527  /* || defined(_XPG7) */
5528 extern int faccessat(int, const char *, int, int);
5529 extern int fchownat(int, const char *, uid_t, gid_t, int);
5530 extern int linkat(int, const char *, int, const char *, int);
5531 extern ssize_t readlinkat(int, const char *,
5532  char *, size_t);
5533 extern int renameat(int, const char *, int, const char *);
5534 extern int symlinkat(const char *, int, const char *);
5535 extern int unlinkat(int, const char *, int);
5536 
5537 
5538 extern int get_nprocs(void);
5539 extern int get_nprocs_conf(void);
5540 
5541 
5542 /* transitional large file interface versions */
5543 
5544 
5545 extern int ftruncate64(int, off64_t);
5546 extern off64_t lseek64(int, off64_t, int);
5547 extern ssize_t pread64(int, void *, size_t, off64_t);
5548 extern ssize_t pwrite64(int, const void *, size_t, off64_t);
5549 extern off64_t tell64(int);
5550 extern int truncate64(const char *, off64_t);
5551 extern int lockf64(int, int, off64_t);
5552 
5553 
5554 /*
5555  * getlogin_r() & ttyname_r() prototypes are defined here.
5556  */
5557 
5558 /*
5559  * Previous releases of Solaris, starting at 2.3, provided definitions of
5560  * various functions as specified in POSIX.1c, Draft 6.  For some of these
5561  * functions, the final POSIX 1003.1c standard had a different number of
5562  * arguments and return values.
5563  *
5564  * The following segment of this header provides support for the standard
5565  * interfaces while supporting applications written under earlier
5566  * releases.  The application defines appropriate values of the feature
5567  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
5568  * whether it was written to expect the Draft 6 or standard versions of
5569  * these interfaces, before including this header.  This header then
5570  * provides a mapping from the source version of the interface to an
5571  * appropriate binary interface.  Such mappings permit an application
5572  * to be built from libraries and objects which have mixed expectations
5573  * of the definitions of these functions.
5574  *
5575  * For applications using the Draft 6 definitions, the binary symbol is the
5576  * same as the source symbol, and no explicit mapping is needed.  For the
5577  * standard interface, the function func() is mapped to the binary symbol
5578  * _posix_func().  The preferred mechanism for the remapping is a compiler
5579  * #pragma.  If the compiler does not provide such a #pragma, the header file
5580  * defines a static function func() which calls the _posix_func() version;
5581  * this has to be done instead of #define since POSIX specifies that an
5582  * application can #undef the symbol and still be bound to the correct
5583  * implementation.  Unfortunately, the statics confuse lint so we fallback to
5584  * #define in that case.
5585  *
5586  * NOTE: Support for the Draft 6 definitions is provided for compatibility
5587  * only.  New applications/libraries should use the standard definitions.
5588  */
5589 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5590 
5591 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5592 #pragma redefine_extname getlogin_r getloginx_r
5593 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5594 
5595 
5596 
5597 
5598 
5599 
5600 extern char *getlogin_r(char *, int);
5601 
5602 extern char *ttyname_r(int, char *, int);
5603 
5604 
5605 
5606 
5607 
5608 
5609 extern int getentropy(void *, size_t);
5610 # 36 "../common/zones_paths.c" 2
5611 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libgen.h" 1
5612 /*
5613  * CDDL HEADER START
5614  *
5615  * The contents of this file are subject to the terms of the
5616  * Common Development and Distribution License, Version 1.0 only
5617  * (the "License").  You may not use this file except in compliance
5618  * with the License.
5619  *
5620  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5621  * or http://www.opensolaris.org/os/licensing.
5622  * See the License for the specific language governing permissions
5623  * and limitations under the License.
5624  *
5625  * When distributing Covered Code, include this CDDL HEADER in each
5626  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5627  * If applicable, add the following below this CDDL HEADER, with the
5628  * fields enclosed by brackets "[]" replaced with your own identifying
5629  * information: Portions Copyright [yyyy] [name of copyright owner]
5630  *
5631  * CDDL HEADER END
5632  */
5633 /*
5634  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5635  *
5636  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
5637  * Use is subject to license terms.
5638  */
5639 
5640 /*	Copyright (c) 1988 AT&T	*/
5641 /*	  All Rights Reserved  	*/
5642 
5643 
5644 /*
5645  * declarations of functions found in libgen
5646  */
5647 
5648 
5649 
5650 
5651 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
5652 /*
5653  * CDDL HEADER START
5654  *
5655  * The contents of this file are subject to the terms of the
5656  * Common Development and Distribution License (the "License").
5657  * You may not use this file except in compliance with the License.
5658  *
5659  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5660  * or http://www.opensolaris.org/os/licensing.
5661  * See the License for the specific language governing permissions
5662  * and limitations under the License.
5663  *
5664  * When distributing Covered Code, include this CDDL HEADER in each
5665  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5666  * If applicable, add the following below this CDDL HEADER, with the
5667  * fields enclosed by brackets "[]" replaced with your own identifying
5668  * information: Portions Copyright [yyyy] [name of copyright owner]
5669  *
5670  * CDDL HEADER END
5671  */
5672 
5673 /*
5674  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5675  * Copyright 2016 Joyent, Inc.
5676  *
5677  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5678  * Use is subject to license terms.
5679  */
5680 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libgen.h" 2
5681 
5682 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5683 /*
5684  * CDDL HEADER START
5685  *
5686  * The contents of this file are subject to the terms of the
5687  * Common Development and Distribution License (the "License").
5688  * You may not use this file except in compliance with the License.
5689  *
5690  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5691  * or http://www.opensolaris.org/os/licensing.
5692  * See the License for the specific language governing permissions
5693  * and limitations under the License.
5694  *
5695  * When distributing Covered Code, include this CDDL HEADER in each
5696  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5697  * If applicable, add the following below this CDDL HEADER, with the
5698  * fields enclosed by brackets "[]" replaced with your own identifying
5699  * information: Portions Copyright [yyyy] [name of copyright owner]
5700  *
5701  * CDDL HEADER END
5702  */
5703 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5704 /*	  All Rights Reserved  	*/
5705 
5706 
5707 /*
5708  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5709  * Use is subject to license terms.
5710  *
5711  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5712  * Copyright 2016 Joyent, Inc.
5713  */
5714 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libgen.h" 2
5715 
5716 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1
5717 /*
5718  * CDDL HEADER START
5719  *
5720  * The contents of this file are subject to the terms of the
5721  * Common Development and Distribution License (the "License").
5722  * You may not use this file except in compliance with the License.
5723  *
5724  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5725  * or http://www.opensolaris.org/os/licensing.
5726  * See the License for the specific language governing permissions
5727  * and limitations under the License.
5728  *
5729  * When distributing Covered Code, include this CDDL HEADER in each
5730  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5731  * If applicable, add the following below this CDDL HEADER, with the
5732  * fields enclosed by brackets "[]" replaced with your own identifying
5733  * information: Portions Copyright [yyyy] [name of copyright owner]
5734  *
5735  * CDDL HEADER END
5736  */
5737 /*	Copyright (c) 1988 AT&T	*/
5738 /*	  All Rights Reserved  	*/
5739 
5740 
5741 /*
5742  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5743  *
5744  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
5745  * Use is subject to license terms.
5746  */
5747 /*
5748  * Copyright 2010 Nexenta Systems, Inc.  Al rights reserved.
5749  * Copyright 2016 Joyent, Inc.
5750  */
5751 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libgen.h" 2
5752 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
5753 /*
5754  * CDDL HEADER START
5755  *
5756  * The contents of this file are subject to the terms of the
5757  * Common Development and Distribution License (the "License").
5758  * You may not use this file except in compliance with the License.
5759  *
5760  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5761  * or http://www.opensolaris.org/os/licensing.
5762  * See the License for the specific language governing permissions
5763  * and limitations under the License.
5764  *
5765  * When distributing Covered Code, include this CDDL HEADER in each
5766  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5767  * If applicable, add the following below this CDDL HEADER, with the
5768  * fields enclosed by brackets "[]" replaced with your own identifying
5769  * information: Portions Copyright [yyyy] [name of copyright owner]
5770  *
5771  * CDDL HEADER END
5772  */
5773 
5774 /*
5775  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5776  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
5777  */
5778 
5779 /*	Copyright (c) 1988 AT&T	*/
5780 /*	  All Rights Reserved  	*/
5781 
5782 /*
5783  * User-visible pieces of the ANSI C standard I/O package.
5784  */
5785 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libgen.h" 2
5786 
5787 
5788 
5789 
5790 
5791 
5792 extern char *basename(char *);
5793 extern char *dirname(char *);
5794 
5795 
5796 extern char *regcmp(const char *, ...);
5797 extern char *regex(const char *, const char *, ...);
5798 
5799 
5800 
5801 
5802 
5803 
5804 extern char *__loc1; /* Marked LEGACY in XPG5 and removed in XPG6 */
5805 
5806 
5807 
5808 
5809 extern char *bgets(char *, size_t, FILE *, char *);
5810 extern size_t bufsplit(char *, size_t, char **);
5811 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libgen.h"
5812 
5813 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libgen.h"
5814 #pragma redefine_extname copylist64 copylist
5815 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libgen.h"
5816 
5817 
5818 
5819 
5820 
5821 
5822 extern char *copylist(const char *, off_t *);
5823 
5824 
5825 extern char *copylist64(const char *, off64_t *);
5826 
5827 
5828 extern int eaccess(const char *, int);
5829 extern int gmatch(const char *, const char *);
5830 extern int isencrypt(const char *, size_t);
5831 extern int mkdirp(const char *, mode_t);
5832 extern int p2open(const char *, FILE *[2]);
5833 extern int p2close(FILE *[2]);
5834 extern char *pathfind(const char *, const char *, const char *);
5835 
5836 
5837 
5838 
5839 extern int __i_size;
5840 
5841 
5842 extern int rmdirp(char *, char *);
5843 extern char *strcadd(char *, const char *);
5844 extern char *strccpy(char *, const char *);
5845 extern char *streadd(char *, const char *, const char *);
5846 extern char *strecpy(char *, const char *, const char *);
5847 extern int strfind(const char *, const char *);
5848 extern char *strrspn(const char *, const char *);
5849 extern char *strtrns(const char *, const char *, const char *, char *);
5850 # 37 "../common/zones_paths.c" 2
5851 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 1
5852 /*
5853  * CDDL HEADER START
5854  *
5855  * The contents of this file are subject to the terms of the
5856  * Common Development and Distribution License, Version 1.0 only
5857  * (the "License").  You may not use this file except in compliance
5858  * with the License.
5859  *
5860  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5861  * or http://www.opensolaris.org/os/licensing.
5862  * See the License for the specific language governing permissions
5863  * and limitations under the License.
5864  *
5865  * When distributing Covered Code, include this CDDL HEADER in each
5866  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5867  * If applicable, add the following below this CDDL HEADER, with the
5868  * fields enclosed by brackets "[]" replaced with your own identifying
5869  * information: Portions Copyright [yyyy] [name of copyright owner]
5870  *
5871  * CDDL HEADER END
5872  */
5873 /*	Copyright (c) 1988 AT&T	*/
5874 /*	  All Rights Reserved  	*/
5875 
5876 
5877 /*
5878  * Copyright 1999-2003 Sun Microsystems, Inc.  All rights reserved.
5879  * Use is subject to license terms.
5880  */
5881 
5882 
5883 
5884 
5885 
5886 #pragma ident "%Z%%M%	%I%	%E% SMI"
5887 
5888 /*
5889  * Error codes
5890  */
5891 
5892 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1
5893 /*
5894  * CDDL HEADER START
5895  *
5896  * The contents of this file are subject to the terms of the
5897  * Common Development and Distribution License, Version 1.0 only
5898  * (the "License").  You may not use this file except in compliance
5899  * with the License.
5900  *
5901  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5902  * or http://www.opensolaris.org/os/licensing.
5903  * See the License for the specific language governing permissions
5904  * and limitations under the License.
5905  *
5906  * When distributing Covered Code, include this CDDL HEADER in each
5907  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5908  * If applicable, add the following below this CDDL HEADER, with the
5909  * fields enclosed by brackets "[]" replaced with your own identifying
5910  * information: Portions Copyright [yyyy] [name of copyright owner]
5911  *
5912  * CDDL HEADER END
5913  */
5914 /*
5915  * Copyright 2000 Sun Microsystems, Inc.  All rights reserved.
5916  * Use is subject to license terms.
5917  */
5918 
5919 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
5920 /*	  All Rights Reserved  	*/
5921 
5922 /*
5923  * University Copyright- Copyright (c) 1982, 1986, 1988
5924  * The Regents of the University of California
5925  * All Rights Reserved
5926  *
5927  * University Acknowledgment- Portions of this document are derived from
5928  * software developed by the University of California, Berkeley, and its
5929  * contributors.
5930  */
5931 
5932 
5933 
5934 
5935 #pragma ident "%Z%%M%	%I%	%E% SMI"
5936 
5937 
5938 
5939 
5940 
5941 /*
5942  * Error codes
5943  */
5944 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5945 /* Filesystem Quotas */
5946 
5947 
5948 /* Convergent Error Returns */
5949 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5950 /* Interprocess Robust Locks */
5951 
5952 
5953 
5954 /* stream problems */
5955 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5956 /* Interprocess Robust Locks */
5957 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5958 /* shared library problems */
5959 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5960 /* BSD Networking Software */
5961  /* argument errors */
5962 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5963     /* protocol family */
5964 
5965 
5966  /* operational errors */
5967 
5968 
5969 
5970     /* of reset */
5971 
5972 
5973 
5974 
5975 
5976 /* XENIX has 135 - 142 */
5977 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5978 /* SUN Network File System */
5979 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2
5980 
5981 
5982 
5983 
5984 
5985 
5986 /*
5987  * The symbols _sys_errlist and _sys_nerr are not visible in the
5988  * LP64 libc.  Use strerror(3C) instead.
5989  */
5990 
5991 
5992 
5993 extern int *___errno();
5994 # 38 "../common/zones_paths.c" 2
5995 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
5996 /*
5997  * CDDL HEADER START
5998  *
5999  * The contents of this file are subject to the terms of the
6000  * Common Development and Distribution License (the "License").
6001  * You may not use this file except in compliance with the License.
6002  *
6003  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6004  * or http://www.opensolaris.org/os/licensing.
6005  * See the License for the specific language governing permissions
6006  * and limitations under the License.
6007  *
6008  * When distributing Covered Code, include this CDDL HEADER in each
6009  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6010  * If applicable, add the following below this CDDL HEADER, with the
6011  * fields enclosed by brackets "[]" replaced with your own identifying
6012  * information: Portions Copyright [yyyy] [name of copyright owner]
6013  *
6014  * CDDL HEADER END
6015  */
6016 
6017 /*
6018  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6019  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
6020  */
6021 
6022 /*	Copyright (c) 1988 AT&T	*/
6023 /*	  All Rights Reserved  	*/
6024 
6025 
6026 
6027 
6028 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1
6029 /*
6030  * CDDL HEADER START
6031  *
6032  * The contents of this file are subject to the terms of the
6033  * Common Development and Distribution License, Version 1.0 only
6034  * (the "License").  You may not use this file except in compliance
6035  * with the License.
6036  *
6037  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6038  * or http://www.opensolaris.org/os/licensing.
6039  * See the License for the specific language governing permissions
6040  * and limitations under the License.
6041  *
6042  * When distributing Covered Code, include this CDDL HEADER in each
6043  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6044  * If applicable, add the following below this CDDL HEADER, with the
6045  * fields enclosed by brackets "[]" replaced with your own identifying
6046  * information: Portions Copyright [yyyy] [name of copyright owner]
6047  *
6048  * CDDL HEADER END
6049  */
6050 /*	Copyright (c) 1988 AT&T	*/
6051 /*	  All Rights Reserved  	*/
6052 
6053 
6054 /*
6055  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6056  * Copyright 2014 PALO, Richard.
6057  *
6058  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6059  * Use is subject to license terms.
6060  */
6061 
6062 /*
6063  * An application should not include this header directly.  Instead it
6064  * should be included only through the inclusion of other Sun headers.
6065  *
6066  * The contents of this header is limited to identifiers specified in the
6067  * C Standard.  Any new identifiers specified in future amendments to the
6068  * C Standard must be placed in this header.  If these new identifiers
6069  * are required to also be in the C++ Standard "std" namespace, then for
6070  * anything other than macro definitions, corresponding "using" directives
6071  * must also be added to <string.h>.
6072  */
6073 
6074 
6075 
6076 
6077 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6078 /*
6079  * CDDL HEADER START
6080  *
6081  * The contents of this file are subject to the terms of the
6082  * Common Development and Distribution License (the "License").
6083  * You may not use this file except in compliance with the License.
6084  *
6085  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6086  * or http://www.opensolaris.org/os/licensing.
6087  * See the License for the specific language governing permissions
6088  * and limitations under the License.
6089  *
6090  * When distributing Covered Code, include this CDDL HEADER in each
6091  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6092  * If applicable, add the following below this CDDL HEADER, with the
6093  * fields enclosed by brackets "[]" replaced with your own identifying
6094  * information: Portions Copyright [yyyy] [name of copyright owner]
6095  *
6096  * CDDL HEADER END
6097  */
6098 
6099 /*
6100  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6101  * Copyright 2016 Joyent, Inc.
6102  *
6103  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6104  * Use is subject to license terms.
6105  */
6106 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
6107 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
6108 /*
6109  * This file and its contents are supplied under the terms of the
6110  * Common Development and Distribution License ("CDDL"), version 1.0.
6111  * You may only use this file in accordance with the terms of version
6112  * 1.0 of the CDDL.
6113  *
6114  * A full copy of the text of the CDDL should have accompanied this
6115  * source.  A copy of the CDDL is also available via the Internet at
6116  * http://www.illumos.org/license/CDDL.
6117  */
6118 
6119 /*
6120  * Copyright 2014-2016 PALO, Richard.
6121  */
6122 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
6123 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
6124 extern int memcmp(const void *, const void *, size_t);
6125 extern void *memcpy(void *, const void *, size_t);
6126 extern void *memmove(void *, const void *, size_t);
6127 extern void *memset(void *, int, size_t);
6128 extern char *strcat(char *, const char *);
6129 extern int strcmp(const char *, const char *);
6130 extern char *strcpy(char *, const char *);
6131 extern int strcoll(const char *, const char *);
6132 extern size_t strcspn(const char *, const char *);
6133 extern char *strerror(int);
6134 extern size_t strlen(const char *);
6135 extern char *strncat(char *, const char *, size_t);
6136 extern int strncmp(const char *, const char *, size_t);
6137 extern char *strncpy(char *, const char *, size_t);
6138 extern size_t strspn(const char *, const char *);
6139 extern char *strtok(char *, const char *);
6140 extern size_t strxfrm(char *, const char *, size_t);
6141 
6142 /*
6143  * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the
6144  * function signatures for the following functions be replaced by
6145  * two declarations, both of which have the same behavior.
6146  */
6147 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
6148 extern void *memchr(const void *, int, size_t);
6149 extern char *strchr(const char *, int);
6150 extern char *strpbrk(const char *, const char *);
6151 extern char *strrchr(const char *, int);
6152 extern char *strstr(const char *, const char *);
6153 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2
6154 
6155 /*
6156  * Allow global visibility for symbols defined in
6157  * C++ "std" namespace in <iso/string_iso.h>.
6158  */
6159 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h"
6160 extern int strerror_r(int, char *, size_t);
6161 
6162 
6163 
6164 
6165 
6166 extern char *strtok_r(char *, const char *,
6167  char **);
6168 
6169 
6170 
6171 
6172 extern void *memccpy(void *, const void *,
6173   int, size_t);
6174 
6175 
6176 
6177 
6178 extern char *stpcpy(char *, const char *);
6179 extern char *stpncpy(char *, const char *, size_t);
6180 extern char *strndup(const char *, size_t);
6181 extern size_t strnlen(const char *, size_t);
6182 extern char *strsignal(int);
6183 
6184 
6185 
6186 
6187 
6188 
6189 extern int strcoll_l(const char *, const char *, locale_t);
6190 extern size_t strxfrm_l(char *, const char *,
6191     size_t, locale_t);
6192 extern int strcasecmp_l(const char *, const char *, locale_t);
6193 extern int strncasecmp_l(const char *, const char *, size_t, locale_t);
6194 extern char *strerror_l(int, locale_t);
6195 
6196 
6197 
6198 
6199 
6200 /* Note that some of these are also declared in strings.h for XPG4_2+ */
6201 extern void explicit_bzero(void *, size_t);
6202 extern int uucopy(const void *, void *, size_t);
6203 extern int uucopystr(const void *, void *, size_t);
6204 extern int ffs(int);
6205 extern int ffsl(long);
6206 extern int ffsll(long long);
6207 extern int fls(int);
6208 extern int flsl(long);
6209 extern int flsll(long long);
6210 extern void *memmem(const void *, size_t, const void *, size_t);
6211 extern char *strcasestr(const char *, const char *);
6212 extern char *strnstr(const char *, const char *, size_t);
6213 extern size_t strlcpy(char *, const char *, size_t);
6214 extern size_t strlcat(char *, const char *, size_t);
6215 extern char *strsep(char **stringp, const char *delim);
6216 extern char *strchrnul(const char *, int);
6217 extern char *strcasestr_l(const char *, const char *, locale_t);
6218 extern int strcasecmp(const char *, const char *);
6219 extern int strncasecmp(const char *, const char *, size_t);
6220 
6221 
6222 
6223 
6224 
6225 extern char *strdup(const char *);
6226 
6227 
6228 
6229 
6230 
6231 
6232 /*
6233  * gcc provides this inlining facility but Studio C does not.
6234  * We should use it exclusively once Studio C also provides it.
6235  */
6236 extern void *__builtin_alloca(size_t);
6237 # 39 "../common/zones_paths.c" 2
6238 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1
6239 /*
6240  * CDDL HEADER START
6241  *
6242  * The contents of this file are subject to the terms of the
6243  * Common Development and Distribution License (the "License").
6244  * You may not use this file except in compliance with the License.
6245  *
6246  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6247  * or http://www.opensolaris.org/os/licensing.
6248  * See the License for the specific language governing permissions
6249  * and limitations under the License.
6250  *
6251  * When distributing Covered Code, include this CDDL HEADER in each
6252  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6253  * If applicable, add the following below this CDDL HEADER, with the
6254  * fields enclosed by brackets "[]" replaced with your own identifying
6255  * information: Portions Copyright [yyyy] [name of copyright owner]
6256  *
6257  * CDDL HEADER END
6258  */
6259 
6260 /*
6261  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6262  *
6263  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
6264  * Use is subject to license terms.
6265  */
6266 
6267 /*	Copyright (c) 1988 AT&T	*/
6268 /*	  All Rights Reserved  	*/
6269 
6270 
6271 
6272 
6273 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6274 /*
6275  * CDDL HEADER START
6276  *
6277  * The contents of this file are subject to the terms of the
6278  * Common Development and Distribution License (the "License").
6279  * You may not use this file except in compliance with the License.
6280  *
6281  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6282  * or http://www.opensolaris.org/os/licensing.
6283  * See the License for the specific language governing permissions
6284  * and limitations under the License.
6285  *
6286  * When distributing Covered Code, include this CDDL HEADER in each
6287  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6288  * If applicable, add the following below this CDDL HEADER, with the
6289  * fields enclosed by brackets "[]" replaced with your own identifying
6290  * information: Portions Copyright [yyyy] [name of copyright owner]
6291  *
6292  * CDDL HEADER END
6293  */
6294 
6295 /*
6296  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6297  * Copyright 2016 Joyent, Inc.
6298  *
6299  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6300  * Use is subject to license terms.
6301  */
6302 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
6303 
6304 
6305 
6306 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6307 /*
6308  * CDDL HEADER START
6309  *
6310  * The contents of this file are subject to the terms of the
6311  * Common Development and Distribution License (the "License").
6312  * You may not use this file except in compliance with the License.
6313  *
6314  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6315  * or http://www.opensolaris.org/os/licensing.
6316  * See the License for the specific language governing permissions
6317  * and limitations under the License.
6318  *
6319  * When distributing Covered Code, include this CDDL HEADER in each
6320  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6321  * If applicable, add the following below this CDDL HEADER, with the
6322  * fields enclosed by brackets "[]" replaced with your own identifying
6323  * information: Portions Copyright [yyyy] [name of copyright owner]
6324  *
6325  * CDDL HEADER END
6326  */
6327 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6328 /*	  All Rights Reserved  	*/
6329 
6330 
6331 /*
6332  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6333  * Use is subject to license terms.
6334  *
6335  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6336  * Copyright 2016 Joyent, Inc.
6337  */
6338 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
6339 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 1
6340 /*
6341  * CDDL HEADER START
6342  *
6343  * The contents of this file are subject to the terms of the
6344  * Common Development and Distribution License (the "License").
6345  * You may not use this file except in compliance with the License.
6346  *
6347  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6348  * or http://www.opensolaris.org/os/licensing.
6349  * See the License for the specific language governing permissions
6350  * and limitations under the License.
6351  *
6352  * When distributing Covered Code, include this CDDL HEADER in each
6353  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6354  * If applicable, add the following below this CDDL HEADER, with the
6355  * fields enclosed by brackets "[]" replaced with your own identifying
6356  * information: Portions Copyright [yyyy] [name of copyright owner]
6357  *
6358  * CDDL HEADER END
6359  */
6360 
6361 /*
6362  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
6363  */
6364 
6365 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6366 /*	  All Rights Reserved  	*/
6367 
6368 /*
6369  * University Copyright- Copyright (c) 1982, 1986, 1988
6370  * The Regents of the University of California
6371  * All Rights Reserved
6372  *
6373  * University Acknowledgment- Portions of this document are derived from
6374  * software developed by the University of California, Berkeley, and its
6375  * contributors.
6376  */
6377 
6378 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
6379 /* Copyright 2015, Joyent, Inc. */
6380 
6381 
6382 
6383 
6384 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6385 /*
6386  * CDDL HEADER START
6387  *
6388  * The contents of this file are subject to the terms of the
6389  * Common Development and Distribution License (the "License").
6390  * You may not use this file except in compliance with the License.
6391  *
6392  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6393  * or http://www.opensolaris.org/os/licensing.
6394  * See the License for the specific language governing permissions
6395  * and limitations under the License.
6396  *
6397  * When distributing Covered Code, include this CDDL HEADER in each
6398  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6399  * If applicable, add the following below this CDDL HEADER, with the
6400  * fields enclosed by brackets "[]" replaced with your own identifying
6401  * information: Portions Copyright [yyyy] [name of copyright owner]
6402  *
6403  * CDDL HEADER END
6404  */
6405 
6406 /*
6407  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6408  * Copyright 2016 Joyent, Inc.
6409  *
6410  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6411  * Use is subject to license terms.
6412  */
6413 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2
6414 
6415 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6416 /*
6417  * CDDL HEADER START
6418  *
6419  * The contents of this file are subject to the terms of the
6420  * Common Development and Distribution License (the "License").
6421  * You may not use this file except in compliance with the License.
6422  *
6423  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6424  * or http://www.opensolaris.org/os/licensing.
6425  * See the License for the specific language governing permissions
6426  * and limitations under the License.
6427  *
6428  * When distributing Covered Code, include this CDDL HEADER in each
6429  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6430  * If applicable, add the following below this CDDL HEADER, with the
6431  * fields enclosed by brackets "[]" replaced with your own identifying
6432  * information: Portions Copyright [yyyy] [name of copyright owner]
6433  *
6434  * CDDL HEADER END
6435  */
6436 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6437 /*	  All Rights Reserved  	*/
6438 
6439 
6440 /*
6441  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6442  * Use is subject to license terms.
6443  *
6444  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6445  * Copyright 2016 Joyent, Inc.
6446  */
6447 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2
6448 
6449 
6450 
6451 
6452 
6453 /*
6454  * Flag values accessible to open(2) and fcntl(2)
6455  * The first five can only be set (exclusively) by open(2).
6456  */
6457 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6458     /* defines read/write file integrity */
6459 
6460 
6461 
6462 
6463 
6464 
6465 /*
6466  * Flag values accessible only to open(2).
6467  */
6468 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6469 /*
6470  * fcntl(2) requests
6471  *
6472  * N.B.: values are not necessarily assigned sequentially below.
6473  */
6474 
6475 
6476 
6477 
6478 
6479 
6480 
6481 /*
6482  * Applications that read /dev/mem must be built like the kernel.  A
6483  * new symbol "_KMEMUSER" is defined for this purpose.
6484  */
6485 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6486      /* EINVAL is fildes matches arg1 */
6487 # 137 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6488 /*
6489  * Numbers 20-22 have been removed and should not be reused.
6490  */
6491 
6492 
6493 
6494 
6495 
6496     /* manager */
6497 
6498 /*
6499  * Commands that refer to flock structures.  The argument types differ between
6500  * the large and small file environments; therefore, the #defined values must
6501  * as well.
6502  * The NBMAND forms are private and should not be used.
6503  * The FLOCK forms are also private and should not be used.
6504  */
6505 
6506 
6507 /* "Native" application compilation environment */
6508 # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6509 /*
6510  * File segment locking set data type - information passed to system by user.
6511  */
6512 
6513 /* regular version, for both small and large file compilation environment */
6514 typedef struct flock {
6515  short l_type;
6516  short l_whence;
6517  off_t l_start;
6518  off_t l_len; /* len == 0 means until end of file */
6519  int l_sysid;
6520  pid_t l_pid;
6521  long l_pad[4]; /* reserve area */
6522 } flock_t;
6523 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6524 /* transitional large file interface version */
6525 
6526 
6527 
6528 typedef struct flock64 {
6529  short l_type;
6530  short l_whence;
6531  off64_t l_start;
6532  off64_t l_len; /* len == 0 means until end of file */
6533  int l_sysid;
6534  pid_t l_pid;
6535  long l_pad[4]; /* reserve area */
6536 } flock64_t;
6537 # 328 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6538 /*
6539  * File segment locking types.
6540  */
6541 
6542 
6543 
6544 
6545 
6546 /*
6547  * POSIX constants
6548  */
6549 
6550 /* Mask for file access modes */
6551 
6552 
6553 
6554 /*
6555  * DIRECTIO
6556  */
6557 
6558 
6559 
6560 
6561 /*
6562  * File share reservation type
6563  */
6564 typedef struct fshare {
6565  short f_access;
6566  short f_deny;
6567  int f_id;
6568 } fshare_t;
6569 
6570 /*
6571  * f_access values
6572  */
6573 
6574 
6575 
6576 
6577 
6578 
6579 /*
6580  * f_deny values
6581  */
6582 # 381 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6583 /*
6584  * Special flags for functions such as openat(), fstatat()....
6585  */
6586 
6587 
6588  /* || defined(_XPG7) */
6589 # 396 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
6590 /* advice for posix_fadvise */
6591 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
6592 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6593 /* large file compilation environment setup */
6594 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6595 
6596 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6597 #pragma redefine_extname open64 open
6598 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6599 
6600 
6601 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6602 #pragma redefine_extname creat64 creat
6603 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6604 
6605 
6606 
6607 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6608 #pragma redefine_extname posix_fadvise64 posix_fadvise
6609 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6610 
6611 
6612 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6613 #pragma redefine_extname posix_fallocate64 posix_fallocate
6614 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6615 
6616 
6617 
6618 
6619 
6620 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6621 #pragma redefine_extname openat64 openat
6622 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6623 
6624 
6625 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6626 #pragma redefine_extname attropen64 attropen
6627 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6628 # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
6629 extern int fcntl(int, int, ...);
6630 extern int open(const char *, int, ...);
6631 extern int creat(const char *, mode_t);
6632 
6633 extern int posix_fadvise(int, off_t, off_t, int);
6634 extern int posix_fallocate(int, off_t, off_t);
6635 
6636 
6637 
6638 extern int openat(int, const char *, int, ...);
6639 extern int attropen(const char *, const char *, int, ...);
6640 
6641 
6642 extern int directio(int, int);
6643 
6644 
6645 /* transitional large file interface versions */
6646 
6647 
6648 extern int open64(const char *, int, ...);
6649 extern int creat64(const char *, mode_t);
6650 
6651 extern int posix_fadvise64(int, off64_t, off64_t, int);
6652 extern int posix_fallocate64(int, off64_t, off64_t);
6653 
6654 
6655 
6656 extern int openat64(int, const char *, int, ...);
6657 extern int attropen64(const char *, const char *, int, ...);
6658 # 40 "../common/zones_paths.c" 2
6659 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6660 /*
6661  * CDDL HEADER START
6662  *
6663  * The contents of this file are subject to the terms of the
6664  * Common Development and Distribution License (the "License").
6665  * You may not use this file except in compliance with the License.
6666  *
6667  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6668  * or http://www.opensolaris.org/os/licensing.
6669  * See the License for the specific language governing permissions
6670  * and limitations under the License.
6671  *
6672  * When distributing Covered Code, include this CDDL HEADER in each
6673  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6674  * If applicable, add the following below this CDDL HEADER, with the
6675  * fields enclosed by brackets "[]" replaced with your own identifying
6676  * information: Portions Copyright [yyyy] [name of copyright owner]
6677  *
6678  * CDDL HEADER END
6679  */
6680 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6681 /*	  All Rights Reserved  	*/
6682 
6683 
6684 /*
6685  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6686  * Use is subject to license terms.
6687  *
6688  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6689  * Copyright 2016 Joyent, Inc.
6690  */
6691 # 41 "../common/zones_paths.c" 2
6692 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1
6693 /*
6694  * CDDL HEADER START
6695  *
6696  * The contents of this file are subject to the terms of the
6697  * Common Development and Distribution License (the "License").
6698  * You may not use this file except in compliance with the License.
6699  *
6700  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6701  * or http://www.opensolaris.org/os/licensing.
6702  * See the License for the specific language governing permissions
6703  * and limitations under the License.
6704  *
6705  * When distributing Covered Code, include this CDDL HEADER in each
6706  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6707  * If applicable, add the following below this CDDL HEADER, with the
6708  * fields enclosed by brackets "[]" replaced with your own identifying
6709  * information: Portions Copyright [yyyy] [name of copyright owner]
6710  *
6711  * CDDL HEADER END
6712  */
6713 
6714 /*
6715  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6716  * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
6717  */
6718 
6719 /*	Copyright (c) 1990, 1991 UNIX System Laboratories, Inc.	*/
6720 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T	*/
6721 /*	All Rights Reserved	*/
6722 
6723 
6724 
6725 
6726 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6727 /*
6728  * CDDL HEADER START
6729  *
6730  * The contents of this file are subject to the terms of the
6731  * Common Development and Distribution License (the "License").
6732  * You may not use this file except in compliance with the License.
6733  *
6734  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6735  * or http://www.opensolaris.org/os/licensing.
6736  * See the License for the specific language governing permissions
6737  * and limitations under the License.
6738  *
6739  * When distributing Covered Code, include this CDDL HEADER in each
6740  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6741  * If applicable, add the following below this CDDL HEADER, with the
6742  * fields enclosed by brackets "[]" replaced with your own identifying
6743  * information: Portions Copyright [yyyy] [name of copyright owner]
6744  *
6745  * CDDL HEADER END
6746  */
6747 
6748 /*
6749  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6750  * Copyright 2016 Joyent, Inc.
6751  *
6752  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6753  * Use is subject to license terms.
6754  */
6755 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2
6756 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6757 /*
6758  * CDDL HEADER START
6759  *
6760  * The contents of this file are subject to the terms of the
6761  * Common Development and Distribution License (the "License").
6762  * You may not use this file except in compliance with the License.
6763  *
6764  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6765  * or http://www.opensolaris.org/os/licensing.
6766  * See the License for the specific language governing permissions
6767  * and limitations under the License.
6768  *
6769  * When distributing Covered Code, include this CDDL HEADER in each
6770  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6771  * If applicable, add the following below this CDDL HEADER, with the
6772  * fields enclosed by brackets "[]" replaced with your own identifying
6773  * information: Portions Copyright [yyyy] [name of copyright owner]
6774  *
6775  * CDDL HEADER END
6776  */
6777 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6778 /*	  All Rights Reserved  	*/
6779 
6780 
6781 /*
6782  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6783  * Use is subject to license terms.
6784  *
6785  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6786  * Copyright 2016 Joyent, Inc.
6787  */
6788 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2
6789 
6790 
6791 
6792 
6793 
6794 /*
6795  * The implementation specific header <sys/time_impl.h> includes a
6796  * definition for timestruc_t needed by the stat structure.  However,
6797  * including either <time.h>, which includes <sys/time_impl.h>, or
6798  * including <sys/time_impl.h> directly will break both X/Open and
6799  * POSIX namespace. Preceeding tag, structure, and structure member
6800  * names with underscores eliminates the namespace breakage and at the
6801  * same time, with unique type names, eliminates the possibility of
6802  * timespec_t or timestruct_t naming conflicts that could otherwise
6803  * result based on the order of inclusion of <sys/stat.h> and
6804  * <sys/time.h>.  The header <sys/time_std_impl.h> contains the
6805  * standards namespace safe versions of these definitions.
6806  */
6807 
6808 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
6809 /*
6810  * CDDL HEADER START
6811  *
6812  * The contents of this file are subject to the terms of the
6813  * Common Development and Distribution License, Version 1.0 only
6814  * (the "License").  You may not use this file except in compliance
6815  * with the License.
6816  *
6817  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6818  * or http://www.opensolaris.org/os/licensing.
6819  * See the License for the specific language governing permissions
6820  * and limitations under the License.
6821  *
6822  * When distributing Covered Code, include this CDDL HEADER in each
6823  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6824  * If applicable, add the following below this CDDL HEADER, with the
6825  * fields enclosed by brackets "[]" replaced with your own identifying
6826  * information: Portions Copyright [yyyy] [name of copyright owner]
6827  *
6828  * CDDL HEADER END
6829  */
6830 /*
6831  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
6832  * Use is subject to license terms.
6833  */
6834 
6835 /*
6836  * Implementation-private.  This header should not be included
6837  * directly by an application.  The application should instead
6838  * include <time.h> which includes this header conditionally
6839  * depending on which feature test macros are defined. By default,
6840  * this header is included by <time.h>.  X/Open and POSIX
6841  * standards requirements result in this header being included
6842  * by <time.h> only under a restricted set of conditions.
6843  */
6844 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2
6845 
6846 
6847 
6848 
6849 
6850 
6851 /*
6852  * stat structure, used by stat(2) and fstat(2)
6853  */
6854 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6855 /*
6856  * large file compilation environment setup
6857  */
6858 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6859 /*
6860  * In the LP64 compilation environment, map large file interfaces
6861  * back to native versions where possible.
6862  */
6863 
6864 
6865 
6866 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6867 #pragma redefine_extname fstat64 fstat
6868 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6869 
6870 
6871 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6872 #pragma redefine_extname stat64 stat
6873 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6874 
6875 
6876 
6877 
6878 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6879 #pragma redefine_extname fstatat64 fstatat
6880 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6881 
6882 
6883 
6884 
6885 # 196 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6886 #pragma redefine_extname lstat64 lstat
6887 # 196 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6888 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6889 /*
6890  * User level stat structure definitions.
6891  */
6892 
6893 
6894 
6895 struct stat {
6896  dev_t st_dev;
6897  ino_t st_ino;
6898  mode_t st_mode;
6899  nlink_t st_nlink;
6900  uid_t st_uid;
6901  gid_t st_gid;
6902  dev_t st_rdev;
6903  off_t st_size;
6904 
6905  timestruc_t st_atim;
6906  timestruc_t st_mtim;
6907  timestruc_t st_ctim;
6908 
6909 
6910 
6911 
6912 
6913  blksize_t st_blksize;
6914  blkcnt_t st_blocks;
6915  char st_fstype[16];
6916 };
6917 # 273 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6918 /* transitional large file interface version */
6919 
6920 
6921 
6922 
6923 struct stat64 {
6924  dev_t st_dev;
6925  ino_t st_ino;
6926  mode_t st_mode;
6927  nlink_t st_nlink;
6928  uid_t st_uid;
6929  gid_t st_gid;
6930  dev_t st_rdev;
6931  off_t st_size;
6932 
6933  timestruc_t st_atim;
6934  timestruc_t st_mtim;
6935  timestruc_t st_ctim;
6936 
6937 
6938 
6939 
6940 
6941  blksize_t st_blksize;
6942  blkcnt_t st_blocks;
6943  char st_fstype[16];
6944 };
6945 # 401 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6946 /* MODE MASKS */
6947 
6948 /* de facto standard definitions */
6949 
6950 
6951 
6952 
6953 
6954 
6955 /* XENIX definitions are not relevant to Solaris */
6956 # 428 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6957 /* the following macros are for POSIX conformance */
6958 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6959 /* POSIX.4 macros */
6960 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6961  /* || defined(_XPG7) */
6962 /* for use with futimens() and utimensat() */
6963 # 486 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h"
6964 extern int fchmod(int, mode_t);
6965 
6966 
6967 extern int chmod(const char *, mode_t);
6968 extern int mkdir(const char *, mode_t);
6969 extern int mkfifo(const char *, mode_t);
6970 extern mode_t umask(mode_t);
6971 
6972 /* transitional large file interfaces */
6973 
6974 
6975 extern int fstat64(int, struct stat64 *);
6976 extern int stat64(const char *, struct stat64 *);
6977 extern int lstat64(const char *, struct stat64 *);
6978 
6979 
6980 extern int fstatat64(int, const char *, struct stat64 *, int);
6981 
6982 
6983 
6984 
6985 
6986  /* || defined(_XPG7) */
6987 extern int mkdirat(int, const char *, mode_t);
6988 extern int mkfifoat(int, const char *, mode_t);
6989 extern int mknodat(int, const char *, mode_t, dev_t);
6990 extern int fchmodat(int, const char *, mode_t, int);
6991 extern int futimens(int, const struct timespec[2]);
6992 extern int utimensat(int, const char *, const struct timespec[2], int);
6993 
6994 
6995 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 1
6996 /*
6997  * CDDL HEADER START
6998  *
6999  * The contents of this file are subject to the terms of the
7000  * Common Development and Distribution License (the "License").
7001  * You may not use this file except in compliance with the License.
7002  *
7003  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7004  * or http://www.opensolaris.org/os/licensing.
7005  * See the License for the specific language governing permissions
7006  * and limitations under the License.
7007  *
7008  * When distributing Covered Code, include this CDDL HEADER in each
7009  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7010  * If applicable, add the following below this CDDL HEADER, with the
7011  * fields enclosed by brackets "[]" replaced with your own identifying
7012  * information: Portions Copyright [yyyy] [name of copyright owner]
7013  *
7014  * CDDL HEADER END
7015  */
7016 
7017 /*
7018  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
7019  * Use is subject to license terms.
7020  */
7021 
7022 
7023 
7024 
7025 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7026 /*
7027  * CDDL HEADER START
7028  *
7029  * The contents of this file are subject to the terms of the
7030  * Common Development and Distribution License (the "License").
7031  * You may not use this file except in compliance with the License.
7032  *
7033  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7034  * or http://www.opensolaris.org/os/licensing.
7035  * See the License for the specific language governing permissions
7036  * and limitations under the License.
7037  *
7038  * When distributing Covered Code, include this CDDL HEADER in each
7039  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7040  * If applicable, add the following below this CDDL HEADER, with the
7041  * fields enclosed by brackets "[]" replaced with your own identifying
7042  * information: Portions Copyright [yyyy] [name of copyright owner]
7043  *
7044  * CDDL HEADER END
7045  */
7046 
7047 /*
7048  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7049  * Copyright 2016 Joyent, Inc.
7050  *
7051  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7052  * Use is subject to license terms.
7053  */
7054 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2
7055 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7056 /*
7057  * CDDL HEADER START
7058  *
7059  * The contents of this file are subject to the terms of the
7060  * Common Development and Distribution License (the "License").
7061  * You may not use this file except in compliance with the License.
7062  *
7063  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7064  * or http://www.opensolaris.org/os/licensing.
7065  * See the License for the specific language governing permissions
7066  * and limitations under the License.
7067  *
7068  * When distributing Covered Code, include this CDDL HEADER in each
7069  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7070  * If applicable, add the following below this CDDL HEADER, with the
7071  * fields enclosed by brackets "[]" replaced with your own identifying
7072  * information: Portions Copyright [yyyy] [name of copyright owner]
7073  *
7074  * CDDL HEADER END
7075  */
7076 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7077 /*	  All Rights Reserved  	*/
7078 
7079 
7080 /*
7081  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7082  * Use is subject to license terms.
7083  *
7084  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7085  * Copyright 2016 Joyent, Inc.
7086  */
7087 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2
7088 
7089 
7090 
7091 
7092 
7093 /*
7094  * The implementation specific header for <sys/stat.h>
7095  */
7096 
7097 
7098 
7099 
7100 
7101 extern int fstat(int, struct stat *);
7102 extern int stat(const char *, struct stat *);
7103 
7104 
7105 
7106 extern int fstatat(int, const char *, struct stat *, int);
7107 
7108 
7109 
7110 extern int lstat(const char *, struct stat *);
7111 extern int mknod(const char *, mode_t, dev_t);
7112 # 518 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2
7113 # 42 "../common/zones_paths.c" 2
7114 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 1
7115 /*
7116  * CDDL HEADER START
7117  *
7118  * The contents of this file are subject to the terms of the
7119  * Common Development and Distribution License, Version 1.0 only
7120  * (the "License").  You may not use this file except in compliance
7121  * with the License.
7122  *
7123  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7124  * or http://www.opensolaris.org/os/licensing.
7125  * See the License for the specific language governing permissions
7126  * and limitations under the License.
7127  *
7128  * When distributing Covered Code, include this CDDL HEADER in each
7129  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7130  * If applicable, add the following below this CDDL HEADER, with the
7131  * fields enclosed by brackets "[]" replaced with your own identifying
7132  * information: Portions Copyright [yyyy] [name of copyright owner]
7133  *
7134  * CDDL HEADER END
7135  */
7136 /*	Copyright (c) 1988 AT&T	*/
7137 /*	  All Rights Reserved  	*/
7138 
7139 /*
7140  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7141  *
7142  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7143  * Use is subject to license terms.
7144  */
7145 
7146 
7147 
7148 
7149 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7150 /*
7151  * CDDL HEADER START
7152  *
7153  * The contents of this file are subject to the terms of the
7154  * Common Development and Distribution License (the "License").
7155  * You may not use this file except in compliance with the License.
7156  *
7157  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7158  * or http://www.opensolaris.org/os/licensing.
7159  * See the License for the specific language governing permissions
7160  * and limitations under the License.
7161  *
7162  * When distributing Covered Code, include this CDDL HEADER in each
7163  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7164  * If applicable, add the following below this CDDL HEADER, with the
7165  * fields enclosed by brackets "[]" replaced with your own identifying
7166  * information: Portions Copyright [yyyy] [name of copyright owner]
7167  *
7168  * CDDL HEADER END
7169  */
7170 
7171 /*
7172  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7173  * Copyright 2016 Joyent, Inc.
7174  *
7175  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7176  * Use is subject to license terms.
7177  */
7178 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
7179 
7180 
7181 
7182 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7183 /*
7184  * CDDL HEADER START
7185  *
7186  * The contents of this file are subject to the terms of the
7187  * Common Development and Distribution License (the "License").
7188  * You may not use this file except in compliance with the License.
7189  *
7190  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7191  * or http://www.opensolaris.org/os/licensing.
7192  * See the License for the specific language governing permissions
7193  * and limitations under the License.
7194  *
7195  * When distributing Covered Code, include this CDDL HEADER in each
7196  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7197  * If applicable, add the following below this CDDL HEADER, with the
7198  * fields enclosed by brackets "[]" replaced with your own identifying
7199  * information: Portions Copyright [yyyy] [name of copyright owner]
7200  *
7201  * CDDL HEADER END
7202  */
7203 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7204 /*	  All Rights Reserved  	*/
7205 
7206 
7207 /*
7208  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7209  * Use is subject to license terms.
7210  *
7211  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7212  * Copyright 2016 Joyent, Inc.
7213  */
7214 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
7215 
7216 
7217 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 1
7218 /*
7219  * CDDL HEADER START
7220  *
7221  * The contents of this file are subject to the terms of the
7222  * Common Development and Distribution License, Version 1.0 only
7223  * (the "License").  You may not use this file except in compliance
7224  * with the License.
7225  *
7226  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7227  * or http://www.opensolaris.org/os/licensing.
7228  * See the License for the specific language governing permissions
7229  * and limitations under the License.
7230  *
7231  * When distributing Covered Code, include this CDDL HEADER in each
7232  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7233  * If applicable, add the following below this CDDL HEADER, with the
7234  * fields enclosed by brackets "[]" replaced with your own identifying
7235  * information: Portions Copyright [yyyy] [name of copyright owner]
7236  *
7237  * CDDL HEADER END
7238  */
7239 /*	Copyright (c) 1988 AT&T	*/
7240 /*	  All Rights Reserved  	*/
7241 
7242 
7243 /*
7244  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7245  *
7246  * Copyright (c) 1998-1999, by Sun Microsystems, Inc.
7247  * All rights reserved.
7248  */
7249 
7250 /*
7251  * An application should not include this header directly.  Instead it
7252  * should be included only through the inclusion of other Sun headers.
7253  *
7254  * The contents of this header is limited to identifiers specified in the
7255  * C Standard.  Any new identifiers specified in future amendments to the
7256  * C Standard must be placed in this header.  If these new identifiers
7257  * are required to also be in the C++ Standard "std" namespace, then for
7258  * anything other than macro definitions, corresponding "using" directives
7259  * must also be added to <signal.h>.
7260  */
7261 
7262 
7263 
7264 
7265 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1
7266 /*
7267  * CDDL HEADER START
7268  *
7269  * The contents of this file are subject to the terms of the
7270  * Common Development and Distribution License (the "License").
7271  * You may not use this file except in compliance with the License.
7272  *
7273  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7274  * or http://www.opensolaris.org/os/licensing.
7275  * See the License for the specific language governing permissions
7276  * and limitations under the License.
7277  *
7278  * When distributing Covered Code, include this CDDL HEADER in each
7279  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7280  * If applicable, add the following below this CDDL HEADER, with the
7281  * fields enclosed by brackets "[]" replaced with your own identifying
7282  * information: Portions Copyright [yyyy] [name of copyright owner]
7283  *
7284  * CDDL HEADER END
7285  */
7286 
7287 /*
7288  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
7289  * Use is subject to license terms.
7290  */
7291 
7292 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7293 /*	  All Rights Reserved  	*/
7294 
7295 /*
7296  * An application should not include this header directly.  Instead it
7297  * should be included only through the inclusion of other Sun headers.
7298  *
7299  * The contents of this header is limited to identifiers specified in the
7300  * C Standard.  Any new identifiers specified in future amendments to the
7301  * C Standard must be placed in this header.  If these new identifiers
7302  * are required to also be in the C++ Standard "std" namespace, then for
7303  * anything other than macro definitions, corresponding "using" directives
7304  * must also be added to <sys/signal.h.h>.
7305  */
7306 
7307 
7308 
7309 
7310 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
7311 /*
7312  * CDDL HEADER START
7313  *
7314  * The contents of this file are subject to the terms of the
7315  * Common Development and Distribution License (the "License").
7316  * You may not use this file except in compliance with the License.
7317  *
7318  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7319  * or http://www.opensolaris.org/os/licensing.
7320  * See the License for the specific language governing permissions
7321  * and limitations under the License.
7322  *
7323  * When distributing Covered Code, include this CDDL HEADER in each
7324  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7325  * If applicable, add the following below this CDDL HEADER, with the
7326  * fields enclosed by brackets "[]" replaced with your own identifying
7327  * information: Portions Copyright [yyyy] [name of copyright owner]
7328  *
7329  * CDDL HEADER END
7330  */
7331 
7332 /*
7333  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
7334  *	  All Rights Reserved
7335  *
7336  */
7337 
7338 /*
7339  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7340  * Use is subject to license terms.
7341  */
7342 
7343 /*
7344  * WARNING: This is an implementation-specific header,
7345  * its contents are not guaranteed. Applications
7346  * should include <unistd.h> and not this header.
7347  */
7348 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2
7349 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h"
7350 /* insert new signals here, and move _SIGRTM* appropriately */
7351 
7352 
7353 extern long _sysconf(int); /* System Private interface to sysconf() */
7354 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 2
7355 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h"
7356 typedef int sig_atomic_t;
7357 
7358 
7359 
7360 
7361 extern void (*signal(int, void (*)(int)))(int);
7362 
7363 extern int raise(int);
7364 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
7365 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.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 (the "License").
7371  * You may not use this file except in compliance with the License.
7372  *
7373  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7374  * or http://www.opensolaris.org/os/licensing.
7375  * See the License for the specific language governing permissions
7376  * and limitations under the License.
7377  *
7378  * When distributing Covered Code, include this CDDL HEADER in each
7379  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7380  * If applicable, add the following below this CDDL HEADER, with the
7381  * fields enclosed by brackets "[]" replaced with your own identifying
7382  * information: Portions Copyright [yyyy] [name of copyright owner]
7383  *
7384  * CDDL HEADER END
7385  */
7386 
7387 /*
7388  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
7389  * Use is subject to license terms.
7390  */
7391 
7392 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7393 /*	  All Rights Reserved  	*/
7394 
7395 /*
7396  * University Copyright- Copyright (c) 1982, 1986, 1988
7397  * The Regents of the University of California
7398  * All Rights Reserved
7399  *
7400  * University Acknowledgment- Portions of this document are derived from
7401  * software developed by the University of California, Berkeley, and its
7402  * contributors.
7403  */
7404 
7405 
7406 
7407 
7408 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7409 /*
7410  * CDDL HEADER START
7411  *
7412  * The contents of this file are subject to the terms of the
7413  * Common Development and Distribution License (the "License").
7414  * You may not use this file except in compliance with the License.
7415  *
7416  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7417  * or http://www.opensolaris.org/os/licensing.
7418  * See the License for the specific language governing permissions
7419  * and limitations under the License.
7420  *
7421  * When distributing Covered Code, include this CDDL HEADER in each
7422  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7423  * If applicable, add the following below this CDDL HEADER, with the
7424  * fields enclosed by brackets "[]" replaced with your own identifying
7425  * information: Portions Copyright [yyyy] [name of copyright owner]
7426  *
7427  * CDDL HEADER END
7428  */
7429 
7430 /*
7431  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7432  * Copyright 2016 Joyent, Inc.
7433  *
7434  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7435  * Use is subject to license terms.
7436  */
7437 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
7438 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1
7439 /*
7440  * CDDL HEADER START
7441  *
7442  * The contents of this file are subject to the terms of the
7443  * Common Development and Distribution License (the "License").
7444  * You may not use this file except in compliance with the License.
7445  *
7446  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7447  * or http://www.opensolaris.org/os/licensing.
7448  * See the License for the specific language governing permissions
7449  * and limitations under the License.
7450  *
7451  * When distributing Covered Code, include this CDDL HEADER in each
7452  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7453  * If applicable, add the following below this CDDL HEADER, with the
7454  * fields enclosed by brackets "[]" replaced with your own identifying
7455  * information: Portions Copyright [yyyy] [name of copyright owner]
7456  *
7457  * CDDL HEADER END
7458  */
7459 
7460 /*
7461  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
7462  * Use is subject to license terms.
7463  */
7464 
7465 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7466 /*	  All Rights Reserved  	*/
7467 
7468 /*
7469  * An application should not include this header directly.  Instead it
7470  * should be included only through the inclusion of other Sun headers.
7471  *
7472  * The contents of this header is limited to identifiers specified in the
7473  * C Standard.  Any new identifiers specified in future amendments to the
7474  * C Standard must be placed in this header.  If these new identifiers
7475  * are required to also be in the C++ Standard "std" namespace, then for
7476  * anything other than macro definitions, corresponding "using" directives
7477  * must also be added to <sys/signal.h.h>.
7478  */
7479 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
7480 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
7481 /*
7482  * We need <sys/siginfo.h> for the declaration of siginfo_t.
7483  */
7484 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1
7485 /*
7486  * CDDL HEADER START
7487  *
7488  * The contents of this file are subject to the terms of the
7489  * Common Development and Distribution License, Version 1.0 only
7490  * (the "License").  You may not use this file except in compliance
7491  * with the License.
7492  *
7493  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7494  * or http://www.opensolaris.org/os/licensing.
7495  * See the License for the specific language governing permissions
7496  * and limitations under the License.
7497  *
7498  * When distributing Covered Code, include this CDDL HEADER in each
7499  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7500  * If applicable, add the following below this CDDL HEADER, with the
7501  * fields enclosed by brackets "[]" replaced with your own identifying
7502  * information: Portions Copyright [yyyy] [name of copyright owner]
7503  *
7504  * CDDL HEADER END
7505  */
7506 /*
7507  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7508  * Use is subject to license terms.
7509  */
7510 
7511 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7512 /*	  All Rights Reserved  	*/
7513 
7514 
7515 
7516 
7517 #pragma ident "%Z%%M%	%I%	%E% SMI"
7518 
7519 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7520 /*
7521  * CDDL HEADER START
7522  *
7523  * The contents of this file are subject to the terms of the
7524  * Common Development and Distribution License (the "License").
7525  * You may not use this file except in compliance with the License.
7526  *
7527  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7528  * or http://www.opensolaris.org/os/licensing.
7529  * See the License for the specific language governing permissions
7530  * and limitations under the License.
7531  *
7532  * When distributing Covered Code, include this CDDL HEADER in each
7533  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7534  * If applicable, add the following below this CDDL HEADER, with the
7535  * fields enclosed by brackets "[]" replaced with your own identifying
7536  * information: Portions Copyright [yyyy] [name of copyright owner]
7537  *
7538  * CDDL HEADER END
7539  */
7540 
7541 /*
7542  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7543  * Copyright 2016 Joyent, Inc.
7544  *
7545  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7546  * Use is subject to license terms.
7547  */
7548 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
7549 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7550 /*
7551  * CDDL HEADER START
7552  *
7553  * The contents of this file are subject to the terms of the
7554  * Common Development and Distribution License (the "License").
7555  * You may not use this file except in compliance with the License.
7556  *
7557  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7558  * or http://www.opensolaris.org/os/licensing.
7559  * See the License for the specific language governing permissions
7560  * and limitations under the License.
7561  *
7562  * When distributing Covered Code, include this CDDL HEADER in each
7563  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7564  * If applicable, add the following below this CDDL HEADER, with the
7565  * fields enclosed by brackets "[]" replaced with your own identifying
7566  * information: Portions Copyright [yyyy] [name of copyright owner]
7567  *
7568  * CDDL HEADER END
7569  */
7570 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7571 /*	  All Rights Reserved  	*/
7572 
7573 
7574 /*
7575  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7576  * Use is subject to license terms.
7577  *
7578  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7579  * Copyright 2016 Joyent, Inc.
7580  */
7581 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
7582 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7583 /*
7584  * The union sigval is also defined in <time.h> as per X/Open and
7585  * POSIX requirements.
7586  */
7587 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7588 /*
7589  * The sigevent structure is also defined in <time.h> as per X/Open and
7590  * POSIX requirements.
7591  */
7592 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7593 /* values of sigev_notify */
7594 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7595 /*
7596  * negative signal codes are reserved for future use for user generated
7597  * signals
7598  */
7599 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7600 /*
7601  * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and
7602  * SIGBUS) from <sys/machsig.h>
7603  */
7604 
7605 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1
7606 /*
7607  * CDDL HEADER START
7608  *
7609  * The contents of this file are subject to the terms of the
7610  * Common Development and Distribution License, Version 1.0 only
7611  * (the "License").  You may not use this file except in compliance
7612  * with the License.
7613  *
7614  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7615  * or http://www.opensolaris.org/os/licensing.
7616  * See the License for the specific language governing permissions
7617  * and limitations under the License.
7618  *
7619  * When distributing Covered Code, include this CDDL HEADER in each
7620  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7621  * If applicable, add the following below this CDDL HEADER, with the
7622  * fields enclosed by brackets "[]" replaced with your own identifying
7623  * information: Portions Copyright [yyyy] [name of copyright owner]
7624  *
7625  * CDDL HEADER END
7626  */
7627 /*
7628  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
7629  * Use is subject to license terms.
7630  */
7631 
7632 /*	Copyright (c) 1988 AT&T	*/
7633 /*	  All Rights Reserved  	*/
7634 
7635 
7636 
7637 
7638 
7639 #pragma ident "%Z%%M%	%I%	%E% SMI"
7640 
7641 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7642 /*
7643  * CDDL HEADER START
7644  *
7645  * The contents of this file are subject to the terms of the
7646  * Common Development and Distribution License (the "License").
7647  * You may not use this file except in compliance with the License.
7648  *
7649  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7650  * or http://www.opensolaris.org/os/licensing.
7651  * See the License for the specific language governing permissions
7652  * and limitations under the License.
7653  *
7654  * When distributing Covered Code, include this CDDL HEADER in each
7655  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7656  * If applicable, add the following below this CDDL HEADER, with the
7657  * fields enclosed by brackets "[]" replaced with your own identifying
7658  * information: Portions Copyright [yyyy] [name of copyright owner]
7659  *
7660  * CDDL HEADER END
7661  */
7662 
7663 /*
7664  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7665  * Copyright 2016 Joyent, Inc.
7666  *
7667  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7668  * Use is subject to license terms.
7669  */
7670 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2
7671 
7672 
7673 
7674 
7675 
7676 /*
7677  * machsig.h is the machine dependent portion of siginfo.h (and is
7678  * included by siginfo.h). A version of machsig.h should exist for
7679  * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS
7680  * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and
7681  * SIGPOLL are architecture independent and may be found in siginfo.h.
7682  */
7683 
7684 
7685 
7686 
7687 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1
7688 /*
7689  * CDDL HEADER START
7690  *
7691  * The contents of this file are subject to the terms of the
7692  * Common Development and Distribution License (the "License").
7693  * You may not use this file except in compliance with the License.
7694  *
7695  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7696  * or http://www.opensolaris.org/os/licensing.
7697  * See the License for the specific language governing permissions
7698  * and limitations under the License.
7699  *
7700  * When distributing Covered Code, include this CDDL HEADER in each
7701  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7702  * If applicable, add the following below this CDDL HEADER, with the
7703  * fields enclosed by brackets "[]" replaced with your own identifying
7704  * information: Portions Copyright [yyyy] [name of copyright owner]
7705  *
7706  * CDDL HEADER END
7707  */
7708 /*
7709  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
7710  * Use is subject to license terms.
7711  */
7712 
7713 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7714 /*	  All Rights Reserved  	*/
7715 
7716 /*
7717  * University Copyright- Copyright (c) 1982, 1986, 1988
7718  * The Regents of the University of California
7719  * All Rights Reserved
7720  *
7721  * University Acknowledgment- Portions of this document are derived from
7722  * software developed by the University of California, Berkeley, and its
7723  * contributors.
7724  */
7725 
7726 
7727 
7728 
7729 #pragma ident "%Z%%M%	%I%	%E% SMI"
7730 
7731 
7732 
7733 
7734 
7735 /*
7736  * This file describes the data type returned by vm routines
7737  * which handle faults.
7738  *
7739  * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value
7740  * returned by the underlying object mapped at the fault address.
7741  */
7742 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h"
7743 typedef int faultcode_t; /* type returned by vm fault routines */
7744 
7745 extern int fc_decode(faultcode_t);
7746 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2
7747 
7748 
7749 /*
7750  * SIGILL signal codes
7751  */
7752 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h"
7753 /*
7754  * SIGEMT signal codes
7755  */
7756 
7757 
7758 
7759 
7760 
7761 
7762 /*
7763  * SIGFPE signal codes
7764  */
7765 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h"
7766 /*
7767  * SIGSEGV signal codes
7768  */
7769 
7770 
7771 
7772 
7773 
7774 
7775 
7776 /*
7777  * SIGBUS signal codes
7778  */
7779 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
7780 
7781 /*
7782  * SIGTRAP signal codes
7783  */
7784 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7785 /*
7786  * SIGCLD signal codes
7787  */
7788 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7789 /*
7790  * SIGPOLL signal codes
7791  */
7792 # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7793 /*
7794  * SIGPROF signal codes
7795  */
7796 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7797 /*
7798  * Inclusion of <sys/time_impl.h> is needed for the declaration of
7799  * timestruc_t.  However, since inclusion of <sys/time_impl.h> results
7800  * in X/Open and POSIX namespace pollution, the definition for
7801  * timestruct_t has been duplicated in a standards namespace safe header
7802  * <sys/time_std_impl.h>.  In <sys/time_std_impl.h>, the structure
7803  * name, tag, and member names, as well as the type itself, all have
7804  * leading underscores to protect namespace.
7805  */
7806 
7807 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
7808 /*
7809  * CDDL HEADER START
7810  *
7811  * The contents of this file are subject to the terms of the
7812  * Common Development and Distribution License, Version 1.0 only
7813  * (the "License").  You may not use this file except in compliance
7814  * with the License.
7815  *
7816  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7817  * or http://www.opensolaris.org/os/licensing.
7818  * See the License for the specific language governing permissions
7819  * and limitations under the License.
7820  *
7821  * When distributing Covered Code, include this CDDL HEADER in each
7822  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7823  * If applicable, add the following below this CDDL HEADER, with the
7824  * fields enclosed by brackets "[]" replaced with your own identifying
7825  * information: Portions Copyright [yyyy] [name of copyright owner]
7826  *
7827  * CDDL HEADER END
7828  */
7829 /*
7830  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
7831  * Use is subject to license terms.
7832  */
7833 
7834 /*
7835  * Implementation-private.  This header should not be included
7836  * directly by an application.  The application should instead
7837  * include <time.h> which includes this header conditionally
7838  * depending on which feature test macros are defined. By default,
7839  * this header is included by <time.h>.  X/Open and POSIX
7840  * standards requirements result in this header being included
7841  * by <time.h> only under a restricted set of conditions.
7842  */
7843 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
7844 
7845 
7846 
7847 
7848 /*
7849  * The inclusion of <sys/types.h> is needed for definitions of pid_t, etc.
7850  * Placement here is due to a dependency in <sys/select.h> which is included
7851  * by <sys/types.h> for the sigevent structure.  Hence this inclusion must
7852  * follow that definition.
7853  */
7854 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7855 /*
7856  * CDDL HEADER START
7857  *
7858  * The contents of this file are subject to the terms of the
7859  * Common Development and Distribution License (the "License").
7860  * You may not use this file except in compliance with the License.
7861  *
7862  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7863  * or http://www.opensolaris.org/os/licensing.
7864  * See the License for the specific language governing permissions
7865  * and limitations under the License.
7866  *
7867  * When distributing Covered Code, include this CDDL HEADER in each
7868  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7869  * If applicable, add the following below this CDDL HEADER, with the
7870  * fields enclosed by brackets "[]" replaced with your own identifying
7871  * information: Portions Copyright [yyyy] [name of copyright owner]
7872  *
7873  * CDDL HEADER END
7874  */
7875 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7876 /*	  All Rights Reserved  	*/
7877 
7878 
7879 /*
7880  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7881  * Use is subject to license terms.
7882  *
7883  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7884  * Copyright 2016 Joyent, Inc.
7885  */
7886 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
7887 
7888 
7889 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */
7890 
7891 
7892 
7893  int si_signo; /* signal from signal.h	*/
7894  int si_code; /* code from above	*/
7895  int si_errno; /* error from errno.h	*/
7896 
7897  int si_pad; /* _LP64 union starts on an 8-byte boundary */
7898 
7899  union {
7900 
7901   int __pad[((256 / sizeof (int)) - 4)]; /* for future growth	*/
7902 
7903   struct { /* kill(), SIGCLD, siqqueue() */
7904    pid_t __pid; /* process ID		*/
7905    union {
7906     struct {
7907      uid_t __uid;
7908 
7909 
7910      union sigval __value;
7911 
7912 
7913 
7914     } __kill;
7915     struct {
7916      clock_t __utime;
7917      int __status;
7918      clock_t __stime;
7919     } __cld;
7920    } __pdata;
7921    ctid_t __ctid; /* contract ID		*/
7922    zoneid_t __zoneid; /* zone ID		*/
7923   } __proc;
7924 
7925   struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */
7926    void *__addr; /* faulting address	*/
7927    int __trapno; /* illegal trap number	*/
7928    caddr_t __pc; /* instruction address	*/
7929   } __fault;
7930 
7931   struct { /* SIGPOLL, SIGXFSZ	*/
7932   /* fd not currently available for SIGPOLL */
7933    int __fd; /* file descriptor	*/
7934    long __band;
7935   } __file;
7936 
7937   struct { /* SIGPROF */
7938    caddr_t __faddr; /* last fault address	*/
7939 
7940    timestruc_t __tstamp; /* real time stamp	*/
7941 
7942 
7943 
7944    short __syscall; /* current syscall	*/
7945    char __nsysarg; /* number of arguments	*/
7946    char __fault; /* last fault type	*/
7947    long __sysarg[8]; /* syscall arguments	*/
7948    int __mstate[10]; /* see <sys/msacct.h>	*/
7949   } __prof;
7950 
7951   struct { /* SI_RCTL */
7952    int32_t __entity; /* type of entity exceeding */
7953   } __rctl;
7954  } __data;
7955 
7956 } siginfo_t;
7957 # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
7958 /*
7959  * XXX -- internal version is identical to siginfo_t but without the padding.
7960  * This must be maintained in sync with it.
7961  */
7962 
7963 
7964 
7965 typedef struct k_siginfo {
7966  int si_signo; /* signal from signal.h	*/
7967  int si_code; /* code from above	*/
7968  int si_errno; /* error from errno.h	*/
7969 
7970  int si_pad; /* _LP64 union starts on an 8-byte boundary */
7971 
7972  union {
7973   struct { /* kill(), SIGCLD, siqqueue() */
7974    pid_t __pid; /* process ID		*/
7975    union {
7976     struct {
7977      uid_t __uid;
7978      union sigval __value;
7979     } __kill;
7980     struct {
7981      clock_t __utime;
7982      int __status;
7983      clock_t __stime;
7984     } __cld;
7985    } __pdata;
7986    ctid_t __ctid; /* contract ID		*/
7987    zoneid_t __zoneid; /* zone ID		*/
7988   } __proc;
7989 
7990   struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */
7991    void *__addr; /* faulting address	*/
7992    int __trapno; /* illegal trap number	*/
7993    caddr_t __pc; /* instruction address	*/
7994   } __fault;
7995 
7996   struct { /* SIGPOLL, SIGXFSZ	*/
7997   /* fd not currently available for SIGPOLL */
7998    int __fd; /* file descriptor	*/
7999    long __band;
8000   } __file;
8001 
8002   struct { /* SIGPROF */
8003    caddr_t __faddr; /* last fault address	*/
8004 
8005 
8006    timestruc_t __tstamp; /* real time stamp	*/
8007 
8008 
8009 
8010    short __syscall; /* current syscall	*/
8011    char __nsysarg; /* number of arguments	*/
8012    char __fault; /* last fault type	*/
8013    /* these are omitted to keep k_siginfo_t small	*/
8014    /* long	__sysarg[8]; */
8015    /* int	__mstate[10]; */
8016   } __prof;
8017 
8018   struct { /* SI_RCTL */
8019    int32_t __entity; /* type of entity exceeding */
8020   } __rctl;
8021 
8022  } __data;
8023 
8024 } k_siginfo_t;
8025 
8026 typedef struct sigqueue {
8027  struct sigqueue *sq_next;
8028  k_siginfo_t sq_info;
8029  void (*sq_func)(struct sigqueue *); /* destructor function */
8030  void *sq_backptr; /* pointer to the data structure */
8031      /* associated by sq_func()	*/
8032  int sq_external; /* comes from outside the contract */
8033 } sigqueue_t;
8034 
8035 /*  indication whether to queue the signal or not */
8036 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
8037 
8038 
8039 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements */
8040 
8041 
8042 
8043 
8044 
8045 
8046 
8047 typedef struct {
8048  unsigned int __sigbits[3];
8049 } k_sigset_t;
8050 
8051 /*
8052  * The signal handler routine can have either one or three arguments.
8053  * Existing C code has used either form so not specifing the arguments
8054  * neatly finesses the problem.  C++ doesn't accept this.  To C++
8055  * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would
8056  * specify this as "(*sa_handler)(void)").  One or the other form must be
8057  * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow
8058  * the SIG_* defines to work.  "(*sa_sigaction)(int, siginfo_t *, void *)"
8059  * can be used for the three argument form.
8060  */
8061 
8062 /*
8063  * Note: storage overlap by sa_handler and sa_sigaction
8064  */
8065 struct sigaction {
8066  int sa_flags;
8067  union {
8068 
8069 
8070 
8071   void (*_handler)();
8072 
8073 
8074 
8075 
8076   void (*_sigaction)(int, siginfo_t *, void *);
8077 
8078  } _funcptr;
8079  sigset_t sa_mask;
8080 
8081 
8082 
8083 };
8084 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8085 /* this is only valid for SIGCLD */
8086 
8087 
8088 
8089 
8090 
8091 
8092 
8093    /* non-conformant ANSI compilation	*/
8094 
8095 /* definitions for the sa_flags field */
8096 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8097 /* this is only valid for SIGCLD */
8098 
8099 
8100 
8101 /*
8102  * use of these symbols by applications is injurious
8103  *	to binary compatibility
8104  */
8105 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8106 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements. */
8107 
8108 
8109 
8110 typedef struct sigaltstack {
8111 
8112 
8113 
8114  void *ss_sp;
8115  size_t ss_size;
8116  int ss_flags;
8117 } stack_t;
8118 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8119 /* signotify id used only by libc for mq_notify()/aio_notify() */
8120 typedef struct signotify_id { /* signotify id struct		*/
8121  pid_t sn_pid; /* pid of proc to be notified	*/
8122  int sn_index; /* index in preallocated pool	*/
8123  int sn_pad; /* reserved			*/
8124 } signotify_id_t;
8125 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
8126 /* Command codes for sig_notify call */
8127 
8128 
8129 
8130 
8131 
8132 
8133 
8134 /* Added as per XPG4v2 */
8135 
8136 
8137 
8138 struct sigstack {
8139  void *ss_sp;
8140  int ss_onstack;
8141 };
8142 
8143 
8144 /*
8145  * For definition of ucontext_t; must follow struct definition
8146  * for  sigset_t
8147  */
8148 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
8149 
8150 /*
8151  * Allow global visibility for symbols defined in
8152  * C++ "std" namespace in <iso/signal_iso.h>.
8153  */
8154 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h"
8155 extern const char **_sys_siglistp; /* signal descriptions */
8156 extern const int _sys_siglistn; /* # of signal descriptions */
8157 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h"
8158 extern int kill(pid_t, int);
8159 extern int sigaction(int, const struct sigaction *,
8160  struct sigaction *);
8161 
8162 extern int sigaddset(sigset_t *, int);
8163 extern int sigdelset(sigset_t *, int);
8164 extern int sigemptyset(sigset_t *);
8165 extern int sigfillset(sigset_t *);
8166 extern int sigismember(const sigset_t *, int);
8167 
8168 extern int sigpending(sigset_t *);
8169 extern int sigprocmask(int, const sigset_t *,
8170  sigset_t *);
8171 extern int sigsuspend(const sigset_t *);
8172 
8173 
8174 
8175 
8176 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1
8177 /*
8178  * CDDL HEADER START
8179  *
8180  * The contents of this file are subject to the terms of the
8181  * Common Development and Distribution License, Version 1.0 only
8182  * (the "License").  You may not use this file except in compliance
8183  * with the License.
8184  *
8185  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8186  * or http://www.opensolaris.org/os/licensing.
8187  * See the License for the specific language governing permissions
8188  * and limitations under the License.
8189  *
8190  * When distributing Covered Code, include this CDDL HEADER in each
8191  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8192  * If applicable, add the following below this CDDL HEADER, with the
8193  * fields enclosed by brackets "[]" replaced with your own identifying
8194  * information: Portions Copyright [yyyy] [name of copyright owner]
8195  *
8196  * CDDL HEADER END
8197  */
8198 /*
8199  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
8200  * Use is subject to license terms.
8201  */
8202 
8203 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8204 /*	  All Rights Reserved  	*/
8205 
8206 
8207 
8208 
8209 
8210 #pragma ident "%Z%%M%	%I%	%E% SMI"
8211 
8212 
8213 
8214 
8215 
8216 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
8217 /*
8218  * CDDL HEADER START
8219  *
8220  * The contents of this file are subject to the terms of the
8221  * Common Development and Distribution License (the "License").
8222  * You may not use this file except in compliance with the License.
8223  *
8224  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8225  * or http://www.opensolaris.org/os/licensing.
8226  * See the License for the specific language governing permissions
8227  * and limitations under the License.
8228  *
8229  * When distributing Covered Code, include this CDDL HEADER in each
8230  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8231  * If applicable, add the following below this CDDL HEADER, with the
8232  * fields enclosed by brackets "[]" replaced with your own identifying
8233  * information: Portions Copyright [yyyy] [name of copyright owner]
8234  *
8235  * CDDL HEADER END
8236  */
8237 
8238 /*
8239  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
8240  * Copyright 2016 Joyent, Inc.
8241  *
8242  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
8243  * Use is subject to license terms.
8244  */
8245 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
8246 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
8247 /*
8248  * CDDL HEADER START
8249  *
8250  * The contents of this file are subject to the terms of the
8251  * Common Development and Distribution License (the "License").
8252  * You may not use this file except in compliance with the License.
8253  *
8254  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8255  * or http://www.opensolaris.org/os/licensing.
8256  * See the License for the specific language governing permissions
8257  * and limitations under the License.
8258  *
8259  * When distributing Covered Code, include this CDDL HEADER in each
8260  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8261  * If applicable, add the following below this CDDL HEADER, with the
8262  * fields enclosed by brackets "[]" replaced with your own identifying
8263  * information: Portions Copyright [yyyy] [name of copyright owner]
8264  *
8265  * CDDL HEADER END
8266  */
8267 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8268 /*	  All Rights Reserved  	*/
8269 
8270 
8271 /*
8272  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8273  * Use is subject to license terms.
8274  *
8275  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
8276  * Copyright 2016 Joyent, Inc.
8277  */
8278 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
8279 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1
8280 /*
8281  * CDDL HEADER START
8282  *
8283  * The contents of this file are subject to the terms of the
8284  * Common Development and Distribution License (the "License").
8285  * You may not use this file except in compliance with the License.
8286  *
8287  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8288  * or http://www.opensolaris.org/os/licensing.
8289  * See the License for the specific language governing permissions
8290  * and limitations under the License.
8291  *
8292  * When distributing Covered Code, include this CDDL HEADER in each
8293  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8294  * If applicable, add the following below this CDDL HEADER, with the
8295  * fields enclosed by brackets "[]" replaced with your own identifying
8296  * information: Portions Copyright [yyyy] [name of copyright owner]
8297  *
8298  * CDDL HEADER END
8299  */
8300 
8301 /*
8302  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
8303  * Use is subject to license terms.
8304  */
8305 
8306 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8307 /*	  All Rights Reserved  	*/
8308 
8309 /*
8310  * University Copyright- Copyright (c) 1982, 1986, 1988
8311  * The Regents of the University of California
8312  * All Rights Reserved
8313  *
8314  * University Acknowledgment- Portions of this document are derived from
8315  * software developed by the University of California, Berkeley, and its
8316  * contributors.
8317  */
8318 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
8319 
8320 /*
8321  *	This file defines the data needed to specify a set of
8322  *	processes.  These types are used by the sigsend, sigsendset,
8323  *	priocntl, priocntlset, waitid, evexit, and evexitset system
8324  *	calls.
8325  */
8326 
8327 
8328 
8329 
8330 
8331 /*
8332  *	The following defines the values for an identifier type.  It
8333  *	specifies the interpretation of an id value.  An idtype and
8334  *	id together define a simple set of processes.
8335  */
8336 typedef enum
8337 
8338  idtype /* pollutes XPG4.2 namespace */
8339 
8340   {
8341  P_PID, /* A process identifier.		*/
8342  P_PPID, /* A parent process identifier.		*/
8343  P_PGID, /* A process group (job control group)	*/
8344    /* identifier.				*/
8345  P_SID, /* A session identifier.		*/
8346  P_CID, /* A scheduling class identifier.	*/
8347  P_UID, /* A user identifier.			*/
8348  P_GID, /* A group identifier.			*/
8349  P_ALL, /* All processes.			*/
8350  P_LWPID, /* An LWP identifier.			*/
8351  P_TASKID, /* A task identifier.			*/
8352  P_PROJID, /* A project identifier.		*/
8353  P_POOLID, /* A pool identifier.			*/
8354  P_ZONEID, /* A zone identifier.			*/
8355  P_CTID, /* A (process) contract identifier.	*/
8356  P_CPUID, /* CPU identifier.			*/
8357  P_PSETID /* Processor set identifier		*/
8358 } idtype_t;
8359 
8360 
8361 /*
8362  *	The following defines the operations which can be performed to
8363  *	combine two simple sets of processes to form another set of
8364  *	processes.
8365  */
8366 
8367 typedef enum idop {
8368  POP_DIFF, /* Set difference.  The processes which	*/
8369    /* are in the left operand set and not	*/
8370    /* in the right operand set.		*/
8371  POP_AND, /* Set disjunction.  The processes	*/
8372    /* which are in both the left and right	*/
8373    /* operand sets.			*/
8374  POP_OR, /* Set conjunction.  The processes	*/
8375    /* which are in either the left or the	*/
8376    /* right operand sets (or both).	*/
8377  POP_XOR /* Set exclusive or.  The processes 	*/
8378    /* which are in either the left or	*/
8379    /* right operand sets but not in both.	*/
8380 } idop_t;
8381 
8382 
8383 /*
8384  *	The following structure is used to define a set of processes.
8385  *	The set is defined in terms of two simple sets of processes
8386  *	and an operator which operates on these two operand sets.
8387  */
8388 typedef struct procset {
8389  idop_t p_op; /* The operator connection the	*/
8390     /* following two operands each	*/
8391     /* of which is a simple set of	*/
8392     /* processes.			*/
8393 
8394  idtype_t p_lidtype;
8395     /* The type of the left operand	*/
8396     /* simple set.			*/
8397  id_t p_lid; /* The id of the left operand.	*/
8398 
8399  idtype_t p_ridtype;
8400     /* The type of the right	*/
8401     /* operand simple set.		*/
8402  id_t p_rid; /* The id of the right operand.	*/
8403 } procset_t;
8404 
8405 /*
8406  *	The following macro can be used to initialize a procset_t
8407  *	structure.
8408  */
8409 # 89 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
8410 extern int gsignal(int);
8411 extern int (*ssignal(int, int (*)(int)))(int);
8412 extern int sigsend(idtype_t, id_t, int);
8413 extern int sigsendset(const procset_t *, int);
8414 extern int sig2str(int, char *);
8415 extern int str2sig(const char *, int *);
8416 
8417 
8418 
8419 
8420 
8421 extern void (*bsd_signal(int, void (*)(int)))(int);
8422 extern int killpg(pid_t, int);
8423 extern int siginterrupt(int, int);
8424 extern int sigaltstack(const stack_t *, stack_t *);
8425 extern int sighold(int);
8426 extern int sigignore(int);
8427 extern int sigpause(int);
8428 extern int sigrelse(int);
8429 extern void (*sigset(int, void (*)(int)))(int);
8430 
8431 
8432 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
8433 
8434 
8435 
8436 extern int sigstack(struct sigstack *, struct sigstack *);
8437 
8438 
8439 
8440 
8441 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1
8442 /*
8443  * CDDL HEADER START
8444  *
8445  * The contents of this file are subject to the terms of the
8446  * Common Development and Distribution License, Version 1.0 only
8447  * (the "License").  You may not use this file except in compliance
8448  * with the License.
8449  *
8450  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8451  * or http://www.opensolaris.org/os/licensing.
8452  * See the License for the specific language governing permissions
8453  * and limitations under the License.
8454  *
8455  * When distributing Covered Code, include this CDDL HEADER in each
8456  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8457  * If applicable, add the following below this CDDL HEADER, with the
8458  * fields enclosed by brackets "[]" replaced with your own identifying
8459  * information: Portions Copyright [yyyy] [name of copyright owner]
8460  *
8461  * CDDL HEADER END
8462  */
8463 /*
8464  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
8465  * Use is subject to license terms.
8466  */
8467 
8468 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8469 /*	  All Rights Reserved  	*/
8470 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
8471 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1
8472 /*
8473  * CDDL HEADER START
8474  *
8475  * The contents of this file are subject to the terms of the
8476  * Common Development and Distribution License (the "License").
8477  * You may not use this file except in compliance with the License.
8478  *
8479  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8480  * or http://www.opensolaris.org/os/licensing.
8481  * See the License for the specific language governing permissions
8482  * and limitations under the License.
8483  *
8484  * When distributing Covered Code, include this CDDL HEADER in each
8485  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8486  * If applicable, add the following below this CDDL HEADER, with the
8487  * fields enclosed by brackets "[]" replaced with your own identifying
8488  * information: Portions Copyright [yyyy] [name of copyright owner]
8489  *
8490  * CDDL HEADER END
8491  */
8492 /*	Copyright (c) 1988 AT&T	*/
8493 /*	  All Rights Reserved  	*/
8494 
8495 
8496 /*
8497  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8498  *
8499  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
8500  * Use is subject to license terms.
8501  */
8502 /*
8503  * Copyright 2010 Nexenta Systems, Inc.  Al rights reserved.
8504  * Copyright 2016 Joyent, Inc.
8505  */
8506 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2
8507 extern int pthread_kill(pthread_t, int);
8508 extern int pthread_sigmask(int, const sigset_t *,
8509  sigset_t *);
8510 extern int sigwaitinfo(const sigset_t *,
8511  siginfo_t *);
8512 extern int sigtimedwait(const sigset_t *,
8513  siginfo_t *, const struct timespec *);
8514 extern int sigqueue(pid_t, int, const union sigval);
8515 
8516 
8517 /*
8518  * sigwait() prototype is defined here.
8519  */
8520 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h"
8521 extern int sigwait(sigset_t *);
8522 # 43 "../common/zones_paths.c" 2
8523 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 1
8524 /*
8525  * CDDL HEADER START
8526  *
8527  * The contents of this file are subject to the terms of the
8528  * Common Development and Distribution License, Version 1.0 only
8529  * (the "License").  You may not use this file except in compliance
8530  * with the License.
8531  *
8532  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8533  * or http://www.opensolaris.org/os/licensing.
8534  * See the License for the specific language governing permissions
8535  * and limitations under the License.
8536  *
8537  * When distributing Covered Code, include this CDDL HEADER in each
8538  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8539  * If applicable, add the following below this CDDL HEADER, with the
8540  * fields enclosed by brackets "[]" replaced with your own identifying
8541  * information: Portions Copyright [yyyy] [name of copyright owner]
8542  *
8543  * CDDL HEADER END
8544  */
8545 /*	Copyright (c) 1988 AT&T	*/
8546 /*	  All Rights Reserved  	*/
8547 
8548 /*
8549  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8550  * Copyright 2016 Joyent, Inc.
8551  * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
8552  *
8553  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
8554  * Use is subject to license terms.
8555  */
8556 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h"
8557 extern void __assert(const char *, const char *, int);
8558 
8559 
8560 /*
8561  * In C11 the static_assert macro is always defined, unlike the assert macro.
8562  */
8563 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h"
8564 /*
8565  * Note that the ANSI C Standard requires all headers to be idempotent except
8566  * <assert.h> which is explicitly required not to be idempotent (section 4.1.2).
8567  * Therefore, it is by intent that the header guards (#ifndef _ASSERT_H) do
8568  * not span this entire file.
8569  */
8570 # 44 "../common/zones_paths.c" 2
8571 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 1
8572 /*
8573  * CDDL HEADER START
8574  *
8575  * The contents of this file are subject to the terms of the
8576  * Common Development and Distribution License, Version 1.0 only
8577  * (the "License").  You may not use this file except in compliance
8578  * with the License.
8579  *
8580  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8581  * or http://www.opensolaris.org/os/licensing.
8582  * See the License for the specific language governing permissions
8583  * and limitations under the License.
8584  *
8585  * When distributing Covered Code, include this CDDL HEADER in each
8586  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8587  * If applicable, add the following below this CDDL HEADER, with the
8588  * fields enclosed by brackets "[]" replaced with your own identifying
8589  * information: Portions Copyright [yyyy] [name of copyright owner]
8590  *
8591  * CDDL HEADER END
8592  */
8593 /*
8594  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
8595  * Use is subject to license terms.
8596  */
8597 
8598 /*
8599  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8600  *
8601  * Portions of this file developed by Garrett D'Amore are licensed
8602  * under the terms of the Common Development and Distribution License (CDDL)
8603  * version 1.0 only.  The use of subsequent versions of the License are
8604  * is specifically prohibited unless those terms are not in conflict with
8605  * version 1.0 of the License.  You can find this license on-line at
8606  * http://www.illumos.org/license/CDDL
8607  */
8608 
8609 
8610 
8611 
8612 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 1
8613 /*
8614  * CDDL HEADER START
8615  *
8616  * The contents of this file are subject to the terms of the
8617  * Common Development and Distribution License, Version 1.0 only
8618  * (the "License").  You may not use this file except in compliance
8619  * with the License.
8620  *
8621  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8622  * or http://www.opensolaris.org/os/licensing.
8623  * See the License for the specific language governing permissions
8624  * and limitations under the License.
8625  *
8626  * When distributing Covered Code, include this CDDL HEADER in each
8627  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8628  * If applicable, add the following below this CDDL HEADER, with the
8629  * fields enclosed by brackets "[]" replaced with your own identifying
8630  * information: Portions Copyright [yyyy] [name of copyright owner]
8631  *
8632  * CDDL HEADER END
8633  */
8634 /*
8635  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8636  * Copyright 2014 PALO, Richard.
8637  *
8638  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
8639  * Use is subject to license terms.
8640  */
8641 
8642 /*	Copyright (c) 1988 AT&T	*/
8643 /*	  All Rights Reserved  	*/
8644 
8645 
8646 /*
8647  * An application should not include this header directly.  Instead it
8648  * should be included only through the inclusion of other Sun headers.
8649  *
8650  * The contents of this header is limited to identifiers specified in the
8651  * C Standard.  Any new identifiers specified in future amendments to the
8652  * C Standard must be placed in this header.  If these new identifiers
8653  * are required to also be in the C++ Standard "std" namespace, then for
8654  * anything other than macro definitions, corresponding "using" directives
8655  * must also be added to <locale.h>.
8656  */
8657 
8658 
8659 
8660 
8661 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
8662 /*
8663  * CDDL HEADER START
8664  *
8665  * The contents of this file are subject to the terms of the
8666  * Common Development and Distribution License (the "License").
8667  * You may not use this file except in compliance with the License.
8668  *
8669  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8670  * or http://www.opensolaris.org/os/licensing.
8671  * See the License for the specific language governing permissions
8672  * and limitations under the License.
8673  *
8674  * When distributing Covered Code, include this CDDL HEADER in each
8675  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8676  * If applicable, add the following below this CDDL HEADER, with the
8677  * fields enclosed by brackets "[]" replaced with your own identifying
8678  * information: Portions Copyright [yyyy] [name of copyright owner]
8679  *
8680  * CDDL HEADER END
8681  */
8682 
8683 /*
8684  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
8685  * Copyright 2016 Joyent, Inc.
8686  *
8687  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
8688  * Use is subject to license terms.
8689  */
8690 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2
8691 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
8692 /*
8693  * This file and its contents are supplied under the terms of the
8694  * Common Development and Distribution License ("CDDL"), version 1.0.
8695  * You may only use this file in accordance with the terms of version
8696  * 1.0 of the CDDL.
8697  *
8698  * A full copy of the text of the CDDL should have accompanied this
8699  * source.  A copy of the CDDL is also available via the Internet at
8700  * http://www.illumos.org/license/CDDL.
8701  */
8702 
8703 /*
8704  * Copyright 2014-2016 PALO, Richard.
8705  */
8706 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2
8707 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
8708 struct lconv {
8709  char *decimal_point;
8710  char *thousands_sep;
8711  char *grouping;
8712  char *int_curr_symbol;
8713  char *currency_symbol;
8714  char *mon_decimal_point;
8715  char *mon_thousands_sep;
8716  char *mon_grouping;
8717  char *positive_sign;
8718  char *negative_sign;
8719  char int_frac_digits;
8720  char frac_digits;
8721  char p_cs_precedes;
8722  char p_sep_by_space;
8723  char n_cs_precedes;
8724  char n_sep_by_space;
8725  char p_sign_posn;
8726  char n_sign_posn;
8727 
8728 /*
8729  * New in IEEE Std 1003.1-2001 for alignment with the ISO/IEC 9899:1999
8730  * standard.  Namespace and binary compatibility dictate that visibility
8731  * of these new members be limited.  Visibility is limited to a strictly
8732  * conforming ANSI C environment (-Xc) or if _LCONV_C99 is defined.
8733  */
8734 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
8735 };
8736 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
8737 extern char *setlocale(int, const char *);
8738 extern struct lconv *localeconv(void);
8739 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2
8740 
8741 
8742 
8743 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
8744 /*
8745  * CDDL HEADER START
8746  *
8747  * The contents of this file are subject to the terms of the
8748  * Common Development and Distribution License (the "License").
8749  * You may not use this file except in compliance with the License.
8750  *
8751  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8752  * or http://www.opensolaris.org/os/licensing.
8753  * See the License for the specific language governing permissions
8754  * and limitations under the License.
8755  *
8756  * When distributing Covered Code, include this CDDL HEADER in each
8757  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8758  * If applicable, add the following below this CDDL HEADER, with the
8759  * fields enclosed by brackets "[]" replaced with your own identifying
8760  * information: Portions Copyright [yyyy] [name of copyright owner]
8761  *
8762  * CDDL HEADER END
8763  */
8764 /*
8765  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8766  *
8767  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
8768  * Use is subject to license terms.
8769  */
8770 
8771 
8772 
8773 
8774 
8775 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
8776 /*
8777  * CDDL HEADER START
8778  *
8779  * The contents of this file are subject to the terms of the
8780  * Common Development and Distribution License (the "License").
8781  * You may not use this file except in compliance with the License.
8782  *
8783  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8784  * or http://www.opensolaris.org/os/licensing.
8785  * See the License for the specific language governing permissions
8786  * and limitations under the License.
8787  *
8788  *
8789  * When distributing Covered Code, include this CDDL HEADER in each
8790  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8791  * If applicable, add the following below this CDDL HEADER, with the
8792  * fields enclosed by brackets "[]" replaced with your own identifying
8793  * information: Portions Copyright [yyyy] [name of copyright owner]
8794  *
8795  * CDDL HEADER END
8796  */
8797 
8798 /*
8799  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
8800  * Use is subject to license terms.
8801  * Copyright 2016 Joyent, Inc.
8802  */
8803 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2
8804 
8805 
8806 
8807 
8808 
8809 /*
8810  * wchar_t is a built-in type in standard C++ and as such is not
8811  * defined here when using standard C++. However, the GNU compiler
8812  * fixincludes utility nonetheless creates its own version of this
8813  * header for use by gcc and g++. In that version it adds a redundant
8814  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
8815  * header we need to include the following magic comment:
8816  *
8817  * we must use the C++ compiler's type
8818  *
8819  * The above comment should not be removed or changed until GNU
8820  * gcc/fixinc/inclhack.def is updated to bypass this header.
8821  */
8822 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h"
8823 extern char *dcgettext(const char *, const char *, const int);
8824 extern char *dgettext(const char *, const char *);
8825 extern char *gettext(const char *);
8826 extern char *textdomain(const char *);
8827 extern char *bindtextdomain(const char *, const char *);
8828 
8829 /*
8830  * LI18NUX 2000 Globalization Specification Version 1.0
8831  * with Amendment 2
8832  */
8833 extern char *dcngettext(const char *, const char *,
8834  const char *, unsigned long int, int);
8835 extern char *dngettext(const char *, const char *,
8836  const char *, unsigned long int);
8837 extern char *ngettext(const char *, const char *, unsigned long int);
8838 extern char *bind_textdomain_codeset(const char *, const char *);
8839 
8840 /* Word handling functions --- requires dynamic linking */
8841 /* Warning: these are experimental and subject to change. */
8842 extern int wdinit(void);
8843 extern int wdchkind(wchar_t);
8844 extern int wdbindf(wchar_t, wchar_t, int);
8845 extern wchar_t *wddelim(wchar_t, wchar_t, int);
8846 extern wchar_t mcfiller(void);
8847 extern int mcwrap(void);
8848 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2
8849 
8850 
8851 /*
8852  * Allow global visibility for symbols defined in
8853  * C++ "std" namespace in <iso/locale_iso.h>.
8854  */
8855 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h"
8856 /*
8857  * These were added in POSIX 2008 as part of the newlocale() specification.
8858  */
8859 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h"
8860 extern locale_t duplocale(locale_t);
8861 extern void freelocale(locale_t);
8862 extern locale_t newlocale(int, const char *, locale_t);
8863 extern locale_t uselocale(locale_t);
8864 
8865 
8866 extern locale_t __global_locale(void);
8867 # 45 "../common/zones_paths.c" 2
8868 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
8869 /*
8870  * CDDL HEADER START
8871  *
8872  * The contents of this file are subject to the terms of the
8873  * Common Development and Distribution License (the "License").
8874  * You may not use this file except in compliance with the License.
8875  *
8876  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8877  * or http://www.opensolaris.org/os/licensing.
8878  * See the License for the specific language governing permissions
8879  * and limitations under the License.
8880  *
8881  * When distributing Covered Code, include this CDDL HEADER in each
8882  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8883  * If applicable, add the following below this CDDL HEADER, with the
8884  * fields enclosed by brackets "[]" replaced with your own identifying
8885  * information: Portions Copyright [yyyy] [name of copyright owner]
8886  *
8887  * CDDL HEADER END
8888  */
8889 /*
8890  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8891  *
8892  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
8893  * Use is subject to license terms.
8894  */
8895 # 46 "../common/zones_paths.c" 2
8896 
8897 /*
8898  * local includes
8899  */
8900 
8901 # 1 "../common/instzones_lib.h" 1
8902 /*
8903  * CDDL HEADER START
8904  *
8905  * The contents of this file are subject to the terms of the
8906  * Common Development and Distribution License (the "License").
8907  * You may not use this file except in compliance with the License.
8908  *
8909  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8910  * or http://www.opensolaris.org/os/licensing.
8911  * See the License for the specific language governing permissions
8912  * and limitations under the License.
8913  *
8914  * When distributing Covered Code, include this CDDL HEADER in each
8915  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8916  * If applicable, add the following below this CDDL HEADER, with the
8917  * fields enclosed by brackets "[]" replaced with your own identifying
8918  * information: Portions Copyright [yyyy] [name of copyright owner]
8919  *
8920  * CDDL HEADER END
8921  */
8922 /*
8923  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
8924  */
8925 
8926 
8927 
8928 
8929 
8930 
8931 
8932 /*
8933  * Module:	instzones_lib.h
8934  * Group:	libinstzones
8935  * Description:	This module contains the libinstzones internal data structures,
8936  *		constants, and function prototypes. This include should not be
8937  *		needed by any external code (consumers of this library).
8938  */
8939 
8940 /*
8941  * required includes
8942  */
8943 
8944 /* System includes */
8945 
8946 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.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 (the "License").
8952  * You may not use this file except in compliance with the License.
8953  *
8954  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8955  * or http://www.opensolaris.org/os/licensing.
8956  * See the License for the specific language governing permissions
8957  * and limitations under the License.
8958  *
8959  * When distributing Covered Code, include this CDDL HEADER in each
8960  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8961  * If applicable, add the following below this CDDL HEADER, with the
8962  * fields enclosed by brackets "[]" replaced with your own identifying
8963  * information: Portions Copyright [yyyy] [name of copyright owner]
8964  *
8965  * CDDL HEADER END
8966  */
8967 /*
8968  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8969  * Use is subject to license terms.
8970  */
8971 
8972 
8973 
8974 
8975 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
8976 /*
8977  * CDDL HEADER START
8978  *
8979  * The contents of this file are subject to the terms of the
8980  * Common Development and Distribution License (the "License").
8981  * You may not use this file except in compliance with the License.
8982  *
8983  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8984  * or http://www.opensolaris.org/os/licensing.
8985  * See the License for the specific language governing permissions
8986  * and limitations under the License.
8987  *
8988  * When distributing Covered Code, include this CDDL HEADER in each
8989  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8990  * If applicable, add the following below this CDDL HEADER, with the
8991  * fields enclosed by brackets "[]" replaced with your own identifying
8992  * information: Portions Copyright [yyyy] [name of copyright owner]
8993  *
8994  * CDDL HEADER END
8995  */
8996 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8997 /*	  All Rights Reserved  	*/
8998 
8999 
9000 /*
9001  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9002  * Use is subject to license terms.
9003  *
9004  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9005  * Copyright 2016 Joyent, Inc.
9006  */
9007 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
9008 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1
9009 /*
9010  * CDDL HEADER START
9011  *
9012  * The contents of this file are subject to the terms of the
9013  * Common Development and Distribution License (the "License").
9014  * You may not use this file except in compliance with the License.
9015  *
9016  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9017  * or http://www.opensolaris.org/os/licensing.
9018  * See the License for the specific language governing permissions
9019  * and limitations under the License.
9020  *
9021  * When distributing Covered Code, include this CDDL HEADER in each
9022  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9023  * If applicable, add the following below this CDDL HEADER, with the
9024  * fields enclosed by brackets "[]" replaced with your own identifying
9025  * information: Portions Copyright [yyyy] [name of copyright owner]
9026  *
9027  * CDDL HEADER END
9028  */
9029 /*
9030  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
9031  * Copyright 2013, Joyent, Inc. All rights reserved.
9032  * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
9033  * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>.
9034  */
9035 
9036 
9037 
9038 
9039 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9040 /*
9041  * CDDL HEADER START
9042  *
9043  * The contents of this file are subject to the terms of the
9044  * Common Development and Distribution License (the "License").
9045  * You may not use this file except in compliance with the License.
9046  *
9047  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9048  * or http://www.opensolaris.org/os/licensing.
9049  * See the License for the specific language governing permissions
9050  * and limitations under the License.
9051  *
9052  * When distributing Covered Code, include this CDDL HEADER in each
9053  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9054  * If applicable, add the following below this CDDL HEADER, with the
9055  * fields enclosed by brackets "[]" replaced with your own identifying
9056  * information: Portions Copyright [yyyy] [name of copyright owner]
9057  *
9058  * CDDL HEADER END
9059  */
9060 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9061 /*	  All Rights Reserved  	*/
9062 
9063 
9064 /*
9065  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9066  * Use is subject to license terms.
9067  *
9068  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9069  * Copyright 2016 Joyent, Inc.
9070  */
9071 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
9072 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1
9073 /*
9074  * CDDL HEADER START
9075  *
9076  * The contents of this file are subject to the terms of the
9077  * Common Development and Distribution License (the "License").
9078  * You may not use this file except in compliance with the License.
9079  *
9080  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9081  * or http://www.opensolaris.org/os/licensing.
9082  * See the License for the specific language governing permissions
9083  * and limitations under the License.
9084  *
9085  * When distributing Covered Code, include this CDDL HEADER in each
9086  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9087  * If applicable, add the following below this CDDL HEADER, with the
9088  * fields enclosed by brackets "[]" replaced with your own identifying
9089  * information: Portions Copyright [yyyy] [name of copyright owner]
9090  *
9091  * CDDL HEADER END
9092  */
9093 /*
9094  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
9095  */
9096 
9097 
9098 
9099 
9100 
9101 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9102 /*
9103  * CDDL HEADER START
9104  *
9105  * The contents of this file are subject to the terms of the
9106  * Common Development and Distribution License (the "License").
9107  * You may not use this file except in compliance with the License.
9108  *
9109  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9110  * or http://www.opensolaris.org/os/licensing.
9111  * See the License for the specific language governing permissions
9112  * and limitations under the License.
9113  *
9114  * When distributing Covered Code, include this CDDL HEADER in each
9115  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9116  * If applicable, add the following below this CDDL HEADER, with the
9117  * fields enclosed by brackets "[]" replaced with your own identifying
9118  * information: Portions Copyright [yyyy] [name of copyright owner]
9119  *
9120  * CDDL HEADER END
9121  */
9122 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9123 /*	  All Rights Reserved  	*/
9124 
9125 
9126 /*
9127  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9128  * Use is subject to license terms.
9129  *
9130  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9131  * Copyright 2016 Joyent, Inc.
9132  */
9133 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2
9134 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h"
9135 /*
9136  * Public interface to mutual exclusion locks.  See mutex(9F) for details.
9137  *
9138  * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used
9139  * in almost all of the kernel.  MUTEX_SPIN provides interrupt blocking
9140  * and must be used in interrupt handlers above LOCK_LEVEL.  The iblock
9141  * cookie argument to mutex_init() encodes the interrupt level to block.
9142  * The iblock cookie must be NULL for adaptive locks.
9143  *
9144  * MUTEX_DEFAULT is the type usually specified (except in drivers) to
9145  * mutex_init().  It is identical to MUTEX_ADAPTIVE.
9146  *
9147  * MUTEX_DRIVER is always used by drivers.  mutex_init() converts this to
9148  * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie.
9149  *
9150  * Mutex statistics can be gathered on the fly, without rebooting or
9151  * recompiling the kernel, via the lockstat driver (lockstat(7D)).
9152  */
9153 typedef enum {
9154  MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */
9155  MUTEX_SPIN = 1, /* block interrupts and spin */
9156  MUTEX_DRIVER = 4, /* driver (DDI) mutex */
9157  MUTEX_DEFAULT = 6 /* kernel default mutex */
9158 } kmutex_type_t;
9159 
9160 typedef struct mutex {
9161 
9162  void *_opaque[1];
9163 
9164 
9165 
9166 } kmutex_t;
9167 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
9168 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
9169 /*
9170  * CDDL HEADER START
9171  *
9172  * The contents of this file are subject to the terms of the
9173  * Common Development and Distribution License (the "License").
9174  * You may not use this file except in compliance with the License.
9175  *
9176  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9177  * or http://www.opensolaris.org/os/licensing.
9178  * See the License for the specific language governing permissions
9179  * and limitations under the License.
9180  *
9181  * When distributing Covered Code, include this CDDL HEADER in each
9182  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9183  * If applicable, add the following below this CDDL HEADER, with the
9184  * fields enclosed by brackets "[]" replaced with your own identifying
9185  * information: Portions Copyright [yyyy] [name of copyright owner]
9186  *
9187  * CDDL HEADER END
9188  */
9189 
9190 /*
9191  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
9192  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
9193  */
9194 
9195 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
9196 /*	  All Rights Reserved  	*/
9197 
9198 /*
9199  * University Copyright- Copyright (c) 1982, 1986, 1988
9200  * The Regents of the University of California
9201  * All Rights Reserved
9202  *
9203  * University Acknowledgment- Portions of this document are derived from
9204  * software developed by the University of California, Berkeley, and its
9205  * contributors.
9206  */
9207 
9208 
9209 
9210 
9211 
9212 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9213 /*
9214  * CDDL HEADER START
9215  *
9216  * The contents of this file are subject to the terms of the
9217  * Common Development and Distribution License (the "License").
9218  * You may not use this file except in compliance 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 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9234 /*	  All Rights Reserved  	*/
9235 
9236 
9237 /*
9238  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9239  * Use is subject to license terms.
9240  *
9241  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9242  * Copyright 2016 Joyent, Inc.
9243  */
9244 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
9245 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
9246 /*
9247  * CDDL HEADER START
9248  *
9249  * The contents of this file are subject to the terms of the
9250  * Common Development and Distribution License (the "License").
9251  * You may not use this file except in compliance with the License.
9252  *
9253  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9254  * or http://www.opensolaris.org/os/licensing.
9255  * See the License for the specific language governing permissions
9256  * and limitations under the License.
9257  *
9258  *
9259  * When distributing Covered Code, include this CDDL HEADER in each
9260  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9261  * If applicable, add the following below this CDDL HEADER, with the
9262  * fields enclosed by brackets "[]" replaced with your own identifying
9263  * information: Portions Copyright [yyyy] [name of copyright owner]
9264  *
9265  * CDDL HEADER END
9266  */
9267 
9268 /*
9269  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
9270  * Use is subject to license terms.
9271  * Copyright 2016 Joyent, Inc.
9272  */
9273 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
9274 
9275 
9276 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
9277 /*
9278  * This file and its contents are supplied under the terms of the
9279  * Common Development and Distribution License ("CDDL"), version 1.0.
9280  * You may only use this file in accordance with the terms of version
9281  * 1.0 of the CDDL.
9282  *
9283  * A full copy of the text of the CDDL should have accompanied this
9284  * source.  A copy of the CDDL is also available via the Internet at
9285  * http://www.illumos.org/license/CDDL.
9286  */
9287 
9288 /*
9289  * Copyright 2014-2016 PALO, Richard.
9290  */
9291 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
9292 
9293 
9294 
9295 
9296 
9297 /*
9298  * Fundamental variables; don't change too often.
9299  */
9300 
9301 /*
9302  * _POSIX_VDISABLE has historically been defined in <sys/param.h> since
9303  * an early merge with AT&T source.  It has also historically been defined
9304  * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially
9305  * required the existence of _POSIX_VDISABLE in <sys/termios.h>.
9306  * Subsequent versions of the IEEE Standard as well as the X/Open
9307  * specifications required that _POSIX_VDISABLE be defined in <unistd.h>
9308  * while still allowing for it's existence in other headers.  With the
9309  * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>.
9310  */
9311 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
9312     /* compatibility purposes only	*/
9313     /* and will be removed in a	*/
9314     /* later release		*/
9315 
9316 /*
9317  * These define the maximum and minimum allowable values of the
9318  * configurable parameter NGROUPS_MAX.
9319  */
9320 
9321 
9322 
9323 
9324 /*
9325  * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h.
9326  */
9327 
9328 
9329 /*
9330  * Default process priority.  Keep it in sync with limits.h.
9331  */
9332 
9333 
9334 /*
9335  * Fundamental constants of the implementation--cannot be changed easily.
9336  */
9337 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
9338 /* REMOTE -- whether machine is primary, secondary, or regular */
9339 
9340 
9341 
9342 /*
9343  * MAXPATHLEN defines the longest permissible path length,
9344  * including the terminating null, after expanding symbolic links.
9345  * TYPICALMAXPATHLEN is used in a few places as an optimization
9346  * with a local buffer on the stack to avoid kmem_alloc().
9347  * MAXSYMLINKS defines the maximum number of symbolic links
9348  * that may be expanded in a path name. It should be set high
9349  * enough to allow all legitimate uses, but halt infinite loops
9350  * reasonably quickly.
9351  * MAXNAMELEN is the length (including the terminating null) of
9352  * the longest permissible file (component) name.
9353  */
9354 
9355 
9356 
9357 
9358 
9359 /*
9360  * MAXLINKNAMELEN defines the longest possible permitted datalink name,
9361  * including the terminating NUL.  Note that this must not be larger
9362  * than related networking constants such as LIFNAMSIZ.
9363  */
9364 
9365 
9366 
9367 
9368 
9369 
9370 /*
9371  * The following are defined to be the same as
9372  * defined in /usr/include/limits.h.  They are
9373  * needed for pipe and FIFO compatibility.
9374  */
9375 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
9376 /* macros replacing interleaving functions */
9377 
9378 
9379 
9380 /*
9381  * File system parameters and macros.
9382  *
9383  * The file system is made out of blocks of at most MAXBSIZE units,
9384  * with smaller units (fragments) only in the last direct block.
9385  * MAXBSIZE primarily determines the size of buffers in the buffer
9386  * pool. It may be made larger without any effect on existing
9387  * file systems; however making it smaller make make some file
9388  * systems unmountable.
9389  *
9390  * Note that the blocked devices are assumed to have DEV_BSIZE
9391  * "sectors" and that fragments must be some multiple of this size.
9392  */
9393 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
9394 /*	64 bit versions of btodb and dbtob */
9395 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
9396 /*
9397  * Size of arg list passed in by user.
9398  */
9399 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
9400 /*
9401  * Scale factor for scaled integers used to count
9402  * %cpu time and load averages.
9403  */
9404 
9405 
9406 
9407 /*
9408  * Delay units are in microseconds.
9409  *
9410  * XXX	These macros are not part of the DDI!
9411  */
9412 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
9413 /*
9414  * The following is to free utilities from machine dependencies within
9415  * an architecture. Must be included after definition of DEV_BSIZE.
9416  */
9417 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
9418 /*
9419  * The following are assorted machine dependent values which can be
9420  * obtained in a machine independent manner through sysconf(2) or
9421  * sysinfo(2). In order to guarantee that these provide the expected
9422  * value at all times, the System Private interface (leading underscore)
9423  * is used.
9424  */
9425 
9426 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
9427 /*
9428  * CDDL HEADER START
9429  *
9430  * The contents of this file are subject to the terms of the
9431  * Common Development and Distribution License (the "License").
9432  * You may not use this file except in compliance with the License.
9433  *
9434  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9435  * or http://www.opensolaris.org/os/licensing.
9436  * See the License for the specific language governing permissions
9437  * and limitations under the License.
9438  *
9439  * When distributing Covered Code, include this CDDL HEADER in each
9440  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9441  * If applicable, add the following below this CDDL HEADER, with the
9442  * fields enclosed by brackets "[]" replaced with your own identifying
9443  * information: Portions Copyright [yyyy] [name of copyright owner]
9444  *
9445  * CDDL HEADER END
9446  */
9447 
9448 /*
9449  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
9450  *	  All Rights Reserved
9451  *
9452  */
9453 
9454 /*
9455  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9456  * Use is subject to license terms.
9457  */
9458 
9459 /*
9460  * WARNING: This is an implementation-specific header,
9461  * its contents are not guaranteed. Applications
9462  * should include <unistd.h> and not this header.
9463  */
9464 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
9465 
9466 
9467 
9468 
9469 
9470 
9471 extern long _sysconf(int); /* System Private interface to sysconf() */
9472 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
9473 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
9474 /*
9475  * CDDL HEADER START
9476  *
9477  * The contents of this file are subject to the terms of the
9478  * Common Development and Distribution License (the "License").
9479  * You may not use this file except in compliance with the License.
9480  *
9481  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9482  * or http://www.opensolaris.org/os/licensing.
9483  * See the License for the specific language governing permissions
9484  * and limitations under the License.
9485  *
9486  * When distributing Covered Code, include this CDDL HEADER in each
9487  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9488  * If applicable, add the following below this CDDL HEADER, with the
9489  * fields enclosed by brackets "[]" replaced with your own identifying
9490  * information: Portions Copyright [yyyy] [name of copyright owner]
9491  *
9492  * CDDL HEADER END
9493  */
9494 /*
9495  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
9496  */
9497 
9498 
9499 
9500 
9501 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1
9502 /*
9503  * CDDL HEADER START
9504  *
9505  * The contents of this file are subject to the terms of the
9506  * Common Development and Distribution License (the "License").
9507  * You may not use this file except in compliance with the License.
9508  *
9509  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9510  * or http://www.opensolaris.org/os/licensing.
9511  * See the License for the specific language governing permissions
9512  * and limitations under the License.
9513  *
9514  * When distributing Covered Code, include this CDDL HEADER in each
9515  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9516  * If applicable, add the following below this CDDL HEADER, with the
9517  * fields enclosed by brackets "[]" replaced with your own identifying
9518  * information: Portions Copyright [yyyy] [name of copyright owner]
9519  *
9520  * CDDL HEADER END
9521  */
9522 
9523 /*
9524  * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
9525  * Copyright (c) 2012 by Delphix. All rights reserved.
9526  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9527  */
9528 
9529 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
9530 /*	  All Rights Reserved	*/
9531 
9532 
9533 
9534 
9535 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9536 /*
9537  * CDDL HEADER START
9538  *
9539  * The contents of this file are subject to the terms of the
9540  * Common Development and Distribution License (the "License").
9541  * You may not use this file except in compliance with the License.
9542  *
9543  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9544  * or http://www.opensolaris.org/os/licensing.
9545  * See the License for the specific language governing permissions
9546  * and limitations under the License.
9547  *
9548  * When distributing Covered Code, include this CDDL HEADER in each
9549  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9550  * If applicable, add the following below this CDDL HEADER, with the
9551  * fields enclosed by brackets "[]" replaced with your own identifying
9552  * information: Portions Copyright [yyyy] [name of copyright owner]
9553  *
9554  * CDDL HEADER END
9555  */
9556 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9557 /*	  All Rights Reserved  	*/
9558 
9559 
9560 /*
9561  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9562  * Use is subject to license terms.
9563  *
9564  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9565  * Copyright 2016 Joyent, Inc.
9566  */
9567 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2
9568 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 1
9569 /*
9570  * CDDL HEADER START
9571  *
9572  * The contents of this file are subject to the terms of the
9573  * Common Development and Distribution License (the "License").
9574  * You may not use this file except in compliance with the License.
9575  *
9576  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9577  * or http://www.opensolaris.org/os/licensing.
9578  * See the License for the specific language governing permissions
9579  * and limitations under the License.
9580  *
9581  * When distributing Covered Code, include this CDDL HEADER in each
9582  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9583  * If applicable, add the following below this CDDL HEADER, with the
9584  * fields enclosed by brackets "[]" replaced with your own identifying
9585  * information: Portions Copyright [yyyy] [name of copyright owner]
9586  *
9587  * CDDL HEADER END
9588  */
9589 /*
9590  * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
9591  * Copyright (c) 2012 by Delphix. All rights reserved.
9592  */
9593 
9594 
9595 
9596 
9597 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9598 /*
9599  * CDDL HEADER START
9600  *
9601  * The contents of this file are subject to the terms of the
9602  * Common Development and Distribution License (the "License").
9603  * You may not use this file except in compliance with the License.
9604  *
9605  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9606  * or http://www.opensolaris.org/os/licensing.
9607  * See the License for the specific language governing permissions
9608  * and limitations under the License.
9609  *
9610  * When distributing Covered Code, include this CDDL HEADER in each
9611  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9612  * If applicable, add the following below this CDDL HEADER, with the
9613  * fields enclosed by brackets "[]" replaced with your own identifying
9614  * information: Portions Copyright [yyyy] [name of copyright owner]
9615  *
9616  * CDDL HEADER END
9617  */
9618 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9619 /*	  All Rights Reserved  	*/
9620 
9621 
9622 /*
9623  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9624  * Use is subject to license terms.
9625  *
9626  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9627  * Copyright 2016 Joyent, Inc.
9628  */
9629 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2
9630 
9631 
9632 
9633 
9634 
9635 
9636 /*
9637  * Per-allocation flags
9638  */
9639 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h"
9640 /*
9641  * The following flags are restricted for use only within the kernel.
9642  * VM_MEMLOAD is for use by the HAT to avoid infinite recursion.
9643  * VM_NORELOC is used by the kernel when static VA->PA mappings are required.
9644  */
9645 
9646 
9647 /*
9648  * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags
9649  * and forgo reaping if the allocation or attempted import, fails.  This
9650  * flag is a segkmem-specific flag, and should not be used by anyone else.
9651  */
9652 
9653 
9654 /*
9655  * VM_ENDALLOC requests that large addresses be preferred in allocations.
9656  * Has no effect if VM_NEXTFIT is active.
9657  */
9658 
9659 
9660 
9661 
9662 /*
9663  * Arena creation flags
9664  */
9665 
9666 
9667 
9668 
9669 /*
9670  * internal use only;	the import function uses the vmem_ximport_t interface
9671  *			and may increase the request size if it so desires.
9672  *			VMC_XALIGN, for use with vmem_xcreate, specifies that
9673  *			the address returned by the import function will be
9674  *			aligned according to the alignment argument.
9675  */
9676 
9677 
9678 
9679 
9680 /*
9681  * Public segment types
9682  */
9683 
9684 
9685 
9686 /*
9687  * Implementation-private segment types
9688  */
9689 
9690 
9691 
9692 
9693 /*
9694  * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may
9695  * call back into the arena being walked, so vmem_walk() must drop the
9696  * arena lock before each callback.  The caveat is that since the arena
9697  * isn't locked, its state can change.  Therefore it is up to the callback
9698  * routine to handle cases where the segment isn't of the expected type.
9699  * For example, we use this to walk heap_arena when generating a crash dump;
9700  * see segkmem_dump() for sample usage.
9701  */
9702 
9703 
9704 typedef struct vmem vmem_t;
9705 typedef void *(vmem_alloc_t)(vmem_t *, size_t, int);
9706 typedef void (vmem_free_t)(vmem_t *, void *, size_t);
9707 
9708 /*
9709  * Alternate import style; the requested size is passed in a pointer,
9710  * which can be increased by the import function if desired.
9711  */
9712 typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int);
9713 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h"
9714 extern vmem_t *vmem_create(const char *, void *, size_t, size_t,
9715     vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int);
9716 extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t,
9717     vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int);
9718 extern void vmem_destroy(vmem_t *);
9719 extern void *vmem_alloc(vmem_t *, size_t, int);
9720 extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t,
9721     void *, void *, int);
9722 extern void vmem_free(vmem_t *, void *, size_t);
9723 extern void vmem_xfree(vmem_t *, void *, size_t);
9724 extern void *vmem_add(vmem_t *, void *, size_t, int);
9725 extern int vmem_contains(vmem_t *, void *, size_t);
9726 extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *);
9727 extern size_t vmem_size(vmem_t *, int);
9728 extern void vmem_qcache_reap(vmem_t *vmp);
9729 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2
9730 
9731 
9732 
9733 
9734 
9735 /*
9736  * Kernel memory allocator: DDI interfaces.
9737  * See kmem_alloc(9F) for details.
9738  */
9739 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h"
9740 /*
9741  * Kernel memory allocator: private interfaces.
9742  * These interfaces are still evolving.
9743  * Do not use them in unbundled drivers.
9744  */
9745 
9746 /*
9747  * Flags for kmem_cache_create()
9748  */
9749 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h"
9750 struct kmem_cache; /* cache structure is opaque to kmem clients */
9751 
9752 typedef struct kmem_cache kmem_cache_t;
9753 
9754 /* Client response to kmem move callback */
9755 typedef enum kmem_cbrc {
9756  KMEM_CBRC_YES,
9757  KMEM_CBRC_NO,
9758  KMEM_CBRC_LATER,
9759  KMEM_CBRC_DONT_NEED,
9760  KMEM_CBRC_DONT_KNOW
9761 } kmem_cbrc_t;
9762 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
9763 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.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 2014 Garrrett D'Amore <garrett@damore.org>
9786  *
9787  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9788  * Use is subject to license terms.
9789  */
9790 
9791 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9792 /*	  All Rights Reserved  	*/
9793 
9794 /*
9795  * University Copyright- Copyright (c) 1982, 1986, 1988
9796  * The Regents of the University of California
9797  * All Rights Reserved
9798  *
9799  * University Acknowledgment- Portions of this document are derived from
9800  * software developed by the University of California, Berkeley, and its
9801  * contributors.
9802  */
9803 
9804 
9805 
9806 
9807 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
9808 /*
9809  * CDDL HEADER START
9810  *
9811  * The contents of this file are subject to the terms of the
9812  * Common Development and Distribution License (the "License").
9813  * You may not use this file except in compliance with the License.
9814  *
9815  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9816  * or http://www.opensolaris.org/os/licensing.
9817  * See the License for the specific language governing permissions
9818  * and limitations under the License.
9819  *
9820  * When distributing Covered Code, include this CDDL HEADER in each
9821  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9822  * If applicable, add the following below this CDDL HEADER, with the
9823  * fields enclosed by brackets "[]" replaced with your own identifying
9824  * information: Portions Copyright [yyyy] [name of copyright owner]
9825  *
9826  * CDDL HEADER END
9827  */
9828 
9829 /*
9830  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
9831  * Copyright 2016 Joyent, Inc.
9832  *
9833  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9834  * Use is subject to license terms.
9835  */
9836 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
9837 
9838 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9839 /*
9840  * CDDL HEADER START
9841  *
9842  * The contents of this file are subject to the terms of the
9843  * Common Development and Distribution License (the "License").
9844  * You may not use this file except in compliance with the License.
9845  *
9846  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9847  * or http://www.opensolaris.org/os/licensing.
9848  * See the License for the specific language governing permissions
9849  * and limitations under the License.
9850  *
9851  * When distributing Covered Code, include this CDDL HEADER in each
9852  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9853  * If applicable, add the following below this CDDL HEADER, with the
9854  * fields enclosed by brackets "[]" replaced with your own identifying
9855  * information: Portions Copyright [yyyy] [name of copyright owner]
9856  *
9857  * CDDL HEADER END
9858  */
9859 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9860 /*	  All Rights Reserved  	*/
9861 
9862 
9863 /*
9864  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9865  * Use is subject to license terms.
9866  *
9867  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9868  * Copyright 2016 Joyent, Inc.
9869  */
9870 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
9871 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
9872 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9873 /*	  All Rights Reserved  	*/
9874 
9875 
9876 /*
9877  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
9878  * All rights reserved.  The Berkeley software License Agreement
9879  * specifies the terms and conditions for redistribution.
9880  */
9881 
9882 /*
9883  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9884  *
9885  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9886  * Use is subject to license terms.
9887  *
9888  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9889  */
9890 
9891 /*
9892  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
9893  */
9894 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
9895 
9896 
9897 
9898 
9899 
9900 /*
9901  * Process priority specifications
9902  */
9903 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9904 /*
9905  * Resource limits
9906  */
9907 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9908 typedef unsigned long rlim_t;
9909 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9910 struct rlimit {
9911  rlim_t rlim_cur; /* current limit */
9912  rlim_t rlim_max; /* maximum value for rlim_cur */
9913 };
9914 
9915 /* transitional large file interface versions */
9916 
9917 
9918 typedef u_longlong_t rlim64_t;
9919 
9920 
9921 
9922 
9923 
9924 struct rlimit64 {
9925  rlim64_t rlim_cur; /* current limit */
9926  rlim64_t rlim_max; /* maximum value for rlim_cur */
9927 };
9928 
9929 
9930 
9931 /*
9932  * Although the saved rlimits were initially introduced by the large file API,
9933  * they are now available for all resource limits on the 64-bit kernel and for
9934  * cpu time and file size limits on the 32-bit kernel.
9935  */
9936 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9937 struct rusage {
9938  struct timeval ru_utime; /* user time used */
9939  struct timeval ru_stime; /* system time used */
9940  long ru_maxrss; /* <unimp> */
9941  long ru_ixrss; /* <unimp> */
9942  long ru_idrss; /* <unimp> */
9943  long ru_isrss; /* <unimp> */
9944  long ru_minflt; /* any page faults not requiring I/O */
9945  long ru_majflt; /* any page faults requiring I/O */
9946  long ru_nswap; /* swaps */
9947  long ru_inblock; /* block input operations */
9948  long ru_oublock; /* block output operations */
9949  long ru_msgsnd; /* streams messsages sent */
9950  long ru_msgrcv; /* streams messages received */
9951  long ru_nsignals; /* signals received */
9952  long ru_nvcsw; /* voluntary context switches */
9953  long ru_nivcsw; /* involuntary " */
9954 };
9955 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9956 /*
9957  * In the LP64 compilation environment, map large file interfaces
9958  * back to native versions where possible.
9959  */
9960 
9961 
9962 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9963 #pragma redefine_extname setrlimit64 setrlimit
9964 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9965 
9966 
9967 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9968 #pragma redefine_extname getrlimit64 getrlimit
9969 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9970 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9971 extern int setrlimit(int, const struct rlimit *);
9972 extern int getrlimit(int, struct rlimit *);
9973 
9974 /* transitional large file interfaces */
9975 
9976 
9977 extern int setrlimit64(int, const struct rlimit64 *);
9978 extern int getrlimit64(int, struct rlimit64 *);
9979 
9980 
9981 extern int getpriority(int, id_t);
9982 extern int setpriority(int, id_t, int);
9983 extern int getrusage(int, struct rusage *);
9984 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
9985 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9986 /*
9987  * CDDL HEADER START
9988  *
9989  * The contents of this file are subject to the terms of the
9990  * Common Development and Distribution License (the "License").
9991  * You may not use this file except in compliance with the License.
9992  *
9993  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9994  * or http://www.opensolaris.org/os/licensing.
9995  * See the License for the specific language governing permissions
9996  * and limitations under the License.
9997  *
9998  * When distributing Covered Code, include this CDDL HEADER in each
9999  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10000  * If applicable, add the following below this CDDL HEADER, with the
10001  * fields enclosed by brackets "[]" replaced with your own identifying
10002  * information: Portions Copyright [yyyy] [name of copyright owner]
10003  *
10004  * CDDL HEADER END
10005  */
10006 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10007 /*	  All Rights Reserved  	*/
10008 
10009 
10010 /*
10011  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10012  * Use is subject to license terms.
10013  *
10014  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10015  * Copyright 2016 Joyent, Inc.
10016  */
10017 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
10018 
10019 
10020 
10021 
10022 
10023 /*
10024  * Available local actions and flags.
10025  */
10026 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
10027 /*
10028  * Available global actions and flags.
10029  */
10030 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
10031 /*
10032  * getrctl(2) flag values
10033  */
10034 
10035 
10036 
10037 
10038 /*
10039  * setrctl(2) flag values
10040  */
10041 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
10042 /*
10043  * rctl_priv_t: rctl privilege defined values
10044  *   A large amount of space has been deliberately left between these privileges
10045  *   to permit future enrichment of the control privilege value.
10046  */
10047 
10048 
10049 
10050 
10051 typedef u_longlong_t rctl_qty_t; /* resource control numerical values   */
10052 typedef int rctl_priv_t;
10053 
10054 typedef struct rctlblk rctlblk_t;
10055 
10056 extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int);
10057 extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int);
10058 
10059 typedef enum {
10060  RCENTITY_PROCESS,
10061  RCENTITY_TASK,
10062  RCENTITY_PROJECT,
10063  RCENTITY_ZONE
10064 } rctl_entity_t;
10065 
10066 
10067 
10068 
10069 typedef struct rctl_set rctl_set_t;
10070 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
10071 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1
10072 /*
10073  * CDDL HEADER START
10074  *
10075  * The contents of this file are subject to the terms of the
10076  * Common Development and Distribution License (the "License").
10077  * You may not use this file except in compliance with the License.
10078  *
10079  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10080  * or http://www.opensolaris.org/os/licensing.
10081  * See the License for the specific language governing permissions
10082  * and limitations under the License.
10083  *
10084  * When distributing Covered Code, include this CDDL HEADER in each
10085  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10086  * If applicable, add the following below this CDDL HEADER, with the
10087  * fields enclosed by brackets "[]" replaced with your own identifying
10088  * information: Portions Copyright [yyyy] [name of copyright owner]
10089  *
10090  * CDDL HEADER END
10091  */
10092 /*
10093  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10094  * Use is subject to license terms.
10095  */
10096 
10097 
10098 
10099 
10100 #pragma ident "%Z%%M%	%I%	%E% SMI"
10101 
10102 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
10103 /*
10104  * CDDL HEADER START
10105  *
10106  * The contents of this file are subject to the terms of the
10107  * Common Development and Distribution License (the "License").
10108  * You may not use this file except in compliance with the License.
10109  *
10110  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10111  * or http://www.opensolaris.org/os/licensing.
10112  * See the License for the specific language governing permissions
10113  * and limitations under the License.
10114  *
10115  * When distributing Covered Code, include this CDDL HEADER in each
10116  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10117  * If applicable, add the following below this CDDL HEADER, with the
10118  * fields enclosed by brackets "[]" replaced with your own identifying
10119  * information: Portions Copyright [yyyy] [name of copyright owner]
10120  *
10121  * CDDL HEADER END
10122  */
10123 /*
10124  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
10125  */
10126 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2
10127 
10128 
10129 
10130 
10131 
10132 typedef struct ipc_rqty { /* datum protected by:	*/
10133  rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock	*/
10134  rctl_qty_t ipcq_semmni; /* sem's ipcs_lock	*/
10135  rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock	*/
10136 } ipc_rqty_t;
10137 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
10138 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1
10139 /*
10140  * CDDL HEADER START
10141  *
10142  * The contents of this file are subject to the terms of the
10143  * Common Development and Distribution License (the "License").
10144  * You may not use this file except in compliance with the License.
10145  *
10146  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10147  * or http://www.opensolaris.org/os/licensing.
10148  * See the License for the specific language governing permissions
10149  * and limitations under the License.
10150  *
10151  * When distributing Covered Code, include this CDDL HEADER in each
10152  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10153  * If applicable, add the following below this CDDL HEADER, with the
10154  * fields enclosed by brackets "[]" replaced with your own identifying
10155  * information: Portions Copyright [yyyy] [name of copyright owner]
10156  *
10157  * CDDL HEADER END
10158  */
10159 /*
10160  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10161  *
10162  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10163  * Use is subject to license terms.
10164  */
10165 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h"
10166 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10167 /*
10168  * CDDL HEADER START
10169  *
10170  * The contents of this file are subject to the terms of the
10171  * Common Development and Distribution License (the "License").
10172  * You may not use this file except in compliance with the License.
10173  *
10174  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10175  * or http://www.opensolaris.org/os/licensing.
10176  * See the License for the specific language governing permissions
10177  * and limitations under the License.
10178  *
10179  * When distributing Covered Code, include this CDDL HEADER in each
10180  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10181  * If applicable, add the following below this CDDL HEADER, with the
10182  * fields enclosed by brackets "[]" replaced with your own identifying
10183  * information: Portions Copyright [yyyy] [name of copyright owner]
10184  *
10185  * CDDL HEADER END
10186  */
10187 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10188 /*	  All Rights Reserved  	*/
10189 
10190 
10191 /*
10192  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10193  * Use is subject to license terms.
10194  *
10195  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10196  * Copyright 2016 Joyent, Inc.
10197  */
10198 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
10199 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1
10200 /*
10201  * CDDL HEADER START
10202  *
10203  * The contents of this file are subject to the terms of the
10204  * Common Development and Distribution License (the "License").
10205  * You may not use this file except in compliance with the License.
10206  *
10207  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10208  * or http://www.opensolaris.org/os/licensing.
10209  * See the License for the specific language governing permissions
10210  * and limitations under the License.
10211  *
10212  * When distributing Covered Code, include this CDDL HEADER in each
10213  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10214  * If applicable, add the following below this CDDL HEADER, with the
10215  * fields enclosed by brackets "[]" replaced with your own identifying
10216  * information: Portions Copyright [yyyy] [name of copyright owner]
10217  *
10218  * CDDL HEADER END
10219  */
10220 /*
10221  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
10222  *	  All Rights Reserved
10223  *
10224  */
10225 
10226 /*
10227  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10228  *
10229  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
10230  * Use is subject to license terms.
10231  */
10232 
10233 
10234 
10235 
10236 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10237 /*
10238  * CDDL HEADER START
10239  *
10240  * The contents of this file are subject to the terms of the
10241  * Common Development and Distribution License (the "License").
10242  * You may not use this file except in compliance with the License.
10243  *
10244  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10245  * or http://www.opensolaris.org/os/licensing.
10246  * See the License for the specific language governing permissions
10247  * and limitations under the License.
10248  *
10249  * When distributing Covered Code, include this CDDL HEADER in each
10250  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10251  * If applicable, add the following below this CDDL HEADER, with the
10252  * fields enclosed by brackets "[]" replaced with your own identifying
10253  * information: Portions Copyright [yyyy] [name of copyright owner]
10254  *
10255  * CDDL HEADER END
10256  */
10257 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10258 /*	  All Rights Reserved  	*/
10259 
10260 
10261 /*
10262  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10263  * Use is subject to license terms.
10264  *
10265  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10266  * Copyright 2016 Joyent, Inc.
10267  */
10268 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2
10269 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1
10270 /*
10271  * CDDL HEADER START
10272  *
10273  * The contents of this file are subject to the terms of the
10274  * Common Development and Distribution License, Version 1.0 only
10275  * (the "License").  You may not use this file except in compliance
10276  * with the License.
10277  *
10278  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10279  * or http://www.opensolaris.org/os/licensing.
10280  * See the License for the specific language governing permissions
10281  * and limitations under the License.
10282  *
10283  * When distributing Covered Code, include this CDDL HEADER in each
10284  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10285  * If applicable, add the following below this CDDL HEADER, with the
10286  * fields enclosed by brackets "[]" replaced with your own identifying
10287  * information: Portions Copyright [yyyy] [name of copyright owner]
10288  *
10289  * CDDL HEADER END
10290  */
10291 /*
10292  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10293  * Use is subject to license terms.
10294  */
10295 
10296 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10297 /*	  All Rights Reserved  	*/
10298 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2
10299 
10300 
10301 
10302 
10303 
10304 /*
10305  * Definitions for p_online, processor_info & lgrp system calls.
10306  */
10307 
10308 /*
10309  * Type for an lgrpid
10310  */
10311 typedef uint16_t lgrpid_t;
10312 
10313 /*
10314  * Type for processor name (CPU number).
10315  */
10316 typedef int processorid_t;
10317 typedef int chipid_t;
10318 
10319 /*
10320  * Flags and return values for p_online(2), and pi_state for processor_info(2).
10321  * These flags are *not* for in-kernel examination of CPU states.
10322  * See <sys/cpuvar.h> for appropriate informational functions.
10323  */
10324 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h"
10325 /*
10326  * String names for processor states defined above.
10327  */
10328 
10329 
10330 
10331 
10332 
10333 
10334 
10335 /*
10336  * Structure filled in by processor_info(2). This structure
10337  * SHOULD NOT BE MODIFIED. Changes to the structure would
10338  * negate ABI compatibility.
10339  *
10340  * The string fields are guaranteed to contain a NULL.
10341  *
10342  * The pi_fputypes field contains a (possibly empty) comma-separated
10343  * list of floating point identifier strings.
10344  */
10345 
10346 
10347 
10348 typedef struct {
10349  int pi_state; /* processor state, see above */
10350  char pi_processor_type[16]; /* ASCII CPU type */
10351  char pi_fputypes[32]; /* ASCII FPU types */
10352  int pi_clock; /* CPU clock freq in MHz */
10353 } processor_info_t;
10354 
10355 /*
10356  * Binding values for processor_bind(2)
10357  */
10358 
10359 
10360 
10361 
10362 
10363 
10364 /*
10365  * User-level system call interface prototypes
10366  */
10367 
10368 
10369 extern int p_online(processorid_t processorid, int flag);
10370 extern int processor_info(processorid_t processorid,
10371       processor_info_t *infop);
10372 extern int processor_bind(idtype_t idtype, id_t id,
10373       processorid_t processorid, processorid_t *obind);
10374 extern processorid_t getcpuid(void);
10375 extern lgrpid_t gethomelgroup(void);
10376 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
10377 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1
10378 /*
10379  * CDDL HEADER START
10380  *
10381  * The contents of this file are subject to the terms of the
10382  * Common Development and Distribution License, Version 1.0 only
10383  * (the "License").  You may not use this file except in compliance
10384  * with the License.
10385  *
10386  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10387  * or http://www.opensolaris.org/os/licensing.
10388  * See the License for the specific language governing permissions
10389  * and limitations under the License.
10390  *
10391  * When distributing Covered Code, include this CDDL HEADER in each
10392  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10393  * If applicable, add the following below this CDDL HEADER, with the
10394  * fields enclosed by brackets "[]" replaced with your own identifying
10395  * information: Portions Copyright [yyyy] [name of copyright owner]
10396  *
10397  * CDDL HEADER END
10398  */
10399 /*
10400  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10401  * Use is subject to license terms.
10402  */
10403 
10404 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10405 /*	  All Rights Reserved  	*/
10406 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
10407 
10408 typedef int psetid_t;
10409 
10410 /* special processor set id's */
10411 
10412 
10413 
10414 
10415 
10416 
10417 
10418 /* types of processor sets */
10419 
10420 
10421 
10422 
10423 
10424 extern int pset_create(psetid_t *);
10425 extern int pset_destroy(psetid_t);
10426 extern int pset_assign(psetid_t, processorid_t, psetid_t *);
10427 extern int pset_info(psetid_t, int *, uint_t *, processorid_t *);
10428 extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *);
10429 extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *);
10430 extern int pset_getloadavg(psetid_t, double [], int);
10431 extern int pset_list(psetid_t *, uint_t *);
10432 extern int pset_setattr(psetid_t, uint_t);
10433 extern int pset_getattr(psetid_t, uint_t *);
10434 
10435 
10436 
10437 
10438 
10439 /* system call subcodes */
10440 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h"
10441 /* attribute bits */
10442 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
10443 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1
10444 /*
10445  * CDDL HEADER START
10446  *
10447  * The contents of this file are subject to the terms of the
10448  * Common Development and Distribution License (the "License").
10449  * You may not use this file except in compliance with the License.
10450  *
10451  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10452  * or http://www.opensolaris.org/os/licensing.
10453  * See the License for the specific language governing permissions
10454  * and limitations under the License.
10455  *
10456  * When distributing Covered Code, include this CDDL HEADER in each
10457  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10458  * If applicable, add the following below this CDDL HEADER, with the
10459  * fields enclosed by brackets "[]" replaced with your own identifying
10460  * information: Portions Copyright [yyyy] [name of copyright owner]
10461  *
10462  * CDDL HEADER END
10463  */
10464 /*
10465  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10466  * Use is subject to license terms.
10467  */
10468 
10469 
10470 
10471 
10472 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10473 /*
10474  * CDDL HEADER START
10475  *
10476  * The contents of this file are subject to the terms of the
10477  * Common Development and Distribution License (the "License").
10478  * You may not use this file except in compliance with the License.
10479  *
10480  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10481  * or http://www.opensolaris.org/os/licensing.
10482  * See the License for the specific language governing permissions
10483  * and limitations under the License.
10484  *
10485  * When distributing Covered Code, include this CDDL HEADER in each
10486  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10487  * If applicable, add the following below this CDDL HEADER, with the
10488  * fields enclosed by brackets "[]" replaced with your own identifying
10489  * information: Portions Copyright [yyyy] [name of copyright owner]
10490  *
10491  * CDDL HEADER END
10492  */
10493 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10494 /*	  All Rights Reserved  	*/
10495 
10496 
10497 /*
10498  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10499  * Use is subject to license terms.
10500  *
10501  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10502  * Copyright 2016 Joyent, Inc.
10503  */
10504 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2
10505 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h"
10506 /*
10507  * types of label comparison
10508  */
10509 
10510 
10511 
10512 /* Manifest human readable label names */
10513 
10514 
10515 
10516 /* Binary Label Structure Definitions */
10517 
10518 typedef struct _mac_label_impl m_label_t;
10519 
10520 typedef m_label_t blevel_t, /* compatibility */
10521    bslabel_t, /* Sensitivity Label */
10522    bclear_t; /* Clearance */
10523 
10524 typedef struct _tsol_binary_level_lrange { /* Level Range */
10525  m_label_t *lower_bound;
10526  m_label_t *upper_bound;
10527 } m_range_t;
10528 
10529 typedef m_range_t blrange_t;
10530 
10531 typedef struct tsol_mlp_s {
10532  uchar_t mlp_ipp;
10533  uint16_t mlp_port;
10534  uint16_t mlp_port_upper;
10535 } tsol_mlp_t;
10536 
10537 /* Procedure Interface Definitions available to user and kernel */
10538 
10539 extern int bltype(const void *, uint8_t);
10540 extern int blequal(const m_label_t *, const m_label_t *);
10541 extern int bldominates(const m_label_t *, const m_label_t *);
10542 extern int blstrictdom(const m_label_t *, const m_label_t *);
10543 extern int blinrange(const m_label_t *, const m_range_t *);
10544 extern void blmaximum(m_label_t *, const m_label_t *);
10545 extern void blminimum(m_label_t *, const m_label_t *);
10546 extern void bsllow(m_label_t *);
10547 extern void bslhigh(m_label_t *);
10548 extern void bclearlow(m_label_t *);
10549 extern void bclearhigh(m_label_t *);
10550 extern void bslundef(m_label_t *);
10551 extern void bclearundef(m_label_t *);
10552 extern void setbltype(void *, uint8_t);
10553 extern boolean_t bisinvalid(const void *);
10554 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
10555 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
10556 /*
10557  * CDDL HEADER START
10558  *
10559  * The contents of this file are subject to the terms of the
10560  * Common Development and Distribution License (the "License").
10561  * You may not use this file except in compliance with the License.
10562  *
10563  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10564  * or http://www.opensolaris.org/os/licensing.
10565  * See the License for the specific language governing permissions
10566  * and limitations under the License.
10567  *
10568  * When distributing Covered Code, include this CDDL HEADER in each
10569  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10570  * If applicable, add the following below this CDDL HEADER, with the
10571  * fields enclosed by brackets "[]" replaced with your own identifying
10572  * information: Portions Copyright [yyyy] [name of copyright owner]
10573  *
10574  * CDDL HEADER END
10575  */
10576 /*
10577  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10578  * Use is subject to license terms.
10579  */
10580 
10581 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
10582 /*	  All Rights Reserved  	*/
10583 
10584 /*
10585  * Portions of this source code were derived from Berkeley 4.3 BSD
10586  * under license from the Regents of the University of California.
10587  */
10588 
10589 
10590 
10591 
10592 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10593 /*
10594  * CDDL HEADER START
10595  *
10596  * The contents of this file are subject to the terms of the
10597  * Common Development and Distribution License (the "License").
10598  * You may not use this file except in compliance with the License.
10599  *
10600  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10601  * or http://www.opensolaris.org/os/licensing.
10602  * See the License for the specific language governing permissions
10603  * and limitations under the License.
10604  *
10605  * When distributing Covered Code, include this CDDL HEADER in each
10606  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10607  * If applicable, add the following below this CDDL HEADER, with the
10608  * fields enclosed by brackets "[]" replaced with your own identifying
10609  * information: Portions Copyright [yyyy] [name of copyright owner]
10610  *
10611  * CDDL HEADER END
10612  */
10613 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10614 /*	  All Rights Reserved  	*/
10615 
10616 
10617 /*
10618  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10619  * Use is subject to license terms.
10620  *
10621  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10622  * Copyright 2016 Joyent, Inc.
10623  */
10624 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2
10625 
10626 
10627 
10628 
10629 
10630 /*
10631  * The credential is an opaque kernel private data structure defined in
10632  * <sys/cred_impl.h>.
10633  */
10634 
10635 typedef struct cred cred_t;
10636 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
10637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1
10638 /*
10639  * CDDL HEADER START
10640  *
10641  * The contents of this file are subject to the terms of the
10642  * Common Development and Distribution License (the "License").
10643  * You may not use this file except in compliance with the License.
10644  *
10645  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10646  * or http://www.opensolaris.org/os/licensing.
10647  * See the License for the specific language governing permissions
10648  * and limitations under the License.
10649  *
10650  * When distributing Covered Code, include this CDDL HEADER in each
10651  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10652  * If applicable, add the following below this CDDL HEADER, with the
10653  * fields enclosed by brackets "[]" replaced with your own identifying
10654  * information: Portions Copyright [yyyy] [name of copyright owner]
10655  *
10656  * CDDL HEADER END
10657  */
10658 
10659 /*
10660  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10661  * Use is subject to license terms.
10662  */
10663 
10664 
10665 
10666 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1
10667 /*
10668  * CDDL HEADER START
10669  *
10670  * The contents of this file are subject to the terms of the
10671  * Common Development and Distribution License (the "License").
10672  * You may not use this file except in compliance with the License.
10673  *
10674  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10675  * or http://www.opensolaris.org/os/licensing.
10676  * See the License for the specific language governing permissions
10677  * and limitations under the License.
10678  *
10679  * When distributing Covered Code, include this CDDL HEADER in each
10680  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10681  * If applicable, add the following below this CDDL HEADER, with the
10682  * fields enclosed by brackets "[]" replaced with your own identifying
10683  * information: Portions Copyright [yyyy] [name of copyright owner]
10684  *
10685  * CDDL HEADER END
10686  */
10687 /*
10688  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10689  * Use is subject to license terms.
10690  *
10691  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
10692  */
10693 
10694 
10695 
10696 
10697 /*
10698  * Definition of general kernel statistics structures and /dev/kstat ioctls
10699  */
10700 
10701 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10702 /*
10703  * CDDL HEADER START
10704  *
10705  * The contents of this file are subject to the terms of the
10706  * Common Development and Distribution License (the "License").
10707  * You may not use this file except in compliance with the License.
10708  *
10709  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10710  * or http://www.opensolaris.org/os/licensing.
10711  * See the License for the specific language governing permissions
10712  * and limitations under the License.
10713  *
10714  * When distributing Covered Code, include this CDDL HEADER in each
10715  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10716  * If applicable, add the following below this CDDL HEADER, with the
10717  * fields enclosed by brackets "[]" replaced with your own identifying
10718  * information: Portions Copyright [yyyy] [name of copyright owner]
10719  *
10720  * CDDL HEADER END
10721  */
10722 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10723 /*	  All Rights Reserved  	*/
10724 
10725 
10726 /*
10727  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10728  * Use is subject to license terms.
10729  *
10730  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10731  * Copyright 2016 Joyent, Inc.
10732  */
10733 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2
10734 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
10735 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10736 /*	  All Rights Reserved  	*/
10737 
10738 
10739 /*
10740  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
10741  * All rights reserved.  The Berkeley software License Agreement
10742  * specifies the terms and conditions for redistribution.
10743  */
10744 
10745 /*
10746  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10747  *
10748  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10749  * Use is subject to license terms.
10750  *
10751  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10752  */
10753 
10754 /*
10755  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
10756  */
10757 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2
10758 
10759 
10760 
10761 
10762 
10763 typedef int kid_t; /* unique kstat id */
10764 
10765 /*
10766  * Kernel statistics driver (/dev/kstat) ioctls
10767  */
10768 
10769 
10770 
10771 
10772 
10773 
10774 
10775 /*
10776  * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor):
10777  *
10778  *	kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL);
10779  *	kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *);
10780  *	kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *);
10781  */
10782 
10783 
10784 
10785 /*
10786  * The generic kstat header
10787  */
10788 
10789 typedef struct kstat {
10790  /*
10791 	 * Fields relevant to both kernel and user
10792 	 */
10793  hrtime_t ks_crtime; /* creation time (from gethrtime()) */
10794  struct kstat *ks_next; /* kstat chain linkage */
10795  kid_t ks_kid; /* unique kstat ID */
10796  char ks_module[31]; /* provider module name */
10797  uchar_t ks_resv; /* reserved, currently just padding */
10798  int ks_instance; /* provider module's instance */
10799  char ks_name[31]; /* kstat name */
10800  uchar_t ks_type; /* kstat data type */
10801  char ks_class[31]; /* kstat class */
10802  uchar_t ks_flags; /* kstat flags */
10803  void *ks_data; /* kstat type-specific data */
10804  uint_t ks_ndata; /* # of type-specific data records */
10805  size_t ks_data_size; /* total size of kstat data section */
10806  hrtime_t ks_snaptime; /* time of last data shapshot */
10807  /*
10808 	 * Fields relevant to kernel only
10809 	 */
10810  int (*ks_update)(struct kstat *, int); /* dynamic update */
10811  void *ks_private; /* arbitrary provider-private data */
10812  int (*ks_snapshot)(struct kstat *, void *, int);
10813  void *ks_lock; /* protects this kstat's data */
10814 } kstat_t;
10815 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
10816 /*
10817  * kstat structure and locking strategy
10818  *
10819  * Each kstat consists of a header section (a kstat_t) and a data section.
10820  * The system maintains a set of kstats, protected by kstat_chain_lock.
10821  * kstat_chain_lock protects all additions to/deletions from this set,
10822  * as well as all changes to kstat headers.  kstat data sections are
10823  * *optionally* protected by the per-kstat ks_lock.  If ks_lock is non-NULL,
10824  * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their
10825  * operations on that kstat.  It is up to the kstat provider to decide whether
10826  * guaranteeing consistent data to kstat clients is sufficiently important
10827  * to justify the locking cost.  Note, however, that most statistic updates
10828  * already occur under one of the provider's mutexes, so if the provider sets
10829  * ks_lock to point to that mutex, then kstat data locking is free.
10830  *
10831  * NOTE: variable-size kstats MUST employ kstat data locking, to prevent
10832  * data-size races with kstat clients.
10833  *
10834  * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *)
10835  * in the kstat header so that users don't have to be exposed to all of the
10836  * kernel's lock-related data structures.
10837  */
10838 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
10839 /*
10840  * kstat time
10841  *
10842  * All times associated with kstats (e.g. creation time, snapshot time,
10843  * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values,
10844  * as returned by gethrtime().  The accuracy of these timestamps is machine
10845  * dependent, but the precision (units) is the same across all platforms.
10846  */
10847 
10848 /*
10849  * kstat identity (KID)
10850  *
10851  * Each kstat is assigned a unique KID (kstat ID) when it is added to the
10852  * global kstat chain.  The KID is used as a cookie by /dev/kstat to
10853  * request information about the corresponding kstat.  There is also
10854  * an identity associated with the entire kstat chain, kstat_chain_id,
10855  * which is bumped each time a kstat is added or deleted.  /dev/kstat uses
10856  * the chain ID to detect changes in the kstat chain (e.g., a new disk
10857  * coming online) between ioctl()s.
10858  */
10859 
10860 /*
10861  * kstat module, kstat instance
10862  *
10863  * ks_module and ks_instance contain the name and instance of the module
10864  * that created the kstat.  In cases where there can only be one instance,
10865  * ks_instance is 0.  The kernel proper (/kernel/unix) uses "unix" as its
10866  * module name.
10867  */
10868 
10869 /*
10870  * kstat name
10871  *
10872  * ks_name gives a meaningful name to a kstat.  The full kstat namespace
10873  * is module.instance.name, so the name only need be unique within a
10874  * module.  kstat_create() will fail if you try to create a kstat with
10875  * an already-used (ks_module, ks_instance, ks_name) triplet.  Spaces are
10876  * allowed in kstat names, but strongly discouraged, since they hinder
10877  * awk-style processing at user level.
10878  */
10879 
10880 /*
10881  * kstat type
10882  *
10883  * The kstat mechanism provides several flavors of kstat data, defined
10884  * below.  The "raw" kstat type is just treated as an array of bytes; you
10885  * can use this to export any kind of data you want.
10886  *
10887  * Some kstat types allow multiple data structures per kstat, e.g.
10888  * KSTAT_TYPE_NAMED; others do not.  This is part of the spec for each
10889  * kstat data type.
10890  *
10891  * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES.  To
10892  * get this information, read out the standard system kstat "kstat_types".
10893  */
10894 
10895 
10896      /* ks_ndata >= 1 */
10897 
10898      /* ks_ndata >= 1 */
10899 
10900      /* ks_ndata == 1 */
10901 
10902      /* ks_ndata == 1 */
10903 
10904      /* ks_ndata >= 1 */
10905 
10906 
10907 
10908 /*
10909  * kstat class
10910  *
10911  * Each kstat can be characterized as belonging to some broad class
10912  * of statistics, e.g. disk, tape, net, vm, streams, etc.  This field
10913  * can be used as a filter to extract related kstats.  The following
10914  * values are currently in use: disk, tape, net, controller, vm, kvm,
10915  * hat, streams, kstat, and misc.  (The kstat class encompasses things
10916  * like kstat_types.)
10917  */
10918 
10919 /*
10920  * kstat flags
10921  *
10922  * Any of the following flags may be passed to kstat_create().  They are
10923  * all zero by default.
10924  *
10925  *	KSTAT_FLAG_VIRTUAL:
10926  *
10927  *		Tells kstat_create() not to allocate memory for the
10928  *		kstat data section; instead, you will set the ks_data
10929  *		field to point to the data you wish to export.  This
10930  *		provides a convenient way to export existing data
10931  *		structures.
10932  *
10933  *	KSTAT_FLAG_VAR_SIZE:
10934  *
10935  *		The size of the kstat you are creating will vary over time.
10936  *		For example, you may want to use the kstat mechanism to
10937  *		export a linked list.  NOTE: The kstat framework does not
10938  *		manage the data section, so all variable-size kstats must be
10939  *		virtual kstats.  Moreover, variable-size kstats MUST employ
10940  *		kstat data locking to prevent data-size races with kstat
10941  *		clients.  See the section on "kstat snapshot" for details.
10942  *
10943  *	KSTAT_FLAG_WRITABLE:
10944  *
10945  *		Makes the kstat's data section writable by root.
10946  *		The ks_snapshot routine (see below) does not need to check for
10947  *		this; permission checking is handled in the kstat driver.
10948  *
10949  *	KSTAT_FLAG_PERSISTENT:
10950  *
10951  *		Indicates that this kstat is to be persistent over time.
10952  *		For persistent kstats, kstat_delete() simply marks the
10953  *		kstat as dormant; a subsequent kstat_create() reactivates
10954  *		the kstat.  This feature is provided so that statistics
10955  *		are not lost across driver close/open (e.g., raw disk I/O
10956  *		on a disk with no mounted partitions.)
10957  *		NOTE: Persistent kstats cannot be virtual, since ks_data
10958  *		points to garbage as soon as the driver goes away.
10959  *
10960  * The following flags are maintained by the kstat framework:
10961  *
10962  *	KSTAT_FLAG_DORMANT:
10963  *
10964  *		For persistent kstats, indicates that the kstat is in the
10965  *		dormant state (e.g., the corresponding device is closed).
10966  *
10967  *	KSTAT_FLAG_INVALID:
10968  *
10969  *		This flag is set when a kstat is in a transitional state,
10970  *		e.g. between kstat_create() and kstat_install().
10971  *		kstat clients must not attempt to access the kstat's data
10972  *		if this flag is set.
10973  *
10974  *	KSTAT_FLAG_LONGSTRINGS:
10975  *
10976  *		Indicates that this kstat contains long strings (which
10977  *		are stored outside of the kstat data section). When copied
10978  *		out to user space the string data will be held in the data
10979  *		section provided by the user.
10980  */
10981 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
10982 /*
10983  * Dynamic update support
10984  *
10985  * The kstat mechanism allows for an optional ks_update function to update
10986  * kstat data.  This is useful for drivers where the underlying device
10987  * keeps cheap hardware stats, but extraction is expensive.  Instead of
10988  * constantly keeping the kstat data section up to date, you can supply a
10989  * ks_update function which updates the kstat's data section on demand.
10990  * To take advantage of this feature, simply set the ks_update field before
10991  * calling kstat_install().
10992  *
10993  * The ks_update function, if supplied, must have the following structure:
10994  *
10995  *	int
10996  *	foo_kstat_update(kstat_t *ksp, int rw)
10997  *	{
10998  *		if (rw == KSTAT_WRITE) {
10999  *			... update the native stats from ksp->ks_data;
11000  *				return EACCES if you don't support this
11001  *		} else {
11002  *			... update ksp->ks_data from the native stats
11003  *		}
11004  *	}
11005  *
11006  * The ks_update return codes are: 0 for success, EACCES if you don't allow
11007  * KSTAT_WRITE, and EIO for any other type of error.
11008  *
11009  * In general, the ks_update function may need to refer to provider-private
11010  * data; for example, it may need a pointer to the provider's raw statistics.
11011  * The ks_private field is available for this purpose.  Its use is entirely
11012  * at the provider's discretion.
11013  *
11014  * All variable-size kstats MUST supply a ks_update routine, which computes
11015  * and sets ks_data_size (and ks_ndata if that is meaningful), since these
11016  * are needed to perform kstat snapshots (see below).
11017  *
11018  * No kstat locking should be done inside the ks_update routine.  The caller
11019  * will already be holding the kstat's ks_lock (to ensure consistent data).
11020  */
11021 
11022 
11023 
11024 
11025 /*
11026  * Kstat snapshot
11027  *
11028  * In order to get a consistent view of a kstat's data, clients must obey
11029  * the kstat's locking strategy.  However, these clients may need to perform
11030  * operations on the data which could cause a fault (e.g. copyout()), or
11031  * operations which are simply expensive.  Doing so could cause deadlock
11032  * (e.g. if you're holding a disk's kstat lock which is ultimately required
11033  * to resolve a copyout() fault), performance degradation (since the providers'
11034  * activity is serialized at the kstat lock), device timing problems, etc.
11035  *
11036  * To avoid these problems, kstat data is provided via snapshots.  Taking
11037  * a snapshot is a simple process: allocate a wired-down kernel buffer,
11038  * acquire the kstat's data lock, copy the data into the buffer ("take the
11039  * snapshot"), and release the lock.  This ensures that the kstat's data lock
11040  * will be held as briefly as possible, and that no faults will occur while
11041  * the lock is held.
11042  *
11043  * Normally, the snapshot is taken by default_kstat_snapshot(), which
11044  * timestamps the data (sets ks_snaptime), copies it, and does a little
11045  * massaging to deal with incomplete transactions on i/o kstats.  However,
11046  * this routine only works for kstats with contiguous data (the typical case).
11047  * If you create a kstat whose data is, say, a linked list, you must provide
11048  * your own ks_snapshot routine.  The routine you supply must have the
11049  * following prototype (replace "foo" with something appropriate):
11050  *
11051  *	int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw);
11052  *
11053  * The minimal snapshot routine -- one which copies contiguous data that
11054  * doesn't need any massaging -- would be this:
11055  *
11056  *	ksp->ks_snaptime = gethrtime();
11057  *	if (rw == KSTAT_WRITE)
11058  *		bcopy(buf, ksp->ks_data, ksp->ks_data_size);
11059  *	else
11060  *		bcopy(ksp->ks_data, buf, ksp->ks_data_size);
11061  *	return (0);
11062  *
11063  * A more illuminating example is taking a snapshot of a linked list:
11064  *
11065  *	ksp->ks_snaptime = gethrtime();
11066  *	if (rw == KSTAT_WRITE)
11067  *		return (EACCES);		... See below ...
11068  *	for (foo = first_foo; foo; foo = foo->next) {
11069  *		bcopy((char *) foo, (char *) buf, sizeof (struct foo));
11070  *		buf = ((struct foo *) buf) + 1;
11071  *	}
11072  *	return (0);
11073  *
11074  * In the example above, we have decided that we don't want to allow
11075  * KSTAT_WRITE access, so we return EACCES if this is attempted.
11076  *
11077  * The key points are:
11078  *
11079  *	(1) ks_snaptime must be set (via gethrtime()) to timestamp the data.
11080  *	(2) Data gets copied from the kstat to the buffer on KSTAT_READ,
11081  *		and from the buffer to the kstat on KSTAT_WRITE.
11082  *	(3) ks_snapshot return values are: 0 for success, EACCES if you
11083  *		don't allow KSTAT_WRITE, and EIO for any other type of error.
11084  *
11085  * Named kstats (see section on "Named statistics" below) containing long
11086  * strings (KSTAT_DATA_STRING) need special handling.  The kstat driver
11087  * assumes that all strings are copied into the buffer after the array of
11088  * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point
11089  * into the copy within the buffer. The default snapshot routine does this,
11090  * but overriding routines should contain at least the following:
11091  *
11092  * if (rw == KSTAT_READ) {
11093  * 	kstat_named_t *knp = buf;
11094  * 	char *end = knp + ksp->ks_ndata;
11095  * 	uint_t i;
11096  *
11097  * 	... Do the regular copy ...
11098  * 	bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata);
11099  *
11100  * 	for (i = 0; i < ksp->ks_ndata; i++, knp++) {
11101  *		if (knp[i].data_type == KSTAT_DATA_STRING &&
11102  *		    KSTAT_NAMED_STR_PTR(knp) != NULL) {
11103  *			bcopy(KSTAT_NAMED_STR_PTR(knp), end,
11104  *			    KSTAT_NAMED_STR_BUFLEN(knp));
11105  *			KSTAT_NAMED_STR_PTR(knp) = end;
11106  *			end += KSTAT_NAMED_STR_BUFLEN(knp);
11107  *		}
11108  *	}
11109  */
11110 
11111 /*
11112  * Named statistics.
11113  *
11114  * List of arbitrary name=value statistics.
11115  */
11116 
11117 typedef struct kstat_named {
11118  char name[31]; /* name of counter */
11119  uchar_t data_type; /* data type */
11120  union {
11121   char c[16]; /* enough for 128-bit ints */
11122   int32_t i32;
11123   uint32_t ui32;
11124   struct {
11125    union {
11126     char *ptr; /* NULL-term string */
11127 
11128 
11129 
11130     char __pad[8]; /* 64-bit padding */
11131    } addr;
11132    uint32_t len; /* # bytes for strlen + '\0' */
11133   } str;
11134 /*
11135  * The int64_t and uint64_t types are not valid for a maximally conformant
11136  * 32-bit compilation environment (cc -Xc) using compilers prior to the
11137  * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990).
11138  * In these cases, the visibility of i64 and ui64 is only permitted for
11139  * 64-bit compilation environments or 32-bit non-maximally conformant
11140  * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the
11141  * C99 ANSI C compilation environment, the long long type is supported.
11142  * The _INT64_TYPE is defined by the implementation (see sys/int_types.h).
11143  */
11144 
11145   int64_t i64;
11146   uint64_t ui64;
11147 
11148   long l;
11149   ulong_t ul;
11150 
11151   /* These structure members are obsolete */
11152 
11153   longlong_t ll;
11154   u_longlong_t ull;
11155   float f;
11156   double d;
11157  } value; /* value of counter */
11158 } kstat_named_t;
11159 # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11160 /*
11161  * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING)
11162  * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof
11163  * (kstat_named_t)).  ks_data_size in these cases is equal to the sum of the
11164  * amount of space required to store the strings (ie, the sum of
11165  * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the
11166  * space required to store the kstat_named_t's.
11167  *
11168  * The default update routine will update ks_data_size automatically for
11169  * variable-length kstats containing long strings (using the default update
11170  * routine only makes sense if the string is the only thing that is changing
11171  * in size, and ks_ndata is constant).  Fixed-length kstats containing long
11172  * strings must explicitly change ks_data_size (after creation but before
11173  * initialization) to reflect the correct amount of space required for the
11174  * long strings and the kstat_named_t's.
11175  */
11176 
11177 
11178 /* These types are obsolete */
11179 # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11180 /*
11181  * Retrieve the pointer of the string contained in the given named kstat.
11182  */
11183 
11184 
11185 /*
11186  * Retrieve the length of the buffer required to store the string in the given
11187  * named kstat.
11188  */
11189 
11190 
11191 /*
11192  * Interrupt statistics.
11193  *
11194  * An interrupt is a hard interrupt (sourced from the hardware device
11195  * itself), a soft interrupt (induced by the system via the use of
11196  * some system interrupt source), a watchdog interrupt (induced by
11197  * a periodic timer call), spurious (an interrupt entry point was
11198  * entered but there was no interrupt condition to service),
11199  * or multiple service (an interrupt condition was detected and
11200  * serviced just prior to returning from any of the other types).
11201  *
11202  * Measurement of the spurious class of interrupts is useful for
11203  * autovectored devices in order to pinpoint any interrupt latency
11204  * problems in a particular system configuration.
11205  *
11206  * Devices that have more than one interrupt of the same
11207  * type should use multiple structures.
11208  */
11209 # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11210 typedef struct kstat_intr {
11211  uint_t intrs[5]; /* interrupt counters */
11212 } kstat_intr_t;
11213 
11214 
11215 
11216 /*
11217  * I/O statistics.
11218  */
11219 
11220 typedef struct kstat_io {
11221 
11222  /*
11223 	 * Basic counters.
11224 	 *
11225 	 * The counters should be updated at the end of service
11226 	 * (e.g., just prior to calling biodone()).
11227 	 */
11228 
11229  u_longlong_t nread; /* number of bytes read */
11230  u_longlong_t nwritten; /* number of bytes written */
11231  uint_t reads; /* number of read operations */
11232  uint_t writes; /* number of write operations */
11233 
11234  /*
11235 	 * Accumulated time and queue length statistics.
11236 	 *
11237 	 * Accumulated time statistics are kept as a running sum
11238 	 * of "active" time.  Queue length statistics are kept as a
11239 	 * running sum of the product of queue length and elapsed time
11240 	 * at that length -- i.e., a Riemann sum for queue length
11241 	 * integrated against time.  (You can also think of the active time
11242 	 * as a Riemann sum, for the boolean function (queue_length > 0)
11243 	 * integrated against time, or you can think of it as the
11244 	 * Lebesgue measure of the set on which queue_length > 0.)
11245 	 *
11246 	 *		^
11247 	 *		|			_________
11248 	 *		8			| i4	|
11249 	 *		|			|	|
11250 	 *	Queue	6			|	|
11251 	 *	Length	|	_________	|	|
11252 	 *		4	| i2	|_______|	|
11253 	 *		|	|	    i3		|
11254 	 *		2_______|			|
11255 	 *		|    i1				|
11256 	 *		|_______________________________|
11257 	 *		Time->	t1	t2	t3	t4
11258 	 *
11259 	 * At each change of state (entry or exit from the queue),
11260 	 * we add the elapsed time (since the previous state change)
11261 	 * to the active time if the queue length was non-zero during
11262 	 * that interval; and we add the product of the elapsed time
11263 	 * times the queue length to the running length*time sum.
11264 	 *
11265 	 * This method is generalizable to measuring residency
11266 	 * in any defined system: instead of queue lengths, think
11267 	 * of "outstanding RPC calls to server X".
11268 	 *
11269 	 * A large number of I/O subsystems have at least two basic
11270 	 * "lists" of transactions they manage: one for transactions
11271 	 * that have been accepted for processing but for which processing
11272 	 * has yet to begin, and one for transactions which are actively
11273 	 * being processed (but not done). For this reason, two cumulative
11274 	 * time statistics are defined here: wait (pre-service) time,
11275 	 * and run (service) time.
11276 	 *
11277 	 * All times are 64-bit nanoseconds (hrtime_t), as returned by
11278 	 * gethrtime().
11279 	 *
11280 	 * The units of cumulative busy time are accumulated nanoseconds.
11281 	 * The units of cumulative length*time products are elapsed time
11282 	 * times queue length.
11283 	 *
11284 	 * Updates to the fields below are performed implicitly by calls to
11285 	 * these five functions:
11286 	 *
11287 	 *	kstat_waitq_enter()
11288 	 *	kstat_waitq_exit()
11289 	 *	kstat_runq_enter()
11290 	 *	kstat_runq_exit()
11291 	 *
11292 	 *	kstat_waitq_to_runq()		(see below)
11293 	 *	kstat_runq_back_to_waitq()	(see below)
11294 	 *
11295 	 * Since kstat_waitq_exit() is typically followed immediately
11296 	 * by kstat_runq_enter(), there is a single kstat_waitq_to_runq()
11297 	 * function which performs both operations.  This is a performance
11298 	 * win since only one timestamp is required.
11299 	 *
11300 	 * In some instances, it may be necessary to move a request from
11301 	 * the run queue back to the wait queue, e.g. for write throttling.
11302 	 * For these situations, call kstat_runq_back_to_waitq().
11303 	 *
11304 	 * These fields should never be updated by any other means.
11305 	 */
11306 
11307  hrtime_t wtime; /* cumulative wait (pre-service) time */
11308  hrtime_t wlentime; /* cumulative wait length*time product */
11309  hrtime_t wlastupdate; /* last time wait queue changed */
11310  hrtime_t rtime; /* cumulative run (service) time */
11311  hrtime_t rlentime; /* cumulative run length*time product */
11312  hrtime_t rlastupdate; /* last time run queue changed */
11313 
11314  uint_t wcnt; /* count of elements in wait state */
11315  uint_t rcnt; /* count of elements in run state */
11316 
11317 } kstat_io_t;
11318 
11319 
11320 
11321 /*
11322  * Event timer statistics - cumulative elapsed time and number of events.
11323  *
11324  * Updates to these fields are performed implicitly by calls to
11325  * kstat_timer_start() and kstat_timer_stop().
11326  */
11327 
11328 typedef struct kstat_timer {
11329  char name[31]; /* event name */
11330  uchar_t resv; /* reserved */
11331  u_longlong_t num_events; /* number of events */
11332  hrtime_t elapsed_time; /* cumulative elapsed time */
11333  hrtime_t min_time; /* shortest event duration */
11334  hrtime_t max_time; /* longest event duration */
11335  hrtime_t start_time; /* previous event start time */
11336  hrtime_t stop_time; /* previous event stop time */
11337 } kstat_timer_t;
11338 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2
11339 
11340 
11341 
11342 
11343 
11344 /*
11345  * This allows various pieces in and around IP to have a separate instance
11346  * for each instance of IP. This is used to support zones that have an
11347  * exclusive stack.
11348  * Pieces of software far removed from IP (e.g., kernel software
11349  * sitting on top of TCP or UDP) probably should not use the netstack
11350  * support; if such software wants to support separate zones it
11351  * can do that using the zones framework (zone_key_create() etc)
11352  * whether there is a shared IP stack or and exclusive IP stack underneath.
11353  */
11354 
11355 /*
11356  * Each netstack has an identifier. We reuse the zoneid allocation for
11357  * this but have a separate typedef. Thus the shared stack (used by
11358  * the global zone and other shared stack zones) have a zero ID, and
11359  * the exclusive stacks have a netstackid that is the same as their zoneid.
11360  */
11361 typedef id_t netstackid_t;
11362 
11363 
11364 
11365 /*
11366  * One for each module which uses netstack support.
11367  * Used in netstack_register().
11368  *
11369  * The order of these is important for some modules both for
11370  * the creation (which done in ascending order) and destruction (which is
11371  * done in in decending order).
11372  */
11373 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
11374 /*
11375  * State maintained for each module which tracks the state of
11376  * the create, shutdown and destroy callbacks.
11377  *
11378  * Keeps track of pending actions to avoid holding locks when
11379  * calling into the create/shutdown/destroy functions in the module.
11380  */
11381 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
11382 /* User-level compile like IP Filter needs a netstack_t. Dummy */
11383 typedef uint_t nm_state_t;
11384 
11385 
11386 /*
11387  * One for every netstack in the system.
11388  * We use a union so that the compilar and lint can provide type checking -
11389  * in principle we could have
11390  * #define	netstack_arp		netstack_modules[NS_ARP]
11391  * etc, but that would imply void * types hence no type checking by the
11392  * compiler.
11393  *
11394  * All the fields in netstack_t except netstack_next are protected by
11395  * netstack_lock. netstack_next is protected by netstack_g_lock.
11396  */
11397 struct netstack {
11398  union {
11399   void *nu_modules[(18 +1)];
11400   struct {
11401    struct dls_stack *nu_dls;
11402    struct iptun_stack *nu_iptun;
11403    struct str_stack *nu_str;
11404    struct hook_stack *nu_hook;
11405    struct neti_stack *nu_neti;
11406    struct arp_stack *nu_arp;
11407    struct ip_stack *nu_ip;
11408    struct icmp_stack *nu_icmp;
11409    struct udp_stack *nu_udp;
11410    struct tcp_stack *nu_tcp;
11411    struct sctp_stack *nu_sctp;
11412    struct rts_stack *nu_rts;
11413    struct ipsec_stack *nu_ipsec;
11414    struct keysock_stack *nu_keysock;
11415    struct spd_stack *nu_spdsock;
11416    struct ipsecah_stack *nu_ipsecah;
11417    struct ipsecesp_stack *nu_ipsecesp;
11418    struct ipnet_stack *nu_ipnet;
11419    struct ilb_stack *nu_ilb;
11420   } nu_s;
11421  } netstack_u;
11422 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
11423  nm_state_t netstack_m_state[(18 +1)]; /* module state */
11424 
11425  kmutex_t netstack_lock;
11426  struct netstack *netstack_next;
11427  netstackid_t netstack_stackid;
11428  int netstack_numzones; /* Number of zones using this */
11429  int netstack_refcnt; /* Number of hold-rele */
11430  int netstack_flags; /* See below */
11431 
11432 
11433 
11434 
11435 
11436 };
11437 typedef struct netstack netstack_t;
11438 
11439 /* netstack_flags values */
11440 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
11441 /*
11442  * One for each of the NS_* values.
11443  */
11444 struct netstack_registry {
11445  int nr_flags; /* 0 if nothing registered */
11446  void *(*nr_create)(netstackid_t, netstack_t *);
11447  void (*nr_shutdown)(netstackid_t, void *);
11448  void (*nr_destroy)(netstackid_t, void *);
11449 };
11450 
11451 /* nr_flags values */
11452 
11453 
11454 
11455 /*
11456  * To support kstat_create_netstack() using kstat_add_zone we need
11457  * to track both
11458  *  - all zoneids that use the global/shared stack
11459  *  - all kstats that have been added for the shared stack
11460  */
11461 
11462 extern void netstack_init(void);
11463 extern void netstack_hold(netstack_t *);
11464 extern void netstack_rele(netstack_t *);
11465 extern netstack_t *netstack_find_by_cred(const cred_t *);
11466 extern netstack_t *netstack_find_by_stackid(netstackid_t);
11467 extern netstack_t *netstack_find_by_zoneid(zoneid_t);
11468 
11469 extern zoneid_t netstackid_to_zoneid(netstackid_t);
11470 extern zoneid_t netstack_get_zoneid(netstack_t *);
11471 extern netstackid_t zoneid_to_netstackid(zoneid_t);
11472 
11473 extern netstack_t *netstack_get_current(void);
11474 
11475 /*
11476  * Register interest in changes to the set of netstacks.
11477  * The createfn and destroyfn are required, but the shutdownfn can be
11478  * NULL.
11479  * Note that due to the current zsd implementation, when the create
11480  * function is called the zone isn't fully present, thus functions
11481  * like zone_find_by_* will fail, hence the create function can not
11482  * use many zones kernel functions including zcmn_err().
11483  */
11484 extern void netstack_register(int,
11485     void *(*)(netstackid_t, netstack_t *),
11486     void (*)(netstackid_t, void *),
11487     void (*)(netstackid_t, void *));
11488 extern void netstack_unregister(int);
11489 extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t,
11490     uint_t, uchar_t, netstackid_t);
11491 extern void kstat_delete_netstack(kstat_t *, netstackid_t);
11492 
11493 /*
11494  * Simple support for walking all the netstacks.
11495  * The caller of netstack_next() needs to call netstack_rele() when
11496  * done with a netstack.
11497  */
11498 typedef int netstack_handle_t;
11499 
11500 extern void netstack_next_init(netstack_handle_t *);
11501 extern void netstack_next_fini(netstack_handle_t *);
11502 extern netstack_t *netstack_next(netstack_handle_t *);
11503 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
11504 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1
11505 /*
11506  * CDDL HEADER START
11507  *
11508  * The contents of this file are subject to the terms of the
11509  * Common Development and Distribution License (the "License").
11510  * You may not use this file except in compliance with the License.
11511  *
11512  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11513  * or http://www.opensolaris.org/os/licensing.
11514  * See the License for the specific language governing permissions
11515  * and limitations under the License.
11516  *
11517  * When distributing Covered Code, include this CDDL HEADER in each
11518  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11519  * If applicable, add the following below this CDDL HEADER, with the
11520  * fields enclosed by brackets "[]" replaced with your own identifying
11521  * information: Portions Copyright [yyyy] [name of copyright owner]
11522  *
11523  * CDDL HEADER END
11524  */
11525 /*
11526  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11527  *
11528  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11529  * Use is subject to license terms.
11530  */
11531 
11532 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11533 /*	  All Rights Reserved  	*/
11534 
11535 
11536 
11537 
11538 
11539 
11540 
11541 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
11542 /*
11543  * CDDL HEADER START
11544  *
11545  * The contents of this file are subject to the terms of the
11546  * Common Development and Distribution License (the "License").
11547  * You may not use this file except in compliance with the License.
11548  *
11549  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11550  * or http://www.opensolaris.org/os/licensing.
11551  * See the License for the specific language governing permissions
11552  * and limitations under the License.
11553  *
11554  * When distributing Covered Code, include this CDDL HEADER in each
11555  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11556  * If applicable, add the following below this CDDL HEADER, with the
11557  * fields enclosed by brackets "[]" replaced with your own identifying
11558  * information: Portions Copyright [yyyy] [name of copyright owner]
11559  *
11560  * CDDL HEADER END
11561  */
11562 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11563 /*	  All Rights Reserved  	*/
11564 
11565 
11566 /*
11567  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11568  * Use is subject to license terms.
11569  *
11570  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11571  * Copyright 2016 Joyent, Inc.
11572  */
11573 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2
11574 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
11575 /*
11576  * CDDL HEADER START
11577  *
11578  * The contents of this file are subject to the terms of the
11579  * Common Development and Distribution License (the "License").
11580  * You may not use this file except in compliance with the License.
11581  *
11582  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11583  * or http://www.opensolaris.org/os/licensing.
11584  * See the License for the specific language governing permissions
11585  * and limitations under the License.
11586  *
11587  * When distributing Covered Code, include this CDDL HEADER in each
11588  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11589  * If applicable, add the following below this CDDL HEADER, with the
11590  * fields enclosed by brackets "[]" replaced with your own identifying
11591  * information: Portions Copyright [yyyy] [name of copyright owner]
11592  *
11593  * CDDL HEADER END
11594  */
11595 /*
11596  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11597  * Use is subject to license terms.
11598  */
11599 
11600 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
11601 /*	  All Rights Reserved  	*/
11602 
11603 /*
11604  * Portions of this source code were derived from Berkeley 4.3 BSD
11605  * under license from the Regents of the University of California.
11606  */
11607 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2
11608 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
11609 /*			17-21	   reserved for obsolete interface */
11610 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
11611 /*
11612  * Functions reserved for A_FREEZE (may not be available on all platforms)
11613  * Note:  AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete
11614  *	The first two are succeeded by AD_SUSPEND_TO_DISK and
11615  *		AD_CHECK_SUSPEND_TO_DISK respectively.
11616  *	AD_FORCE should not be used by any new application
11617  *
11618  *	We maintain compatibility with the earlier interfaces:
11619  *	AD_COMPRESS and AD_CHECK, by preserving those values
11620  *	in the corresponding new interfaces
11621  */
11622 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
11623 /*
11624  * NOTE: the following defines comprise an Unstable interface.  Their semantics
11625  * may change or they may be removed completely in a later release
11626  */
11627 
11628 
11629 
11630 
11631 
11632 
11633 
11634 /*
11635  * Functions of A_CONFIG.  Unstable interface.
11636  */
11637 
11638 
11639 /*
11640  * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT,
11641  * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most
11642  * 256 characters.
11643  */
11644 
11645 
11646 
11647 /*
11648  * FMRI for boot-config service.
11649  */
11650 
11651 
11652 
11653 /*
11654  * Property group that contains all Fast Reboot configuration properties.
11655  */
11656 
11657 
11658 /*
11659  * Property group that contains all Fast Reboot blacklisting information.
11660  */
11661 
11662 
11663 /*
11664  * Non-persistent property group which contains all the properties that
11665  * will override settings in the BOOT_CONFIG_PG_PARAMS property group.
11666  */
11667 
11668 
11669 
11670 
11671 /*
11672  * Flag representations of fastboot configuration.
11673  */
11674 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
11675 extern int uadmin(int, int, uintptr_t);
11676 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
11677 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1
11678 /*
11679  * CDDL HEADER START
11680  *
11681  * The contents of this file are subject to the terms of the
11682  * Common Development and Distribution License, Version 1.0 only
11683  * (the "License").  You may not use this file except in compliance
11684  * with the License.
11685  *
11686  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11687  * or http://www.opensolaris.org/os/licensing.
11688  * See the License for the specific language governing permissions
11689  * and limitations under the License.
11690  *
11691  * When distributing Covered Code, include this CDDL HEADER in each
11692  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11693  * If applicable, add the following below this CDDL HEADER, with the
11694  * fields enclosed by brackets "[]" replaced with your own identifying
11695  * information: Portions Copyright [yyyy] [name of copyright owner]
11696  *
11697  * CDDL HEADER END
11698  */
11699 /*
11700  *	Copyright (c) 1991, Sun Microsystems, Inc.
11701  */
11702 
11703 /*
11704  * DKI/DDI MT synchronization primitives.
11705  */
11706 
11707 
11708 
11709 
11710 #pragma ident "%Z%%M%	%I%	%E% SMI"
11711 
11712 /*
11713  * The presence of this file is specified by the DKI/DDI.
11714  */
11715 
11716 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
11717 /*
11718  * CDDL HEADER START
11719  *
11720  * The contents of this file are subject to the terms of the
11721  * Common Development and Distribution License, Version 1.0 only
11722  * (the "License").  You may not use this file except in compliance
11723  * with the License.
11724  *
11725  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11726  * or http://www.opensolaris.org/os/licensing.
11727  * See the License for the specific language governing permissions
11728  * and limitations under the License.
11729  *
11730  * When distributing Covered Code, include this CDDL HEADER in each
11731  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11732  * If applicable, add the following below this CDDL HEADER, with the
11733  * fields enclosed by brackets "[]" replaced with your own identifying
11734  * information: Portions Copyright [yyyy] [name of copyright owner]
11735  *
11736  * CDDL HEADER END
11737  */
11738 /*
11739  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
11740  * All rights reserved.
11741  */
11742 
11743 /*
11744  * t_lock.h:	Prototypes for disp_locks, plus include files
11745  *		that describe the interfaces to kernel synch.
11746  *		objects.
11747  */
11748 
11749 
11750 
11751 
11752 #pragma ident "%Z%%M%	%I%	%E% SMI"
11753 
11754 
11755 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1
11756 /*
11757  * CDDL HEADER START
11758  *
11759  * The contents of this file are subject to the terms of the
11760  * Common Development and Distribution License (the "License").
11761  * You may not use this file except in compliance with the License.
11762  *
11763  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11764  * or http://www.opensolaris.org/os/licensing.
11765  * See the License for the specific language governing permissions
11766  * and limitations under the License.
11767  *
11768  * When distributing Covered Code, include this CDDL HEADER in each
11769  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11770  * If applicable, add the following below this CDDL HEADER, with the
11771  * fields enclosed by brackets "[]" replaced with your own identifying
11772  * information: Portions Copyright [yyyy] [name of copyright owner]
11773  *
11774  * CDDL HEADER END
11775  */
11776 /*
11777  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
11778  * Use is subject to license terms.
11779  * Copyright 2016 Joyent, Inc.
11780  */
11781 
11782 
11783 
11784 
11785 #pragma ident "%Z%%M%	%I%	%E% SMI"
11786 
11787 
11788 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
11789 /*
11790  * CDDL HEADER START
11791  *
11792  * The contents of this file are subject to the terms of the
11793  * Common Development and Distribution License (the "License").
11794  * You may not use this file except in compliance with the License.
11795  *
11796  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11797  * or http://www.opensolaris.org/os/licensing.
11798  * See the License for the specific language governing permissions
11799  * and limitations under the License.
11800  *
11801  * When distributing Covered Code, include this CDDL HEADER in each
11802  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11803  * If applicable, add the following below this CDDL HEADER, with the
11804  * fields enclosed by brackets "[]" replaced with your own identifying
11805  * information: Portions Copyright [yyyy] [name of copyright owner]
11806  *
11807  * CDDL HEADER END
11808  */
11809 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11810 /*	  All Rights Reserved  	*/
11811 
11812 
11813 /*
11814  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11815  * Use is subject to license terms.
11816  *
11817  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11818  * Copyright 2016 Joyent, Inc.
11819  */
11820 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2
11821 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
11822 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11823 /*	  All Rights Reserved  	*/
11824 
11825 
11826 /*
11827  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
11828  * All rights reserved.  The Berkeley software License Agreement
11829  * specifies the terms and conditions for redistribution.
11830  */
11831 
11832 /*
11833  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11834  *
11835  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11836  * Use is subject to license terms.
11837  *
11838  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11839  */
11840 
11841 /*
11842  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
11843  */
11844 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2
11845 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h"
11846 typedef lock_t disp_lock_t; /* dispatcher lock type */
11847 
11848 /*
11849  * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or
11850  * an adaptive mutex, depending on what interrupt levels use it.
11851  */
11852 
11853 
11854 /*
11855  * Macro to control loops which spin on a lock and then check state
11856  * periodically.  Its passed an integer, and returns a boolean value
11857  * that if true indicates its a good time to get the scheduler lock and
11858  * check the state of the current owner of the lock.
11859  */
11860 
11861 
11862 /*
11863  * Externs for CLOCK_LOCK and clock resolution
11864  */
11865 extern volatile uint32_t hres_lock;
11866 extern hrtime_t hrtime_base;
11867 extern int clock_res;
11868 
11869 
11870 
11871 /*
11872  * The definitions of the symbolic interrupt levels:
11873  *
11874  *   CLOCK_LEVEL =>  The level at which one must be to block the clock.
11875  *
11876  *   LOCK_LEVEL  =>  The highest level at which one may block (and thus the
11877  *                   highest level at which one may acquire adaptive locks)
11878  *                   Also the highest level at which one may be preempted.
11879  *
11880  *   DISP_LEVEL  =>  The level at which one must be to perform dispatcher
11881  *                   operations.
11882  *
11883  * The constraints on the platform:
11884  *
11885  *  - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL
11886  *  - LOCK_LEVEL must be less than DISP_LEVEL
11887  *  - DISP_LEVEL should be as close to LOCK_LEVEL as possible
11888  *
11889  * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal;
11890  * changing this relationship is probably possible but not advised.
11891  *
11892  */
11893 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h"
11894 /*
11895  * The following mask is for the cpu_intr_actv bits corresponding to
11896  * high-level PILs. It should equal:
11897  * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1)
11898  */
11899 
11900 
11901 /*
11902  * The semaphore code depends on being able to represent a lock plus
11903  * owner in a single 32-bit word.  (Mutexes used to have a similar
11904  * dependency, but no longer.)  Thus the owner must contain at most
11905  * 24 significant bits.  At present only threads and semaphores
11906  * must be aware of this vile constraint.  Different ISAs may handle this
11907  * differently depending on their capabilities (e.g. compare-and-swap)
11908  * and limitations (e.g. constraints on alignment and/or KERNELBASE).
11909  */
11910 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
11911 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
11912 /*
11913  * CDDL HEADER START
11914  *
11915  * The contents of this file are subject to the terms of the
11916  * Common Development and Distribution License (the "License").
11917  * You may not use this file except in compliance with the License.
11918  *
11919  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11920  * or http://www.opensolaris.org/os/licensing.
11921  * See the License for the specific language governing permissions
11922  * and limitations under the License.
11923  *
11924  * When distributing Covered Code, include this CDDL HEADER in each
11925  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11926  * If applicable, add the following below this CDDL HEADER, with the
11927  * fields enclosed by brackets "[]" replaced with your own identifying
11928  * information: Portions Copyright [yyyy] [name of copyright owner]
11929  *
11930  * CDDL HEADER END
11931  */
11932 
11933 /*
11934  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
11935  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
11936  */
11937 
11938 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
11939 /*	  All Rights Reserved  	*/
11940 
11941 /*
11942  * University Copyright- Copyright (c) 1982, 1986, 1988
11943  * The Regents of the University of California
11944  * All Rights Reserved
11945  *
11946  * University Acknowledgment- Portions of this document are derived from
11947  * software developed by the University of California, Berkeley, and its
11948  * contributors.
11949  */
11950 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
11951 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1
11952 /*
11953  * CDDL HEADER START
11954  *
11955  * The contents of this file are subject to the terms of the
11956  * Common Development and Distribution License (the "License").
11957  * You may not use this file except in compliance with the License.
11958  *
11959  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11960  * or http://www.opensolaris.org/os/licensing.
11961  * See the License for the specific language governing permissions
11962  * and limitations under the License.
11963  *
11964  * When distributing Covered Code, include this CDDL HEADER in each
11965  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11966  * If applicable, add the following below this CDDL HEADER, with the
11967  * fields enclosed by brackets "[]" replaced with your own identifying
11968  * information: Portions Copyright [yyyy] [name of copyright owner]
11969  *
11970  * CDDL HEADER END
11971  */
11972 /*
11973  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
11974  */
11975 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
11976 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1
11977 /*
11978  * CDDL HEADER START
11979  *
11980  * The contents of this file are subject to the terms of the
11981  * Common Development and Distribution License (the "License").
11982  * You may not use this file except in compliance with the License.
11983  *
11984  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11985  * or http://www.opensolaris.org/os/licensing.
11986  * See the License for the specific language governing permissions
11987  * and limitations under the License.
11988  *
11989  * When distributing Covered Code, include this CDDL HEADER in each
11990  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11991  * If applicable, add the following below this CDDL HEADER, with the
11992  * fields enclosed by brackets "[]" replaced with your own identifying
11993  * information: Portions Copyright [yyyy] [name of copyright owner]
11994  *
11995  * CDDL HEADER END
11996  */
11997 /*
11998  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
11999  * Use is subject to license terms.
12000  */
12001 
12002 /*
12003  * Copyright (c) 2013, Joyent, Inc.  All rights reserved.
12004  */
12005 
12006 
12007 
12008 
12009 /*
12010  * Public interface to readers/writer locks.  See rwlock(9F) for details.
12011  */
12012 
12013 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12014 /*
12015  * CDDL HEADER START
12016  *
12017  * The contents of this file are subject to the terms of the
12018  * Common Development and Distribution License (the "License").
12019  * You may not use this file except in compliance with the License.
12020  *
12021  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12022  * or http://www.opensolaris.org/os/licensing.
12023  * See the License for the specific language governing permissions
12024  * and limitations under the License.
12025  *
12026  * When distributing Covered Code, include this CDDL HEADER in each
12027  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12028  * If applicable, add the following below this CDDL HEADER, with the
12029  * fields enclosed by brackets "[]" replaced with your own identifying
12030  * information: Portions Copyright [yyyy] [name of copyright owner]
12031  *
12032  * CDDL HEADER END
12033  */
12034 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12035 /*	  All Rights Reserved  	*/
12036 
12037 
12038 /*
12039  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12040  * Use is subject to license terms.
12041  *
12042  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12043  * Copyright 2016 Joyent, Inc.
12044  */
12045 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2
12046 
12047 
12048 
12049 
12050 
12051 
12052 
12053 typedef enum {
12054  RW_DRIVER = 2, /* driver (DDI) rwlock */
12055  RW_DEFAULT = 4 /* kernel default rwlock */
12056 } krw_type_t;
12057 
12058 typedef enum {
12059  RW_WRITER,
12060  RW_READER,
12061  RW_READER_STARVEWRITER
12062 } krw_t;
12063 
12064 typedef struct _krwlock {
12065  void *_opaque[1];
12066 } krwlock_t;
12067 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
12068 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1
12069 /*
12070  * CDDL HEADER START
12071  *
12072  * The contents of this file are subject to the terms of the
12073  * Common Development and Distribution License, Version 1.0 only
12074  * (the "License").  You may not use this file except in compliance
12075  * with the License.
12076  *
12077  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12078  * or http://www.opensolaris.org/os/licensing.
12079  * See the License for the specific language governing permissions
12080  * and limitations under the License.
12081  *
12082  * When distributing Covered Code, include this CDDL HEADER in each
12083  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12084  * If applicable, add the following below this CDDL HEADER, with the
12085  * fields enclosed by brackets "[]" replaced with your own identifying
12086  * information: Portions Copyright [yyyy] [name of copyright owner]
12087  *
12088  * CDDL HEADER END
12089  */
12090 /*
12091  * Copyright (c) 1993-1998 by Sun Microsystems, Inc.
12092  * All rights reserved.
12093  */
12094 
12095 
12096 
12097 
12098 #pragma ident "%Z%%M%	%I%	%E% SMI"
12099 
12100 /*
12101  * Public interface to semaphores.  See semaphore(9F) for details.
12102  */
12103 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h"
12104 typedef enum {
12105  SEMA_DEFAULT,
12106  SEMA_DRIVER
12107 } ksema_type_t;
12108 
12109 typedef struct _ksema {
12110  void * _opaque[2]; /* 2 words on 4 byte alignment */
12111 } ksema_t;
12112 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
12113 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1
12114 /*
12115  * CDDL HEADER START
12116  *
12117  * The contents of this file are subject to the terms of the
12118  * Common Development and Distribution License (the "License").
12119  * You may not use this file except in compliance with the License.
12120  *
12121  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12122  * or http://www.opensolaris.org/os/licensing.
12123  * See the License for the specific language governing permissions
12124  * and limitations under the License.
12125  *
12126  * When distributing Covered Code, include this CDDL HEADER in each
12127  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12128  * If applicable, add the following below this CDDL HEADER, with the
12129  * fields enclosed by brackets "[]" replaced with your own identifying
12130  * information: Portions Copyright [yyyy] [name of copyright owner]
12131  *
12132  * CDDL HEADER END
12133  */
12134 /*
12135  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12136  * Use is subject to license terms.
12137  */
12138 
12139 /*
12140  * Copyright (c) 2012 by Delphix. All rights reserved.
12141  */
12142 
12143 /*
12144  * condvar.h:
12145  *
12146  * definitions for thread synchronization primitives: condition variables
12147  * This is the public part of the interface to condition variables. The
12148  * private (implementation-specific) part is in <arch>/sys/condvar_impl.h.
12149  */
12150 
12151 
12152 
12153 
12154 
12155 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12156 /*
12157  * CDDL HEADER START
12158  *
12159  * The contents of this file are subject to the terms of the
12160  * Common Development and Distribution License (the "License").
12161  * You may not use this file except in compliance with the License.
12162  *
12163  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12164  * or http://www.opensolaris.org/os/licensing.
12165  * See the License for the specific language governing permissions
12166  * and limitations under the License.
12167  *
12168  * When distributing Covered Code, include this CDDL HEADER in each
12169  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12170  * If applicable, add the following below this CDDL HEADER, with the
12171  * fields enclosed by brackets "[]" replaced with your own identifying
12172  * information: Portions Copyright [yyyy] [name of copyright owner]
12173  *
12174  * CDDL HEADER END
12175  */
12176 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12177 /*	  All Rights Reserved  	*/
12178 
12179 
12180 /*
12181  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12182  * Use is subject to license terms.
12183  *
12184  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12185  * Copyright 2016 Joyent, Inc.
12186  */
12187 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2
12188 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
12189 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12190 /*	  All Rights Reserved  	*/
12191 
12192 
12193 /*
12194  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
12195  * All rights reserved.  The Berkeley software License Agreement
12196  * specifies the terms and conditions for redistribution.
12197  */
12198 
12199 /*
12200  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
12201  *
12202  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12203  * Use is subject to license terms.
12204  *
12205  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12206  */
12207 
12208 /*
12209  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
12210  */
12211 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2
12212 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h"
12213 /*
12214  * Condtion variables.
12215  */
12216 
12217 typedef struct _kcondvar {
12218  ushort_t _opaque;
12219 } kcondvar_t;
12220 
12221 typedef enum {
12222  CV_DEFAULT,
12223  CV_DRIVER
12224 } kcv_type_t;
12225 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
12226 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h"
12227 /*
12228  * Mutual exclusion locks described in common/sys/mutex.h.
12229  *
12230  * Semaphores described in common/sys/semaphore.h.
12231  *
12232  * Readers/Writer locks described in common/sys/rwlock.h.
12233  *
12234  * Condition variables described in common/sys/condvar.h
12235  */
12236 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2
12237 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12238 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
12239 /*
12240  * CDDL HEADER START
12241  *
12242  * The contents of this file are subject to the terms of the
12243  * Common Development and Distribution License (the "License").
12244  * You may not use this file except in compliance with the License.
12245  *
12246  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12247  * or http://www.opensolaris.org/os/licensing.
12248  * See the License for the specific language governing permissions
12249  * and limitations under the License.
12250  *
12251  * When distributing Covered Code, include this CDDL HEADER in each
12252  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12253  * If applicable, add the following below this CDDL HEADER, with the
12254  * fields enclosed by brackets "[]" replaced with your own identifying
12255  * information: Portions Copyright [yyyy] [name of copyright owner]
12256  *
12257  * CDDL HEADER END
12258  */
12259 /*
12260  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12261  * Use is subject to license terms.
12262  */
12263 
12264 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
12265 /*	  All Rights Reserved	*/
12266 
12267 /*
12268  * Portions of this source code were derived from Berkeley 4.3 BSD
12269  * under license from the Regents of the University of California.
12270  */
12271 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h"
12272 typedef uint16_t sa_family_t;
12273 
12274 
12275 /*
12276  * Structure used by kernel to store most
12277  * addresses.
12278  */
12279 struct sockaddr {
12280  sa_family_t sa_family; /* address family */
12281  char sa_data[14]; /* up to 14 bytes of direct address */
12282 };
12283 
12284 
12285 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1
12286 /*
12287  * CDDL HEADER START
12288  *
12289  * The contents of this file are subject to the terms of the
12290  * Common Development and Distribution License (the "License").
12291  * You may not use this file except in compliance with the License.
12292  *
12293  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12294  * or http://www.opensolaris.org/os/licensing.
12295  * See the License for the specific language governing permissions
12296  * and limitations under the License.
12297  *
12298  * When distributing Covered Code, include this CDDL HEADER in each
12299  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12300  * If applicable, add the following below this CDDL HEADER, with the
12301  * fields enclosed by brackets "[]" replaced with your own identifying
12302  * information: Portions Copyright [yyyy] [name of copyright owner]
12303  *
12304  * CDDL HEADER END
12305  */
12306 /*
12307  * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
12308  */
12309 
12310 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
12311 /*	  All Rights Reserved  	*/
12312 
12313 /*
12314  * University Copyright- Copyright (c) 1982, 1986, 1988
12315  * The Regents of the University of California
12316  * All Rights Reserved
12317  *
12318  * University Acknowledgment- Portions of this document are derived from
12319  * software developed by the University of California, Berkeley, and its
12320  * contributors.
12321  */
12322 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h"
12323 /*
12324  * Definitions for UNIX IPC domain.
12325  */
12326 struct sockaddr_un {
12327  sa_family_t sun_family; /* AF_UNIX */
12328  char sun_path[108]; /* path name (gag) */
12329 };
12330 
12331 
12332 
12333 /*
12334  * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to
12335  * change.
12336  *
12337  * Also, include a strlen() prototype, and we have to protect it w.r.t.
12338  * UNIX{98,03}.  And because there's strlen, we need size_t as well.
12339  */
12340 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h"
12341 extern size_t strlen(const char *);
12342 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2
12343 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1
12344 /*
12345  * Copyright 1993-2003 Sun Microsystems, Inc.  All rights reserved.
12346  * Use is subject to license terms.
12347  */
12348 /*
12349  * Copyright (c) 1990, 1993
12350  *	The Regents of the University of California.  All rights reserved.
12351  *
12352  * Redistribution and use in source and binary forms, with or without
12353  * modification, are permitted provided that the following conditions
12354  * are met:
12355  * 1. Redistributions of source code must retain the above copyright
12356  *    notice, this list of conditions and the following disclaimer.
12357  * 2. Redistributions in binary form must reproduce the above copyright
12358  *    notice, this list of conditions and the following disclaimer in the
12359  *    documentation and/or other materials provided with the distribution.
12360  * 3. All advertising materials mentioning features or use of this software
12361  *    must display the following acknowledgement:
12362  *	This product includes software developed by the University of
12363  *	California, Berkeley and its contributors.
12364  * 4. Neither the name of the University nor the names of its contributors
12365  *    may be used to endorse or promote products derived from this software
12366  *    without specific prior written permission.
12367  *
12368  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
12369  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
12370  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
12371  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
12372  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
12373  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
12374  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
12375  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
12376  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
12377  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
12378  * SUCH DAMAGE.
12379  */
12380 
12381 
12382 
12383 
12384 #pragma ident "%Z%%M%	%I%	%E% SMI"
12385 /* from UCB 8.1 (Berkeley) 6/10/93 */
12386 
12387 
12388 
12389 
12390 
12391 /*
12392  * A Link-Level Sockaddr may specify the interface in one of two
12393  * ways: either by means of a system-provided index number (computed
12394  * anew and possibly differently on every reboot), or by a human-readable
12395  * string such as "il0" (for managerial convenience).
12396  *
12397  * Census taking actions, such as something akin to SIOCGCONF would return
12398  * both the index and the human name.
12399  *
12400  * High volume transactions (such as giving a link-level ``from'' address
12401  * in a recvfrom or recvmsg call) may be likely only to provide the indexed
12402  * form, (which requires fewer copy operations and less space).
12403  *
12404  * The form and interpretation  of the link-level address is purely a matter
12405  * of convention between the device driver and its consumers; however, it is
12406  * expected that all drivers for an interface of a given if_type will agree.
12407  */
12408 
12409 /*
12410  * Structure of a Link-Level sockaddr:
12411  */
12412 struct sockaddr_dl {
12413  ushort_t sdl_family; /* AF_LINK */
12414  ushort_t sdl_index; /* if != 0, system given index for interface */
12415  uchar_t sdl_type; /* interface type */
12416  uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */
12417  uchar_t sdl_alen; /* link level address length */
12418  uchar_t sdl_slen; /* link layer selector length */
12419  char sdl_data[244]; /* contains both if name and ll address */
12420 };
12421 
12422 
12423 
12424 
12425 extern char *_link_ntoa(const unsigned char *, char *, int, int);
12426 extern unsigned char *_link_aton(const char *, int *);
12427 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2
12428 
12429 
12430 
12431 /*
12432  * sockaddr_storage:
12433  * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr
12434  * structures. Has sufficient size and alignment for those sockaddrs.
12435  */
12436 
12437 /*
12438  * Desired maximum size, alignment size and related types.
12439  */
12440 
12441 
12442 /*
12443  * To represent desired sockaddr max alignment for platform, a
12444  * type is chosen which may depend on implementation platform architecture.
12445  * Type chosen based on alignment size restrictions from <sys/isa_defs.h>.
12446  * We desire to force up to (but no more than) 64-bit (8 byte) alignment,
12447  * on platforms where it is possible to do so. (e.g not possible on ia32).
12448  * For all currently supported platforms by our implementation
12449  * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64)
12450  * type "double" is suitable for that intent.
12451  *
12452  * Note: Type "double" is chosen over the more obvious integer type int64_t.
12453  *   int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32.
12454  */
12455 typedef double sockaddr_maxalign_t;
12456 
12457 
12458 
12459 /*
12460  * Definitions used for sockaddr_storage structure paddings design.
12461  */
12462 
12463 
12464 
12465 
12466 struct sockaddr_storage {
12467  sa_family_t ss_family; /* Address family */
12468  /* Following fields are implementation specific */
12469  char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))];
12470  sockaddr_maxalign_t _ss_align;
12471  char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))];
12472 };
12473 
12474 
12475 /*
12476  * To be compatible with the Linux interfaces used, this structure is
12477  * placed in socket_impl.h so that an include for <sys/socket.h> will
12478  * pickup this structure. This structure is for use with PF_PACKET
12479  * sockets.
12480  */
12481 struct sockaddr_ll {
12482  uint16_t sll_family;
12483  uint16_t sll_protocol;
12484  int32_t sll_ifindex;
12485  uint16_t sll_hatype;
12486  uint8_t sll_pkttype;
12487  uint8_t sll_halen;
12488  uint8_t sll_addr[8];
12489 };
12490 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12491 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
12492 /*
12493  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12494  * Use is subject to license terms.
12495  *
12496  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
12497  */
12498 /*
12499  * Copyright (c) 1982, 1986 Regents of the University of California.
12500  * All rights reserved.
12501  *
12502  * Redistribution and use in source and binary forms are permitted
12503  * provided that this notice is preserved and that due credit is given
12504  * to the University of California at Berkeley. The name of the University
12505  * may not be used to endorse or promote products derived from this
12506  * software without specific prior written permission. This software
12507  * is provided ``as is'' without express or implied warranty.
12508  */
12509 
12510 /*
12511  * Constants and structures defined by the internet system,
12512  * according to following documents
12513  *
12514  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
12515  *	http://www.iana.org/assignments/protocol-numbers
12516  *	http://www.iana.org/assignments/port-numbers
12517  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
12518  *
12519  */
12520 
12521 
12522 
12523 
12524 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
12525 /*
12526  * CDDL HEADER START
12527  *
12528  * The contents of this file are subject to the terms of the
12529  * Common Development and Distribution License (the "License").
12530  * You may not use this file except in compliance with the License.
12531  *
12532  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12533  * or http://www.opensolaris.org/os/licensing.
12534  * See the License for the specific language governing permissions
12535  * and limitations under the License.
12536  *
12537  * When distributing Covered Code, include this CDDL HEADER in each
12538  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12539  * If applicable, add the following below this CDDL HEADER, with the
12540  * fields enclosed by brackets "[]" replaced with your own identifying
12541  * information: Portions Copyright [yyyy] [name of copyright owner]
12542  *
12543  * CDDL HEADER END
12544  */
12545 
12546 /*
12547  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
12548  * Copyright 2016 Joyent, Inc.
12549  *
12550  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
12551  * Use is subject to license terms.
12552  */
12553 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
12554 
12555 
12556 
12557 
12558 
12559 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12560 /*
12561  * CDDL HEADER START
12562  *
12563  * The contents of this file are subject to the terms of the
12564  * Common Development and Distribution License (the "License").
12565  * You may not use this file except in compliance with the License.
12566  *
12567  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12568  * or http://www.opensolaris.org/os/licensing.
12569  * See the License for the specific language governing permissions
12570  * and limitations under the License.
12571  *
12572  * When distributing Covered Code, include this CDDL HEADER in each
12573  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12574  * If applicable, add the following below this CDDL HEADER, with the
12575  * fields enclosed by brackets "[]" replaced with your own identifying
12576  * information: Portions Copyright [yyyy] [name of copyright owner]
12577  *
12578  * CDDL HEADER END
12579  */
12580 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12581 /*	  All Rights Reserved  	*/
12582 
12583 
12584 /*
12585  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12586  * Use is subject to license terms.
12587  *
12588  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12589  * Copyright 2016 Joyent, Inc.
12590  */
12591 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
12592 
12593 
12594 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
12595 /*
12596  * CDDL HEADER START
12597  *
12598  * The contents of this file are subject to the terms of the
12599  * Common Development and Distribution License (the "License").
12600  * You may not use this file except in compliance with the License.
12601  *
12602  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12603  * or http://www.opensolaris.org/os/licensing.
12604  * See the License for the specific language governing permissions
12605  * and limitations under the License.
12606  *
12607  * When distributing Covered Code, include this CDDL HEADER in each
12608  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12609  * If applicable, add the following below this CDDL HEADER, with the
12610  * fields enclosed by brackets "[]" replaced with your own identifying
12611  * information: Portions Copyright [yyyy] [name of copyright owner]
12612  *
12613  * CDDL HEADER END
12614  */
12615 /*
12616  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12617  * Use is subject to license terms.
12618  */
12619 
12620 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
12621 /*	  All Rights Reserved	*/
12622 
12623 /*
12624  * Portions of this source code were derived from Berkeley 4.3 BSD
12625  * under license from the Regents of the University of California.
12626  */
12627 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
12628 
12629 
12630 
12631 
12632 
12633 /*
12634  * The socklen definitions are reproduced here from sys/socket.h so as to
12635  * not introduce that namespace into existing users of netinet/in.h.
12636  */
12637 
12638 
12639 
12640 typedef uint32_t socklen_t;
12641 
12642 
12643 
12644 
12645 
12646 typedef void *Psocklen_t;
12647 
12648 
12649 
12650 
12651 
12652 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1
12653 /*
12654  * CDDL HEADER START
12655  *
12656  * The contents of this file are subject to the terms of the
12657  * Common Development and Distribution License (the "License").
12658  * You may not use this file except in compliance with the License.
12659  *
12660  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12661  * or http://www.opensolaris.org/os/licensing.
12662  * See the License for the specific language governing permissions
12663  * and limitations under the License.
12664  *
12665  * When distributing Covered Code, include this CDDL HEADER in each
12666  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12667  * If applicable, add the following below this CDDL HEADER, with the
12668  * fields enclosed by brackets "[]" replaced with your own identifying
12669  * information: Portions Copyright [yyyy] [name of copyright owner]
12670  *
12671  * CDDL HEADER END
12672  */
12673 /*
12674  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12675  * Use is subject to license terms.
12676  */
12677 
12678 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12679 /*	  All Rights Reserved  	*/
12680 
12681 
12682 
12683 
12684 
12685 /*
12686  * For source compatibility
12687  */
12688 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
12689 /*
12690  * CDDL HEADER START
12691  *
12692  * The contents of this file are subject to the terms of the
12693  * Common Development and Distribution License (the "License").
12694  * You may not use this file except in compliance with the License.
12695  *
12696  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12697  * or http://www.opensolaris.org/os/licensing.
12698  * See the License for the specific language governing permissions
12699  * and limitations under the License.
12700  *
12701  *
12702  * When distributing Covered Code, include this CDDL HEADER in each
12703  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12704  * If applicable, add the following below this CDDL HEADER, with the
12705  * fields enclosed by brackets "[]" replaced with your own identifying
12706  * information: Portions Copyright [yyyy] [name of copyright owner]
12707  *
12708  * CDDL HEADER END
12709  */
12710 
12711 /*
12712  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
12713  * Use is subject to license terms.
12714  * Copyright 2016 Joyent, Inc.
12715  */
12716 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
12717 
12718 
12719 
12720 
12721 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1
12722 /*
12723  * CDDL HEADER START
12724  *
12725  * The contents of this file are subject to the terms of the
12726  * Common Development and Distribution License, Version 1.0 only
12727  * (the "License").  You may not use this file except in compliance
12728  * with the License.
12729  *
12730  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12731  * or http://www.opensolaris.org/os/licensing.
12732  * See the License for the specific language governing permissions
12733  * and limitations under the License.
12734  *
12735  * When distributing Covered Code, include this CDDL HEADER in each
12736  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12737  * If applicable, add the following below this CDDL HEADER, with the
12738  * fields enclosed by brackets "[]" replaced with your own identifying
12739  * information: Portions Copyright [yyyy] [name of copyright owner]
12740  *
12741  * CDDL HEADER END
12742  */
12743 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12744 /*	  All Rights Reserved  	*/
12745 
12746 
12747 /*
12748  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
12749  *
12750  * Copyright (c) 1995, 1998 by Sun Microsystems, Inc.
12751  * All rights reserved.
12752  */
12753 
12754 /*
12755  * Copyright 2015, Joyent, Inc.
12756  */
12757 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
12758 /*
12759  * Structure of file descriptor/event pairs supplied in
12760  * the poll arrays.
12761  */
12762 typedef struct pollfd {
12763  int fd; /* file desc to poll */
12764  short events; /* events of interest on fd */
12765  short revents; /* events that occurred on fd */
12766 } pollfd_t;
12767 
12768 typedef unsigned long nfds_t;
12769 
12770 /*
12771  * Testable select events
12772  */
12773 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
12774 /*
12775  * Non-testable poll events (may not be specified in events field,
12776  * but may be returned in revents field).
12777  */
12778 
12779 
12780 
12781 
12782 /*
12783  * These events will never be specified in revents, but may be specified in
12784  * events to control /dev/poll behavior.
12785  */
12786 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
12787 int poll(struct pollfd *, nfds_t, int);
12788 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
12789 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1
12790 /*
12791  * CDDL HEADER START
12792  *
12793  * The contents of this file are subject to the terms of the
12794  * Common Development and Distribution License, Version 1.0 only
12795  * (the "License").  You may not use this file except in compliance
12796  * with the License.
12797  *
12798  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12799  * or http://www.opensolaris.org/os/licensing.
12800  * See the License for the specific language governing permissions
12801  * and limitations under the License.
12802  *
12803  * When distributing Covered Code, include this CDDL HEADER in each
12804  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12805  * If applicable, add the following below this CDDL HEADER, with the
12806  * fields enclosed by brackets "[]" replaced with your own identifying
12807  * information: Portions Copyright [yyyy] [name of copyright owner]
12808  *
12809  * CDDL HEADER END
12810  */
12811 /*
12812  * Copyright (c) 1997-1998 by Sun Microsystems, Inc.
12813  * All rights reserved.
12814  */
12815 
12816 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12817 /*	  All Rights Reserved  	*/
12818 
12819 
12820 
12821 
12822 
12823 #pragma ident "%Z%%M%	%I%	%E% SMI"
12824 
12825 
12826 
12827 
12828 
12829 /*
12830  * This file contains all machine-dependent declarations
12831  * in STREAMS.
12832  */
12833 
12834 /*
12835  * Copy data from one data buffer to another.
12836  * The addresses must be word aligned - if not, use bcopy!
12837  */
12838 
12839 
12840 /*
12841  * save the address of the calling function on the 3b2 to
12842  * enable tracking of who is allocating message blocks
12843  */
12844 
12845 
12846 /*
12847  * macro to check pointer alignment
12848  * (true if alignment is sufficient for worst case)
12849  */
12850 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
12851 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
12852 /*
12853  * CDDL HEADER START
12854  *
12855  * The contents of this file are subject to the terms of the
12856  * Common Development and Distribution License (the "License").
12857  * You may not use this file except in compliance with the License.
12858  *
12859  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12860  * or http://www.opensolaris.org/os/licensing.
12861  * See the License for the specific language governing permissions
12862  * and limitations under the License.
12863  *
12864  * When distributing Covered Code, include this CDDL HEADER in each
12865  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12866  * If applicable, add the following below this CDDL HEADER, with the
12867  * fields enclosed by brackets "[]" replaced with your own identifying
12868  * information: Portions Copyright [yyyy] [name of copyright owner]
12869  *
12870  * CDDL HEADER END
12871  */
12872 /*
12873  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12874  * Use is subject to license terms.
12875  */
12876 
12877 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
12878 /*	  All Rights Reserved  	*/
12879 
12880 /*
12881  * Portions of this source code were derived from Berkeley 4.3 BSD
12882  * under license from the Regents of the University of California.
12883  */
12884 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
12885 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
12886 /*
12887  * CDDL HEADER START
12888  *
12889  * The contents of this file are subject to the terms of the
12890  * Common Development and Distribution License, Version 1.0 only
12891  * (the "License").  You may not use this file except in compliance
12892  * with the License.
12893  *
12894  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12895  * or http://www.opensolaris.org/os/licensing.
12896  * See the License for the specific language governing permissions
12897  * and limitations under the License.
12898  *
12899  * When distributing Covered Code, include this CDDL HEADER in each
12900  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12901  * If applicable, add the following below this CDDL HEADER, with the
12902  * fields enclosed by brackets "[]" replaced with your own identifying
12903  * information: Portions Copyright [yyyy] [name of copyright owner]
12904  *
12905  * CDDL HEADER END
12906  */
12907 /*
12908  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
12909  * All rights reserved.
12910  */
12911 
12912 /*
12913  * t_lock.h:	Prototypes for disp_locks, plus include files
12914  *		that describe the interfaces to kernel synch.
12915  *		objects.
12916  */
12917 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
12918 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1
12919 /*
12920  * CDDL HEADER START
12921  *
12922  * The contents of this file are subject to the terms of the
12923  * Common Development and Distribution License, Version 1.0 only
12924  * (the "License").  You may not use this file except in compliance
12925  * with the License.
12926  *
12927  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12928  * or http://www.opensolaris.org/os/licensing.
12929  * See the License for the specific language governing permissions
12930  * and limitations under the License.
12931  *
12932  * When distributing Covered Code, include this CDDL HEADER in each
12933  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12934  * If applicable, add the following below this CDDL HEADER, with the
12935  * fields enclosed by brackets "[]" replaced with your own identifying
12936  * information: Portions Copyright [yyyy] [name of copyright owner]
12937  *
12938  * CDDL HEADER END
12939  */
12940 /*
12941  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
12942  * Use is subject to license terms.
12943  */
12944 
12945 
12946 
12947 
12948 #pragma ident "%Z%%M%	%I%	%E% SMI"
12949 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h"
12950 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
12951 /*
12952  * CDDL HEADER START
12953  *
12954  * The contents of this file are subject to the terms of the
12955  * Common Development and Distribution License (the "License").
12956  * You may not use this file except in compliance with the License.
12957  *
12958  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12959  * or http://www.opensolaris.org/os/licensing.
12960  * See the License for the specific language governing permissions
12961  * and limitations under the License.
12962  *
12963  *
12964  * When distributing Covered Code, include this CDDL HEADER in each
12965  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12966  * If applicable, add the following below this CDDL HEADER, with the
12967  * fields enclosed by brackets "[]" replaced with your own identifying
12968  * information: Portions Copyright [yyyy] [name of copyright owner]
12969  *
12970  * CDDL HEADER END
12971  */
12972 
12973 /*
12974  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
12975  * Use is subject to license terms.
12976  * Copyright 2016 Joyent, Inc.
12977  */
12978 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2
12979 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h"
12980 /*
12981  * XXX	Ick.  This type needs to be visible outside the above guard because
12982  * the proc structure is visible outside the _KERNEL | _KMEMUSER guard.
12983  * If we can make proc internals less visible, (which we obviously should)
12984  * then this can be invisible too.
12985  */
12986 typedef unsigned int model_t;
12987 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
12988 
12989 
12990 
12991 
12992 
12993 /*
12994  * Data queue.
12995  *
12996  * NOTE: The *only* public fields are documented in queue(9S).
12997  *       Everything else is implementation-private.
12998  *
12999  * The locking rules for the queue_t structure are extremely subtle and vary
13000  * widely depending on the field in question.  As such, each field is
13001  * annotated according to the following legend:
13002  *
13003  *   Q9S: The field is documented in queue(9S) and may be accessed without
13004  *        locks by a STREAMS module when inside an entry point (e.g., put(9E)).
13005  *        However, no fields can be directly modified unless q_lock is held
13006  *        (which is not possible in a DDI compliant STREAMS module), with the
13007  *        following exceptions:
13008  *
13009  *	   - q_ptr: can be modified as per the rules of the STREAMS module.
13010  *		    The STREAMS framework ignores q_ptr and thus imposes *no*
13011  *		    locking rules on it.
13012  *         - q_qinfo: can be modified before qprocson().
13013  *
13014  *	   - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the
13015  *		    rules of the STREAMS module.  The STREAMS framework never
13016  *		    modifies these fields, and is tolerant of temporarily
13017  *		    stale field values.
13018  *
13019  *	  In general, the STREAMS framework employs one of the following
13020  *	  techniques to ensure STREAMS modules can safely access Q9S fields:
13021  *
13022  *	   - The field is only modified by the framework when the stream is
13023  *	     locked with strlock() (q_next).
13024  *
13025  *	   - The field is modified by the framework, but the modifies are
13026  *	     atomic, and temporarily stale values are harmless (q_count,
13027  *	     q_first, q_last).
13028  *
13029  *	   - The field is modified by the framework, but the field's visible
13030  *	     values are either constant or directly under the control
13031  *	     of the STREAMS module itself (q_flag).
13032  *
13033  *   QLK: The field must be accessed or modified under q_lock, except when
13034  *        the stream has been locked with strlock().  If multiple q_locks must
13035  *        be acquired, q_locks at higher addresses must be taken first.
13036  *
13037  *   STR: The field can be accessed without a lock, but must be modified under
13038  *	  strlock().
13039  *
13040  *   SQLK: The field must be accessed or modified under SQLOCK().
13041  *
13042  *   NOLK: The field can be accessed without a lock, but can only be modified
13043  *	   when the queue_t is not known to any other threads.
13044  *
13045  *   SVLK: The field must be accessed or modified under the service_queue lock.
13046  *         Note that service_lock must be taken after any needed q_locks,
13047  *	   and that no other lock should be taken while service_lock is held.
13048  *
13049  * In addition, it is always acceptable to modify a field that is not yet
13050  * known to any other threads -- and other special case exceptions exist in
13051  * the code.  Also, q_lock is used with q_wait to implement a stream head
13052  * monitor for reads and writes.
13053  */
13054 typedef struct queue {
13055  struct qinit *q_qinfo; /* Q9S: Q processing procedure  */
13056  struct msgb *q_first; /* Q9S: first message in Q	*/
13057  struct msgb *q_last; /* Q9S: last message in Q	*/
13058  struct queue *q_next; /* Q9S: next Q in stream	*/
13059  struct queue *q_link; /* SVLK: next Q for scheduling	*/
13060  void *q_ptr; /* Q9S: module-specific data	*/
13061  size_t q_count; /* Q9S: number of bytes on Q	*/
13062  uint_t q_flag; /* Q9S: Q state			*/
13063  ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */
13064  ssize_t q_maxpsz; /* Q9S: largest packet OK on Q	*/
13065  size_t q_hiwat; /* Q9S: Q high water mark	*/
13066  size_t q_lowat; /* Q9S: Q low water mark	*/
13067  struct qband *q_bandp; /* QLK: band flow information	*/
13068  kmutex_t q_lock; /* NOLK: structure lock		*/
13069  struct stdata *q_stream; /* NOLK: stream backpointer	*/
13070  struct syncq *q_syncq; /* NOLK: associated syncq 	*/
13071  unsigned char q_nband; /* QLK: number of bands		*/
13072  kcondvar_t q_wait; /* NOLK: read/write sleep CV	*/
13073  struct queue *q_nfsrv; /* STR: next Q with svc routine */
13074  ushort_t q_draining; /* QLK: Q is draining		*/
13075  short q_struiot; /* QLK: sync streams Q UIO mode	*/
13076  clock_t q_qtstamp; /* QLK: when Q was enabled	*/
13077  size_t q_mblkcnt; /* QLK: mblk count		*/
13078  uint_t q_syncqmsgs; /* QLK: syncq message count	*/
13079  size_t q_rwcnt; /* QLK: # threads in rwnext()	*/
13080  pri_t q_spri; /* QLK: Q scheduling priority	*/
13081 
13082  /*
13083 	 * Syncq scheduling
13084 	 */
13085  struct msgb *q_sqhead; /* QLK: first syncq message	*/
13086  struct msgb *q_sqtail; /* QLK: last syncq message 	*/
13087  struct queue *q_sqnext; /* SQLK: next Q on syncq list	*/
13088  struct queue *q_sqprev; /* SQLK: prev Q on syncq list 	*/
13089  uint_t q_sqflags; /* SQLK: syncq flags		*/
13090  clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */
13091 
13092  /*
13093 	 * NOLK: Reference to the queue's module's implementation
13094 	 * structure. This will be NULL for queues associated with drivers.
13095 	 */
13096  struct fmodsw_impl *q_fp;
13097 } queue_t;
13098 
13099 /*
13100  * Queue flags; unused flags not documented in queue(9S) can be recycled.
13101  */
13102 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13103 /*	UNUSED		0x00000200	   was QHLIST			*/
13104 /* 	UNUSED 		0x00000400	   was QUNSAFE			*/
13105 
13106 
13107 
13108 
13109 
13110 
13111      /* all MT type flags		*/
13112 
13113 
13114 
13115 
13116 
13117 
13118 /*	UNUSED		0x00400000	   was QHOT			*/
13119 /*	UNUSED		0x00800000	   was QNEXTHOT			*/
13120 /* 	UNUSED		0x01000000	   was _QNEXTLESS		*/
13121 
13122 
13123 
13124 
13125      /* direct interface to/from sockfs */
13126 
13127 /* queue sqflags (protected by SQLOCK). */
13128 
13129 
13130      /* This is also noted by the	*/
13131      /* q_draining field, but this one is */
13132      /* protected by SQLOCK */
13133 
13134 /*
13135  * Structure that describes the separate information
13136  * for each priority band in the queue.
13137  */
13138 typedef struct qband {
13139  struct qband *qb_next; /* next band's info */
13140  size_t qb_count; /* number of bytes in band */
13141  struct msgb *qb_first; /* beginning of band's data */
13142  struct msgb *qb_last; /* end of band's data */
13143  size_t qb_hiwat; /* high water mark for band */
13144  size_t qb_lowat; /* low water mark for band */
13145  uint_t qb_flag; /* see below */
13146  size_t qb_mblkcnt; /* mblk counter for runaway msgs */
13147 } qband_t;
13148 
13149 /*
13150  * qband flags
13151  */
13152 
13153 
13154 
13155 
13156 /*
13157  * Maximum number of bands.
13158  */
13159 
13160 
13161 /*
13162  * Fields that can be manipulated through strqset() and strqget().
13163  */
13164 typedef enum qfields {
13165  QHIWAT = 0, /* q_hiwat or qb_hiwat */
13166  QLOWAT = 1, /* q_lowat or qb_lowat */
13167  QMAXPSZ = 2, /* q_maxpsz */
13168  QMINPSZ = 3, /* q_minpsz */
13169  QCOUNT = 4, /* q_count or qb_count */
13170  QFIRST = 5, /* q_first or qb_first */
13171  QLAST = 6, /* q_last or qb_last */
13172  QFLAG = 7, /* q_flag or qb_flag */
13173  QSTRUIOT = 8, /* q_struiot */
13174  QBAD = 9
13175 } qfields_t;
13176 
13177 /*
13178  * Module information structure
13179  */
13180 struct module_info {
13181  ushort_t mi_idnum; /* module id number */
13182  char *mi_idname; /* module name */
13183  ssize_t mi_minpsz; /* min packet size accepted */
13184  ssize_t mi_maxpsz; /* max packet size accepted */
13185  size_t mi_hiwat; /* hi-water mark */
13186  size_t mi_lowat; /* lo-water mark */
13187 };
13188 
13189 /*
13190  * queue information structure (with Synchronous STREAMS extensions)
13191  */
13192 struct qinit {
13193  int (*qi_putp)(); /* put procedure */
13194  int (*qi_srvp)(); /* service procedure */
13195  int (*qi_qopen)(); /* called on startup */
13196  int (*qi_qclose)(); /* called on finish */
13197  int (*qi_qadmin)(); /* for future use */
13198  struct module_info *qi_minfo; /* module information structure */
13199  struct module_stat *qi_mstat; /* module statistics structure */
13200  int (*qi_rwp)(); /* r/w procedure */
13201  int (*qi_infop)(); /* information procedure */
13202  int qi_struiot; /* stream uio type for struio() */
13203 };
13204 
13205 /*
13206  * Values for qi_struiot and q_struiot:
13207  */
13208 
13209 
13210 
13211 
13212 /*
13213  * Streamtab (used in cdevsw and fmodsw to point to module or driver)
13214  */
13215 struct streamtab {
13216  struct qinit *st_rdinit;
13217  struct qinit *st_wrinit;
13218  struct qinit *st_muxrinit;
13219  struct qinit *st_muxwinit;
13220 };
13221 
13222 /*
13223  * Structure sent to mux drivers to indicate a link.
13224  */
13225 struct linkblk {
13226  queue_t *l_qtop; /* lowest level write queue of upper stream */
13227     /* (set to NULL for persistent links) */
13228  queue_t *l_qbot; /* highest level write queue of lower stream */
13229  int l_index; /* index for lower stream. */
13230 };
13231 
13232 /*
13233  * Esballoc data buffer freeing routine
13234  */
13235 typedef struct free_rtn {
13236  void (*free_func)();
13237  caddr_t free_arg;
13238 } frtn_t;
13239 
13240 /*
13241  * Data block descriptor
13242  *
13243  * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields,
13244  * as described in datab(9S).  Everything else is implementation-private.
13245  */
13246 
13247 
13248 
13249 typedef struct datab {
13250  frtn_t *db_frtnp;
13251  unsigned char *db_base;
13252  unsigned char *db_lim;
13253  unsigned char db_ref;
13254  unsigned char db_type;
13255  unsigned char db_flags;
13256  unsigned char db_struioflag;
13257  pid_t db_cpid; /* cached pid, needs verification */
13258  void *db_cache; /* kmem cache descriptor */
13259  struct msgb *db_mblk;
13260  void (*db_free)(struct msgb *, struct datab *);
13261  void (*db_lastfree)(struct msgb *, struct datab *);
13262  intptr_t db_cksumstart;
13263  intptr_t db_cksumend;
13264  intptr_t db_cksumstuff;
13265  union {
13266   double enforce_alignment;
13267   unsigned char data[8];
13268   struct {
13269    union {
13270     uint32_t u32;
13271     uint16_t u16;
13272    } cksum_val; /* used to store calculated cksum */
13273    uint16_t flags;
13274    uint16_t pad;
13275   } cksum;
13276   /*
13277 		 * Union used for future extensions (pointer to data ?).
13278 		 */
13279  } db_struioun;
13280  struct fthdr *db_fthdr;
13281  cred_t *db_credp; /* credential */
13282 } dblk_t;
13283 
13284 
13285 
13286 
13287 /*
13288  * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>).
13289  */
13290 
13291 
13292 
13293 /*
13294  * Used by GLDv2 to store the TCI information.
13295  */
13296 
13297 
13298 /*
13299  * Message block descriptor
13300  */
13301 typedef struct msgb {
13302  struct msgb *b_next;
13303  struct msgb *b_prev;
13304  struct msgb *b_cont;
13305  unsigned char *b_rptr;
13306  unsigned char *b_wptr;
13307  struct datab *b_datap;
13308  unsigned char b_band;
13309  unsigned char b_tag;
13310  unsigned short b_flag;
13311  queue_t *b_queue; /* for sync queues */
13312 } mblk_t;
13313 
13314 /*
13315  * bcache descriptor
13316  */
13317 typedef struct bcache {
13318  kmutex_t mutex;
13319  struct kmem_cache *buffer_cache;
13320  struct kmem_cache *dblk_cache;
13321  int alloc;
13322  int destroy;
13323  size_t size;
13324  uint_t align;
13325 } bcache_t;
13326 
13327 /*
13328  * db_flags values (all implementation private!)
13329  */
13330 
13331 
13332 
13333 
13334 /*
13335  * db_struioflag values:
13336  */
13337 
13338 
13339 
13340 
13341 
13342 
13343 /*
13344  * Message flags.  These are interpreted by the stream head.
13345  */
13346 
13347 
13348     /* write side of stream */
13349 
13350 /*	UNUSED		0x08	   was MSGNOGET (can be recycled) */
13351 
13352 
13353 
13354 
13355 /*
13356  * Streams message types.
13357  */
13358 
13359 /*
13360  * Data and protocol messages (regular and priority)
13361  */
13362 
13363 
13364 
13365 
13366 /*
13367  * Control messages (regular and priority)
13368  */
13369 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13370 /*
13371  * Control messages (high priority; go to head of queue)
13372  */
13373 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13374 /*
13375  * Queue message class definitions.
13376  */
13377 
13378 
13379 
13380 /*
13381  *  IOCTL structure - this structure is the format of the M_IOCTL message type.
13382  */
13383 
13384 struct iocblk {
13385  int ioc_cmd; /* ioctl command type */
13386  cred_t *ioc_cr; /* full credentials */
13387  uint_t ioc_id; /* ioctl id */
13388  uint_t ioc_flag; /* see below */
13389  size_t ioc_count; /* count of bytes in data field */
13390  int ioc_rval; /* return value  */
13391  int ioc_error; /* error code */
13392 };
13393 # 501 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13394 typedef struct iocblk *IOCP;
13395 
13396 /* {ioc,cp}_flags values */
13397 
13398 
13399 
13400 
13401 
13402 
13403 
13404 /*
13405  *	Is the ioctl data formatted for our native model?
13406  */
13407 
13408 
13409 
13410 /*
13411  * structure for the M_COPYIN and M_COPYOUT message types.
13412  */
13413 
13414 struct copyreq {
13415  int cq_cmd; /* ioctl command (from ioc_cmd) */
13416  cred_t *cq_cr; /* full credentials (from ioc_cmd) */
13417  uint_t cq_id; /* ioctl id (from ioc_id) */
13418  uint_t cq_flag; /* must be zero */
13419  mblk_t *cq_private; /* private state information */
13420  caddr_t cq_addr; /* address to copy data to/from */
13421  size_t cq_size; /* number of bytes to copy */
13422 };
13423 # 543 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13424 /*
13425  * structure for the M_IOCDATA message type.
13426  */
13427 
13428 struct copyresp {
13429  int cp_cmd; /* ioctl command (from ioc_cmd) */
13430  cred_t *cp_cr; /* full credentials (from ioc_cmd) */
13431  uint_t cp_id; /* ioctl id (from ioc_id) */
13432  uint_t cp_flag; /* datamodel IOC_ flags; see above */
13433  mblk_t *cp_private; /* private state information */
13434  caddr_t cp_rval; /* status of request: 0 -> success */
13435      /* 		non-zero -> failure */
13436 };
13437 # 571 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13438 /*
13439  * Since these structures are all intended to travel in the same message
13440  * at different stages of a STREAMS ioctl, this union is used to determine
13441  * the message size in strdoioctl().
13442  */
13443 union ioctypes {
13444  struct iocblk iocblk;
13445  struct copyreq copyreq;
13446  struct copyresp copyresp;
13447 };
13448 
13449 /*
13450  * Options structure for M_SETOPTS message.  This is sent upstream
13451  * by a module or driver to set stream head options.
13452  */
13453 struct stroptions {
13454  uint_t so_flags; /* options to set */
13455  short so_readopt; /* read option */
13456  ushort_t so_wroff; /* write offset */
13457  ssize_t so_minpsz; /* minimum read packet size */
13458  ssize_t so_maxpsz; /* maximum read packet size */
13459  size_t so_hiwat; /* read queue high water mark */
13460  size_t so_lowat; /* read queue low water mark */
13461  unsigned char so_band; /* band for water marks */
13462  ushort_t so_erropt; /* error option */
13463  ssize_t so_maxblk; /* maximum message block size */
13464  ushort_t so_copyopt; /* copy options (see stropts.h) */
13465  ushort_t so_tail; /* space available at the end */
13466 };
13467 
13468 /* flags for stream options set message */
13469 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13470 /*
13471  * Miscellaneous parameters and flags.
13472  */
13473 
13474 /*
13475  * Values for stream flag in open to indicate module open, clone open,
13476  * and the return value for failure.
13477  */
13478 
13479 
13480 
13481 
13482 /*
13483  * Priority definitions for block allocation.
13484  */
13485 
13486 
13487 
13488 
13489 /*
13490  * Value for packet size that denotes infinity
13491  */
13492 
13493 
13494 /*
13495  * Flags for flushq()
13496  */
13497 
13498 
13499 
13500 /*
13501  * Flag for transparent ioctls
13502  */
13503 
13504 
13505 /*
13506  * Stream head default high/low water marks
13507  */
13508 
13509 
13510 
13511 /*
13512  * qwriter perimeter types
13513  */
13514 
13515 
13516 
13517 /*
13518  * Definitions of Streams macros and function interfaces.
13519  */
13520 
13521 /*
13522  * canenable - check if queue can be enabled by putq().
13523  */
13524 
13525 
13526 /*
13527  * Test if data block type is one of the data messages (i.e. not a control
13528  * message).
13529  */
13530 
13531 
13532 
13533 
13534 
13535 
13536 
13537 /*
13538  * Extract queue class of message block.
13539  */
13540 
13541 
13542 /*
13543  * Align address on next lower word boundary.
13544  */
13545 
13546 
13547 /*
13548  * Find the max size of data block.
13549  */
13550 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
13551 
13552 /*
13553  * Symbols such as htonl() are required to be exposed through this file,
13554  * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h>
13555  */
13556 
13557 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1
13558 /*
13559  * CDDL HEADER START
13560  *
13561  * The contents of this file are subject to the terms of the
13562  * Common Development and Distribution License (the "License").
13563  * You may not use this file except in compliance with the License.
13564  *
13565  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13566  * or http://www.opensolaris.org/os/licensing.
13567  * See the License for the specific language governing permissions
13568  * and limitations under the License.
13569  *
13570  * When distributing Covered Code, include this CDDL HEADER in each
13571  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13572  * If applicable, add the following below this CDDL HEADER, with the
13573  * fields enclosed by brackets "[]" replaced with your own identifying
13574  * information: Portions Copyright [yyyy] [name of copyright owner]
13575  *
13576  * CDDL HEADER END
13577  */
13578 
13579 /*
13580  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13581  * Use is subject to license terms.
13582  */
13583 
13584 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
13585 /*	  All Rights Reserved  	*/
13586 
13587 /*
13588  * University Copyright- Copyright (c) 1982, 1986, 1988
13589  * The Regents of the University of California
13590  * All Rights Reserved
13591  *
13592  * University Acknowledgment- Portions of this document are derived from
13593  * software developed by the University of California, Berkeley, and its
13594  * contributors.
13595  */
13596 
13597 
13598 
13599 
13600 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
13601 /*
13602  * CDDL HEADER START
13603  *
13604  * The contents of this file are subject to the terms of the
13605  * Common Development and Distribution License (the "License").
13606  * You may not use this file except in compliance with the License.
13607  *
13608  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13609  * or http://www.opensolaris.org/os/licensing.
13610  * See the License for the specific language governing permissions
13611  * and limitations under the License.
13612  *
13613  *
13614  * When distributing Covered Code, include this CDDL HEADER in each
13615  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13616  * If applicable, add the following below this CDDL HEADER, with the
13617  * fields enclosed by brackets "[]" replaced with your own identifying
13618  * information: Portions Copyright [yyyy] [name of copyright owner]
13619  *
13620  * CDDL HEADER END
13621  */
13622 
13623 /*
13624  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
13625  * Use is subject to license terms.
13626  * Copyright 2016 Joyent, Inc.
13627  */
13628 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2
13629 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
13630 /*
13631  * CDDL HEADER START
13632  *
13633  * The contents of this file are subject to the terms of the
13634  * Common Development and Distribution License, Version 1.0 only
13635  * (the "License").  You may not use this file except in compliance
13636  * with the License.
13637  *
13638  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13639  * or http://www.opensolaris.org/os/licensing.
13640  * See the License for the specific language governing permissions
13641  * and limitations under the License.
13642  *
13643  * When distributing Covered Code, include this CDDL HEADER in each
13644  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13645  * If applicable, add the following below this CDDL HEADER, with the
13646  * fields enclosed by brackets "[]" replaced with your own identifying
13647  * information: Portions Copyright [yyyy] [name of copyright owner]
13648  *
13649  * CDDL HEADER END
13650  */
13651 /*
13652  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
13653  *
13654  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
13655  * Use is subject to license terms.
13656  */
13657 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2
13658 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13659 /*
13660  * macros for conversion between host and (internet) network byte order
13661  */
13662 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13663 typedef uint16_t in_port_t;
13664 
13665 
13666 
13667 
13668 typedef uint32_t in_addr_t;
13669 
13670 
13671 
13672 extern uint32_t htonl(uint32_t);
13673 extern uint16_t htons(uint16_t);
13674 extern uint32_t ntohl(uint32_t);
13675 extern uint16_t ntohs(uint16_t);
13676 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13677 extern uint64_t htonll(uint64_t);
13678 extern uint64_t ntohll(uint64_t);
13679 
13680 
13681 
13682 
13683 
13684 
13685 /*
13686  * Macros to reverse byte order
13687  */
13688 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13689 /*
13690  * Macros to convert from a specific byte order to/from native byte order
13691  */
13692 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13693 /*
13694  * Macros to read unaligned values from a specific byte order to
13695  * native byte order
13696  */
13697 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13698 /*
13699  * Macros to write unaligned values from native byte order to a specific byte
13700  * order.
13701  */
13702 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
13703 
13704 
13705 
13706 
13707 
13708 
13709 
13710 /*
13711  * Note: IPv4 address data structures usage conventions.
13712  * The "in_addr_t" type below (required by Unix standards)
13713  * is NOT a typedef of "struct in_addr" and violates the usual
13714  * conventions where "struct <name>" and <name>_t are corresponding
13715  * typedefs.
13716  * To minimize confusion, kernel data structures/usage prefers use
13717  * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t"
13718  * The user level APIs continue to follow the historic popular
13719  * practice of using "struct in_addr".
13720  */
13721 
13722 
13723 
13724 
13725 
13726 
13727 
13728 typedef uint32_t ipaddr_t;
13729 
13730 
13731 
13732 
13733 struct in6_addr {
13734  union {
13735   /*
13736 		 * Note: Static initalizers of "union" type assume
13737 		 * the constant on the RHS is the type of the first member
13738 		 * of union.
13739 		 * To make static initializers (and efficient usage) work,
13740 		 * the order of members exposed to user and kernel view of
13741 		 * this data structure is different.
13742 		 * User environment sees specified uint8_t type as first
13743 		 * member whereas kernel sees most efficient type as
13744 		 * first member.
13745 		 */
13746 
13747 
13748 
13749 
13750   uint8_t _S6_u8[16]; /* IPv6 address */
13751   uint32_t _S6_u32[4]; /* IPv6 address */
13752 
13753   uint32_t __S6_align; /* Align on 32 bit boundary */
13754  } _S6_un;
13755 };
13756 
13757 
13758 
13759 
13760 
13761 
13762 
13763 typedef struct in6_addr in6_addr_t;
13764 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13765 /*
13766  * Protocols
13767  *
13768  * Some of these constant names are copied for the DTrace IP provider in
13769  * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept
13770  * in sync.
13771  */
13772 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13773       /* Transmission Protocol */
13774 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13775 /*
13776  * Port/socket numbers: network standard functions
13777  *
13778  * Entries should exist here for each port number compiled into an ON
13779  * component, such as snoop.
13780  */
13781 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13782 /*
13783  * Port/socket numbers: host specific functions
13784  */
13785 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13786 /*
13787  * Internet Key Exchange (IKE) ports
13788  */
13789 
13790 
13791 
13792 /*
13793  * UNIX TCP sockets
13794  */
13795 
13796 
13797 
13798 
13799 
13800 
13801 /*
13802  * UNIX UDP sockets
13803  */
13804 
13805 
13806 
13807 
13808 
13809 
13810 
13811 /*
13812  * DHCPv6 UDP ports
13813  */
13814 
13815 
13816 
13817 
13818 
13819 /*
13820  * Ports < IPPORT_RESERVED are reserved for
13821  * privileged processes (e.g. root).
13822  * Ports > IPPORT_USERRESERVED are reserved
13823  * for servers, not necessarily privileged.
13824  */
13825 
13826 
13827 
13828 /*
13829  * Link numbers
13830  */
13831 
13832 
13833 
13834 
13835 /*
13836  * IPv4 Internet address
13837  *	This definition contains obsolete fields for compatibility
13838  *	with SunOS 3.x and 4.2bsd.  The presence of subnets renders
13839  *	divisions into fixed fields misleading at best.  New code
13840  *	should use only the s_addr field.
13841  */
13842 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13843 struct in_addr {
13844  union {
13845   struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b;
13846   struct { uint16_t s_w1, s_w2; } S_un_w;
13847 
13848   uint32_t S_addr;
13849 
13850 
13851 
13852  } S_un;
13853 
13854 
13855 
13856 
13857 
13858 
13859 };
13860 
13861 /*
13862  * Definitions of bits in internet address integers.
13863  * On subnets, the decomposition of addresses to host and net parts
13864  * is done according to subnet mask, not the masks here.
13865  *
13866  * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB,
13867  * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto
13868  * obsolete". IN_MULTICAST macro should be used to test if a address
13869  * is a multicast address.
13870  */
13871 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13872 /*
13873  * We have removed CLASS E checks from the kernel
13874  * But we preserve these defines for userland in order
13875  * to avoid compile  breakage of some 3rd party piece of software
13876  */
13877 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13878 /* Scoped IPv4 prefixes (in host byte-order) */
13879 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13880 /* RFC 3927 IPv4 link local address (i in host byte-order) */
13881 
13882 
13883 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */
13884 
13885 
13886 
13887 
13888 
13889 
13890 /*
13891  * Define a macro to stuff the loopback address into an Internet address
13892  */
13893 
13894 
13895 
13896 
13897 
13898 
13899 /*
13900  * IPv4 Socket address.
13901  */
13902 struct sockaddr_in {
13903  sa_family_t sin_family;
13904  in_port_t sin_port;
13905  struct in_addr sin_addr;
13906 
13907  char sin_zero[8];
13908 
13909 
13910 
13911 };
13912 
13913 
13914 /*
13915  * IPv6 socket address.
13916  */
13917 struct sockaddr_in6 {
13918  sa_family_t sin6_family;
13919  in_port_t sin6_port;
13920  uint32_t sin6_flowinfo;
13921  struct in6_addr sin6_addr;
13922  uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */
13923  uint32_t __sin6_src_id; /* Impl. specific - UDP replies */
13924 };
13925 
13926 /*
13927  * Macros for accessing the traffic class and flow label fields from
13928  * sin6_flowinfo.
13929  * These are designed to be applied to a 32-bit value.
13930  */
13931 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13932 /* masks */
13933 
13934 
13935 
13936 
13937 
13938 /*
13939  * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for
13940  * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t)
13941  * only. They need to be different for User/Kernel versions because union
13942  * component data structure is defined differently (it is identical at
13943  * binary representation level).
13944  *
13945  * const struct in6_addr IN6ADDR_ANY_INIT;
13946  * const struct in6_addr IN6ADDR_LOOPBACK_INIT;
13947  */
13948 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13949 /*
13950  * RFC 2553 specifies the following macros. Their type is defined
13951  * as "int" in the RFC but they only have boolean significance
13952  * (zero or non-zero). For the purposes of our comment notation,
13953  * we assume a hypothetical type "bool" defined as follows to
13954  * write the prototypes assumed for macros in our comments better.
13955  *
13956  * typedef int bool;
13957  */
13958 
13959 /*
13960  * IN6 macros used to test for special IPv6 addresses
13961  * (Mostly from spec)
13962  *
13963  * bool  IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *);
13964  * bool  IN6_IS_ADDR_LOOPBACK    (const struct in6_addr *);
13965  * bool  IN6_IS_ADDR_MULTICAST   (const struct in6_addr *);
13966  * bool  IN6_IS_ADDR_LINKLOCAL   (const struct in6_addr *);
13967  * bool  IN6_IS_ADDR_SITELOCAL   (const struct in6_addr *);
13968  * bool  IN6_IS_ADDR_V4MAPPED    (const struct in6_addr *);
13969  * bool  IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553
13970  * bool  IN6_IS_ADDR_V4COMPAT    (const struct in6_addr *);
13971  * bool  IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553
13972  * bool  IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
13973  * bool  IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
13974  * bool  IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
13975  * bool  IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *);
13976  * bool  IN6_IS_ADDR_MC_GLOBAL   (const struct in6_addr *);
13977  * bool  IN6_IS_ADDR_6TO4	 (const struct in6_addr *); -- Not from RFC2553
13978  * bool  IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *,
13979  *	     const struct in6_addr *);			    -- Not from RFC2553
13980  * bool  IN6_IS_ADDR_LINKSCOPE	 (const struct in6addr  *); -- Not from RFC2553
13981  */
13982 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13983 /*
13984  * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY
13985  * Note: This macro is currently NOT defined in RFC2553 specification
13986  * and not a standard macro that portable applications should use.
13987  */
13988 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13989 /* Exclude loopback and unspecified address */
13990 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13991 /*
13992  * Note:
13993  * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553
13994  * specification and not a standard macro that portable applications
13995  * should use.
13996  */
13997 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
13998 /*
13999  * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or
14000  * RFC, and shouldn't be used by portable applications.  It is used to see
14001  * if an address is a solicited-node multicast address, which is prefixed
14002  * with ff02:0:0:0:0:1:ff00::/104.
14003  */
14004 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14005 /*
14006  * Macros to a) test for 6to4 IPv6 address, and b) to test if two
14007  * 6to4 addresses have the same /48 prefix, and, hence, are from the
14008  * same 6to4 site.
14009  */
14010 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14011 /*
14012  * IN6_IS_ADDR_LINKSCOPE
14013  * Identifies an address as being either link-local, link-local multicast or
14014  * node-local multicast.  All types of addresses are considered to be unique
14015  * within the scope of a given link.
14016  */
14017 
14018 
14019 
14020 
14021 /*
14022  * Useful utility macros for operations with IPv6 addresses
14023  * Note: These macros are NOT defined in the RFC2553 or any other
14024  * standard specification and are not standard macros that portable
14025  * applications should use.
14026  */
14027 
14028 /*
14029  * IN6_V4MAPPED_TO_INADDR
14030  * IN6_V4MAPPED_TO_IPADDR
14031  *	Assign a IPv4-Mapped IPv6 address to an IPv4 address.
14032  *	Note: These macros are NOT defined in RFC2553 or any other standard
14033  *	specification and are not macros that portable applications should
14034  *	use.
14035  *
14036  * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4);
14037  * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4);
14038  *
14039  */
14040 
14041 
14042 
14043 
14044 
14045 /*
14046  * IN6_INADDR_TO_V4MAPPED
14047  * IN6_IPADDR_TO_V4MAPPED
14048  *	Assign a IPv4 address address to an IPv6 address as a IPv4-mapped
14049  *	address.
14050  *	Note: These macros are NOT defined in RFC2553 or any other standard
14051  *	specification and are not macros that portable applications should
14052  *	use.
14053  *
14054  * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6);
14055  * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6);
14056  *
14057  */
14058 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14059 /*
14060  * IN6_6TO4_TO_V4ADDR
14061  *	Extract the embedded IPv4 address from the prefix to a 6to4 IPv6
14062  *      address.
14063  *	Note: This macro is NOT defined in RFC2553 or any other standard
14064  *	specification and is not a macro that portable applications should
14065  *	use.
14066  *	Note: we don't use the IPADDR form of the macro because we need
14067  *	to do a bytewise copy; the V4ADDR in the 6to4 address is not
14068  *	32-bit aligned.
14069  *
14070  * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4);
14071  *
14072  */
14073 
14074 
14075 
14076 
14077 
14078 
14079 /*
14080  * IN6_V4ADDR_TO_6TO4
14081  *	Given an IPv4 address and an IPv6 address for output, a 6to4 address
14082  *	will be created from the IPv4 Address.
14083  *	Note:  This method for creating 6to4 addresses is not standardized
14084  *	outside of Solaris.  The newly created 6to4 address will be of the form
14085  *	2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and
14086  *	HOSTID will equal 1.
14087  *
14088  * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6)
14089  *
14090  */
14091 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14092 /*
14093  * IN6_ARE_ADDR_EQUAL (defined in RFC2292)
14094  *	 Compares if IPv6 addresses are equal.
14095  * Note: Compares in order of high likelyhood of a miss so we minimize
14096  * compares. (Current heuristic order, compare in reverse order of
14097  * uint32_t units)
14098  *
14099  * bool  IN6_ARE_ADDR_EQUAL(const struct in6_addr *,
14100  *			    const struct in6_addr *);
14101  */
14102 
14103 
14104 
14105 
14106 
14107 
14108 /*
14109  * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs)
14110  *	Compares if prefixed parts of IPv6 addresses are equal.
14111  *
14112  * uint32_t IN6_MASK_FROM_PREFIX(int, int);
14113  * bool     IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *,
14114  *				       const struct in6_addr *,
14115  *				       int);
14116  */
14117 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14118 /*
14119  * Options for use with [gs]etsockopt at the IP level.
14120  *
14121  * Note: Some of the IP_ namespace has conflict with and
14122  * and is exposed through <xti.h>. (It also requires exposing
14123  * options not implemented). The options with potential
14124  * for conflicts use #ifndef guards.
14125  */
14126 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14127 /*
14128  * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in
14129  * is used to differentiate b/w the two.
14130  */
14131 
14132 
14133 
14134 
14135 
14136 /*
14137  * Different preferences that can be requested from IPSEC protocols.
14138  */
14139 
14140 
14141 
14142 
14143 /*
14144  * This can be used with the setsockopt() call to set per socket security
14145  * options. When the application uses per-socket API, we will reflect
14146  * the request on both outbound and inbound packets.
14147  */
14148 
14149 typedef struct ipsec_req {
14150  uint_t ipsr_ah_req; /* AH request */
14151  uint_t ipsr_esp_req; /* ESP request */
14152  uint_t ipsr_self_encap_req; /* Self-Encap request */
14153  uint8_t ipsr_auth_alg; /* Auth algs for AH */
14154  uint8_t ipsr_esp_alg; /* Encr algs for ESP */
14155  uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */
14156 } ipsec_req_t;
14157 
14158 /*
14159  * MCAST_* options are protocol-independent.  The actual definitions
14160  * are with the v6 options below; this comment is here to note the
14161  * namespace usage.
14162  *
14163  * #define	MCAST_JOIN_GROUP	0x29
14164  * #define	MCAST_LEAVE_GROUP	0x2a
14165  * #define	MCAST_BLOCK_SOURCE	0x2b
14166  * #define	MCAST_UNBLOCK_SOURCE	0x2c
14167  * #define	MCAST_JOIN_SOURCE_GROUP	0x2d
14168  * #define	MCAST_LEAVE_SOURCE_GROUP 0x2e
14169  */
14170 
14171 
14172 /*
14173  * SunOS private (potentially not portable) IP_ option names
14174  */
14175 
14176 
14177 
14178 /* can be reused		0x44 */
14179 
14180 
14181 /*
14182  * Option values and names (when !_XPG5) shared with <xti_inet.h>
14183  */
14184 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14185 /*
14186  * The following option values are reserved by <xti_inet.h>
14187  *
14188  * T_IP_OPTIONS	0x107	 -  IP per-packet options
14189  * T_IP_TOS	0x108	 -  IP per packet type of service
14190  */
14191 
14192 /*
14193  * Default value constants for multicast attributes controlled by
14194  * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options.
14195  */
14196 
14197 
14198 
14199 
14200 /*
14201  * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
14202  */
14203 struct ip_mreq {
14204  struct in_addr imr_multiaddr; /* IP multicast address of group */
14205  struct in_addr imr_interface; /* local IP address of interface */
14206 };
14207 
14208 /*
14209  * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE,
14210  * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP.
14211  */
14212 struct ip_mreq_source {
14213  struct in_addr imr_multiaddr; /* IP address of group */
14214  struct in_addr imr_sourceaddr; /* IP address of source */
14215  struct in_addr imr_interface; /* IP address of interface */
14216 };
14217 
14218 /*
14219  * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on
14220  * IPv6 addresses.
14221  */
14222 struct ipv6_mreq {
14223  struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */
14224  unsigned int ipv6mr_interface; /* interface index */
14225 };
14226 
14227 /*
14228  * Use #pragma pack() construct to force 32-bit alignment on amd64.
14229  * This is needed to keep the structure size and offsets consistent
14230  * between a 32-bit app and the 64-bit amd64 kernel in structures
14231  * where 64-bit alignment would create gaps (in this case, structures
14232  * which have a uint32_t followed by a struct sockaddr_storage).
14233  */
14234 
14235 
14236 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14237 #pragma pack(4)
14238 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14239 
14240 
14241 
14242 /*
14243  * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP.
14244  */
14245 struct group_req {
14246  uint32_t gr_interface; /* interface index */
14247  struct sockaddr_storage gr_group; /* group address */
14248 };
14249 
14250 /*
14251  * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE,
14252  * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP.
14253  */
14254 struct group_source_req {
14255  uint32_t gsr_interface; /* interface index */
14256  struct sockaddr_storage gsr_group; /* group address */
14257  struct sockaddr_storage gsr_source; /* source address */
14258 };
14259 
14260 /*
14261  * Argument for SIOC[GS]MSFILTER ioctls
14262  */
14263 struct group_filter {
14264  uint32_t gf_interface; /* interface index */
14265  struct sockaddr_storage gf_group; /* multicast address */
14266  uint32_t gf_fmode; /* filter mode */
14267  uint32_t gf_numsrc; /* number of sources */
14268  struct sockaddr_storage gf_slist[1]; /* source address */
14269 };
14270 
14271 
14272 
14273 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14274 #pragma pack()
14275 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14276 
14277 
14278 
14279 
14280 
14281 
14282 
14283 /*
14284  * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific)
14285  */
14286 struct ip_msfilter {
14287  struct in_addr imsf_multiaddr; /* IP multicast address of group */
14288  struct in_addr imsf_interface; /* local IP address of interface */
14289  uint32_t imsf_fmode; /* filter mode */
14290  uint32_t imsf_numsrc; /* number of sources in src_list */
14291  struct in_addr imsf_slist[1]; /* start of source list */
14292 };
14293 
14294 
14295 
14296 
14297 
14298 /*
14299  * Multicast source filter manipulation functions in libsocket;
14300  * defined in RFC 3678.
14301  */
14302 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t,
14303    uint_t, struct sockaddr_storage *);
14304 
14305 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *,
14306    uint_t *, struct sockaddr_storage *);
14307 
14308 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t,
14309    uint32_t, struct in_addr *);
14310 
14311 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *,
14312    uint32_t *, struct in_addr *);
14313 
14314 /*
14315  * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter()
14316  */
14317 
14318 
14319 
14320 /*
14321  * Argument struct for IP_PKTINFO option
14322  */
14323 typedef struct in_pktinfo {
14324  unsigned int ipi_ifindex; /* send/recv interface index */
14325  struct in_addr ipi_spec_dst; /* matched source address */
14326  struct in_addr ipi_addr; /* src/dst address in IP hdr */
14327 } in_pktinfo_t;
14328 
14329 /*
14330  * Argument struct for IPV6_PKTINFO option
14331  */
14332 struct in6_pktinfo {
14333  struct in6_addr ipi6_addr; /* src/dst IPv6 address */
14334  unsigned int ipi6_ifindex; /* send/recv interface index */
14335 };
14336 
14337 /*
14338  * Argument struct for IPV6_MTUINFO option
14339  */
14340 struct ip6_mtuinfo {
14341  struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */
14342  uint32_t ip6m_mtu; /* path MTU in host byte order */
14343 };
14344 
14345 /*
14346  * IPv6 routing header types
14347  */
14348 
14349 
14350 extern socklen_t inet6_rth_space(int type, int segments);
14351 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments);
14352 extern int inet6_rth_add(void *bp, const struct in6_addr *addr);
14353 extern int inet6_rth_reverse(const void *in, void *out);
14354 extern int inet6_rth_segments(const void *bp);
14355 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index);
14356 
14357 extern int inet6_opt_init(void *extbuf, socklen_t extlen);
14358 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset,
14359  uint8_t type, socklen_t len, uint_t align, void **databufp);
14360 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset);
14361 extern int inet6_opt_set_val(void *databuf, int offset, void *val,
14362  socklen_t vallen);
14363 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset,
14364  uint8_t *typep, socklen_t *lenp, void **databufp);
14365 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset,
14366  uint8_t type, socklen_t *lenp, void **databufp);
14367 extern int inet6_opt_get_val(void *databuf, int offset, void *val,
14368  socklen_t vallen);
14369 
14370 
14371 /*
14372  * Argument structure for IP_ADD_PROXY_ADDR.
14373  * Note that this is an unstable, experimental interface. It may change
14374  * later. Don't use it unless you know what it is.
14375  */
14376 typedef struct {
14377  struct in_addr in_prefix_addr;
14378  unsigned int in_prefix_len;
14379 } in_prefix_t;
14380 
14381 
14382 
14383 /*
14384  * IPv6 options
14385  */
14386 
14387      /* packets. */
14388      /* argument type: uint_t */
14389 
14390      /* multicast packets. */
14391      /* argument type: struct in6_addr */
14392 
14393      /* multicast packets. */
14394      /* argument type: uint_t */
14395 
14396      /* multicast packets on same socket. */
14397      /* argument type: uint_t */
14398 
14399      /* argument type: struct ipv6_mreq */
14400 
14401      /* argument type: struct ipv6_mreq */
14402 
14403 /*
14404  * Other XPG6 constants.
14405  */
14406 
14407      /* decimal notation. */
14408 
14409      /* standard colon-hex notation. */
14410 
14411 
14412 
14413 
14414 
14415 /*
14416  * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept
14417  * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP
14418  * and IPV6_LEAVE_GROUP respectively.
14419  */
14420 
14421      /* argument type: struct ipv6_mreq */
14422 
14423      /* argument type: struct ipv6_mreq */
14424 
14425 
14426      /* arg type: "struct in6_pktingo" - */
14427 
14428 
14429 
14430 
14431      /* the routing header */
14432 
14433 
14434      /* the routing header */
14435 
14436 
14437 
14438 
14439 /*
14440  * This options exists for backwards compatability and should no longer be
14441  * used.  Use IPV6_RECVDSTOPTS instead.
14442  */
14443 
14444 
14445 
14446 
14447 /*
14448  * enable/disable IPV6_RTHDRDSTOPTS.  Now obsolete.  IPV6_RECVDSTOPTS enables
14449  * the receipt of both headers.
14450  */
14451 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14452 /*
14453  * enable/disable receipt of both both IPV6_DSTOPTS headers.
14454  */
14455 
14456 
14457 /*
14458  * protocol-independent multicast membership options.
14459  */
14460 
14461 
14462 
14463 
14464 
14465 
14466 
14467 /* 32Bit field for IPV6_SRC_PREFERENCES */
14468 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14469 /*
14470  * SunOS private (potentially not portable) IPV6_ option names
14471  */
14472 
14473 
14474      /* unspecified (all zeros) */
14475 
14476 /*
14477  * Miscellaneous IPv6 constants.
14478  */
14479 
14480 
14481 
14482 
14483 /*
14484  * Extern declarations for pre-defined global const variables
14485  */
14486 
14487 
14488 
14489 extern const struct in6_addr in6addr_any;
14490 extern const struct in6_addr in6addr_loopback;
14491 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
14492 
14493 
14494 
14495 
14496 
14497 /*
14498  * NOTE
14499  *
14500  * The contents of this file are private to the implementation of
14501  * Solaris and are subject to change at any time without notice.
14502  * Applications and drivers using these interfaces may fail to
14503  * run on future releases.
14504  */
14505 
14506 /* Available both in kernel and for user space */
14507 
14508 /* zone id restrictions and special ids */
14509 
14510 
14511 
14512 
14513 
14514 
14515 /*
14516  * Special zoneid_t token to refer to all zones.
14517  */
14518 
14519 
14520 /* system call subcodes */
14521 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
14522 /* zone attributes */
14523 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
14524 /* Start of the brand-specific attribute namespace */
14525 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
14526 /*
14527  * Exit values that may be returned by scripts or programs invoked by various
14528  * zone commands.
14529  *
14530  * These are defined as:
14531  *
14532  *	ZONE_SUBPROC_OK
14533  *	===============
14534  *	The subprocess completed successfully.
14535  *
14536  *	ZONE_SUBPROC_USAGE
14537  *	==================
14538  *	The subprocess failed with a usage message, or a usage message should
14539  *	be output in its behalf.
14540  *
14541  *	ZONE_SUBPROC_NOTCOMPLETE
14542  *	========================
14543  *	The subprocess did not complete, but the actions performed by the
14544  *	subprocess require no recovery actions by the user.
14545  *
14546  *	For example, if the subprocess were called by "zoneadm install," the
14547  *	installation of the zone did not succeed but the user need not perform
14548  *	a "zoneadm uninstall" before attempting another install.
14549  *
14550  *	ZONE_SUBPROC_FATAL
14551  *	==================
14552  *	The subprocess failed in a fatal manner, usually one that will require
14553  *	some type of recovery action by the user.
14554  *
14555  *	For example, if the subprocess were called by "zoneadm install," the
14556  *	installation of the zone did not succeed and the user will need to
14557  *	perform a "zoneadm uninstall" before another install attempt is
14558  *	possible.
14559  *
14560  *	The non-success exit values are large to avoid accidental collision
14561  *	with values used internally by some commands (e.g. "Z_ERR" and
14562  *	"Z_USAGE" as used by zoneadm.)
14563  */
14564 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
14565 typedef struct {
14566  const char *zone_name;
14567  const char *zone_root;
14568  const struct priv_set *zone_privs;
14569  size_t zone_privssz;
14570  const char *rctlbuf;
14571  size_t rctlbufsz;
14572  int *extended_error;
14573  const char *zfsbuf;
14574  size_t zfsbufsz;
14575  int match; /* match level */
14576  uint32_t doi; /* DOI for label */
14577  const bslabel_t *label; /* label associated with zone */
14578  int flags;
14579 } zone_def;
14580 
14581 /* extended error information */
14582 
14583 
14584 
14585 
14586 
14587 /*
14588  * zone_status values
14589  *
14590  * You must modify zone_status_names in mdb(1M)'s genunix module
14591  * (genunix/zone.c) when you modify this enum.
14592  */
14593 typedef enum {
14594  ZONE_IS_UNINITIALIZED = 0,
14595  ZONE_IS_INITIALIZED,
14596  ZONE_IS_READY,
14597  ZONE_IS_BOOTING,
14598  ZONE_IS_RUNNING,
14599  ZONE_IS_SHUTTING_DOWN,
14600  ZONE_IS_EMPTY,
14601  ZONE_IS_DOWN,
14602  ZONE_IS_DYING,
14603  ZONE_IS_DEAD
14604 } zone_status_t;
14605 
14606 
14607 
14608 /*
14609  * Valid commands which may be issued by zoneadm to zoneadmd.  The kernel also
14610  * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT.
14611  */
14612 typedef enum zone_cmd {
14613  Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING,
14614  Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN
14615 } zone_cmd_t;
14616 
14617 /*
14618  * The structure of a request to zoneadmd.
14619  */
14620 typedef struct zone_cmd_arg {
14621  uint64_t uniqid; /* unique "generation number" */
14622  zone_cmd_t cmd; /* requested action */
14623  uint32_t _pad; /* need consistent 32/64 bit alignmt */
14624  char locale[1024]; /* locale in which to render messages */
14625  char bootbuf[256]; /* arguments passed to zone_boot() */
14626 } zone_cmd_arg_t;
14627 
14628 /*
14629  * Structure of zoneadmd's response to a request.  A NULL return value means
14630  * the caller should attempt to restart zoneadmd and retry.
14631  */
14632 typedef struct zone_cmd_rval {
14633  int rval; /* return value of request */
14634  char errbuf[1]; /* variable-sized buffer containing error messages */
14635 } zone_cmd_rval_t;
14636 
14637 /*
14638  * The zone support infrastructure uses the zone name as a component
14639  * of unix domain (AF_UNIX) sockets, which are limited to 108 characters
14640  * in length, so ZONENAME_MAX is limited by that.
14641  */
14642 
14643 
14644 
14645 
14646 /*
14647  * Extended Regular expression (see regex(5)) which matches all valid zone
14648  * names.
14649  */
14650 
14651 
14652 /*
14653  * Where the zones support infrastructure places temporary files.
14654  */
14655 
14656 
14657 /*
14658  * The path to the door used by clients to communicate with zoneadmd.
14659  */
14660 
14661 
14662 
14663 /* zone_flags */
14664 /*
14665  * Threads that read or write the following flag must hold zone_lock.
14666  */
14667 
14668 
14669 /*
14670  * The following threads are set when the zone is created and never changed.
14671  * Threads that test for these flags don't have to hold zone_lock.
14672  */
14673 
14674 
14675 
14676 
14677 
14678 /* zone_create flags */
14679 
14680 
14681 /* zone network properties */
14682 
14683 
14684 
14685 
14686 
14687 
14688 typedef struct zone_net_data {
14689  int zn_type;
14690  int zn_len;
14691  datalink_id_t zn_linkid;
14692  uint8_t zn_val[1];
14693 } zone_net_data_t;
14694 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
14695 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1
14696 /*
14697  * CDDL HEADER START
14698  *
14699  * The contents of this file are subject to the terms of the
14700  * Common Development and Distribution License (the "License").
14701  * You may not use this file except in compliance with the License.
14702  *
14703  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14704  * or http://www.opensolaris.org/os/licensing.
14705  * See the License for the specific language governing permissions
14706  * and limitations under the License.
14707  *
14708  * When distributing Covered Code, include this CDDL HEADER in each
14709  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14710  * If applicable, add the following below this CDDL HEADER, with the
14711  * fields enclosed by brackets "[]" replaced with your own identifying
14712  * information: Portions Copyright [yyyy] [name of copyright owner]
14713  *
14714  * CDDL HEADER END
14715  */
14716 /*
14717  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
14718  *
14719  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
14720  */
14721 
14722 
14723 
14724 
14725 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
14726 /*
14727  * CDDL HEADER START
14728  *
14729  * The contents of this file are subject to the terms of the
14730  * Common Development and Distribution License (the "License").
14731  * You may not use this file except in compliance with the License.
14732  *
14733  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14734  * or http://www.opensolaris.org/os/licensing.
14735  * See the License for the specific language governing permissions
14736  * and limitations under the License.
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 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
14747 /*	  All Rights Reserved  	*/
14748 
14749 
14750 /*
14751  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14752  * Use is subject to license terms.
14753  *
14754  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
14755  * Copyright 2016 Joyent, Inc.
14756  */
14757 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
14758 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
14759 /*
14760  * CDDL HEADER START
14761  *
14762  * The contents of this file are subject to the terms of the
14763  * Common Development and Distribution License (the "License").
14764  * You may not use this file except in compliance 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 /*
14780  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
14781  * Use is subject to license terms.
14782  */
14783 
14784 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
14785 /*	  All Rights Reserved  	*/
14786 
14787 /*
14788  * Portions of this source code were derived from Berkeley 4.3 BSD
14789  * under license from the Regents of the University of California.
14790  */
14791 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
14792 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1
14793 /*
14794  * CDDL HEADER START
14795  *
14796  * The contents of this file are subject to the terms of the
14797  * Common Development and Distribution License (the "License").
14798  * You may not use this file except in compliance with the License.
14799  *
14800  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14801  * or http://www.opensolaris.org/os/licensing.
14802  * See the License for the specific language governing permissions
14803  * and limitations under the License.
14804  *
14805  * When distributing Covered Code, include this CDDL HEADER in each
14806  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14807  * If applicable, add the following below this CDDL HEADER, with the
14808  * fields enclosed by brackets "[]" replaced with your own identifying
14809  * information: Portions Copyright [yyyy] [name of copyright owner]
14810  *
14811  * CDDL HEADER END
14812  */
14813 /*
14814  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
14815  * Copyright 2015, Joyent, Inc. All rights reserved.
14816  *
14817  * Privilege constant definitions.  Privileges and privilege sets
14818  * are only known by name and should be mapped at runtime.
14819  *
14820  * THIS FILE WAS GENERATED; DO NOT EDIT
14821  */
14822 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h"
14823 /*
14824  * Privilege names
14825  */
14826 /*
14827  * Allows a process to request critical events without limitation.
14828  * Allows a process to request reliable delivery of all events on
14829  * any event queue.
14830  */
14831 
14832 
14833 /*
14834  * Allows a process to set the service FMRI value of a process
14835  * contract template.
14836  */
14837 
14838 
14839 /*
14840  * Allows a process to observe contract events generated by
14841  * contracts created and owned by users other than the process's
14842  * effective user ID.
14843  * Allows a process to open contract event endpoints belonging to
14844  * contracts created and owned by users other than the process's
14845  * effective user ID.
14846  */
14847 
14848 
14849 /*
14850  * Allow a process to access per-CPU hardware performance counters.
14851  */
14852 
14853 
14854 /*
14855  * Allows DTrace kernel-level tracing.
14856  */
14857 
14858 
14859 /*
14860  * Allows DTrace process-level tracing.
14861  * Allows process-level tracing probes to be placed and enabled in
14862  * processes to which the user has permissions.
14863  */
14864 
14865 
14866 /*
14867  * Allows DTrace user-level tracing.
14868  * Allows use of the syscall and profile DTrace providers to
14869  * examine processes to which the user has permissions.
14870  */
14871 
14872 
14873 /*
14874  * Allows a process to change a file's owner user ID.
14875  * Allows a process to change a file's group ID to one other than
14876  * the process' effective group ID or one of the process'
14877  * supplemental group IDs.
14878  */
14879 
14880 
14881 /*
14882  * Allows a process to give away its files; a process with this
14883  * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not
14884  * in effect.
14885  */
14886 
14887 
14888 /*
14889  * Allows a process to execute an executable file whose permission
14890  * bits or ACL do not allow the process execute permission.
14891  */
14892 
14893 
14894 /*
14895  * Allows a process to read a file or directory whose permission
14896  * bits or ACL do not allow the process read permission.
14897  */
14898 
14899 
14900 /*
14901  * Allows a process to search a directory whose permission bits or
14902  * ACL do not allow the process search permission.
14903  */
14904 
14905 
14906 /*
14907  * Allows a process to write a file or directory whose permission
14908  * bits or ACL do not allow the process write permission.
14909  * In order to write files owned by uid 0 in the absence of an
14910  * effective uid of 0 ALL privileges are required.
14911  */
14912 
14913 
14914 /*
14915  * Allows a process to set the sensitivity label of a file or
14916  * directory to a sensitivity label that does not dominate the
14917  * existing sensitivity label.
14918  * This privilege is interpreted only if the system is configured
14919  * with Trusted Extensions.
14920  */
14921 
14922 
14923 /*
14924  * Allows a process to set immutable, nounlink or appendonly
14925  * file attributes.
14926  */
14927 
14928 
14929 /*
14930  * Allows a process to create hardlinks to files owned by a uid
14931  * different from the process' effective uid.
14932  */
14933 
14934 
14935 /*
14936  * Allows a process which is not the owner of a file or directory
14937  * to perform the following operations that are normally permitted
14938  * only for the file owner: modify that file's access and
14939  * modification times; remove or rename a file or directory whose
14940  * parent directory has the ``save text image after execution''
14941  * (sticky) bit set; mount a ``namefs'' upon a file; modify
14942  * permission bits or ACL except for the set-uid and set-gid
14943  * bits.
14944  */
14945 
14946 
14947 /*
14948  * Allows a process to read objects in the filesystem.
14949  */
14950 
14951 
14952 /*
14953  * Allows a process to change the ownership of a file or write to
14954  * a file without the set-user-ID and set-group-ID bits being
14955  * cleared.
14956  * Allows a process to set the set-group-ID bit on a file or
14957  * directory whose group is not the process' effective group or
14958  * one of the process' supplemental groups.
14959  * Allows a process to set the set-user-ID bit on a file with
14960  * different ownership in the presence of PRIV_FILE_OWNER.
14961  * Additional restrictions apply when creating or modifying a
14962  * set-uid 0 file.
14963  */
14964 
14965 
14966 /*
14967  * Allows a process to set the sensitivity label of a file or
14968  * directory to a sensitivity label that dominates the existing
14969  * sensitivity label.
14970  * This privilege is interpreted only if the system is configured
14971  * with Trusted Extensions.
14972  */
14973 
14974 
14975 /*
14976  * Allows a process to modify objects in the filesystem.
14977  */
14978 
14979 
14980 /*
14981  * Allows a process to make privileged ioctls to graphics devices.
14982  * Typically only xserver process needs to have this privilege.
14983  * A process with this privilege is also allowed to perform
14984  * privileged graphics device mappings.
14985  */
14986 
14987 
14988 /*
14989  * Allows a process to perform privileged mappings through a
14990  * graphics device.
14991  */
14992 
14993 
14994 /*
14995  * Allows a process to read a System V IPC
14996  * Message Queue, Semaphore Set, or Shared Memory Segment whose
14997  * permission bits do not allow the process read permission.
14998  * Allows a process to read remote shared memory whose
14999  * permission bits do not allow the process read permission.
15000  */
15001 
15002 
15003 /*
15004  * Allows a process to write a System V IPC
15005  * Message Queue, Semaphore Set, or Shared Memory Segment whose
15006  * permission bits do not allow the process write permission.
15007  * Allows a process to read remote shared memory whose
15008  * permission bits do not allow the process write permission.
15009  * Additional restrictions apply if the owner of the object has uid 0
15010  * and the effective uid of the current process is not 0.
15011  */
15012 
15013 
15014 /*
15015  * Allows a process which is not the owner of a System
15016  * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to
15017  * remove, change ownership of, or change permission bits of the
15018  * Message Queue, Semaphore Set, or Shared Memory Segment.
15019  * Additional restrictions apply if the owner of the object has uid 0
15020  * and the effective uid of the current process is not 0.
15021  */
15022 
15023 
15024 /*
15025  * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint.
15026  */
15027 
15028 
15029 /*
15030  * Allow a process to bind to a port that is configured as a
15031  * multi-level port(MLP) for the process's zone. This privilege
15032  * applies to both shared address and zone-specific address MLPs.
15033  * See tnzonecfg(4) from the Trusted Extensions manual pages for
15034  * information on configuring MLP ports.
15035  * This privilege is interpreted only if the system is configured
15036  * with Trusted Extensions.
15037  */
15038 
15039 
15040 /*
15041  * Allows a process to send and receive ICMP packets.
15042  */
15043 
15044 
15045 /*
15046  * Allows a process to set NET_MAC_AWARE process flag by using
15047  * setpflags(2). This privilege also allows a process to set
15048  * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET).
15049  * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket
15050  * option both allow a local process to communicate with an
15051  * unlabeled peer if the local process' label dominates the
15052  * peer's default label, or if the local process runs in the
15053  * global zone.
15054  * This privilege is interpreted only if the system is configured
15055  * with Trusted Extensions.
15056  */
15057 
15058 
15059 /*
15060  * Allows a process to set SO_MAC_IMPLICIT option by using
15061  * setsockopt(3SOCKET).  This allows a privileged process to
15062  * transmit implicitly-labeled packets to a peer.
15063  * This privilege is interpreted only if the system is configured
15064  * with Trusted Extensions.
15065  */
15066 
15067 
15068 /*
15069  * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/
15070  * while not requiring them to need PRIV_NET_RAWACCESS.
15071  */
15072 
15073 
15074 /*
15075  * Allows a process to bind to a privileged port
15076  * number. The privilege port numbers are 1-1023 (the traditional
15077  * UNIX privileged ports) as well as those ports marked as
15078  * "udp/tcp_extra_priv_ports" with the exception of the ports
15079  * reserved for use by NFS.
15080  */
15081 
15082 
15083 /*
15084  * Allows a process to have direct access to the network layer.
15085  */
15086 
15087 
15088 /*
15089  * Allows a process to generate audit records.
15090  * Allows a process to get its own audit pre-selection information.
15091  */
15092 
15093 
15094 /*
15095  * Allows a process to change its root directory.
15096  */
15097 
15098 
15099 /*
15100  * Allows a process to use high resolution timers.
15101  */
15102 
15103 
15104 /*
15105  * Allows a process to call execve().
15106  */
15107 
15108 
15109 /*
15110  * Allows a process to call fork1()/forkall()/vfork()
15111  */
15112 
15113 
15114 /*
15115  * Allows a process to examine the status of processes other
15116  * than those it can send signals to.  Processes which cannot
15117  * be examined cannot be seen in /proc and appear not to exist.
15118  */
15119 
15120 
15121 /*
15122  * Allows a process to lock pages in physical memory.
15123  */
15124 
15125 
15126 /*
15127  * Allows a process to access physical memory information.
15128  */
15129 
15130 
15131 /*
15132  * Allows a process to send signals to other processes, inspect
15133  * and modify process state to other processes regardless of
15134  * ownership.  When modifying another process, additional
15135  * restrictions apply:  the effective privilege set of the
15136  * attaching process must be a superset of the target process'
15137  * effective, permitted and inheritable sets; the limit set must
15138  * be a superset of the target's limit set; if the target process
15139  * has any uid set to 0 all privilege must be asserted unless the
15140  * effective uid is 0.
15141  * Allows a process to bind arbitrary processes to CPUs.
15142  */
15143 
15144 
15145 /*
15146  * Allows a process to elevate its priority above its current level.
15147  */
15148 
15149 
15150 /*
15151  * Allows all that PRIV_PROC_PRIOUP allows.
15152  * Allows a process to change its scheduling class to any scheduling class,
15153  * including the RT class.
15154  */
15155 
15156 
15157 /*
15158  * Allows a process to send signals or trace processes outside its
15159  * session.
15160  */
15161 
15162 
15163 /*
15164  * Allows a process to set its uids at will.
15165  * Assuming uid 0 requires all privileges to be asserted.
15166  */
15167 
15168 
15169 /*
15170  * Allows a process to assign a new task ID to the calling process.
15171  */
15172 
15173 
15174 /*
15175  * Allows a process to trace or send signals to processes in
15176  * other zones.
15177  */
15178 
15179 
15180 /*
15181  * Allows a process to enable and disable and manage accounting through
15182  * acct(2), getacct(2), putacct(2) and wracct(2).
15183  */
15184 
15185 
15186 /*
15187  * Allows a process to perform system administration tasks such
15188  * as setting node and domain name and specifying nscd and coreadm
15189  * settings.
15190  */
15191 
15192 
15193 /*
15194  * Allows a process to start the (kernel) audit daemon.
15195  * Allows a process to view and set audit state (audit user ID,
15196  * audit terminal ID, audit sessions ID, audit pre-selection mask).
15197  * Allows a process to turn off and on auditing.
15198  * Allows a process to configure the audit parameters (cache and
15199  * queue sizes, event to class mappings, policy options).
15200  */
15201 
15202 
15203 /*
15204  * Allows a process to perform various system configuration tasks.
15205  * Allows a process to add and remove swap devices; when adding a swap
15206  * device, a process must also have sufficient privileges to read from
15207  * and write to the swap device.
15208  */
15209 
15210 
15211 /*
15212  * Allows a process to successfully call a kernel module that
15213  * calls the kernel drv_priv(9F) function to check for allowed
15214  * access.
15215  * Allows a process to open the real console device directly.
15216  * Allows a process to open devices that have been exclusively opened.
15217  */
15218 
15219 
15220 /*
15221  * Allows a process to increase the size of a System V IPC Message
15222  * Queue buffer.
15223  */
15224 
15225 
15226 /*
15227  * Allows a process to unlink and link directories.
15228  */
15229 
15230 
15231 /*
15232  * Allows filesystem specific administrative procedures, such as
15233  * filesystem configuration ioctls, quota calls and creation/deletion
15234  * of snapshots.
15235  * Allows a process to mount and unmount filesystems which would
15236  * otherwise be restricted (i.e., most filesystems except
15237  * namefs).
15238  * A process performing a mount operation needs to have
15239  * appropriate access to the device being mounted (read-write for
15240  * "rw" mounts, read for "ro" mounts).
15241  * A process performing any of the aforementioned
15242  * filesystem operations needs to have read/write/owner
15243  * access to the mount point.
15244  * Only regular files and directories can serve as mount points
15245  * for processes which do not have all zone privileges asserted.
15246  * Unless a process has all zone privileges, the mount(2)
15247  * system call will force the "nosuid" and "restrict" options, the
15248  * latter only for autofs mountpoints.
15249  * Regardless of privileges, a process running in a non-global zone may
15250  * only control mounts performed from within said zone.
15251  * Outside the global zone, the "nodevices" option is always forced.
15252  */
15253 
15254 
15255 /*
15256  * Allows a process to configure IP tunnel links.
15257  */
15258 
15259 
15260 /*
15261  * Allows a process to configure all classes of datalinks, including
15262  * configuration allowed by PRIV_SYS_IPTUN_CONFIG.
15263  */
15264 
15265 
15266 /*
15267  * Allows a process to configure a system's IP interfaces and routes.
15268  * Allows a process to configure network parameters using ndd.
15269  * Allows a process access to otherwise restricted information using ndd.
15270  * Allows a process to configure IPsec.
15271  * Allows a process to pop anchored STREAMs modules with matching zoneid.
15272  */
15273 
15274 
15275 /*
15276  * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and
15277  * PRIV_SYS_PPP_CONFIG allow.
15278  * Allows a process to push the rpcmod STREAMs module.
15279  * Allows a process to INSERT/REMOVE STREAMs modules on locations other
15280  * than the top of the module stack.
15281  */
15282 
15283 
15284 /*
15285  * Allows a process to perform Sun private NFS specific system calls.
15286  * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs)
15287  * and port 4045 (lockd).
15288  */
15289 
15290 
15291 /*
15292  * Allows a process to create and destroy PPP (sppp) interfaces.
15293  * Allows a process to configure PPP tunnels (sppptun).
15294  */
15295 
15296 
15297 /*
15298  * Allows a process to bind processes to processor sets.
15299  */
15300 
15301 
15302 /*
15303  * Allows all that PRIV_SYS_RES_BIND allows.
15304  * Allows a process to create and delete processor sets, assign
15305  * CPUs to processor sets and override the PSET_NOESCAPE property.
15306  * Allows a process to change the operational status of CPUs in
15307  * the system using p_online(2).
15308  * Allows a process to configure resource pools and to bind
15309  * processes to pools
15310  */
15311 
15312 
15313 /*
15314  * Allows a process to modify the resource limits specified
15315  * by setrlimit(2) and setrctl(2) without restriction.
15316  * Allows a process to exceed the per-user maximum number of
15317  * processes.
15318  * Allows a process to extend or create files on a filesystem that
15319  * has less than minfree space in reserve.
15320  */
15321 
15322 
15323 /*
15324  * Allows a process to access the Sun private SMB kernel module.
15325  * Allows a process to bind to ports reserved by NetBIOS and SMB:
15326  * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS
15327  * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP).
15328  */
15329 
15330 
15331 /*
15332  * Allows a process to successfully call a third party loadable module
15333  * that calls the kernel suser() function to check for allowed access.
15334  * This privilege exists only for third party loadable module
15335  * compatibility and is not used by Solaris proper.
15336  */
15337 
15338 
15339 /*
15340  * Allows a process to manipulate system time using any of the
15341  * appropriate system calls: stime, adjtime, ntp_adjtime and
15342  * the IA specific RTC calls.
15343  */
15344 
15345 
15346 /*
15347  * Allows a process to translate labels that are not dominated
15348  * by the process' sensitivity label to and from an external
15349  * string form.
15350  * This privilege is interpreted only if the system is configured
15351  * with Trusted Extensions.
15352  */
15353 
15354 
15355 /*
15356  * Allows a process to manage virtualized environments such as
15357  * xVM(5).
15358  */
15359 
15360 
15361 /*
15362  * Allows a process to override colormap restrictions.
15363  * Allows a process to install or remove colormaps.
15364  * Allows a process to retrieve colormap cell entries allocated
15365  * by other processes.
15366  * This privilege is interpreted only if the system is configured
15367  * with Trusted Extensions.
15368  */
15369 
15370 
15371 /*
15372  * Allows a process to configure or destroy resources that are
15373  * permanently retained by the X server.
15374  * Allows a process to use SetScreenSaver to set the screen
15375  * saver timeout value.
15376  * Allows a process to use ChangeHosts to modify the display
15377  * access control list.
15378  * Allows a process to use GrabServer.
15379  * Allows a process to use the SetCloseDownMode request which
15380  * may retain window, pixmap, colormap, property, cursor, font,
15381  * or graphic context resources.
15382  * This privilege is interpreted only if the system is configured
15383  * with Trusted Extensions.
15384  */
15385 
15386 
15387 /*
15388  * Allows a process to read from a window resource that it does
15389  * not own (has a different user ID).
15390  * This privilege is interpreted only if the system is configured
15391  * with Trusted Extensions.
15392  */
15393 
15394 
15395 /*
15396  * Allows a process to write to or create a window resource that
15397  * it does not own (has a different user ID). A newly created
15398  * window property is created with the window's user ID.
15399  * This privilege is interpreted only if the system is configured
15400  * with Trusted Extensions.
15401  */
15402 
15403 
15404 /*
15405  * Allows a process to perform operations on window input devices.
15406  * Allows a process to get and set keyboard and pointer controls.
15407  * Allows a process to modify pointer button and key mappings.
15408  * This privilege is interpreted only if the system is configured
15409  * with Trusted Extensions.
15410  */
15411 
15412 
15413 /*
15414  * Allows a process to use the direct graphics access (DGA) X protocol
15415  * extensions. Direct process access to the frame buffer is still
15416  * required. Thus the process must have MAC and DAC privileges that
15417  * allow access to the frame buffer, or the frame buffer must be
15418  * allocated to the process.
15419  * This privilege is interpreted only if the system is configured
15420  * with Trusted Extensions.
15421  */
15422 
15423 
15424 /*
15425  * Allows a process to set the sensitivity label of a window resource
15426  * to a sensitivity label that does not dominate the existing
15427  * sensitivity label.
15428  * This privilege is interpreted only if the system is configured
15429  * with Trusted Extensions.
15430  */
15431 
15432 
15433 /*
15434  * Allows a process to set a font path.
15435  * This privilege is interpreted only if the system is configured
15436  * with Trusted Extensions.
15437  */
15438 
15439 
15440 /*
15441  * Allows a process to read from a window resource whose sensitivity
15442  * label is not equal to the process sensitivity label.
15443  * This privilege is interpreted only if the system is configured
15444  * with Trusted Extensions.
15445  */
15446 
15447 
15448 /*
15449  * Allows a process to create a window resource whose sensitivity
15450  * label is not equal to the process sensitivity label.
15451  * A newly created window property is created with the window's
15452  * sensitivity label.
15453  * This privilege is interpreted only if the system is configured
15454  * with Trusted Extensions.
15455  */
15456 
15457 
15458 /*
15459  * Allows a process to request inter-window data moves without the
15460  * intervention of the selection confirmer.
15461  * This privilege is interpreted only if the system is configured
15462  * with Trusted Extensions.
15463  */
15464 
15465 
15466 /*
15467  * Allows a process to set the sensitivity label of a window
15468  * resource to a sensitivity label that dominates the existing
15469  * sensitivity label.
15470  * This privilege is interpreted only if the system is configured
15471  * with Trusted Extensions.
15472  */
15473 
15474 
15475 /*
15476  * Allows a process access to the xVM(5) control devices for
15477  * managing guest domains and the hypervisor. This privilege is
15478  * used only if booted into xVM on x86 platforms.
15479  */
15480 
15481 
15482 
15483 /*
15484  * Privilege set names
15485  */
15486 /*
15487  * Set of privileges currently in effect.
15488  */
15489 
15490 
15491 /*
15492  * Set of privileges that comes into effect on exec.
15493  */
15494 
15495 
15496 /*
15497  * Set of privileges that can be put into the effective set without
15498  * restriction.
15499  */
15500 
15501 
15502 /*
15503  * Set of privileges that determines the absolute upper bound of
15504  * privileges this process and its off-spring can obtain.
15505  */
15506 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
15507 
15508 
15509 
15510 
15511 
15512 typedef uint32_t priv_chunk_t;
15513 typedef struct priv_set priv_set_t;
15514 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
15515 /*
15516  * Userland type definitions.
15517  */
15518 
15519 typedef const char *priv_ptype_t;
15520 typedef const char *priv_t;
15521 
15522 
15523 
15524 /*
15525  * priv_op_t indicates a privilege operation type
15526  */
15527 typedef enum priv_op {
15528  PRIV_ON,
15529  PRIV_OFF,
15530  PRIV_SET
15531 } priv_op_t;
15532 
15533 /*
15534  * Privilege system call subcodes.
15535  */
15536 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
15537 /*
15538  * Maximum length of a user defined privilege name.
15539  */
15540 
15541 
15542 /*
15543  * Privilege interface functions for those parts of the kernel that
15544  * know nothing of the privilege internals.
15545  *
15546  * A privilege implementation can have a varying number of sets; sets
15547  * consist of a number of priv_chunk_t's and the size is expressed as such.
15548  * The privileges can be represented as
15549  *
15550  *		priv_chunk_t privs[info.priv_nsets][info.priv_setsize]
15551  *		... priv_infosize of extra information ...
15552  *
15553  * Extra data contained in the privilege information consists of chunks
15554  * of data with specified size and type all headed by a priv_info_t header
15555  * which defines both the type of information as well as the size of the
15556  * information.  ((char*)&info)+info->priv_info_size should be rounded up
15557  * to point to the next piece of information.
15558  */
15559 
15560 typedef struct priv_impl_info {
15561  uint32_t priv_headersize; /* sizeof (priv_impl_info) */
15562  uint32_t priv_flags; /* additional flags */
15563  uint32_t priv_nsets; /* number of priv sets */
15564  uint32_t priv_setsize; /* size in priv_chunk_t */
15565  uint32_t priv_max; /* highest actual valid priv */
15566  uint32_t priv_infosize; /* Per proc. additional info */
15567  uint32_t priv_globalinfosize; /* Per system info */
15568 } priv_impl_info_t;
15569 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
15570 /*
15571  * Per credential flags.
15572  */
15573 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
15574 /* user-settable flags: */
15575 
15576 
15577 
15578 /*
15579  * Header of the privilege info data structure; multiple structures can
15580  * follow the privilege sets and priv_impl_info structures.
15581  */
15582 typedef struct priv_info {
15583  uint32_t priv_info_type;
15584  uint32_t priv_info_size;
15585 } priv_info_t;
15586 
15587 typedef struct priv_info_uint {
15588  priv_info_t info;
15589  uint_t val;
15590 } priv_info_uint_t;
15591 
15592 /*
15593  * Global privilege set information item; the actual size of the array is
15594  * {priv_setsize}.
15595  */
15596 typedef struct priv_info_set {
15597  priv_info_t info;
15598  priv_chunk_t set[1];
15599 } priv_info_set_t;
15600 
15601 /*
15602  * names[1] is a place holder which can contain multiple NUL terminated,
15603  * non-empty strings.
15604  */
15605 
15606 typedef struct priv_info_names {
15607  priv_info_t info;
15608  int cnt; /* number of strings */
15609  char names[1]; /* "string1\0string2\0 ..stringN\0" */
15610 } priv_info_names_t;
15611 
15612 /*
15613  * Privilege information types.
15614  */
15615 
15616 
15617 
15618 
15619 
15620 /*
15621  * Special "privileges" used to indicate special conditions in privilege
15622  * debugging/tracing code.
15623  */
15624 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
15625 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 1
15626 /*
15627  * CDDL HEADER START
15628  *
15629  * The contents of this file are subject to the terms of the
15630  * Common Development and Distribution License (the "License").
15631  * You may not use this file except in compliance with the License.
15632  *
15633  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15634  * or http://www.opensolaris.org/os/licensing.
15635  * See the License for the specific language governing permissions
15636  * and limitations under the License.
15637  *
15638  * When distributing Covered Code, include this CDDL HEADER in each
15639  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15640  * If applicable, add the following below this CDDL HEADER, with the
15641  * fields enclosed by brackets "[]" replaced with your own identifying
15642  * information: Portions Copyright [yyyy] [name of copyright owner]
15643  *
15644  * CDDL HEADER END
15645  */
15646 /*
15647  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
15648  * Use is subject to license terms.
15649  */
15650 
15651 
15652 
15653 
15654 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
15655 /*
15656  * CDDL HEADER START
15657  *
15658  * The contents of this file are subject to the terms of the
15659  * Common Development and Distribution License (the "License").
15660  * You may not use this file except in compliance with the License.
15661  *
15662  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15663  * or http://www.opensolaris.org/os/licensing.
15664  * See the License for the specific language governing permissions
15665  * and limitations under the License.
15666  *
15667  * When distributing Covered Code, include this CDDL HEADER in each
15668  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15669  * If applicable, add the following below this CDDL HEADER, with the
15670  * fields enclosed by brackets "[]" replaced with your own identifying
15671  * information: Portions Copyright [yyyy] [name of copyright owner]
15672  *
15673  * CDDL HEADER END
15674  */
15675 /*
15676  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
15677  * Use is subject to license terms.
15678  * Copyright 2015 Nexenta Systems, Inc.
15679  */
15680 
15681 
15682 
15683 
15684 #pragma ident "%Z%%M%	%I%	%E% SMI"
15685 
15686 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
15687 /*
15688  * CDDL HEADER START
15689  *
15690  * The contents of this file are subject to the terms of the
15691  * Common Development and Distribution License, Version 1.0 only
15692  * (the "License").  You may not use this file except in compliance
15693  * with the License.
15694  *
15695  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15696  * or http://www.opensolaris.org/os/licensing.
15697  * See the License for the specific language governing permissions
15698  * and limitations under the License.
15699  *
15700  * When distributing Covered Code, include this CDDL HEADER in each
15701  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15702  * If applicable, add the following below this CDDL HEADER, with the
15703  * fields enclosed by brackets "[]" replaced with your own identifying
15704  * information: Portions Copyright [yyyy] [name of copyright owner]
15705  *
15706  * CDDL HEADER END
15707  */
15708 /*
15709  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
15710  *
15711  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
15712  * Use is subject to license terms.
15713  */
15714 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 2
15715 
15716 
15717 
15718 
15719 
15720 /*
15721  * Interoperability types for programs. Used for:
15722  *
15723  * Crossing between 32-bit and 64-bit domains.
15724  *
15725  * On disk data formats such as filesystem meta data
15726  * and disk label.
15727  *
15728  * Note: Applications should never include this
15729  *       header file.
15730  */
15731 typedef uint32_t caddr32_t;
15732 typedef int32_t daddr32_t;
15733 typedef int32_t off32_t;
15734 typedef uint32_t ino32_t;
15735 typedef int32_t blkcnt32_t;
15736 typedef uint32_t fsblkcnt32_t;
15737 typedef uint32_t fsfilcnt32_t;
15738 typedef int32_t id32_t;
15739 typedef uint32_t major32_t;
15740 typedef uint32_t minor32_t;
15741 typedef int32_t key32_t;
15742 typedef uint32_t mode32_t;
15743 typedef uint32_t uid32_t;
15744 typedef uint32_t gid32_t;
15745 typedef uint32_t nlink32_t;
15746 typedef uint32_t dev32_t;
15747 typedef int32_t pid32_t;
15748 typedef uint32_t size32_t;
15749 typedef int32_t ssize32_t;
15750 typedef int32_t time32_t;
15751 typedef int32_t clock32_t;
15752 typedef uint32_t uintptr32_t;
15753 typedef int32_t intptr32_t;
15754 
15755 struct timeval32 {
15756  time32_t tv_sec; /* seconds */
15757  int32_t tv_usec; /* and microseconds */
15758 };
15759 
15760 typedef struct timespec32 {
15761  time32_t tv_sec; /* seconds */
15762  int32_t tv_nsec; /* and nanoseconds */
15763 } timespec32_t;
15764 
15765 typedef struct timespec32 timestruc32_t;
15766 
15767 typedef struct itimerspec32 {
15768  struct timespec32 it_interval;
15769  struct timespec32 it_value;
15770 } itimerspec32_t;
15771 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
15772 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1
15773 /*
15774  * CDDL HEADER START
15775  *
15776  * The contents of this file are subject to the terms of the
15777  * Common Development and Distribution License (the "License").
15778  * You may not use this file except in compliance with the License.
15779  *
15780  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15781  * or http://www.opensolaris.org/os/licensing.
15782  * See the License for the specific language governing permissions
15783  * and limitations under the License.
15784  *
15785  * When distributing Covered Code, include this CDDL HEADER in each
15786  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15787  * If applicable, add the following below this CDDL HEADER, with the
15788  * fields enclosed by brackets "[]" replaced with your own identifying
15789  * information: Portions Copyright [yyyy] [name of copyright owner]
15790  *
15791  * CDDL HEADER END
15792  */
15793 /*
15794  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
15795  * Use is subject to license terms.
15796  */
15797 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
15798 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1
15799 /*
15800  * CDDL HEADER START
15801  *
15802  * The contents of this file are subject to the terms of the
15803  * Common Development and Distribution License (the "License").
15804  * You may not use this file except in compliance with the License.
15805  *
15806  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15807  * or http://www.opensolaris.org/os/licensing.
15808  * See the License for the specific language governing permissions
15809  * and limitations under the License.
15810  *
15811  * When distributing Covered Code, include this CDDL HEADER in each
15812  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15813  * If applicable, add the following below this CDDL HEADER, with the
15814  * fields enclosed by brackets "[]" replaced with your own identifying
15815  * information: Portions Copyright [yyyy] [name of copyright owner]
15816  *
15817  * CDDL HEADER END
15818  */
15819 /*
15820  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
15821  *
15822  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
15823  * Use is subject to license terms.
15824  */
15825 
15826 
15827 
15828 
15829 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1
15830 /*
15831  * CDDL HEADER START
15832  *
15833  * The contents of this file are subject to the terms of the
15834  * Common Development and Distribution License (the "License").
15835  * You may not use this file except in compliance with the License.
15836  *
15837  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15838  * or http://www.opensolaris.org/os/licensing.
15839  * See the License for the specific language governing permissions
15840  * and limitations under the License.
15841  *
15842  * When distributing Covered Code, include this CDDL HEADER in each
15843  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15844  * If applicable, add the following below this CDDL HEADER, with the
15845  * fields enclosed by brackets "[]" replaced with your own identifying
15846  * information: Portions Copyright [yyyy] [name of copyright owner]
15847  *
15848  * CDDL HEADER END
15849  */
15850 /*
15851  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
15852  *
15853  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
15854  */
15855 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 2
15856 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h"
15857 /*
15858  * library functions prototype.
15859  */
15860 
15861 extern int setppriv(priv_op_t, priv_ptype_t, const priv_set_t *);
15862 extern int getppriv(priv_ptype_t, priv_set_t *);
15863 extern int setpflags(uint_t, uint_t);
15864 extern uint_t getpflags(uint_t);
15865 extern const priv_impl_info_t *getprivimplinfo(void);
15866 
15867 extern int priv_set(priv_op_t, priv_ptype_t, ...);
15868 extern boolean_t priv_ineffect(const char *);
15869 extern priv_set_t *priv_str_to_set(const char *, const char *, const char **);
15870 extern char *priv_set_to_str(const priv_set_t *, char, int);
15871 
15872 extern int priv_getbyname(const char *);
15873 extern const char *priv_getbynum(int);
15874 extern int priv_getsetbyname(const char *);
15875 extern const char *priv_getsetbynum(int);
15876 extern char *priv_gettext(const char *);
15877 
15878 extern priv_set_t *priv_allocset(void);
15879 extern void priv_freeset(priv_set_t *);
15880 
15881 extern void priv_emptyset(priv_set_t *);
15882 extern void priv_basicset(priv_set_t *);
15883 extern void priv_fillset(priv_set_t *);
15884 extern boolean_t priv_isemptyset(const priv_set_t *);
15885 extern boolean_t priv_isfullset(const priv_set_t *);
15886 extern boolean_t priv_isequalset(const priv_set_t *, const priv_set_t *);
15887 extern boolean_t priv_issubset(const priv_set_t *, const priv_set_t *);
15888 extern void priv_intersect(const priv_set_t *, priv_set_t *);
15889 extern void priv_union(const priv_set_t *, priv_set_t *);
15890 extern void priv_inverse(priv_set_t *);
15891 extern int priv_addset(priv_set_t *, const char *);
15892 extern void priv_copyset(const priv_set_t *, priv_set_t *);
15893 extern int priv_delset(priv_set_t *, const char *);
15894 extern boolean_t priv_ismember(const priv_set_t *, const char *);
15895 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
15896 
15897 
15898 
15899 
15900 
15901 /* Procedural Interface Structure Definitions */
15902 
15903 struct label_info { /* structure returned by label_info */
15904  short ilabel_len; /* max Information Label length */
15905  short slabel_len; /* max Sensitivity Label length */
15906  short clabel_len; /* max CMW Label length */
15907  short clear_len; /* max Clearance Label length */
15908  short vers_len; /* version string length */
15909  short header_len; /* max len of banner page header */
15910  short protect_as_len; /* max len of banner page protect as */
15911  short caveats_len; /* max len of banner page caveats */
15912  short channels_len; /* max len of banner page channels */
15913 };
15914 
15915 typedef struct label_set_identifier { /* valid label set identifier */
15916  int type; /* type of the set */
15917  char *name; /* name of the set if needed */
15918 } set_id;
15919 
15920 struct name_fields { /* names for label builder fields */
15921  char *class_name; /* Classifications field name */
15922  char *comps_name; /* Compartments field name */
15923  char *marks_name; /* Markings field name */
15924 };
15925 
15926 /* Label Set Identifier Types */
15927 
15928 /*
15929  * The accreditation ranges as specified in the label encodings file.
15930  * The name parameter is ignored.
15931  *
15932  * System Accreditation Range is all valid labels plus Admin High and Low.
15933  *
15934  * User Accreditation Range is valid user labels as defined in the
15935  *	ACCREDITATION RANGE: section of the label encodings file.
15936  */
15937 
15938 
15939 
15940 
15941 
15942 /* System Call Interface Definitions */
15943 
15944 extern int getlabel(const char *, m_label_t *);
15945 extern int fgetlabel(int, m_label_t *);
15946 
15947 extern int getplabel(m_label_t *);
15948 extern int setflabel(const char *, m_label_t *);
15949 extern char *getpathbylabel(const char *, char *, size_t,
15950     const m_label_t *sl);
15951 extern m_label_t *getzonelabelbyid(zoneid_t);
15952 extern m_label_t *getzonelabelbyname(const char *);
15953 extern zoneid_t getzoneidbylabel(const m_label_t *);
15954 extern char *getzonenamebylabel(const m_label_t *);
15955 extern char *getzonerootbyid(zoneid_t);
15956 extern char *getzonerootbyname(const char *);
15957 extern char *getzonerootbylabel(const m_label_t *);
15958 extern m_label_t *getlabelbypath(const char *);
15959 
15960 
15961 /* Flag word values */
15962 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h"
15963       /* implies NEW_LABEL */
15964 
15965 
15966 
15967 
15968 /* Procedure Interface Definitions available to user */
15969 
15970 /* APIs shared with the kernel are in <sys/tsol/label.h */
15971 
15972 extern m_label_t *blabel_alloc(void);
15973 extern void blabel_free(m_label_t *);
15974 extern size32_t blabel_size(void);
15975 extern char *bsltoh(const m_label_t *);
15976 extern char *bcleartoh(const m_label_t *);
15977 
15978 extern char *bsltoh_r(const m_label_t *, char *);
15979 extern char *bcleartoh_r(const m_label_t *, char *);
15980 extern char *h_alloc(uint8_t);
15981 extern void h_free(char *);
15982 
15983 extern int htobsl(const char *, m_label_t *);
15984 extern int htobclear(const char *, m_label_t *);
15985 
15986 extern m_range_t *getuserrange(const char *);
15987 extern m_range_t *getdevicerange(const char *);
15988 
15989 extern int set_effective_priv(priv_op_t, int, ...);
15990 extern int set_inheritable_priv(priv_op_t, int, ...);
15991 extern int set_permitted_priv(priv_op_t, int, ...);
15992 extern int is_system_labeled(void);
15993 
15994 /* Procedures needed for multi-level printing */
15995 
15996 extern int tsol_check_admin_auth(uid_t uid);
15997 
15998 /* APIs implemented via labeld */
15999 
16000 extern int blinset(const m_label_t *, const set_id *);
16001 extern int labelinfo(struct label_info *);
16002 extern ssize_t labelvers(char **, size_t);
16003 extern char *bltocolor(const m_label_t *);
16004 extern char *bltocolor_r(const m_label_t *, size_t, char *);
16005 
16006 extern ssize_t bsltos(const m_label_t *, char **, size_t, int);
16007 extern ssize_t bcleartos(const m_label_t *, char **, size_t, int);
16008 
16009 
16010 extern char *sbsltos(const m_label_t *, size_t);
16011 extern char *sbcleartos(const m_label_t *, size_t);
16012 
16013 
16014 extern int stobsl(const char *, m_label_t *, int, int *);
16015 extern int stobclear(const char *, m_label_t *, int, int *);
16016 extern int bslvalid(const m_label_t *);
16017 extern int bclearvalid(const m_label_t *);
16018 
16019 /* DIA label conversion and parsing */
16020 
16021 /* Conversion types */
16022 
16023 typedef enum _m_label_str {
16024  M_LABEL = 1, /* process or user clearance */
16025  M_INTERNAL = 2, /* internal form for use in public databases */
16026  M_COLOR = 3, /* process label color */
16027  PRINTER_TOP_BOTTOM = 4, /* DIA banner page top/bottom */
16028  PRINTER_LABEL = 5, /* DIA banner page label */
16029  PRINTER_CAVEATS = 6, /* DIA banner page caveats */
16030  PRINTER_CHANNELS = 7 /* DIA banner page handling channels */
16031 } m_label_str_t;
16032 
16033 /* Flags for conversion, not all flags apply to all types */
16034 
16035 
16036 
16037 
16038 extern int label_to_str(const m_label_t *, char **, const m_label_str_t,
16039     uint_t);
16040 extern int l_to_str_internal(const m_label_t *, char **);
16041 
16042 /* Parsing types */
16043 typedef enum _m_label_type {
16044  MAC_LABEL = 1, /* process or object label */
16045  USER_CLEAR = 2 /* user's clearance (LUB) */
16046 } m_label_type_t;
16047 
16048 /* Flags for parsing */
16049 
16050 
16051 
16052 
16053 
16054 
16055 /* EINVAL sub codes */
16056 
16057 
16058 
16059  /* bad requested label type, bad previous label type */
16060 
16061 
16062 extern int str_to_label(const char *, m_label_t **, const m_label_type_t,
16063     uint_t, int *);
16064 extern int hexstr_to_label(const char *, m_label_t *);
16065 
16066 extern m_label_t *m_label_alloc(const m_label_type_t);
16067 
16068 extern int m_label_dup(m_label_t **, const m_label_t *);
16069 
16070 extern void m_label_free(m_label_t *);
16071 
16072 /* Contract Private interfaces with the label builder GUIs */
16073 
16074 extern int bslcvtfull(const m_label_t *, const m_range_t *, int,
16075     char **, char **[], char **[], char *[], int *, int *);
16076 extern int bslcvt(const m_label_t *, int, char **, char *[]);
16077 extern int bclearcvtfull(const m_label_t *, const m_range_t *, int,
16078     char **, char **[], char **[], char *[], int *, int *);
16079 extern int bclearcvt(const m_label_t *, int, char **, char *[]);
16080 
16081 extern int labelfields(struct name_fields *);
16082 extern int userdefs(m_label_t *, m_label_t *);
16083 extern int zonecopy(m_label_t *, char *, char *, char *, int);
16084 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
16085 
16086 
16087 
16088 
16089 
16090 /*
16091  * Functions for mapping between id and name for active zones.
16092  */
16093 extern zoneid_t getzoneid(void);
16094 extern zoneid_t getzoneidbyname(const char *);
16095 extern ssize_t getzonenamebyid(zoneid_t, char *, size_t);
16096 
16097 /*
16098  * NOTE
16099  *
16100  * The remaining contents of this file are private to the implementation
16101  * of Solaris and are subject to change at any time without notice,
16102  * Applications using these interfaces may fail to run on future releases.
16103  */
16104 
16105 extern int zonept(int, zoneid_t);
16106 extern int zone_get_id(const char *, zoneid_t *);
16107 
16108 /* System call API */
16109 extern zoneid_t zone_create(const char *, const char *,
16110     const struct priv_set *, const char *, size_t, const char *, size_t, int *,
16111     int, int, const bslabel_t *, int);
16112 extern int zone_boot(zoneid_t);
16113 extern int zone_destroy(zoneid_t);
16114 extern ssize_t zone_getattr(zoneid_t, int, void *, size_t);
16115 extern int zone_setattr(zoneid_t, int, void *, size_t);
16116 extern int zone_enter(zoneid_t);
16117 extern int zone_list(zoneid_t *, uint_t *);
16118 extern int zone_shutdown(zoneid_t);
16119 extern int zone_version(int *);
16120 extern int zone_add_datalink(zoneid_t, datalink_id_t);
16121 extern int zone_remove_datalink(zoneid_t, datalink_id_t);
16122 extern int zone_check_datalink(zoneid_t *, datalink_id_t);
16123 extern int zone_list_datalink(zoneid_t, int *, datalink_id_t *);
16124 # 46 "../common/instzones_lib.h" 2
16125 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1
16126 /*
16127  * CDDL HEADER START
16128  *
16129  * The contents of this file are subject to the terms of the
16130  * Common Development and Distribution License (the "License").
16131  * You may not use this file except in compliance with the License.
16132  *
16133  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16134  * or http://www.opensolaris.org/os/licensing.
16135  * See the License for the specific language governing permissions
16136  * and limitations under the License.
16137  *
16138  * When distributing Covered Code, include this CDDL HEADER in each
16139  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16140  * If applicable, add the following below this CDDL HEADER, with the
16141  * fields enclosed by brackets "[]" replaced with your own identifying
16142  * information: Portions Copyright [yyyy] [name of copyright owner]
16143  *
16144  * CDDL HEADER END
16145  */
16146 
16147 /*
16148  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
16149  */
16150 
16151 
16152 
16153 
16154 /*
16155  * Zone configuration header file.
16156  */
16157 
16158 
16159 
16160 
16161 
16162 /* sys/socket.h is required by net/if.h, which has a constant needed here */
16163 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
16164 /*
16165  * CDDL HEADER START
16166  *
16167  * The contents of this file are subject to the terms of the
16168  * Common Development and Distribution License (the "License").
16169  * You may not use this file except in compliance with the License.
16170  *
16171  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16172  * or http://www.opensolaris.org/os/licensing.
16173  * See the License for the specific language governing permissions
16174  * and limitations under the License.
16175  *
16176  * When distributing Covered Code, include this CDDL HEADER in each
16177  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16178  * If applicable, add the following below this CDDL HEADER, with the
16179  * fields enclosed by brackets "[]" replaced with your own identifying
16180  * information: Portions Copyright [yyyy] [name of copyright owner]
16181  *
16182  * CDDL HEADER END
16183  */
16184 
16185 /*
16186  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
16187  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
16188  */
16189 
16190 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
16191 /*	  All Rights Reserved  	*/
16192 
16193 /*
16194  * University Copyright- Copyright (c) 1982, 1986, 1988
16195  * The Regents of the University of California
16196  * All Rights Reserved
16197  *
16198  * University Acknowledgment- Portions of this document are derived from
16199  * software developed by the University of California, Berkeley, and its
16200  * contributors.
16201  */
16202 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16203 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 1
16204 /*
16205  * CDDL HEADER START
16206  *
16207  * The contents of this file are subject to the terms of the
16208  * Common Development and Distribution License, Version 1.0 only
16209  * (the "License").  You may not use this file except in compliance
16210  * with the License.
16211  *
16212  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16213  * or http://www.opensolaris.org/os/licensing.
16214  * See the License for the specific language governing permissions
16215  * and limitations under the License.
16216  *
16217  * When distributing Covered Code, include this CDDL HEADER in each
16218  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16219  * If applicable, add the following below this CDDL HEADER, with the
16220  * fields enclosed by brackets "[]" replaced with your own identifying
16221  * information: Portions Copyright [yyyy] [name of copyright owner]
16222  *
16223  * CDDL HEADER END
16224  */
16225 /*
16226  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16227  */
16228 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16229 /*	  All Rights Reserved  	*/
16230 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h"
16231 /*
16232  * Opcodes for the sysfs() system call.
16233  */
16234 
16235 
16236 
16237 
16238 
16239 int sysfs(int, ...);
16240 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16241 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 1
16242 /*
16243  * CDDL HEADER START
16244  *
16245  * The contents of this file are subject to the terms of the
16246  * Common Development and Distribution License, Version 1.0 only
16247  * (the "License").  You may not use this file except in compliance
16248  * with the License.
16249  *
16250  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16251  * or http://www.opensolaris.org/os/licensing.
16252  * See the License for the specific language governing permissions
16253  * and limitations under the License.
16254  *
16255  * When distributing Covered Code, include this CDDL HEADER in each
16256  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16257  * If applicable, add the following below this CDDL HEADER, with the
16258  * fields enclosed by brackets "[]" replaced with your own identifying
16259  * information: Portions Copyright [yyyy] [name of copyright owner]
16260  *
16261  * CDDL HEADER END
16262  */
16263 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16264 /*	  All Rights Reserved  	*/
16265 
16266 
16267 /*
16268  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16269  *
16270  * Copyright (c) 1996, 1999 by Sun Microsystems, Inc.
16271  * All rights reserved.
16272  */
16273 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h"
16274 /*
16275  * Flag bits passed to mount(2).
16276  */
16277 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h"
16278 /*
16279  * Additional flag bits that domount() is prepared to interpret, but that
16280  * can't be passed through mount(2).
16281  */
16282 
16283 
16284 
16285 /*
16286  * Mask to sift out flag bits allowable from mount(2).
16287  */
16288 
16289 
16290 
16291 
16292 /*
16293  * Mask to sift out flag bits allowable from umount2(2).
16294  */
16295 
16296 
16297 
16298 /*
16299  * Maximum option string length accepted or returned by mount(2).
16300  */
16301 
16302 
16303 
16304 int mount(const char *, const char *, int, ...);
16305 int umount(const char *);
16306 int umount2(const char *, int);
16307 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16308 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1
16309 /*
16310  * CDDL HEADER START
16311  *
16312  * The contents of this file are subject to the terms of the
16313  * Common Development and Distribution License (the "License").
16314  * You may not use this file except in compliance with the License.
16315  *
16316  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16317  * or http://www.opensolaris.org/os/licensing.
16318  * See the License for the specific language governing permissions
16319  * and limitations under the License.
16320  *
16321  * When distributing Covered Code, include this CDDL HEADER in each
16322  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16323  * If applicable, add the following below this CDDL HEADER, with the
16324  * fields enclosed by brackets "[]" replaced with your own identifying
16325  * information: Portions Copyright [yyyy] [name of copyright owner]
16326  *
16327  * CDDL HEADER END
16328  */
16329 /*
16330  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16331  *
16332  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
16333  * Use is subject to license terms.
16334  */
16335 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16336 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
16337 /*
16338  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16339  * Use is subject to license terms.
16340  *
16341  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
16342  */
16343 /*
16344  * Copyright (c) 1982, 1986 Regents of the University of California.
16345  * All rights reserved.
16346  *
16347  * Redistribution and use in source and binary forms are permitted
16348  * provided that this notice is preserved and that due credit is given
16349  * to the University of California at Berkeley. The name of the University
16350  * may not be used to endorse or promote products derived from this
16351  * software without specific prior written permission. This software
16352  * is provided ``as is'' without express or implied warranty.
16353  */
16354 
16355 /*
16356  * Constants and structures defined by the internet system,
16357  * according to following documents
16358  *
16359  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
16360  *	http://www.iana.org/assignments/protocol-numbers
16361  *	http://www.iana.org/assignments/port-numbers
16362  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
16363  *
16364  */
16365 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16366 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
16367 /*
16368  * CDDL HEADER START
16369  *
16370  * The contents of this file are subject to the terms of the
16371  * Common Development and Distribution License (the "License").
16372  * You may not use this file except in compliance with the License.
16373  *
16374  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16375  * or http://www.opensolaris.org/os/licensing.
16376  * See the License for the specific language governing permissions
16377  * and limitations under the License.
16378  *
16379  * When distributing Covered Code, include this CDDL HEADER in each
16380  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16381  * If applicable, add the following below this CDDL HEADER, with the
16382  * fields enclosed by brackets "[]" replaced with your own identifying
16383  * information: Portions Copyright [yyyy] [name of copyright owner]
16384  *
16385  * CDDL HEADER END
16386  */
16387 /*
16388  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16389  *
16390  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
16391  */
16392 
16393 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
16394 /*	  All Rights Reserved	*/
16395 
16396 /*
16397  * University Copyright- Copyright (c) 1982, 1986, 1988
16398  * The Regents of the University of California
16399  * All Rights Reserved
16400  *
16401  * University Acknowledgment- Portions of this document are derived from
16402  * software developed by the University of California, Berkeley, and its
16403  * contributors.
16404  */
16405 
16406 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
16407 
16408 
16409 
16410 
16411 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
16412 /*
16413  * CDDL HEADER START
16414  *
16415  * The contents of this file are subject to the terms of the
16416  * Common Development and Distribution License (the "License").
16417  * You may not use this file except in compliance with the License.
16418  *
16419  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16420  * or http://www.opensolaris.org/os/licensing.
16421  * See the License for the specific language governing permissions
16422  * and limitations under the License.
16423  *
16424  * When distributing Covered Code, include this CDDL HEADER in each
16425  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16426  * If applicable, add the following below this CDDL HEADER, with the
16427  * fields enclosed by brackets "[]" replaced with your own identifying
16428  * information: Portions Copyright [yyyy] [name of copyright owner]
16429  *
16430  * CDDL HEADER END
16431  */
16432 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16433 /*	  All Rights Reserved  	*/
16434 
16435 
16436 /*
16437  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16438  * Use is subject to license terms.
16439  *
16440  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
16441  * Copyright 2016 Joyent, Inc.
16442  */
16443 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
16444 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1
16445 /*
16446  * CDDL HEADER START
16447  *
16448  * The contents of this file are subject to the terms of the
16449  * Common Development and Distribution License (the "License").
16450  * You may not use this file except in compliance with the License.
16451  *
16452  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16453  * or http://www.opensolaris.org/os/licensing.
16454  * See the License for the specific language governing permissions
16455  * and limitations under the License.
16456  *
16457  * When distributing Covered Code, include this CDDL HEADER in each
16458  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16459  * If applicable, add the following below this CDDL HEADER, with the
16460  * fields enclosed by brackets "[]" replaced with your own identifying
16461  * information: Portions Copyright [yyyy] [name of copyright owner]
16462  *
16463  * CDDL HEADER END
16464  */
16465 /*
16466  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16467  *
16468  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
16469  * Use is subject to license terms.
16470  *
16471  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
16472  * Copyright (c) 2015, Joyent, Inc.  All rights reserved.
16473  */
16474 
16475 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16476 /*	  All Rights Reserved  	*/
16477 
16478 /*
16479  * University Copyright- Copyright (c) 1982, 1986, 1988
16480  * The Regents of the University of California
16481  * All Rights Reserved
16482  *
16483  * University Acknowledgment- Portions of this document are derived from
16484  * software developed by the University of California, Berkeley, and its
16485  * contributors.
16486  */
16487 
16488 
16489 
16490 
16491 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
16492 /*
16493  * CDDL HEADER START
16494  *
16495  * The contents of this file are subject to the terms of the
16496  * Common Development and Distribution License (the "License").
16497  * You may not use this file except in compliance with the License.
16498  *
16499  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16500  * or http://www.opensolaris.org/os/licensing.
16501  * See the License for the specific language governing permissions
16502  * and limitations under the License.
16503  *
16504  * When distributing Covered Code, include this CDDL HEADER in each
16505  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16506  * If applicable, add the following below this CDDL HEADER, with the
16507  * fields enclosed by brackets "[]" replaced with your own identifying
16508  * information: Portions Copyright [yyyy] [name of copyright owner]
16509  *
16510  * CDDL HEADER END
16511  */
16512 
16513 /*
16514  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
16515  * Copyright 2016 Joyent, Inc.
16516  *
16517  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
16518  * Use is subject to license terms.
16519  */
16520 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2
16521 
16522 
16523 
16524 
16525 
16526 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
16527 /*
16528  * CDDL HEADER START
16529  *
16530  * The contents of this file are subject to the terms of the
16531  * Common Development and Distribution License (the "License").
16532  * You may not use this file except in compliance with the License.
16533  *
16534  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16535  * or http://www.opensolaris.org/os/licensing.
16536  * See the License for the specific language governing permissions
16537  * and limitations under the License.
16538  *
16539  * When distributing Covered Code, include this CDDL HEADER in each
16540  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16541  * If applicable, add the following below this CDDL HEADER, with the
16542  * fields enclosed by brackets "[]" replaced with your own identifying
16543  * information: Portions Copyright [yyyy] [name of copyright owner]
16544  *
16545  * CDDL HEADER END
16546  */
16547 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16548 /*	  All Rights Reserved  	*/
16549 
16550 
16551 /*
16552  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16553  * Use is subject to license terms.
16554  *
16555  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
16556  * Copyright 2016 Joyent, Inc.
16557  */
16558 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2
16559 
16560 /*
16561  * I/O parameter information.  A uio structure describes the I/O which
16562  * is to be performed by an operation.  Typically the data movement will
16563  * be performed by a routine such as uiomove(), which updates the uio
16564  * structure to reflect what was done.
16565  */
16566 
16567 
16568 
16569 
16570 
16571 
16572 
16573 typedef struct iovec {
16574  caddr_t iov_base;
16575 
16576  size_t iov_len;
16577 
16578 
16579 
16580 } iovec_t;
16581 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16582 /*
16583  * Segment flag values.
16584  */
16585 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t;
16586 
16587 typedef struct uio {
16588  iovec_t *uio_iov; /* pointer to array of iovecs */
16589  int uio_iovcnt; /* number of iovecs */
16590  lloff_t _uio_offset; /* file offset */
16591  uio_seg_t uio_segflg; /* address space (kernel or user) */
16592  uint16_t uio_fmode; /* file mode flags */
16593  uint16_t uio_extflg; /* extended flags */
16594  lloff_t _uio_limit; /* u-limit (maximum byte offset) */
16595  ssize_t uio_resid; /* residual count */
16596 } uio_t;
16597 
16598 /*
16599  * Extended uio_t uioa_t used for asynchronous uio.
16600  *
16601  * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c"
16602  *	 as there isn't a formal definition of IOV_MAX for the kernel.
16603  */
16604 
16605 
16606 typedef struct uioa_page_s { /* locked uio_iov state */
16607  int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */
16608  void **uioa_ppp; /* page_t or pfn_t arrary */
16609  caddr_t uioa_base; /* address base */
16610  size_t uioa_len; /* span length */
16611 } uioa_page_t;
16612 
16613 typedef struct uioa_s {
16614  iovec_t *uio_iov; /* pointer to array of iovecs */
16615  int uio_iovcnt; /* number of iovecs */
16616  lloff_t _uio_offset; /* file offset */
16617  uio_seg_t uio_segflg; /* address space (kernel or user) */
16618  uint16_t uio_fmode; /* file mode flags */
16619  uint16_t uio_extflg; /* extended flags */
16620  lloff_t _uio_limit; /* u-limit (maximum byte offset) */
16621  ssize_t uio_resid; /* residual count */
16622  /*
16623 	 * uioa extended members.
16624 	 */
16625  uint32_t uioa_state; /* state of asynch i/o */
16626  ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */
16627  uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */
16628  void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */
16629  void *uioa_hwst[4]; /* opaque hardware state */
16630  uioa_page_t uioa_locked[16]; /* Per iov locked pages */
16631 } uioa_t;
16632 
16633 /*
16634  * uio extensions
16635  *
16636  * PSARC 2009/478: Copy Reduction Interfaces
16637  */
16638 typedef enum xuio_type {
16639  UIOTYPE_ASYNCIO,
16640  UIOTYPE_ZEROCOPY
16641 } xuio_type_t;
16642 
16643 typedef struct xuio {
16644  uio_t xu_uio; /* Embedded UIO structure */
16645 
16646  /* Extended uio fields */
16647  enum xuio_type xu_type; /* What kind of uio structure? */
16648  union {
16649   /* Async I/O Support, intend to replace uioa_t. */
16650   struct {
16651    uint32_t xu_a_state; /* state of async i/o */
16652    /* bytes that have been uioamove()ed */
16653    ssize_t xu_a_mbytes;
16654    uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */
16655    /* pointer into lcur->uioa_ppp[] */
16656    void **xu_a_lppp;
16657    void *xu_a_hwst[4]; /* opaque hardware state */
16658    /* Per iov locked pages */
16659    uioa_page_t xu_a_locked[16];
16660   } xu_aio;
16661 
16662   /*
16663 		 * Copy Reduction Support -- facilate loaning / returning of
16664 		 * filesystem cache buffers.
16665 		 */
16666   struct {
16667    int xu_zc_rw; /* read or write buffer */
16668    void *xu_zc_priv; /* fs specific */
16669   } xu_zc;
16670  } xu_ext;
16671 } xuio_t;
16672 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16673 /*
16674  * I/O direction.
16675  */
16676 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t;
16677 
16678 /*
16679  * uio_extflg: extended flags
16680  *
16681  * NOTE: This flag will be used in uiomove to determine if non-temporal
16682  * access, ie, access bypassing caches, should be used.  Filesystems that
16683  * don't initialize this field could experience suboptimal performance due to
16684  * the random data the field contains.
16685  *
16686  * NOTE: This flag is also used by uioasync callers to pass an extended
16687  * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all
16688  * consumers of a uioa_t require the uio_extflg to be initialized.
16689  */
16690 
16691 
16692 
16693 
16694 
16695 
16696 /*
16697  * Global uioasync capability shadow state.
16698  */
16699 typedef struct uioasync_s {
16700  boolean_t enabled; /* Is uioasync enabled? */
16701  size_t mincnt; /* Minimum byte count for use of */
16702 } uioasync_t;
16703 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16704 extern ssize_t readv(int, const struct iovec *, int);
16705 extern ssize_t writev(int, const struct iovec *, int);
16706 
16707 /*
16708  * When in the large file compilation environment,
16709  * map preadv/pwritev to their 64 bit offset versions
16710  */
16711 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16712 /* In the LP64 compilation environment, the APIs are already large file */
16713 
16714 
16715 
16716 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16717 #pragma redefine_extname preadv64 preadv
16718 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16719 
16720 
16721 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16722 #pragma redefine_extname pwritev64 pwritev
16723 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16724 
16725 
16726 
16727 
16728 
16729 
16730 
16731 extern ssize_t preadv(int, const struct iovec *, int, off_t);
16732 extern ssize_t pwritev(int, const struct iovec *, int, off_t);
16733 
16734 /*
16735  * preadv64 and pwritev64 should be defined when:
16736  * - Using the transitional compilation environment, and not
16737  *     the large file compilation environment.
16738  */
16739 
16740 
16741 extern ssize_t preadv64(int, const struct iovec *, int, off64_t);
16742 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t);
16743 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
16744 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
16745 /*
16746  * CDDL HEADER START
16747  *
16748  * The contents of this file are subject to the terms of the
16749  * Common Development and Distribution License (the "License").
16750  * You may not use this file except in compliance with the License.
16751  *
16752  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16753  * or http://www.opensolaris.org/os/licensing.
16754  * See the License for the specific language governing permissions
16755  * and limitations under the License.
16756  *
16757  * When distributing Covered Code, include this CDDL HEADER in each
16758  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16759  * If applicable, add the following below this CDDL HEADER, with the
16760  * fields enclosed by brackets "[]" replaced with your own identifying
16761  * information: Portions Copyright [yyyy] [name of copyright owner]
16762  *
16763  * CDDL HEADER END
16764  */
16765 
16766 /*
16767  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
16768  * Copyright 2016 Joyent, Inc.
16769  *
16770  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
16771  * Use is subject to license terms.
16772  */
16773 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
16774 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
16775 /*
16776  * CDDL HEADER START
16777  *
16778  * The contents of this file are subject to the terms of the
16779  * Common Development and Distribution License (the "License").
16780  * You may not use this file except in compliance with the License.
16781  *
16782  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16783  * or http://www.opensolaris.org/os/licensing.
16784  * See the License for the specific language governing permissions
16785  * and limitations under the License.
16786  *
16787  * When distributing Covered Code, include this CDDL HEADER in each
16788  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16789  * If applicable, add the following below this CDDL HEADER, with the
16790  * fields enclosed by brackets "[]" replaced with your own identifying
16791  * information: Portions Copyright [yyyy] [name of copyright owner]
16792  *
16793  * CDDL HEADER END
16794  */
16795 /*
16796  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16797  * Use is subject to license terms.
16798  */
16799 
16800 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
16801 /*	  All Rights Reserved	*/
16802 
16803 /*
16804  * Portions of this source code were derived from Berkeley 4.3 BSD
16805  * under license from the Regents of the University of California.
16806  */
16807 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
16808 
16809 
16810 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1
16811 /*
16812  * CDDL HEADER START
16813  *
16814  * The contents of this file are subject to the terms of the
16815  * Common Development and Distribution License, Version 1.0 only
16816  * (the "License").  You may not use this file except in compliance
16817  * with the License.
16818  *
16819  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16820  * or http://www.opensolaris.org/os/licensing.
16821  * See the License for the specific language governing permissions
16822  * and limitations under the License.
16823  *
16824  * When distributing Covered Code, include this CDDL HEADER in each
16825  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16826  * If applicable, add the following below this CDDL HEADER, with the
16827  * fields enclosed by brackets "[]" replaced with your own identifying
16828  * information: Portions Copyright [yyyy] [name of copyright owner]
16829  *
16830  * CDDL HEADER END
16831  */
16832 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16833 /*	  All Rights Reserved  	*/
16834 
16835 
16836 /*
16837  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16838  *
16839  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
16840  * Use is subject to license terms.
16841  */
16842 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h"
16843 struct netconfig {
16844  char *nc_netid; /* network identifier		*/
16845  unsigned int nc_semantics; /* defined below		*/
16846  unsigned int nc_flag; /* defined below		*/
16847  char *nc_protofmly; /* protocol family name		*/
16848  char *nc_proto; /* protocol name		*/
16849  char *nc_device; /* device name for network id	*/
16850  unsigned int nc_nlookups; /* # of entries in nc_lookups	*/
16851  char **nc_lookups; /* list of lookup directories	*/
16852  unsigned int nc_unused[8]; /* borrowed for lockd etc.	*/
16853 };
16854 
16855 typedef struct {
16856  struct netconfig **nc_head;
16857  struct netconfig **nc_curr;
16858 } NCONF_HANDLE;
16859 
16860 /*
16861  *	Values of nc_semantics
16862  */
16863 
16864 
16865 
16866 
16867 
16868 /*
16869  * NOT FOR PUBLIC USE, Solaris internal only.
16870  * This value of nc_semantics is strictly for use of Remote Direct
16871  * Memory Access provider interfaces in Solaris only and not for
16872  * general use. Do not use this value for general purpose user or
16873  * kernel programming. If used the behavior is undefined.
16874  * This is a PRIVATE interface to be used by Solaris kRPC only.
16875  */
16876 
16877 
16878 /*
16879  *	Values of nc_flag
16880  */
16881 
16882 
16883 
16884 
16885 
16886 /*
16887  *	Values of nc_protofmly
16888  */
16889 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h"
16890 /*
16891  * NOT FOR PUBLIC USE, Solaris internal only.
16892  * This value of nc_semantics is strictly for use of Remote Direct
16893  * Memory Access provider interfaces in Solaris only and not for
16894  * general use. Do not use this value for general purpose user or
16895  * kernel programming. If used the behavior is undefined.
16896  * This is a PRIVATE interface to be used by Solaris kRPC only.
16897  */
16898 
16899 
16900 /*
16901  *	Values for nc_proto
16902  */
16903 
16904 
16905 
16906 
16907 
16908 
16909 /*
16910  * 	Values for nc_proto for "rdma" protofmly
16911  */
16912 
16913 
16914 
16915 
16916 extern void *setnetconfig(void);
16917 extern int endnetconfig(void *);
16918 extern struct netconfig *getnetconfig(void *);
16919 extern struct netconfig *getnetconfigent(const char *);
16920 extern void freenetconfigent(struct netconfig *);
16921 extern void *setnetpath(void);
16922 extern int endnetpath(void *);
16923 extern struct netconfig *getnetpath(void *);
16924 extern void nc_perror(const char *);
16925 extern char *nc_sperror(void);
16926 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
16927 
16928 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
16929 /*
16930  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16931  * Use is subject to license terms.
16932  *
16933  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
16934  */
16935 /*
16936  * Copyright (c) 1982, 1986 Regents of the University of California.
16937  * All rights reserved.
16938  *
16939  * Redistribution and use in source and binary forms are permitted
16940  * provided that this notice is preserved and that due credit is given
16941  * to the University of California at Berkeley. The name of the University
16942  * may not be used to endorse or promote products derived from this
16943  * software without specific prior written permission. This software
16944  * is provided ``as is'' without express or implied warranty.
16945  */
16946 
16947 /*
16948  * Constants and structures defined by the internet system,
16949  * according to following documents
16950  *
16951  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
16952  *	http://www.iana.org/assignments/protocol-numbers
16953  *	http://www.iana.org/assignments/port-numbers
16954  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
16955  *
16956  */
16957 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
16958 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
16959 /*
16960  * Definitions related to sockets: types, address families, options.
16961  */
16962 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
16963 /*
16964  * Types
16965  */
16966 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
16967 /*
16968  * Flags for socket() and accept4()
16969  */
16970 
16971 
16972 
16973 
16974 /*
16975  * Option flags per-socket.
16976  */
16977 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
16978 /*
16979  * Socket options are passed using a signed integer, but it is also rare
16980  * for more than one to ever be passed at the same time with setsockopt
16981  * and only one at a time can be retrieved with getsockopt.
16982  *
16983  * Since the lower numbers cannot be renumbered for compatibility reasons,
16984  * it would seem that we need to start a new number space (0x40000000 -
16985  * 0x7fffffff) for those that don't need to be stored as a bit flag
16986  * somewhere. This limits the flag options to 30 but that seems to be
16987  * plenty, anyway. 0x40000000 is reserved for future use.
16988  */
16989 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
16990 /*
16991  * N.B.: The following definition is present only for compatibility
16992  * with release 3.0.  It will disappear in later releases.
16993  */
16994 
16995 
16996 /*
16997  * Additional options, not kept in so_options.
16998  */
16999 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17000 /* "Socket"-level control message types: */
17001 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17002 /*
17003  * Socket filter options
17004  */
17005 
17006 
17007 
17008 
17009 
17010 /*
17011  * Structure returned by FIL_LIST
17012  */
17013 struct fil_info {
17014  int fi_flags; /* see below (FILF_*) */
17015  int fi_pos; /* position (0 is bottom) */
17016  char fi_name[32]; /* filter name */
17017 };
17018 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17019 /*
17020  * Structure used for manipulating linger option.
17021  */
17022 struct linger {
17023  int l_onoff; /* option on/off */
17024  int l_linger; /* linger time */
17025 };
17026 
17027 /*
17028  * Levels for (get/set)sockopt() that don't apply to a specific protocol.
17029  */
17030 
17031 
17032 
17033 
17034 
17035 
17036 
17037 /*
17038  * Address families.
17039  *
17040  * Some of these constant names are copied for the DTrace IP provider in
17041  * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept
17042  * in sync.
17043  */
17044 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17045 /*
17046  * Protocol families, same as address families for now.
17047  */
17048 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17049 /*
17050  * Maximum queue length specifiable by listen.
17051  */
17052 
17053 
17054 /*
17055  * Message header for recvmsg and sendmsg calls.
17056  */
17057 struct msghdr {
17058  void *msg_name; /* optional address */
17059  socklen_t msg_namelen; /* size of address */
17060  struct iovec *msg_iov; /* scatter/gather array */
17061  int msg_iovlen; /* # elements in msg_iov */
17062 
17063 
17064 
17065 
17066 
17067 
17068  caddr_t msg_accrights; /* access rights sent/received */
17069  int msg_accrightslen;
17070 
17071 };
17072 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17073 /* Added for XPGv2 compliance */
17074 
17075 
17076 
17077 
17078 
17079      /* with left over data */
17080 /* End of XPGv2 compliance */
17081 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17082 /* Added for XPGv2 compliance */
17083 
17084 
17085 
17086 
17087 struct cmsghdr {
17088  socklen_t cmsg_len; /* data byte count, including hdr */
17089  int cmsg_level; /* originating protocol */
17090  int cmsg_type; /* protocol-specific type */
17091 };
17092 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17093 extern int accept(int, struct sockaddr *, Psocklen_t);
17094 extern int accept4(int, struct sockaddr *, Psocklen_t, int);
17095 extern int bind(int, const struct sockaddr *, socklen_t);
17096 extern int connect(int, const struct sockaddr *, socklen_t);
17097 extern int getpeername(int, struct sockaddr *, Psocklen_t);
17098 extern int getsockname(int, struct sockaddr *, Psocklen_t);
17099 extern int getsockopt(int, int, int, void *, Psocklen_t);
17100 extern int listen(int, int); /* XXX - fixme???  where do I go */
17101 extern int socketpair(int, int, int, int *);
17102 extern ssize_t recv(int, void *, size_t, int);
17103 extern ssize_t recvfrom(int, void *, size_t, int,
17104  struct sockaddr *, Psocklen_t);
17105 extern ssize_t recvmsg(int, struct msghdr *, int);
17106 extern ssize_t send(int, const void *, size_t, int);
17107 extern ssize_t sendmsg(int, const struct msghdr *, int);
17108 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *,
17109  socklen_t);
17110 extern int setsockopt(int, int, int, const void *, socklen_t);
17111 extern int shutdown(int, int);
17112 extern int socket(int, int, int);
17113 
17114 
17115 extern int sockatmark(int);
17116 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
17117 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1
17118 /*
17119  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
17120  */
17121 
17122 /*
17123  * Copyright (c) 1982, 1986 Regents of the University of California.
17124  * All rights reserved.  The Berkeley software License Agreement
17125  * specifies the terms and conditions for redistribution.
17126  */
17127 
17128 
17129 
17130 
17131 /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86		*/
17132 
17133 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
17134 /*
17135  * CDDL HEADER START
17136  *
17137  * The contents of this file are subject to the terms of the
17138  * Common Development and Distribution License (the "License").
17139  * You may not use this file except in compliance with the License.
17140  *
17141  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17142  * or http://www.opensolaris.org/os/licensing.
17143  * See the License for the specific language governing permissions
17144  * and limitations under the License.
17145  *
17146  * When distributing Covered Code, include this CDDL HEADER in each
17147  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17148  * If applicable, add the following below this CDDL HEADER, with the
17149  * fields enclosed by brackets "[]" replaced with your own identifying
17150  * information: Portions Copyright [yyyy] [name of copyright owner]
17151  *
17152  * CDDL HEADER END
17153  */
17154 
17155 /*
17156  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
17157  * Copyright 2016 Joyent, Inc.
17158  *
17159  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
17160  * Use is subject to license terms.
17161  */
17162 # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
17163 
17164 
17165 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
17166 /*
17167  * CDDL HEADER START
17168  *
17169  * The contents of this file are subject to the terms of the
17170  * Common Development and Distribution License (the "License").
17171  * You may not use this file except in compliance with the License.
17172  *
17173  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17174  * or http://www.opensolaris.org/os/licensing.
17175  * See the License for the specific language governing permissions
17176  * and limitations under the License.
17177  *
17178  * When distributing Covered Code, include this CDDL HEADER in each
17179  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17180  * If applicable, add the following below this CDDL HEADER, with the
17181  * fields enclosed by brackets "[]" replaced with your own identifying
17182  * information: Portions Copyright [yyyy] [name of copyright owner]
17183  *
17184  * CDDL HEADER END
17185  */
17186 /*
17187  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
17188  *
17189  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
17190  */
17191 
17192 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
17193 /*	  All Rights Reserved	*/
17194 
17195 /*
17196  * University Copyright- Copyright (c) 1982, 1986, 1988
17197  * The Regents of the University of California
17198  * All Rights Reserved
17199  *
17200  * University Acknowledgment- Portions of this document are derived from
17201  * software developed by the University of California, Berkeley, and its
17202  * contributors.
17203  */
17204 
17205 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
17206 # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
17207 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
17208 /*
17209  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
17210  * Use is subject to license terms.
17211  *
17212  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
17213  */
17214 /*
17215  * Copyright (c) 1982, 1986 Regents of the University of California.
17216  * All rights reserved.
17217  *
17218  * Redistribution and use in source and binary forms are permitted
17219  * provided that this notice is preserved and that due credit is given
17220  * to the University of California at Berkeley. The name of the University
17221  * may not be used to endorse or promote products derived from this
17222  * software without specific prior written permission. This software
17223  * is provided ``as is'' without express or implied warranty.
17224  */
17225 
17226 /*
17227  * Constants and structures defined by the internet system,
17228  * according to following documents
17229  *
17230  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
17231  *	http://www.iana.org/assignments/protocol-numbers
17232  *	http://www.iana.org/assignments/port-numbers
17233  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
17234  *
17235  */
17236 # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
17237 
17238 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
17239 /*
17240  * CDDL HEADER START
17241  *
17242  * The contents of this file are subject to the terms of the
17243  * Common Development and Distribution License (the "License").
17244  * You may not use this file except in compliance with the License.
17245  *
17246  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17247  * or http://www.opensolaris.org/os/licensing.
17248  * See the License for the specific language governing permissions
17249  * and limitations under the License.
17250  *
17251  * When distributing Covered Code, include this CDDL HEADER in each
17252  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17253  * If applicable, add the following below this CDDL HEADER, with the
17254  * fields enclosed by brackets "[]" replaced with your own identifying
17255  * information: Portions Copyright [yyyy] [name of copyright owner]
17256  *
17257  * CDDL HEADER END
17258  */
17259 /*
17260  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
17261  * Use is subject to license terms.
17262  * Copyright 2015 Nexenta Systems, Inc.
17263  */
17264 # 23 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
17265 
17266 
17267 
17268 
17269 
17270 
17271 
17272 /*
17273  * Structures defining a network interface, providing a packet
17274  * transport mechanism (ala level 0 of the PUP protocols).
17275  *
17276  * Each interface accepts output datagrams of a specified maximum
17277  * length, and provides higher level routines with input datagrams
17278  * received from its medium.
17279  *
17280  * Output occurs when the routine if_output is called, with three parameters:
17281  *	(*ifp->if_output)(ifp, m, dst)
17282  * Here m is the mbuf chain to be sent and dst is the destination address.
17283  * The output routine encapsulates the supplied datagram if necessary,
17284  * and then transmits it on its medium.
17285  *
17286  * On input, each interface unwraps the data received by it, and either
17287  * places it on the input queue of a internetwork datagram routine
17288  * and posts the associated software interrupt, or passes the datagram to a raw
17289  * packet input routine.
17290  *
17291  * Routines exist for locating interfaces by their addresses
17292  * or for locating a interface on a certain network, as well as more general
17293  * routing and gateway routines maintaining information used to locate
17294  * interfaces.  These routines live in the files if.c and route.c
17295  */
17296 
17297 
17298 
17299 /*
17300  * Structure defining a queue for a network interface.
17301  *
17302  * (Would like to call this struct ``if'', but C isn't PL/1.)
17303  */
17304 struct ifnet {
17305  char *if_name; /* name, e.g. ``en'' or ``lo'' */
17306  short if_unit; /* sub-unit for lower level driver */
17307  short if_mtu; /* maximum transmission unit */
17308  short if_flags; /* up/down, broadcast, etc. */
17309  short if_timer; /* time 'til if_watchdog called */
17310  ushort_t if_promisc; /* net # of requests for promisc mode */
17311  int if_metric; /* routing metric (external only) */
17312  struct ifaddr *if_addrlist; /* linked list of addresses per if */
17313  struct ifqueue {
17314   struct mbuf *ifq_head;
17315   struct mbuf *ifq_tail;
17316   int ifq_len;
17317   int ifq_maxlen;
17318   int ifq_drops;
17319  } if_snd; /* output queue */
17320 /* procedure handles */
17321  int (*if_init)(); /* init routine */
17322  int (*if_output)(); /* output routine */
17323  int (*if_ioctl)(); /* ioctl routine */
17324  int (*if_reset)(); /* bus reset routine */
17325  int (*if_watchdog)(); /* timer routine */
17326 /* generic interface statistics */
17327  int if_ipackets; /* packets received on interface */
17328  int if_ierrors; /* input errors on interface */
17329  int if_opackets; /* packets sent on interface */
17330  int if_oerrors; /* output errors on interface */
17331  int if_collisions; /* collisions on csma interfaces */
17332 /* end statistics */
17333  struct ifnet *if_next;
17334  struct ifnet *if_upper; /* next layer up */
17335  struct ifnet *if_lower; /* next layer down */
17336  int (*if_input)(); /* input routine */
17337  int (*if_ctlin)(); /* control input routine */
17338  int (*if_ctlout)(); /* control output routine */
17339  struct map *if_memmap; /* rmap for interface specific memory */
17340 };
17341 
17342 /*
17343  * NOTE : These flags are not directly used within IP.
17344  * ip_if.h has definitions derived from this which is used within IP.
17345  * If you define a flag here, you need to define one in ip_if.h before
17346  * using the new flag in IP. Don't use these flags directly in IP.
17347  */
17348 # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17349 /*
17350  * The IFF_MULTICAST flag indicates that the network can support the
17351  * transmission and reception of higher-level (e.g., IP) multicast packets.
17352  * It is independent of hardware support for multicasting; for example,
17353  * point-to-point links or pure broadcast networks may well support
17354  * higher-level multicasts.
17355  */
17356 
17357 
17358 
17359 
17360 
17361 
17362 
17363 /*
17364  * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS.
17365  * Should use SIOC[GS]LIFFLAGS which has a larger flags field.
17366  */
17367 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17368 /*
17369  * The IFF_XRESOLV flag is an evolving interface and is subject
17370  * to change without notice.
17371  */
17372 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17373 /* flags that cannot be changed by userland on any interface */
17374 
17375 
17376 
17377 
17378 
17379 
17380 
17381 /* flags that cannot be changed by userland on an IPMP interface */
17382 
17383 
17384 /* flags that can never be set on an IPMP interface */
17385 
17386 
17387 
17388 /*
17389  * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1)
17390  * input routines have queues of messages stored on ifqueue structures
17391  * (defined above).  Entries are added to and deleted from these structures
17392  * by these macros, which should be called with ipl raised to splimp().
17393  */
17394 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17395 /*
17396  * Packets destined for level-1 protocol input routines
17397  * have a pointer to the receiving interface prepended to the data.
17398  * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet.
17399  * IF_ADJ should be used otherwise to adjust for its presence.
17400  */
17401 # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17402 /*
17403  * The ifaddr structure contains information about one address
17404  * of an interface.  They are maintained by the different address families,
17405  * are allocated and attached when an address is set, and are linked
17406  * together so all addresses for an interface can be located.
17407  */
17408 struct ifaddr {
17409  struct sockaddr ifa_addr; /* address of interface */
17410  union {
17411   struct sockaddr ifu_broadaddr;
17412   struct sockaddr ifu_dstaddr;
17413  } ifa_ifu;
17414 
17415 
17416  struct ifnet *ifa_ifp; /* back-pointer to interface */
17417  struct ifaddr *ifa_next; /* next address for interface */
17418 };
17419 
17420 /*
17421  * For SIOCLIF*ND ioctls.
17422  *
17423  * The lnr_state_* fields use the ND_* neighbor reachability states.
17424  * The 3 different fields are for use with SIOCLIFSETND to cover the cases
17425  * when
17426  *	A new entry is created
17427  *	The entry already exists and the link-layer address is the same
17428  *	The entry already exists and the link-layer address differs
17429  *
17430  * Use ND_UNCHANGED to not change any state.
17431  */
17432 
17433 typedef struct lif_nd_req {
17434  struct sockaddr_storage lnr_addr;
17435  uint8_t lnr_state_create; /* When creating */
17436  uint8_t lnr_state_same_lla; /* Update same addr */
17437  uint8_t lnr_state_diff_lla; /* Update w/ diff. */
17438  int lnr_hdw_len;
17439  int lnr_flags; /* See below */
17440  /* padding because ia32 "long long"s are only 4-byte aligned. */
17441  int lnr_pad0;
17442  char lnr_hdw_addr[64];
17443 } lif_nd_req_t;
17444 
17445 /*
17446  * Neighbor reachability states
17447  * Used with SIOCLIF*ND ioctls.
17448  */
17449 # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17450 /*
17451  * lnr_flags value of lif_nd_req.
17452  * Used with SIOCLIF*ND ioctls.
17453  */
17454 
17455 
17456 
17457 
17458 
17459 
17460 /*
17461  * the NDF_STATIC entry ensures that an NCE will not be deleted, and is
17462  * used by non-ON applications like IPv6 test suites.
17463  */
17464 
17465 
17466 /* For SIOC[GS]LIFLNKINFO */
17467 typedef struct lif_ifinfo_req {
17468  uint8_t lir_maxhops;
17469  uint32_t lir_reachtime; /* Reachable time in msec */
17470  uint32_t lir_reachretrans; /* Retransmission timer msec */
17471  uint32_t lir_maxmtu;
17472 } lif_ifinfo_req_t;
17473 
17474 
17475 
17476 /*
17477  * Maximum lengths of interface name and IPMP group name; these are the same
17478  * for historical reasons.  Note that the actual maximum length of a name is
17479  * one byte less than these constants since the kernel always sets the final
17480  * byte of lifr_name and lifr_groupname to NUL.
17481  */
17482 
17483 
17484 
17485 
17486 
17487 
17488 
17489 /*
17490  * Interface request structure used for socket
17491  * ioctl's.  All interface ioctl's must have parameter
17492  * definitions which begin with ifr_name.  The
17493  * remainder may be interface specific.
17494  * Note: This data structure uses 64bit type uint64_t which is not
17495  *	 a valid type for strict ANSI/ISO C compilation for ILP32.
17496  *	 Applications with ioctls using this structure that insist on
17497  *	 building with strict ANSI/ISO C (-Xc) will need to be LP64.
17498  */
17499 
17500 struct lifreq {
17501  char lifr_name[32]; /* if name, e.g. "en0" */
17502  union {
17503   int lifru_addrlen; /* for subnet/token etc */
17504   uint_t lifru_ppa; /* SIOCSLIFNAME */
17505  } lifr_lifru1;
17506 
17507 
17508  uint_t lifr_type; /* IFT_ETHER, ... */
17509  union {
17510   struct sockaddr_storage lifru_addr;
17511   struct sockaddr_storage lifru_dstaddr;
17512   struct sockaddr_storage lifru_broadaddr;
17513   struct sockaddr_storage lifru_token; /* With lifr_addrlen */
17514   struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */
17515   int lifru_index; /* interface index */
17516   uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */
17517   int lifru_metric;
17518   uint_t lifru_mtu;
17519   int lif_muxid[2]; /* mux id's for arp and ip */
17520   struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */
17521   struct lif_ifinfo_req lifru_ifinfo_req;
17522   char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */
17523   char lifru_binding[32]; /* SIOCGLIFBINDING */
17524   zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */
17525   uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */
17526  } lifr_lifru;
17527 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17528 };
17529 
17530 
17531 /*
17532  * Argument structure for SIOCT* address testing ioctls.
17533  */
17534 struct sioc_addrreq {
17535  struct sockaddr_storage sa_addr; /* Address to test */
17536  int sa_res; /* Result - 0/1 */
17537  int sa_pad;
17538 };
17539 
17540 /*
17541  * Argument structure used by mrouted to get src-grp pkt counts using
17542  * SIOCGETLSGCNT. See <netinet/ip_mroute.h>.
17543  */
17544 struct sioc_lsg_req {
17545  struct sockaddr_storage slr_src;
17546  struct sockaddr_storage slr_grp;
17547  uint_t slr_pktcnt;
17548  uint_t slr_bytecnt;
17549  uint_t slr_wrong_if;
17550  uint_t slr_pad;
17551 };
17552 
17553 /* Argument structure for SIOCGLIFDADSTATE ioctl */
17554 typedef enum {
17555  DAD_IN_PROGRESS = 0x1,
17556  DAD_DONE = 0x2
17557 } glif_dad_state_t;
17558 
17559 /*
17560  * OBSOLETE: Replaced by struct lifreq. Supported for compatibility.
17561  *
17562  * Interface request structure used for socket
17563  * ioctl's.  All interface ioctl's must have parameter
17564  * definitions which begin with ifr_name.  The
17565  * remainder may be interface specific.
17566  */
17567 struct ifreq {
17568 
17569  char ifr_name[16]; /* if name, e.g. "en0" */
17570  union {
17571   struct sockaddr ifru_addr;
17572   struct sockaddr ifru_dstaddr;
17573   char ifru_oname[16]; /* other if name */
17574   struct sockaddr ifru_broadaddr;
17575   int ifru_index; /* interface index */
17576   uint_t ifru_mtu;
17577   short ifru_flags;
17578   int ifru_metric;
17579   char ifru_data[1]; /* interface dependent data */
17580   char ifru_enaddr[6];
17581   int if_muxid[2]; /* mux id's for arp and ip */
17582 
17583   /* Struct for flags/ppa */
17584   struct ifr_ppaflags {
17585    short ifrup_flags; /* Space of ifru_flags. */
17586    short ifrup_filler;
17587    uint_t ifrup_ppa;
17588   } ifru_ppaflags;
17589 
17590   /* Struct for FDDI ioctl's */
17591   struct ifr_dnld_reqs {
17592    uint32_t v_addr;
17593    uint32_t m_addr;
17594    uint32_t ex_addr;
17595    uint32_t size;
17596   } ifru_dnld_req;
17597 
17598   /* Struct for FDDI stats */
17599   struct ifr_fddi_stats {
17600    uint32_t stat_size;
17601    uint32_t fddi_stats;
17602   } ifru_fddi_stat;
17603 
17604   struct ifr_netmapents {
17605    uint32_t map_ent_size, /* size of netmap structure */
17606     entry_number; /* index into netmap list */
17607    uint32_t fddi_map_ent; /* pointer to user structure */
17608   } ifru_netmapent;
17609 
17610   /* Field for generic ioctl for fddi */
17611 
17612   struct ifr_fddi_gen_struct {
17613    uint32_t ifru_fddi_gioctl; /* field for gen ioctl */
17614    uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */
17615   } ifru_fddi_gstruct;
17616 
17617  } ifr_ifru;
17618 # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17619 /* For setting ppa */
17620 
17621 
17622 /* FDDI specific */
17623 
17624 
17625 
17626 
17627 
17628 
17629 
17630 };
17631 
17632 /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */
17633 struct lifnum {
17634  sa_family_t lifn_family;
17635  int lifn_flags; /* request specific interfaces */
17636  int lifn_count; /* Result */
17637 };
17638 
17639 /*
17640  * Structure used in SIOCGLIFCONF request.
17641  * Used to retrieve interface configuration
17642  * for machine (useful for programs which
17643  * must know all networks accessible) for a given address family.
17644  * Using AF_UNSPEC will retrieve all address families.
17645  */
17646 struct lifconf {
17647  sa_family_t lifc_family;
17648  int lifc_flags; /* request specific interfaces */
17649  int lifc_len; /* size of associated buffer */
17650  union {
17651   caddr_t lifcu_buf;
17652   struct lifreq *lifcu_req;
17653  } lifc_lifcu;
17654 
17655 
17656 };
17657 
17658 /*
17659  * Structure used in SIOCGLIFSRCOF to get the interface
17660  * configuration list for those interfaces that use an address
17661  * hosted on the interface (set in lifs_ifindex), as the source
17662  * address.
17663  */
17664 struct lifsrcof {
17665  uint_t lifs_ifindex; /* interface of interest */
17666  size_t lifs_maxlen; /* size of buffer: input */
17667  size_t lifs_len; /* size of buffer: output */
17668  union {
17669   caddr_t lifsu_buf;
17670   struct lifreq *lifsu_req;
17671  } lifs_lifsu;
17672 
17673 
17674 };
17675 
17676 /* Flags */
17677 
17678 
17679      /* be used to communicate outside the */
17680      /* node (exclude interfaces which are */
17681      /* IFF_NOXMIT, IFF_NOLOCAL, */
17682      /* IFF_LOOPBACK, IFF_DEPRECATED, or */
17683      /* not IFF_UP). Has priority over */
17684      /* LIFC_NOXMIT. */
17685 
17686 
17687      /* (must be issued from global zone) */
17688 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17689 /*
17690  * IPMP group information, for use with SIOCGLIFGROUPINFO.
17691  */
17692 typedef struct lifgroupinfo {
17693  char gi_grname[32]; /* group name (set by caller) */
17694  char gi_grifname[32]; /* IPMP meta-interface name */
17695  char gi_m4ifname[32]; /* v4 mcast interface name */
17696  char gi_m6ifname[32]; /* v6 mcast interface name */
17697  char gi_bcifname[32]; /* v4 bcast interface name */
17698  boolean_t gi_v4; /* group is plumbed for v4 */
17699  boolean_t gi_v6; /* group is plumbed for v6 */
17700  uint_t gi_nv4; /* # of underlying v4 if's */
17701  uint_t gi_nv6; /* # of underlying v6 if's */
17702  uint_t gi_mactype; /* DLPI mac type of group */
17703 } lifgroupinfo_t;
17704 
17705 /*
17706  * OBSOLETE: Structure used in SIOCGIFCONF request.
17707  * Used to retrieve interface configuration
17708  * for machine (useful for programs which
17709  * must know all networks accessible).
17710  */
17711 struct ifconf {
17712  int ifc_len; /* size of associated buffer */
17713  union {
17714   caddr_t ifcu_buf;
17715   struct ifreq *ifcu_req;
17716  } ifc_ifcu;
17717 
17718 
17719 };
17720 # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17721 typedef struct if_data {
17722     /* generic interface information */
17723  uchar_t ifi_type; /* ethernet, tokenring, etc */
17724  uchar_t ifi_addrlen; /* media address length */
17725  uchar_t ifi_hdrlen; /* media header length */
17726  uint_t ifi_mtu; /* maximum transmission unit */
17727  uint_t ifi_metric; /* routing metric (external only) */
17728  uint_t ifi_baudrate; /* linespeed */
17729     /* volatile statistics */
17730  uint_t ifi_ipackets; /* packets received on interface */
17731  uint_t ifi_ierrors; /* input errors on interface */
17732  uint_t ifi_opackets; /* packets sent on interface */
17733  uint_t ifi_oerrors; /* output errors on interface */
17734  uint_t ifi_collisions; /* collisions on csma interfaces */
17735  uint_t ifi_ibytes; /* total number of octets received */
17736  uint_t ifi_obytes; /* total number of octets sent */
17737  uint_t ifi_imcasts; /* packets received via multicast */
17738  uint_t ifi_omcasts; /* packets sent via multicast */
17739  uint_t ifi_iqdrops; /* dropped on input, this interface */
17740  uint_t ifi_noproto; /* destined for unsupported protocol */
17741 
17742  struct timeval32 ifi_lastchange; /* last updated */
17743 
17744 
17745 
17746 } if_data_t;
17747 
17748 /*
17749  * Message format for use in obtaining information about interfaces
17750  * from the routing socket
17751  */
17752 typedef struct if_msghdr {
17753  ushort_t ifm_msglen; /* to skip over non-understood messages */
17754  uchar_t ifm_version; /* future binary compatibility */
17755  uchar_t ifm_type; /* message type */
17756  int ifm_addrs; /* like rtm_addrs */
17757  int ifm_flags; /* value of if_flags */
17758  ushort_t ifm_index; /* index for associated ifp */
17759  struct if_data ifm_data; /* statistics and other data about if */
17760 } if_msghdr_t;
17761 
17762 /*
17763  * Message format for use in obtaining information about interface addresses
17764  * from the routing socket
17765  */
17766 typedef struct ifa_msghdr {
17767  ushort_t ifam_msglen; /* to skip over non-understood messages */
17768  uchar_t ifam_version; /* future binary compatibility */
17769  uchar_t ifam_type; /* message type */
17770  int ifam_addrs; /* like rtm_addrs */
17771  int ifam_flags; /* route flags */
17772  ushort_t ifam_index; /* index for associated ifp */
17773  int ifam_metric; /* value of ipif_metric */
17774 } ifa_msghdr_t;
17775 
17776 
17777 
17778 /*
17779  * The if_nameindex structure holds the interface index value about
17780  * a single interface. An array of this structure is used to return
17781  * all interfaces and indexes.
17782  */
17783 struct if_nameindex {
17784  unsigned if_index; /* positive interface index */
17785  char *if_name; /* if name, e.g. "en0" */
17786 };
17787 
17788 /* Interface index identification API definitions */
17789 extern unsigned if_nametoindex(const char *);
17790 extern char *if_indextoname(unsigned, char *);
17791 extern struct if_nameindex *if_nameindex(void);
17792 extern void if_freenameindex(struct if_nameindex *);
17793 
17794 
17795 /*
17796  * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if
17797  * struct sockaddr_dl needs to be modified as the interface index is placed
17798  * in this structure by the kernel.
17799  */
17800 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
17801 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
17802 /*
17803  * CDDL HEADER START
17804  *
17805  * The contents of this file are subject to the terms of the
17806  * Common Development and Distribution License (the "License").
17807  * You may not use this file except in compliance with the License.
17808  *
17809  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17810  * or http://www.opensolaris.org/os/licensing.
17811  * See the License for the specific language governing permissions
17812  * and limitations under the License.
17813  *
17814  * When distributing Covered Code, include this CDDL HEADER in each
17815  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17816  * If applicable, add the following below this CDDL HEADER, with the
17817  * fields enclosed by brackets "[]" replaced with your own identifying
17818  * information: Portions Copyright [yyyy] [name of copyright owner]
17819  *
17820  * CDDL HEADER END
17821  */
17822 
17823 /*
17824  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
17825  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
17826  */
17827 
17828 /*	Copyright (c) 1988 AT&T	*/
17829 /*	  All Rights Reserved  	*/
17830 
17831 /*
17832  * User-visible pieces of the ANSI C standard I/O package.
17833  */
17834 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
17835 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1
17836 /*
17837  * CDDL HEADER START
17838  *
17839  * The contents of this file are subject to the terms of the
17840  * Common Development and Distribution License, Version 1.0 only
17841  * (the "License").  You may not use this file except in compliance
17842  * with the License.
17843  *
17844  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17845  * or http://www.opensolaris.org/os/licensing.
17846  * See the License for the specific language governing permissions
17847  * and limitations under the License.
17848  *
17849  * When distributing Covered Code, include this CDDL HEADER in each
17850  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17851  * If applicable, add the following below this CDDL HEADER, with the
17852  * fields enclosed by brackets "[]" replaced with your own identifying
17853  * information: Portions Copyright [yyyy] [name of copyright owner]
17854  *
17855  * CDDL HEADER END
17856  */
17857 /*
17858  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
17859  * Use is subject to license terms.
17860  */
17861 
17862 
17863 
17864 
17865 #pragma ident "%Z%%M%	%I%	%E% SMI"
17866 
17867 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
17868 /*
17869  * CDDL HEADER START
17870  *
17871  * The contents of this file are subject to the terms of the
17872  * Common Development and Distribution License (the "License").
17873  * You may not use this file except in compliance with the License.
17874  *
17875  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17876  * or http://www.opensolaris.org/os/licensing.
17877  * See the License for the specific language governing permissions
17878  * and limitations under the License.
17879  *
17880  * When distributing Covered Code, include this CDDL HEADER in each
17881  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17882  * If applicable, add the following below this CDDL HEADER, with the
17883  * fields enclosed by brackets "[]" replaced with your own identifying
17884  * information: Portions Copyright [yyyy] [name of copyright owner]
17885  *
17886  * CDDL HEADER END
17887  */
17888 /*
17889  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
17890  */
17891 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2
17892 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
17893 /*
17894  * CDDL HEADER START
17895  *
17896  * The contents of this file are subject to the terms of the
17897  * Common Development and Distribution License (the "License").
17898  * You may not use this file except in compliance with the License.
17899  *
17900  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17901  * or http://www.opensolaris.org/os/licensing.
17902  * See the License for the specific language governing permissions
17903  * and limitations under the License.
17904  *
17905  * When distributing Covered Code, include this CDDL HEADER in each
17906  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17907  * If applicable, add the following below this CDDL HEADER, with the
17908  * fields enclosed by brackets "[]" replaced with your own identifying
17909  * information: Portions Copyright [yyyy] [name of copyright owner]
17910  *
17911  * CDDL HEADER END
17912  */
17913 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
17914 /*	  All Rights Reserved  	*/
17915 
17916 
17917 /*
17918  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
17919  * Use is subject to license terms.
17920  *
17921  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
17922  * Copyright 2016 Joyent, Inc.
17923  */
17924 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2
17925 
17926 
17927 
17928 
17929 
17930 int rctl_walk(int (*)(const char *, void *), void *);
17931 
17932 hrtime_t rctlblk_get_firing_time(rctlblk_t *);
17933 uint_t rctlblk_get_global_action(rctlblk_t *);
17934 uint_t rctlblk_get_global_flags(rctlblk_t *);
17935 uint_t rctlblk_get_local_action(rctlblk_t *, int *);
17936 uint_t rctlblk_get_local_flags(rctlblk_t *);
17937 id_t rctlblk_get_recipient_pid(rctlblk_t *);
17938 rctl_priv_t rctlblk_get_privilege(rctlblk_t *);
17939 rctl_qty_t rctlblk_get_value(rctlblk_t *);
17940 rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *);
17941 
17942 void rctlblk_set_local_action(rctlblk_t *, uint_t, int);
17943 void rctlblk_set_local_flags(rctlblk_t *, uint_t);
17944 void rctlblk_set_recipient_pid(rctlblk_t *, id_t);
17945 void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t);
17946 void rctlblk_set_value(rctlblk_t *, rctl_qty_t);
17947 
17948 size_t rctlblk_size(void);
17949 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
17950 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1
17951 /*
17952  * CDDL HEADER START
17953  *
17954  * The contents of this file are subject to the terms of the
17955  * Common Development and Distribution License (the "License").
17956  * You may not use this file except in compliance with the License.
17957  *
17958  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17959  * or http://www.opensolaris.org/os/licensing.
17960  * See the License for the specific language governing permissions
17961  * and limitations under the License.
17962  *
17963  * When distributing Covered Code, include this CDDL HEADER in each
17964  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17965  * If applicable, add the following below this CDDL HEADER, with the
17966  * fields enclosed by brackets "[]" replaced with your own identifying
17967  * information: Portions Copyright [yyyy] [name of copyright owner]
17968  *
17969  * CDDL HEADER END
17970  */
17971 /*
17972  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
17973  * Use is subject to license terms.
17974  */
17975 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
17976 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 1
17977 /*
17978  * CDDL HEADER START
17979  *
17980  * The contents of this file are subject to the terms of the
17981  * Common Development and Distribution License (the "License").
17982  * You may not use this file except in compliance with the License.
17983  *
17984  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17985  * or http://www.opensolaris.org/os/licensing.
17986  * See the License for the specific language governing permissions
17987  * and limitations under the License.
17988  *
17989  * When distributing Covered Code, include this CDDL HEADER in each
17990  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17991  * If applicable, add the following below this CDDL HEADER, with the
17992  * fields enclosed by brackets "[]" replaced with your own identifying
17993  * information: Portions Copyright [yyyy] [name of copyright owner]
17994  *
17995  * CDDL HEADER END
17996  */
17997 
17998 /*
17999  * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
18000  * Copyright (c) 2011, Joyent, Inc. All rights reserved.
18001  * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
18002  */
18003 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h"
18004 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18005 /*
18006  * CDDL HEADER START
18007  *
18008  * The contents of this file are subject to the terms of the
18009  * Common Development and Distribution License (the "License").
18010  * You may not use this file except in compliance with the License.
18011  *
18012  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18013  * or http://www.opensolaris.org/os/licensing.
18014  * See the License for the specific language governing permissions
18015  * and limitations under the License.
18016  *
18017  * When distributing Covered Code, include this CDDL HEADER in each
18018  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18019  * If applicable, add the following below this CDDL HEADER, with the
18020  * fields enclosed by brackets "[]" replaced with your own identifying
18021  * information: Portions Copyright [yyyy] [name of copyright owner]
18022  *
18023  * CDDL HEADER END
18024  */
18025 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18026 /*	  All Rights Reserved  	*/
18027 
18028 
18029 /*
18030  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18031  * Use is subject to license terms.
18032  *
18033  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18034  * Copyright 2016 Joyent, Inc.
18035  */
18036 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 2
18037 
18038 typedef struct __brand_handle *brand_handle_t;
18039 
18040 typedef struct priv_iter_s {
18041  char *pi_name;
18042  char *pi_set;
18043  char *pi_iptype;
18044 } priv_iter_t;
18045 
18046 extern brand_handle_t brand_open(const char *);
18047 extern void brand_close(brand_handle_t);
18048 
18049 extern boolean_t brand_allow_exclusive_ip(brand_handle_t);
18050 
18051 extern int brand_get_attach(brand_handle_t, const char *, const char *,
18052     char *, size_t);
18053 extern int brand_get_boot(brand_handle_t, const char *, const char *,
18054     char *, size_t);
18055 extern int brand_get_brandname(brand_handle_t, char *, size_t);
18056 extern int brand_get_clone(brand_handle_t, const char *, const char *,
18057     char *, size_t);
18058 extern int brand_get_detach(brand_handle_t, const char *, const char *,
18059     char *, size_t);
18060 extern int brand_get_shutdown(brand_handle_t, const char *, const char *,
18061     char *, size_t);
18062 extern int brand_get_halt(brand_handle_t, const char *, const char *,
18063     char *, size_t);
18064 extern int brand_get_initname(brand_handle_t, char *, size_t);
18065 extern boolean_t brand_restartinit(brand_handle_t);
18066 extern int brand_get_install(brand_handle_t, const char *, const char *,
18067     char *, size_t);
18068 extern int brand_get_installopts(brand_handle_t, char *, size_t);
18069 extern int brand_get_login_cmd(brand_handle_t, const char *, char *, size_t);
18070 extern int brand_get_forcedlogin_cmd(brand_handle_t, const char *,
18071     char *, size_t);
18072 extern int brand_get_modname(brand_handle_t, char *, size_t);
18073 extern int brand_get_postattach(brand_handle_t, const char *, const char *,
18074     char *, size_t);
18075 extern int brand_get_postclone(brand_handle_t, const char *, const char *,
18076     char *, size_t);
18077 extern int brand_get_postinstall(brand_handle_t, const char *, const char *,
18078     char *, size_t);
18079 extern int brand_get_postsnap(brand_handle_t, const char *, const char *,
18080     char *, size_t);
18081 extern int brand_get_poststatechange(brand_handle_t, const char *, const char *,
18082     char *, size_t);
18083 extern int brand_get_predetach(brand_handle_t, const char *, const char *,
18084     char *, size_t);
18085 extern int brand_get_presnap(brand_handle_t, const char *, const char *,
18086     char *, size_t);
18087 extern int brand_get_prestatechange(brand_handle_t, const char *, const char *,
18088     char *, size_t);
18089 extern int brand_get_preuninstall(brand_handle_t, const char *, const char *,
18090     char *, size_t);
18091 extern int brand_get_query(brand_handle_t, const char *, const char *,
18092     char *, size_t);
18093 extern int brand_get_uninstall(brand_handle_t, const char *, const char *,
18094     char *, size_t);
18095 extern int brand_get_validatesnap(brand_handle_t, const char *, const char *,
18096     char *, size_t);
18097 extern int brand_get_user_cmd(brand_handle_t, const char *, char *, size_t);
18098 extern int brand_get_verify_cfg(brand_handle_t, char *, size_t);
18099 extern int brand_get_verify_adm(brand_handle_t, const char *, const char *,
18100     char *, size_t);
18101 extern int brand_get_sysboot(brand_handle_t, const char *, const char *, char *,
18102     size_t);
18103 
18104 extern int brand_config_iter_privilege(brand_handle_t,
18105     int (*func)(void *, priv_iter_t *), void *);
18106 
18107 extern int brand_platform_iter_devices(brand_handle_t, const char *,
18108     int (*)(void *, const char *, const char *), void *, const char *);
18109 extern int brand_platform_iter_gmounts(brand_handle_t, const char *,
18110     int (*)(void *, const char *, const char *, const char *, const char *),
18111     void *);
18112 extern int brand_platform_iter_link(brand_handle_t, int (*)(void *,
18113     const char *, const char *), void *);
18114 extern int brand_platform_iter_mounts(brand_handle_t, int (*)(void *,
18115     const char *, const char *, const char *, const char *), void *);
18116 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18117 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 1
18118 /*
18119  * CDDL HEADER START
18120  *
18121  * The contents of this file are subject to the terms of the
18122  * Common Development and Distribution License, Version 1.0 only
18123  * (the "License").  You may not use this file except in compliance
18124  * with the License.
18125  *
18126  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18127  * or http://www.opensolaris.org/os/licensing.
18128  * See the License for the specific language governing permissions
18129  * and limitations under the License.
18130  *
18131  * When distributing Covered Code, include this CDDL HEADER in each
18132  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18133  * If applicable, add the following below this CDDL HEADER, with the
18134  * fields enclosed by brackets "[]" replaced with your own identifying
18135  * information: Portions Copyright [yyyy] [name of copyright owner]
18136  *
18137  * CDDL HEADER END
18138  */
18139 /*
18140  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
18141  * Use is subject to license terms.
18142  */
18143 
18144 
18145 
18146 
18147 #pragma ident "%Z%%M%	%I%	%E% SMI"
18148 
18149 
18150 
18151 
18152 
18153 /*
18154  * The copyright in this file is taken from the original Leach
18155  * & Salz UUID specification, from which this implementation
18156  * is derived.
18157  */
18158 
18159 /*
18160  * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
18161  * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
18162  * Digital Equipment Corporation, Maynard, Mass.  Copyright (c) 1998
18163  * Microsoft.  To anyone who acknowledges that this file is provided
18164  * "AS IS" without any express or implied warranty: permission to use,
18165  * copy, modify, and distribute this file for any purpose is hereby
18166  * granted without fee, provided that the above copyright notices and
18167  * this notice appears in all source code copies, and that none of the
18168  * names of Open Software Foundation, Inc., Hewlett-Packard Company,
18169  * or Digital Equipment Corporation be used in advertising or
18170  * publicity pertaining to distribution of the software without
18171  * specific, written prior permission.  Neither Open Software
18172  * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
18173  * Equipment Corporation makes any representations about the
18174  * suitability of this software for any purpose.
18175  */
18176 
18177 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18178 /*
18179  * CDDL HEADER START
18180  *
18181  * The contents of this file are subject to the terms of the
18182  * Common Development and Distribution License (the "License").
18183  * You may not use this file except in compliance with the License.
18184  *
18185  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18186  * or http://www.opensolaris.org/os/licensing.
18187  * See the License for the specific language governing permissions
18188  * and limitations under the License.
18189  *
18190  * When distributing Covered Code, include this CDDL HEADER in each
18191  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18192  * If applicable, add the following below this CDDL HEADER, with the
18193  * fields enclosed by brackets "[]" replaced with your own identifying
18194  * information: Portions Copyright [yyyy] [name of copyright owner]
18195  *
18196  * CDDL HEADER END
18197  */
18198 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18199 /*	  All Rights Reserved  	*/
18200 
18201 
18202 /*
18203  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18204  * Use is subject to license terms.
18205  *
18206  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18207  * Copyright 2016 Joyent, Inc.
18208  */
18209 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2
18210 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1
18211 /*
18212  * CDDL HEADER START
18213  *
18214  * The contents of this file are subject to the terms of the
18215  * Common Development and Distribution License (the "License").
18216  * You may not use this file except in compliance with the License.
18217  *
18218  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18219  * or http://www.opensolaris.org/os/licensing.
18220  * See the License for the specific language governing permissions
18221  * and limitations under the License.
18222  *
18223  * When distributing Covered Code, include this CDDL HEADER in each
18224  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18225  * If applicable, add the following below this CDDL HEADER, with the
18226  * fields enclosed by brackets "[]" replaced with your own identifying
18227  * information: Portions Copyright [yyyy] [name of copyright owner]
18228  *
18229  * CDDL HEADER END
18230  */
18231 
18232 /*
18233  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18234  * Use is subject to license terms.
18235  */
18236 
18237 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
18238 /*	  All Rights Reserved  	*/
18239 
18240 /*
18241  * University Copyright- Copyright (c) 1982, 1986, 1988
18242  * The Regents of the University of California
18243  * All Rights Reserved
18244  *
18245  * University Acknowledgment- Portions of this document are derived from
18246  * software developed by the University of California, Berkeley, and its
18247  * contributors.
18248  */
18249 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2
18250 
18251 typedef struct {
18252  uint8_t nodeID[6];
18253 } uuid_node_t;
18254 
18255 /*
18256  * The uuid type used throughout when referencing uuids themselves
18257  */
18258 struct uuid {
18259  uint32_t time_low;
18260  uint16_t time_mid;
18261  uint16_t time_hi_and_version;
18262  uint8_t clock_seq_hi_and_reserved;
18263  uint8_t clock_seq_low;
18264  uint8_t node_addr[6];
18265 };
18266 
18267 
18268 
18269 
18270 
18271 typedef uchar_t uuid_t[16];
18272 
18273 /*
18274  * Convert a uuid to/from little-endian format
18275  */
18276 # 50 "/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/libuutil.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 (the "License").
18283  * You may not use this file except in compliance with the License.
18284  *
18285  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18286  * or http://www.opensolaris.org/os/licensing.
18287  * See the License for the specific language governing permissions
18288  * and limitations under the License.
18289  *
18290  * When distributing Covered Code, include this CDDL HEADER in each
18291  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18292  * If applicable, add the following below this CDDL HEADER, with the
18293  * fields enclosed by brackets "[]" replaced with your own identifying
18294  * information: Portions Copyright [yyyy] [name of copyright owner]
18295  *
18296  * CDDL HEADER END
18297  */
18298 /*
18299  * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
18300  */
18301 
18302 
18303 
18304 
18305 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18306 /*
18307  * CDDL HEADER START
18308  *
18309  * The contents of this file are subject to the terms of the
18310  * Common Development and Distribution License (the "License").
18311  * You may not use this file except in compliance with the License.
18312  *
18313  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18314  * or http://www.opensolaris.org/os/licensing.
18315  * See the License for the specific language governing permissions
18316  * and limitations under the License.
18317  *
18318  * When distributing Covered Code, include this CDDL HEADER in each
18319  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18320  * If applicable, add the following below this CDDL HEADER, with the
18321  * fields enclosed by brackets "[]" replaced with your own identifying
18322  * information: Portions Copyright [yyyy] [name of copyright owner]
18323  *
18324  * CDDL HEADER END
18325  */
18326 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18327 /*	  All Rights Reserved  	*/
18328 
18329 
18330 /*
18331  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18332  * Use is subject to license terms.
18333  *
18334  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18335  * Copyright 2016 Joyent, Inc.
18336  */
18337 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
18338 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1
18339 /*
18340  * CDDL HEADER START
18341  *
18342  * The contents of this file are subject to the terms of the
18343  * Common Development and Distribution License, Version 1.0 only
18344  * (the "License").  You may not use this file except in compliance
18345  * with the License.
18346  *
18347  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18348  * or http://www.opensolaris.org/os/licensing.
18349  * See the License for the specific language governing permissions
18350  * and limitations under the License.
18351  *
18352  * When distributing Covered Code, include this CDDL HEADER in each
18353  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18354  * If applicable, add the following below this CDDL HEADER, with the
18355  * fields enclosed by brackets "[]" replaced with your own identifying
18356  * information: Portions Copyright [yyyy] [name of copyright owner]
18357  *
18358  * CDDL HEADER END
18359  */
18360 /*	Copyright (c) 1988 AT&T	*/
18361 /*	  All Rights Reserved	*/
18362 
18363 /*
18364  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18365  *
18366  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
18367  * Use is subject to license terms.
18368  */
18369 
18370 
18371 
18372 
18373 /*
18374  * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999
18375  * variable argument definitions.  For legacy support, it also defines
18376  * the pre-standard variable argument definitions.
18377  *
18378  * The varargs definitions within this header are defined in terms of
18379  * implementation definitions.  These implementation definitions reside
18380  * in <sys/va_list.h>.  This organization enables protected use of
18381  * the implementation by other standard headers without introducing
18382  * names into the users' namespace.
18383  */
18384 
18385 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1
18386 /*
18387  * CDDL HEADER START
18388  *
18389  * The contents of this file are subject to the terms of the
18390  * Common Development and Distribution License, Version 1.0 only
18391  * (the "License").  You may not use this file except in compliance
18392  * with the License.
18393  *
18394  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18395  * or http://www.opensolaris.org/os/licensing.
18396  * See the License for the specific language governing permissions
18397  * and limitations under the License.
18398  *
18399  * When distributing Covered Code, include this CDDL HEADER in each
18400  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18401  * If applicable, add the following below this CDDL HEADER, with the
18402  * fields enclosed by brackets "[]" replaced with your own identifying
18403  * information: Portions Copyright [yyyy] [name of copyright owner]
18404  *
18405  * CDDL HEADER END
18406  */
18407 /*	Copyright (c) 1988 AT&T	*/
18408 /*	  All Rights Reserved  	*/
18409 
18410 
18411 /*
18412  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
18413  * Use is subject to license terms.
18414  */
18415 
18416 /*
18417  * An application should not include this header directly.  Instead it
18418  * should be included only through the inclusion of other Sun headers.
18419  *
18420  * The contents of this header is limited to identifiers specified in the
18421  * C Standard.  Any new identifiers specified in future amendments to the
18422  * C Standard must be placed in this header.  If these new identifiers
18423  * are required to also be in the C++ Standard "std" namespace, then for
18424  * anything other than macro definitions, corresponding "using" directives
18425  * must also be added to <stdarg.h>.
18426  */
18427 
18428 
18429 
18430 
18431 #pragma ident "%Z%%M%	%I%	%E% SMI"
18432 
18433 /*
18434  * This header defines the ISO C 1989 and ISO C++ 1998 variable
18435  * argument definitions.
18436  *
18437  * The varargs definitions within this header are defined in terms of
18438  * implementation definitions.  These implementation definitions reside
18439  * in <sys/va_impl.h>.  This organization enables protected use of
18440  * the implementation by other standard headers without introducing
18441  * names into the users' namespace.
18442  */
18443 
18444 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 1
18445 /*
18446  * CDDL HEADER START
18447  *
18448  * The contents of this file are subject to the terms of the
18449  * Common Development and Distribution License, Version 1.0 only
18450  * (the "License").  You may not use this file except in compliance
18451  * with the License.
18452  *
18453  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18454  * or http://www.opensolaris.org/os/licensing.
18455  * See the License for the specific language governing permissions
18456  * and limitations under the License.
18457  *
18458  * When distributing Covered Code, include this CDDL HEADER in each
18459  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18460  * If applicable, add the following below this CDDL HEADER, with the
18461  * fields enclosed by brackets "[]" replaced with your own identifying
18462  * information: Portions Copyright [yyyy] [name of copyright owner]
18463  *
18464  * CDDL HEADER END
18465  */
18466 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18467 /*	  All Rights Reserved	*/
18468 
18469 
18470 /*
18471  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18472  *
18473  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
18474  * Use is subject to license terms.
18475  */
18476 
18477 
18478 
18479 
18480 /*
18481  * An application should not include this header directly.  Instead it
18482  * should be included only through the inclusion of other Sun headers,
18483  * specifically <stdarg.h> and <varargs.h>.
18484  *
18485  * This header serves two purposes.
18486  *
18487  * First, it provides a common set of definitions that implementations
18488  * of the various standards for variable argument lists may use.  These
18489  * various standards are implemented in <varargs.h>, <stdarg.h>,
18490  * <iso/stdarg_iso.h>, <iso/stdarg_c99.h>, and <sys/varargs.h>.
18491  *
18492  * Second, it provides varying implementations of the common definitions,
18493  * depending upon the compiler.
18494  */
18495 
18496 /*
18497  * The common definitions exported by this header or compilers using
18498  * this header are:
18499  *
18500  * the macro __va_start(list, name) starting the list iteration
18501  * the macro __va_arg(list, type) getting the current arg and iterating
18502  * the macro __va_copy(to, from) to bookmark the list iteration
18503  * the macro __va_end(list) to end the iteration
18504  *
18505  * In addition, the following are exported via inclusion of <sys/va_list.h>:
18506  *
18507  * the identifier __builtin_va_alist for the variable list pseudo parameter
18508  * the type __va_alist_type for the variable list pseudo parameter
18509  * the type __va_list defining the type of the variable list iterator
18510  */
18511 
18512 /*
18513  * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and
18514  * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor
18515  * macros (e.g. __sparc) to determine the protocol appropriate to the
18516  * current compilation.  It is intended that the compilation system
18517  * define the feature, processor, and compiler macros, not the user of
18518  * the system.
18519  */
18520 
18521 /*
18522  * Many compilation systems depend upon the use of special functions
18523  * built into the the compilation system to handle variable argument
18524  * lists.  These built-in symbols may include one or more of the
18525  * following:
18526  *
18527  *      __builtin_va_alist
18528  *      __builtin_va_start
18529  *      __builtin_va_arg_incr
18530  *      __builtin_stdarg_start
18531  *      __builtin_va_end
18532  *      __builtin_va_arg
18533  *      __builtin_va_copy
18534  */
18535 
18536 /*
18537  * The following are defined in <sys/va_list.h>:
18538  *
18539  *      __va_alist_type
18540  *      __va_void()
18541  *      __va_ptr_base
18542  *      ISA definitions via inclusion of <sys/isa_defs.h>
18543  *
18544  * Inclusion of this header also makes visible the symbols in <sys/va_list.h>.
18545  * This header is included in <varargs.h>, <sys/varargs.h> and in <stdarg.h>
18546  * via inclusion of <iso/stdarg_iso.h>.
18547  */
18548 
18549 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
18550 /*
18551  * CDDL HEADER START
18552  *
18553  * The contents of this file are subject to the terms of the
18554  * Common Development and Distribution License, Version 1.0 only
18555  * (the "License").  You may not use this file except in compliance
18556  * with the License.
18557  *
18558  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18559  * or http://www.opensolaris.org/os/licensing.
18560  * See the License for the specific language governing permissions
18561  * and limitations under the License.
18562  *
18563  * When distributing Covered Code, include this CDDL HEADER in each
18564  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18565  * If applicable, add the following below this CDDL HEADER, with the
18566  * fields enclosed by brackets "[]" replaced with your own identifying
18567  * information: Portions Copyright [yyyy] [name of copyright owner]
18568  *
18569  * CDDL HEADER END
18570  */
18571 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18572 /*	  All Rights Reserved	*/
18573 
18574 
18575 /*
18576  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18577  *
18578  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
18579  * Use is subject to license terms.
18580  */
18581 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2
18582 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2
18583 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h"
18584 typedef __va_list va_list;
18585 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2
18586 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1
18587 /*
18588  * CDDL HEADER START
18589  *
18590  * The contents of this file are subject to the terms of the
18591  * Common Development and Distribution License, Version 1.0 only
18592  * (the "License").  You may not use this file except in compliance
18593  * with the License.
18594  *
18595  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18596  * or http://www.opensolaris.org/os/licensing.
18597  * See the License for the specific language governing permissions
18598  * and limitations under the License.
18599  *
18600  * When distributing Covered Code, include this CDDL HEADER in each
18601  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18602  * If applicable, add the following below this CDDL HEADER, with the
18603  * fields enclosed by brackets "[]" replaced with your own identifying
18604  * information: Portions Copyright [yyyy] [name of copyright owner]
18605  *
18606  * CDDL HEADER END
18607  */
18608 /*	Copyright (c) 1988 AT&T	*/
18609 /*	  All Rights Reserved	*/
18610 
18611 
18612 /*
18613  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
18614  * Use is subject to license terms.
18615  */
18616 
18617 
18618 
18619 
18620 #pragma ident "%Z%%M%	%I%	%E% SMI"
18621 
18622 /*
18623  * An application should not include this header directly.  Instead it
18624  * should be included only through the inclusion of other Sun headers.
18625  *
18626  * This header defines the va_copy variable argument macro, which is
18627  * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++
18628  * 1998.  Because this macro is a long-standing Solaris extension, it
18629  * is also permitted in other contexts.
18630  *
18631  * The varargs definitions within this header are defined in terms of
18632  * implementation definitions.  These implementation definitions reside
18633  * in <sys/va_list.h>.  This organization enables protected use of
18634  * the implementation by other standard headers without introducing
18635  * names into the users' namespace.
18636  */
18637 
18638 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
18639 /*
18640  * CDDL HEADER START
18641  *
18642  * The contents of this file are subject to the terms of the
18643  * Common Development and Distribution License (the "License").
18644  * You may not use this file except in compliance with the License.
18645  *
18646  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18647  * or http://www.opensolaris.org/os/licensing.
18648  * See the License for the specific language governing permissions
18649  * and limitations under the License.
18650  *
18651  * When distributing Covered Code, include this CDDL HEADER in each
18652  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18653  * If applicable, add the following below this CDDL HEADER, with the
18654  * fields enclosed by brackets "[]" replaced with your own identifying
18655  * information: Portions Copyright [yyyy] [name of copyright owner]
18656  *
18657  * CDDL HEADER END
18658  */
18659 
18660 /*
18661  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
18662  * Copyright 2016 Joyent, Inc.
18663  *
18664  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
18665  * Use is subject to license terms.
18666  */
18667 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2
18668 
18669 
18670 
18671 
18672 
18673 /*
18674  * va_copy was initially a Solaris extension to provide a portable
18675  * way to perform a variable argument list ``bookmarking'' function.
18676  * It is now specified in the ISO/IEC 9899:1999 standard.
18677  */
18678 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2
18679 
18680 /*
18681  * Allow global visibility for symbols defined in
18682  * C++ "std" namespace in <iso/stdarg_iso.h>.
18683  */
18684 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
18685 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
18686 /*
18687  * CDDL HEADER START
18688  *
18689  * The contents of this file are subject to the terms of the
18690  * Common Development and Distribution License (the "License").
18691  * You may not use this file except in compliance with the License.
18692  *
18693  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18694  * or http://www.opensolaris.org/os/licensing.
18695  * See the License for the specific language governing permissions
18696  * and limitations under the License.
18697  *
18698  * When distributing Covered Code, include this CDDL HEADER in each
18699  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18700  * If applicable, add the following below this CDDL HEADER, with the
18701  * fields enclosed by brackets "[]" replaced with your own identifying
18702  * information: Portions Copyright [yyyy] [name of copyright owner]
18703  *
18704  * CDDL HEADER END
18705  */
18706 
18707 /*
18708  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18709  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
18710  */
18711 
18712 /*	Copyright (c) 1988 AT&T	*/
18713 /*	  All Rights Reserved  	*/
18714 
18715 /*
18716  * User-visible pieces of the ANSI C standard I/O package.
18717  */
18718 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
18719 
18720 
18721 
18722 
18723 
18724 /*
18725  * Standard flags codes.
18726  */
18727 
18728 
18729 /*
18730  * Standard error codes.
18731  */
18732 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h"
18733 /*
18734  * Standard program exit codes.
18735  */
18736 
18737 
18738 
18739 
18740 /*
18741  * Exit status profiles.
18742  */
18743 
18744 
18745 
18746 /*
18747  * Error reporting functions.
18748  */
18749 uint32_t uu_error(void);
18750 const char *uu_strerror(uint32_t);
18751 
18752 /*
18753  * Program notification functions.
18754  */
18755 extern void uu_alt_exit(int);
18756 extern const char *uu_setpname(char *);
18757 extern const char *uu_getpname(void);
18758 /*PRINTFLIKE1*/
18759 extern void uu_warn(const char *, ...);
18760 extern void uu_vwarn(const char *, va_list);
18761 /*PRINTFLIKE1*/
18762 extern void uu_die(const char *, ...) __attribute__((__noreturn__));
18763 extern void uu_vdie(const char *, va_list) __attribute__((__noreturn__));
18764 /*PRINTFLIKE2*/
18765 extern void uu_xdie(int, const char *, ...) __attribute__((__noreturn__));
18766 extern void uu_vxdie(int, const char *, va_list) __attribute__((__noreturn__));
18767 
18768 /*
18769  * Exit status functions (not to be used directly)
18770  */
18771 extern int *uu_exit_ok(void);
18772 extern int *uu_exit_fatal(void);
18773 extern int *uu_exit_usage(void);
18774 
18775 /*
18776  * string->number conversions
18777  */
18778 extern int uu_strtoint(const char *, void *, size_t, int, int64_t, int64_t);
18779 extern int uu_strtouint(const char *, void *, size_t, int, uint64_t, uint64_t);
18780 
18781 /*
18782  * Debug print facility functions.
18783  */
18784 typedef struct uu_dprintf uu_dprintf_t;
18785 
18786 typedef enum {
18787  UU_DPRINTF_SILENT,
18788  UU_DPRINTF_FATAL,
18789  UU_DPRINTF_WARNING,
18790  UU_DPRINTF_NOTICE,
18791  UU_DPRINTF_INFO,
18792  UU_DPRINTF_DEBUG
18793 } uu_dprintf_severity_t;
18794 
18795 extern uu_dprintf_t *uu_dprintf_create(const char *, uu_dprintf_severity_t,
18796     uint_t);
18797 /*PRINTFLIKE3*/
18798 extern void uu_dprintf(uu_dprintf_t *, uu_dprintf_severity_t,
18799     const char *, ...);
18800 extern void uu_dprintf_destroy(uu_dprintf_t *);
18801 extern const char *uu_dprintf_getname(uu_dprintf_t *);
18802 
18803 /*
18804  * Identifier test flags and function.
18805  */
18806 
18807 
18808 
18809 int uu_check_name(const char *, uint_t);
18810 
18811 /*
18812  * File creation functions.
18813  */
18814 extern int uu_open_tmp(const char *dir, uint_t uflags);
18815 
18816 /*
18817  * Convenience functions.
18818  */
18819 
18820 
18821 /*PRINTFLIKE1*/
18822 extern char *uu_msprintf(const char *format, ...);
18823 extern void *uu_zalloc(size_t);
18824 extern char *uu_strdup(const char *);
18825 extern void uu_free(void *);
18826 
18827 extern boolean_t uu_strcaseeq(const char *a, const char *b);
18828 extern boolean_t uu_streq(const char *a, const char *b);
18829 extern char *uu_strndup(const char *s, size_t n);
18830 extern boolean_t uu_strbw(const char *a, const char *b);
18831 extern void *uu_memdup(const void *buf, size_t sz);
18832 extern void uu_dump(FILE *out, const char *prefix, const void *buf, size_t len);
18833 
18834 /*
18835  * Comparison function type definition.
18836  *   Developers should be careful in their use of the _private argument. If you
18837  *   break interface guarantees, you get undefined behavior.
18838  */
18839 typedef int uu_compare_fn_t(const void *__left, const void *__right,
18840     void *__private);
18841 
18842 /*
18843  * Walk variant flags.
18844  *   A data structure need not provide support for all variants and
18845  *   combinations.  Refer to the appropriate documentation.
18846  */
18847 
18848 
18849 
18850 
18851 
18852 
18853 /*
18854  * Walk callback function return codes.
18855  */
18856 
18857 
18858 
18859 
18860 /*
18861  * Walk callback function type definition.
18862  */
18863 typedef int uu_walk_fn_t(void *_elem, void *_private);
18864 
18865 /*
18866  * lists: opaque structures
18867  */
18868 typedef struct uu_list_pool uu_list_pool_t;
18869 typedef struct uu_list uu_list_t;
18870 
18871 typedef struct uu_list_node {
18872  uintptr_t uln_opaque[2];
18873 } uu_list_node_t;
18874 
18875 typedef struct uu_list_walk uu_list_walk_t;
18876 
18877 typedef uintptr_t uu_list_index_t;
18878 
18879 /*
18880  * lists: interface
18881  *
18882  * basic usage:
18883  *	typedef struct foo {
18884  *		...
18885  *		uu_list_node_t foo_node;
18886  *		...
18887  *	} foo_t;
18888  *
18889  *	static int
18890  *	foo_compare(void *l_arg, void *r_arg, void *private)
18891  *	{
18892  *		foo_t *l = l_arg;
18893  *		foo_t *r = r_arg;
18894  *
18895  *		if (... l greater than r ...)
18896  *			return (1);
18897  *		if (... l less than r ...)
18898  *			return (-1);
18899  *		return (0);
18900  *	}
18901  *
18902  *	...
18903  *		// at initialization time
18904  *		foo_pool = uu_list_pool_create("foo_pool",
18905  *		    sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare,
18906  *		    debugging? 0 : UU_AVL_POOL_DEBUG);
18907  *	...
18908  */
18909 uu_list_pool_t *uu_list_pool_create(const char *, size_t, size_t,
18910     uu_compare_fn_t *, uint32_t);
18911 
18912 
18913 void uu_list_pool_destroy(uu_list_pool_t *);
18914 
18915 /*
18916  * usage:
18917  *
18918  *	foo_t *a;
18919  *	a = malloc(sizeof(*a));
18920  *	uu_list_node_init(a, &a->foo_list, pool);
18921  *	...
18922  *	uu_list_node_fini(a, &a->foo_list, pool);
18923  *	free(a);
18924  */
18925 void uu_list_node_init(void *, uu_list_node_t *, uu_list_pool_t *);
18926 void uu_list_node_fini(void *, uu_list_node_t *, uu_list_pool_t *);
18927 
18928 uu_list_t *uu_list_create(uu_list_pool_t *, void *_parent, uint32_t);
18929 
18930 
18931 
18932 void uu_list_destroy(uu_list_t *); /* list must be empty */
18933 
18934 size_t uu_list_numnodes(uu_list_t *);
18935 
18936 void *uu_list_first(uu_list_t *);
18937 void *uu_list_last(uu_list_t *);
18938 
18939 void *uu_list_next(uu_list_t *, void *);
18940 void *uu_list_prev(uu_list_t *, void *);
18941 
18942 int uu_list_walk(uu_list_t *, uu_walk_fn_t *, void *, uint32_t);
18943 
18944 uu_list_walk_t *uu_list_walk_start(uu_list_t *, uint32_t);
18945 void *uu_list_walk_next(uu_list_walk_t *);
18946 void uu_list_walk_end(uu_list_walk_t *);
18947 
18948 void *uu_list_find(uu_list_t *, void *, void *, uu_list_index_t *);
18949 void uu_list_insert(uu_list_t *, void *, uu_list_index_t);
18950 
18951 void *uu_list_nearest_next(uu_list_t *, uu_list_index_t);
18952 void *uu_list_nearest_prev(uu_list_t *, uu_list_index_t);
18953 
18954 void *uu_list_teardown(uu_list_t *, void **);
18955 
18956 void uu_list_remove(uu_list_t *, void *);
18957 
18958 /*
18959  * lists: interfaces for non-sorted lists only
18960  */
18961 int uu_list_insert_before(uu_list_t *, void *_target, void *_elem);
18962 int uu_list_insert_after(uu_list_t *, void *_target, void *_elem);
18963 
18964 /*
18965  * avl trees: opaque structures
18966  */
18967 typedef struct uu_avl_pool uu_avl_pool_t;
18968 typedef struct uu_avl uu_avl_t;
18969 
18970 typedef struct uu_avl_node {
18971 
18972  uintptr_t uan_opaque[3];
18973 
18974 
18975 
18976 } uu_avl_node_t;
18977 
18978 typedef struct uu_avl_walk uu_avl_walk_t;
18979 
18980 typedef uintptr_t uu_avl_index_t;
18981 
18982 /*
18983  * avl trees: interface
18984  *
18985  * basic usage:
18986  *	typedef struct foo {
18987  *		...
18988  *		uu_avl_node_t foo_node;
18989  *		...
18990  *	} foo_t;
18991  *
18992  *	static int
18993  *	foo_compare(void *l_arg, void *r_arg, void *private)
18994  *	{
18995  *		foo_t *l = l_arg;
18996  *		foo_t *r = r_arg;
18997  *
18998  *		if (... l greater than r ...)
18999  *			return (1);
19000  *		if (... l less than r ...)
19001  *			return (-1);
19002  *		return (0);
19003  *	}
19004  *
19005  *	...
19006  *		// at initialization time
19007  *		foo_pool = uu_avl_pool_create("foo_pool",
19008  *		    sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare,
19009  *		    debugging? 0 : UU_AVL_POOL_DEBUG);
19010  *	...
19011  */
19012 uu_avl_pool_t *uu_avl_pool_create(const char *, size_t, size_t,
19013     uu_compare_fn_t *, uint32_t);
19014 
19015 
19016 void uu_avl_pool_destroy(uu_avl_pool_t *);
19017 
19018 /*
19019  * usage:
19020  *
19021  *	foo_t *a;
19022  *	a = malloc(sizeof(*a));
19023  *	uu_avl_node_init(a, &a->foo_avl, pool);
19024  *	...
19025  *	uu_avl_node_fini(a, &a->foo_avl, pool);
19026  *	free(a);
19027  */
19028 void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *);
19029 void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *);
19030 
19031 uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t);
19032 
19033 
19034 void uu_avl_destroy(uu_avl_t *); /* list must be empty */
19035 
19036 size_t uu_avl_numnodes(uu_avl_t *);
19037 
19038 void *uu_avl_first(uu_avl_t *);
19039 void *uu_avl_last(uu_avl_t *);
19040 
19041 void *uu_avl_next(uu_avl_t *, void *);
19042 void *uu_avl_prev(uu_avl_t *, void *);
19043 
19044 int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t);
19045 
19046 uu_avl_walk_t *uu_avl_walk_start(uu_avl_t *, uint32_t);
19047 void *uu_avl_walk_next(uu_avl_walk_t *);
19048 void uu_avl_walk_end(uu_avl_walk_t *);
19049 
19050 void *uu_avl_find(uu_avl_t *, void *, void *, uu_avl_index_t *);
19051 void uu_avl_insert(uu_avl_t *, void *, uu_avl_index_t);
19052 
19053 void *uu_avl_nearest_next(uu_avl_t *, uu_avl_index_t);
19054 void *uu_avl_nearest_prev(uu_avl_t *, uu_avl_index_t);
19055 
19056 void *uu_avl_teardown(uu_avl_t *, void **);
19057 
19058 void uu_avl_remove(uu_avl_t *, void *);
19059 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19060 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 1
19061 /*
19062  * CDDL HEADER START
19063  *
19064  * The contents of this file are subject to the terms of the
19065  * Common Development and Distribution License (the "License").
19066  * You may not use this file except in compliance with the License.
19067  *
19068  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19069  * or http://www.opensolaris.org/os/licensing.
19070  * See the License for the specific language governing permissions
19071  * and limitations under the License.
19072  *
19073  * When distributing Covered Code, include this CDDL HEADER in each
19074  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19075  * If applicable, add the following below this CDDL HEADER, with the
19076  * fields enclosed by brackets "[]" replaced with your own identifying
19077  * information: Portions Copyright [yyyy] [name of copyright owner]
19078  *
19079  * CDDL HEADER END
19080  */
19081 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19082 /*	  All Rights Reserved  	*/
19083 
19084 
19085 /*
19086  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19087  *
19088  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19089  * Use is subject to license terms.
19090  */
19091 
19092 
19093 
19094 
19095 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
19096 /*
19097  * CDDL HEADER START
19098  *
19099  * The contents of this file are subject to the terms of the
19100  * Common Development and Distribution License (the "License").
19101  * You may not use this file except in compliance with the License.
19102  *
19103  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19104  * or http://www.opensolaris.org/os/licensing.
19105  * See the License for the specific language governing permissions
19106  * and limitations under the License.
19107  *
19108  * When distributing Covered Code, include this CDDL HEADER in each
19109  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19110  * If applicable, add the following below this CDDL HEADER, with the
19111  * fields enclosed by brackets "[]" replaced with your own identifying
19112  * information: Portions Copyright [yyyy] [name of copyright owner]
19113  *
19114  * CDDL HEADER END
19115  */
19116 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19117 /*	  All Rights Reserved  	*/
19118 
19119 
19120 /*
19121  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19122  * Use is subject to license terms.
19123  *
19124  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19125  * Copyright 2016 Joyent, Inc.
19126  */
19127 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 2
19128 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h"
19129 /*
19130  * The fields in struct extmnttab should match those in struct mnttab until new
19131  * fields are encountered. This allows hasmntopt(), getmntent_common() and
19132  * mntioctl() to cast one type to the other safely.
19133  *
19134  * The fields in struct mnttab, struct extmnttab and struct mntentbuf must all
19135  * match those in the corresponding 32-bit versions defined in mntvnops.c.
19136  */
19137 struct mnttab {
19138  char *mnt_special;
19139  char *mnt_mountp;
19140  char *mnt_fstype;
19141  char *mnt_mntopts;
19142  char *mnt_time;
19143 };
19144 
19145 struct extmnttab {
19146  char *mnt_special;
19147  char *mnt_mountp;
19148  char *mnt_fstype;
19149  char *mnt_mntopts;
19150  char *mnt_time;
19151  uint_t mnt_major;
19152  uint_t mnt_minor;
19153 };
19154 
19155 struct mntentbuf {
19156  struct extmnttab *mbuf_emp;
19157  size_t mbuf_bufsize;
19158  char *mbuf_buf;
19159 };
19160 
19161 
19162 extern void resetmnttab(FILE *);
19163 extern int getmntent(FILE *, struct mnttab *);
19164 extern int getextmntent(FILE *, struct extmnttab *, size_t);
19165 extern int getmntany(FILE *, struct mnttab *, struct mnttab *);
19166 extern char *hasmntopt(struct mnttab *, char *);
19167 extern char *mntopt(char **);
19168 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19169 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.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 (c) 2013 Gary Mills
19193  *
19194  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
19195  * Use is subject to license terms.
19196  */
19197 
19198 /*	Copyright (c) 1988 AT&T	*/
19199 /*	  All Rights Reserved  	*/
19200 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.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, Version 1.0 only
19207  * (the "License").  You may not use this file except in compliance
19208  * with the License.
19209  *
19210  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19211  * or http://www.opensolaris.org/os/licensing.
19212  * See the License for the specific language governing permissions
19213  * and limitations under the License.
19214  *
19215  * When distributing Covered Code, include this CDDL HEADER in each
19216  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19217  * If applicable, add the following below this CDDL HEADER, with the
19218  * fields enclosed by brackets "[]" replaced with your own identifying
19219  * information: Portions Copyright [yyyy] [name of copyright owner]
19220  *
19221  * CDDL HEADER END
19222  */
19223 /*
19224  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19225  *
19226  * Copyright 1997 Sun Microsystems, Inc.  All rights reserved.
19227  * Use is subject to license terms.
19228  */
19229 
19230 /*	Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T	*/
19231 /*	  All Rights Reserved  	*/
19232 
19233 /*
19234  * Portions of this source code were derived from Berkeley 4.3 BSD
19235  * under license from the Regents of the University of California.
19236  */
19237 
19238 
19239 
19240 
19241 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
19242 /*
19243  * CDDL HEADER START
19244  *
19245  * The contents of this file are subject to the terms of the
19246  * Common Development and Distribution License (the "License").
19247  * You may not use this file except in compliance with the License.
19248  *
19249  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19250  * or http://www.opensolaris.org/os/licensing.
19251  * See the License for the specific language governing permissions
19252  * and limitations under the License.
19253  *
19254  * When distributing Covered Code, include this CDDL HEADER in each
19255  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19256  * If applicable, add the following below this CDDL HEADER, with the
19257  * fields enclosed by brackets "[]" replaced with your own identifying
19258  * information: Portions Copyright [yyyy] [name of copyright owner]
19259  *
19260  * CDDL HEADER END
19261  */
19262 
19263 /*
19264  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
19265  * Copyright 2016 Joyent, Inc.
19266  *
19267  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
19268  * Use is subject to license terms.
19269  */
19270 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19271 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
19272 /*
19273  * CDDL HEADER START
19274  *
19275  * The contents of this file are subject to the terms of the
19276  * Common Development and Distribution License (the "License").
19277  * You may not use this file except in compliance with the License.
19278  *
19279  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19280  * or http://www.opensolaris.org/os/licensing.
19281  * See the License for the specific language governing permissions
19282  * and limitations under the License.
19283  *
19284  * When distributing Covered Code, include this CDDL HEADER in each
19285  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19286  * If applicable, add the following below this CDDL HEADER, with the
19287  * fields enclosed by brackets "[]" replaced with your own identifying
19288  * information: Portions Copyright [yyyy] [name of copyright owner]
19289  *
19290  * CDDL HEADER END
19291  */
19292 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19293 /*	  All Rights Reserved  	*/
19294 
19295 
19296 /*
19297  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19298  * Use is subject to license terms.
19299  *
19300  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19301  * Copyright 2016 Joyent, Inc.
19302  */
19303 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19304 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
19305 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19306 /*	  All Rights Reserved  	*/
19307 
19308 
19309 /*
19310  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
19311  * All rights reserved.  The Berkeley software License Agreement
19312  * specifies the terms and conditions for redistribution.
19313  */
19314 
19315 /*
19316  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19317  *
19318  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19319  * Use is subject to license terms.
19320  *
19321  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19322  */
19323 
19324 /*
19325  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
19326  */
19327 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19328 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 1
19329 /*
19330  * CDDL HEADER START
19331  *
19332  * The contents of this file are subject to the terms of the
19333  * Common Development and Distribution License, Version 1.0 only
19334  * (the "License").  You may not use this file except in compliance
19335  * with the License.
19336  *
19337  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19338  * or http://www.opensolaris.org/os/licensing.
19339  * See the License for the specific language governing permissions
19340  * and limitations under the License.
19341  *
19342  * When distributing Covered Code, include this CDDL HEADER in each
19343  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19344  * If applicable, add the following below this CDDL HEADER, with the
19345  * fields enclosed by brackets "[]" replaced with your own identifying
19346  * information: Portions Copyright [yyyy] [name of copyright owner]
19347  *
19348  * CDDL HEADER END
19349  */
19350 /*	Copyright (c) 1988 AT&T	*/
19351 /*	  All Rights Reserved  	*/
19352 
19353 
19354 /*
19355  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19356  *
19357  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
19358  * Use is subject to license terms.
19359  */
19360 
19361 
19362 
19363 
19364 
19365 /*
19366  * Note:  The getutent(3c) family of interfaces are obsolete.
19367  * The getutxent(3c) family provide a superset of this functionality
19368  * and should be used in place of getutent(3c).
19369  */
19370 
19371 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
19372 /*
19373  * CDDL HEADER START
19374  *
19375  * The contents of this file are subject to the terms of the
19376  * Common Development and Distribution License (the "License").
19377  * You may not use this file except in compliance with the License.
19378  *
19379  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19380  * or http://www.opensolaris.org/os/licensing.
19381  * See the License for the specific language governing permissions
19382  * and limitations under the License.
19383  *
19384  * When distributing Covered Code, include this CDDL HEADER in each
19385  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19386  * If applicable, add the following below this CDDL HEADER, with the
19387  * fields enclosed by brackets "[]" replaced with your own identifying
19388  * information: Portions Copyright [yyyy] [name of copyright owner]
19389  *
19390  * CDDL HEADER END
19391  */
19392 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19393 /*	  All Rights Reserved  	*/
19394 
19395 
19396 /*
19397  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19398  * Use is subject to license terms.
19399  *
19400  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19401  * Copyright 2016 Joyent, Inc.
19402  */
19403 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
19404 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
19405 struct exit_status {
19406  short e_termination; /* Process termination status */
19407  short e_exit; /* Process exit status */
19408 };
19409 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
19410 /*
19411  * This data structure describes the utmp entries returned by
19412  * the getutent(3c) family of APIs.  It does not (necessarily)
19413  * correspond to the contents of the utmp or wtmp files.
19414  *
19415  * Applications should only interact with this subsystem via
19416  * the getutxent(3c) family of APIs, as the getutent(3c) family
19417  * are obsolete.
19418  */
19419 struct utmp {
19420  char ut_user[8]; /* User login name */
19421  char ut_id[4]; /* /etc/inittab id(usually line #) */
19422  char ut_line[12]; /* device name (console, lnxx) */
19423  short ut_pid; /* short for compat. - process id */
19424  short ut_type; /* type of entry */
19425  struct exit_status ut_exit; /* The exit status of a process */
19426      /* marked as DEAD_PROCESS. */
19427  time_t ut_time; /* time entry was made */
19428 };
19429 
19430 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
19431 /*
19432  * CDDL HEADER START
19433  *
19434  * The contents of this file are subject to the terms of the
19435  * Common Development and Distribution License (the "License").
19436  * You may not use this file except in compliance with the License.
19437  *
19438  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19439  * or http://www.opensolaris.org/os/licensing.
19440  * See the License for the specific language governing permissions
19441  * and limitations under the License.
19442  *
19443  * When distributing Covered Code, include this CDDL HEADER in each
19444  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19445  * If applicable, add the following below this CDDL HEADER, with the
19446  * fields enclosed by brackets "[]" replaced with your own identifying
19447  * information: Portions Copyright [yyyy] [name of copyright owner]
19448  *
19449  * CDDL HEADER END
19450  */
19451 /*
19452  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
19453  * Use is subject to license terms.
19454  * Copyright 2015 Nexenta Systems, Inc.
19455  */
19456 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
19457 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
19458 /*
19459  * CDDL HEADER START
19460  *
19461  * The contents of this file are subject to the terms of the
19462  * Common Development and Distribution License, Version 1.0 only
19463  * (the "License").  You may not use this file except in compliance
19464  * with the License.
19465  *
19466  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19467  * or http://www.opensolaris.org/os/licensing.
19468  * See the License for the specific language governing permissions
19469  * and limitations under the License.
19470  *
19471  * When distributing Covered Code, include this CDDL HEADER in each
19472  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19473  * If applicable, add the following below this CDDL HEADER, with the
19474  * fields enclosed by brackets "[]" replaced with your own identifying
19475  * information: Portions Copyright [yyyy] [name of copyright owner]
19476  *
19477  * CDDL HEADER END
19478  */
19479 /*
19480  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19481  *
19482  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
19483  * Use is subject to license terms.
19484  */
19485 # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
19486 
19487 /*
19488  * This data structure describes the utmp *file* contents using
19489  * fixed-width data types.  It should only be used by the implementation.
19490  *
19491  * Applications should use the getutxent(3c) family of routines to interact
19492  * with this database.
19493  */
19494 
19495 struct futmp {
19496  char ut_user[8]; /* User login name */
19497  char ut_id[4]; /* /etc/inittab id */
19498  char ut_line[12]; /* device name (console, lnxx) */
19499  int16_t ut_pid; /* process id */
19500  int16_t ut_type; /* type of entry */
19501  struct {
19502   int16_t e_termination; /* Process termination status */
19503   int16_t e_exit; /* Process exit status */
19504  } ut_exit; /* The exit status of a process */
19505  time32_t ut_time; /* time entry was made */
19506 };
19507 
19508 
19509 
19510 /*	Definitions for ut_type						*/
19511 # 135 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
19512 /*	Special strings or formats used in the "ut_line" field when	*/
19513 /*	accounting for something other than a process.			*/
19514 /*	No string for the ut_line field can be more than 11 chars +	*/
19515 /*	a NULL in length.						*/
19516 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
19517 /*	Define and macro for determing if a normal user wrote the entry */
19518 /*	 and marking the utmpx entry as a normal user */
19519 
19520 
19521 
19522 
19523 
19524 extern void endutent(void);
19525 extern struct utmp *getutent(void);
19526 extern struct utmp *getutid(const struct utmp *);
19527 extern struct utmp *getutline(const struct utmp *);
19528 extern struct utmp *pututline(const struct utmp *);
19529 extern void setutent(void);
19530 extern int utmpname(const char *);
19531 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19532 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h"
19533 /*
19534  * This data structure describes the utmpx entries returned by
19535  * the getutxent(3c) family of APIs.  It does not (necessarily)
19536  * correspond to the contents of the utmpx or wtmpx files.
19537  *
19538  * Applications should only interact with this subsystem via
19539  * the getutxent(3c) family of APIs.
19540  */
19541 struct utmpx {
19542  char ut_user[32]; /* user login name */
19543  char ut_id[4]; /* inittab id */
19544  char ut_line[32]; /* device name (console, lnxx) */
19545  pid_t ut_pid; /* process id */
19546  short ut_type; /* type of entry */
19547 
19548  struct exit_status ut_exit; /* process termination/exit status */
19549 
19550 
19551 
19552  struct timeval ut_tv; /* time entry was made */
19553  int ut_session; /* session ID, used for windowing */
19554 
19555  int pad[5]; /* reserved for future use */
19556 
19557 
19558 
19559  short ut_syslen; /* significant length of ut_host */
19560      /*   including terminating null */
19561  char ut_host[257]; /* remote host name */
19562 };
19563 
19564 
19565 
19566 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
19567 /*
19568  * CDDL HEADER START
19569  *
19570  * The contents of this file are subject to the terms of the
19571  * Common Development and Distribution License (the "License").
19572  * You may not use this file except in compliance with the License.
19573  *
19574  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19575  * or http://www.opensolaris.org/os/licensing.
19576  * See the License for the specific language governing permissions
19577  * and limitations under the License.
19578  *
19579  * When distributing Covered Code, include this CDDL HEADER in each
19580  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19581  * If applicable, add the following below this CDDL HEADER, with the
19582  * fields enclosed by brackets "[]" replaced with your own identifying
19583  * information: Portions Copyright [yyyy] [name of copyright owner]
19584  *
19585  * CDDL HEADER END
19586  */
19587 /*
19588  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
19589  * Use is subject to license terms.
19590  * Copyright 2015 Nexenta Systems, Inc.
19591  */
19592 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19593 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
19594 /*
19595  * CDDL HEADER START
19596  *
19597  * The contents of this file are subject to the terms of the
19598  * Common Development and Distribution License, Version 1.0 only
19599  * (the "License").  You may not use this file except in compliance
19600  * with the License.
19601  *
19602  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19603  * or http://www.opensolaris.org/os/licensing.
19604  * See the License for the specific language governing permissions
19605  * and limitations under the License.
19606  *
19607  * When distributing Covered Code, include this CDDL HEADER in each
19608  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19609  * If applicable, add the following below this CDDL HEADER, with the
19610  * fields enclosed by brackets "[]" replaced with your own identifying
19611  * information: Portions Copyright [yyyy] [name of copyright owner]
19612  *
19613  * CDDL HEADER END
19614  */
19615 /*
19616  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19617  *
19618  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
19619  * Use is subject to license terms.
19620  */
19621 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19622 
19623 /*
19624  * This data structure describes the utmp *file* contents using
19625  * fixed-width data types.  It should only be used by the implementation.
19626  *
19627  * Applications should use the getutxent(3c) family of routines to interact
19628  * with this database.
19629  */
19630 
19631 struct futmpx {
19632  char ut_user[32]; /* user login name */
19633  char ut_id[4]; /* inittab id */
19634  char ut_line[32]; /* device name (console, lnxx) */
19635  pid32_t ut_pid; /* process id */
19636  int16_t ut_type; /* type of entry */
19637  struct {
19638   int16_t e_termination; /* process termination status */
19639   int16_t e_exit; /* process exit status */
19640  } ut_exit; /* exit status of a process */
19641  struct timeval32 ut_tv; /* time entry was made */
19642  int32_t ut_session; /* session ID, user for windowing */
19643  int32_t pad[5]; /* reserved for future use */
19644  int16_t ut_syslen; /* significant length of ut_host */
19645  char ut_host[257]; /* remote host name */
19646 };
19647 
19648 
19649 
19650 /*	Define and macro for determing if a normal user wrote the entry */
19651 /*	and marking the utmpx entry as a normal user */
19652 
19653 
19654 
19655 
19656 
19657 
19658 extern void endutxent(void);
19659 extern struct utmpx *getutxent(void);
19660 extern struct utmpx *getutxid(const struct utmpx *);
19661 extern struct utmpx *getutxline(const struct utmpx *);
19662 extern struct utmpx *pututxline(const struct utmpx *);
19663 extern void setutxent(void);
19664 
19665 
19666 extern int utmpxname(const char *);
19667 extern struct utmpx *makeutx(const struct utmpx *);
19668 extern struct utmpx *modutx(const struct utmpx *);
19669 extern void getutmp(const struct utmpx *, struct utmp *);
19670 extern void getutmpx(const struct utmp *, struct utmpx *);
19671 extern void updwtmp(const char *, struct utmp *);
19672 extern void updwtmpx(const char *, struct utmpx *);
19673 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19674 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
19675 /*
19676  * Warning: these are shared with the admin/install consolidation.
19677  * Do not insert states between any of the currently defined states,
19678  * and any new states must be evaluated for impact on range comparisons.
19679  */
19680 # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
19681 /* Owner, group, and mode (defined by packaging) for the config directory */
19682 
19683 
19684 
19685 
19686 /* Owner, group, and mode (defined by packaging) for the index file */
19687 
19688 
19689 
19690 
19691 /* The maximum length of the VERSION string in the pkginfo(4) file. */
19692 
19693 
19694 /*
19695  * Shortened alias names for the zones rctls.
19696  */
19697 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
19698 /* Default name for zone detached manifest */
19699 
19700 
19701 /*
19702  * Bit flag definitions for passing into libzonecfg functions.
19703  */
19704 
19705 
19706 /*
19707  * The integer field expresses the current values on a get.
19708  * On a put, it represents the new values if >= 0 or "don't change" if < 0.
19709  */
19710 struct zoneent {
19711  char zone_name[64]; /* name of the zone */
19712  int zone_state; /* configured | incomplete | installed */
19713  char zone_path[1024]; /* path to zone storage */
19714  uuid_t zone_uuid; /* unique ID for zone */
19715  char zone_newname[64]; /* for doing renames */
19716 };
19717 
19718 typedef struct zone_dochandle *zone_dochandle_t; /* opaque handle */
19719 
19720 typedef uint_t zone_state_t;
19721 
19722 typedef struct zone_fsopt {
19723  struct zone_fsopt *zone_fsopt_next;
19724  char zone_fsopt_opt[1024];
19725 } zone_fsopt_t;
19726 
19727 struct zone_fstab {
19728  char zone_fs_special[1024]; /* special file */
19729  char zone_fs_dir[1024]; /* mount point */
19730  char zone_fs_type[16]; /* e.g. ufs */
19731  zone_fsopt_t *zone_fs_options; /* mount options */
19732  char zone_fs_raw[1024]; /* device to fsck */
19733 };
19734 
19735 struct zone_nwiftab {
19736  char zone_nwif_address[46]; /* shared-ip only */
19737  char zone_nwif_allowed_address[46]; /* excl-ip only */
19738  char zone_nwif_physical[32];
19739  char zone_nwif_defrouter[46];
19740 };
19741 
19742 struct zone_devtab {
19743  char zone_dev_match[1024];
19744 };
19745 
19746 struct zone_rctlvaltab {
19747  char zone_rctlval_priv[256];
19748  char zone_rctlval_limit[256];
19749  char zone_rctlval_action[256];
19750  struct zone_rctlvaltab *zone_rctlval_next;
19751 };
19752 
19753 struct zone_rctltab {
19754  char zone_rctl_name[256];
19755  struct zone_rctlvaltab *zone_rctl_valptr;
19756 };
19757 
19758 struct zone_attrtab {
19759  char zone_attr_name[256];
19760  char zone_attr_type[256];
19761  char zone_attr_value[2 * 1024];
19762 };
19763 
19764 struct zone_dstab {
19765  char zone_dataset_name[256];
19766 };
19767 
19768 struct zone_psettab {
19769  char zone_ncpu_min[256];
19770  char zone_ncpu_max[256];
19771  char zone_importance[256];
19772 };
19773 
19774 struct zone_mcaptab {
19775  char zone_physmem_cap[256];
19776 };
19777 
19778 struct zone_pkgtab {
19779  char zone_pkg_name[256];
19780  char zone_pkg_version[256];
19781 };
19782 
19783 struct zone_devpermtab {
19784  char zone_devperm_name[1024];
19785  uid_t zone_devperm_uid;
19786  gid_t zone_devperm_gid;
19787  mode_t zone_devperm_mode;
19788  char *zone_devperm_acl;
19789 };
19790 
19791 struct zone_admintab {
19792  char zone_admin_user[(sizeof (((struct utmpx *)0)->ut_user))];
19793  char zone_admin_auths[4096];
19794 };
19795 
19796 typedef struct zone_userauths {
19797  char user[(sizeof (((struct utmpx *)0)->ut_user))];
19798  char zonename[64];
19799  struct zone_userauths *next;
19800 } zone_userauths_t;
19801 
19802 typedef struct {
19803  uu_avl_node_t zpe_entry;
19804  char *zpe_name;
19805  char *zpe_vers;
19806 } zone_pkg_entry_t;
19807 
19808 typedef enum zone_iptype {
19809  ZS_SHARED,
19810  ZS_EXCLUSIVE
19811 } zone_iptype_t;
19812 
19813 /*
19814  * Basic configuration management routines.
19815  */
19816 extern zone_dochandle_t zonecfg_init_handle(void);
19817 extern int zonecfg_get_handle(const char *, zone_dochandle_t);
19818 extern int zonecfg_get_snapshot_handle(const char *, zone_dochandle_t);
19819 extern int zonecfg_get_template_handle(const char *, const char *,
19820     zone_dochandle_t);
19821 extern int zonecfg_get_xml_handle(const char *, zone_dochandle_t);
19822 extern int zonecfg_check_handle(zone_dochandle_t);
19823 extern void zonecfg_fini_handle(zone_dochandle_t);
19824 extern int zonecfg_destroy(const char *, boolean_t);
19825 extern int zonecfg_destroy_snapshot(const char *);
19826 extern int zonecfg_save(zone_dochandle_t);
19827 extern int zonecfg_create_snapshot(const char *);
19828 extern char *zonecfg_strerror(int);
19829 extern int zonecfg_access(const char *, int);
19830 extern void zonecfg_set_root(const char *);
19831 extern const char *zonecfg_get_root(void);
19832 extern boolean_t zonecfg_in_alt_root(void);
19833 extern int zonecfg_num_resources(zone_dochandle_t, char *);
19834 extern int zonecfg_del_all_resources(zone_dochandle_t, char *);
19835 extern boolean_t zonecfg_valid_ncpus(char *, char *);
19836 extern boolean_t zonecfg_valid_importance(char *);
19837 extern int zonecfg_str_to_bytes(char *, uint64_t *);
19838 extern boolean_t zonecfg_valid_memlimit(char *, uint64_t *);
19839 extern boolean_t zonecfg_valid_alias_limit(char *, char *, uint64_t *);
19840 
19841 /*
19842  * Zone name, path to zone directory, autoboot setting, pool, boot
19843  * arguments, and scheduling-class.
19844  */
19845 extern int zonecfg_validate_zonename(const char *);
19846 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t);
19847 extern int zonecfg_set_name(zone_dochandle_t, char *);
19848 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t);
19849 extern int zonecfg_set_zonepath(zone_dochandle_t, char *);
19850 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *);
19851 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t);
19852 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *);
19853 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t);
19854 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t);
19855 extern int zonecfg_set_pool(zone_dochandle_t, char *);
19856 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t);
19857 extern int zonecfg_set_bootargs(zone_dochandle_t, char *);
19858 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t);
19859 extern int zonecfg_set_sched(zone_dochandle_t, char *);
19860 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int);
19861 
19862 /*
19863  * Set/retrieve the brand for the zone
19864  */
19865 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t);
19866 extern int zonecfg_set_brand(zone_dochandle_t, char *);
19867 
19868 /*
19869  * Filesystem configuration.
19870  */
19871 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *);
19872 extern int zonecfg_delete_filesystem(zone_dochandle_t,
19873     struct zone_fstab *);
19874 extern int zonecfg_modify_filesystem(zone_dochandle_t,
19875     struct zone_fstab *, struct zone_fstab *);
19876 extern int zonecfg_lookup_filesystem(zone_dochandle_t,
19877     struct zone_fstab *);
19878 extern int zonecfg_add_fs_option(struct zone_fstab *, char *);
19879 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *);
19880 extern void zonecfg_free_fs_option_list(zone_fsopt_t *);
19881 extern int zonecfg_find_mounts(char *, int(*)(const struct mnttab *,
19882     void *), void *);
19883 
19884 /*
19885  * Network interface configuration.
19886  */
19887 extern int zonecfg_add_nwif(zone_dochandle_t, struct zone_nwiftab *);
19888 extern int zonecfg_delete_nwif(zone_dochandle_t, struct zone_nwiftab *);
19889 extern int zonecfg_modify_nwif(zone_dochandle_t, struct zone_nwiftab *,
19890     struct zone_nwiftab *);
19891 extern int zonecfg_lookup_nwif(zone_dochandle_t, struct zone_nwiftab *);
19892 
19893 /*
19894  * Hostid emulation configuration.
19895  */
19896 extern int zonecfg_get_hostid(zone_dochandle_t, char *, size_t);
19897 extern int zonecfg_set_hostid(zone_dochandle_t, const char *);
19898 
19899 /*
19900  * Allowed FS mounts configuration.
19901  */
19902 extern int zonecfg_get_fs_allowed(zone_dochandle_t, char *, size_t);
19903 extern int zonecfg_set_fs_allowed(zone_dochandle_t, const char *);
19904 
19905 /*
19906  * Device configuration and rule matching.
19907  */
19908 extern int zonecfg_add_dev(zone_dochandle_t, struct zone_devtab *);
19909 extern int zonecfg_delete_dev(zone_dochandle_t, struct zone_devtab *);
19910 extern int zonecfg_modify_dev(zone_dochandle_t, struct zone_devtab *,
19911     struct zone_devtab *);
19912 extern int zonecfg_lookup_dev(zone_dochandle_t, struct zone_devtab *);
19913 
19914 /*
19915  * Resource control configuration.
19916  */
19917 extern int zonecfg_add_rctl(zone_dochandle_t, struct zone_rctltab *);
19918 extern int zonecfg_delete_rctl(zone_dochandle_t, struct zone_rctltab *);
19919 extern int zonecfg_modify_rctl(zone_dochandle_t, struct zone_rctltab *,
19920     struct zone_rctltab *);
19921 extern int zonecfg_lookup_rctl(zone_dochandle_t, struct zone_rctltab *);
19922 extern int zonecfg_add_rctl_value(struct zone_rctltab *,
19923     struct zone_rctlvaltab *);
19924 extern int zonecfg_remove_rctl_value(struct zone_rctltab *,
19925     struct zone_rctlvaltab *);
19926 extern void zonecfg_free_rctl_value_list(struct zone_rctlvaltab *);
19927 extern boolean_t zonecfg_aliased_rctl_ok(zone_dochandle_t, char *);
19928 extern int zonecfg_set_aliased_rctl(zone_dochandle_t, char *, uint64_t);
19929 extern int zonecfg_get_aliased_rctl(zone_dochandle_t, char *, uint64_t *);
19930 extern int zonecfg_rm_aliased_rctl(zone_dochandle_t, char *);
19931 extern int zonecfg_apply_rctls(char *, zone_dochandle_t);
19932 
19933 /*
19934  * Generic attribute configuration and type/value extraction.
19935  */
19936 extern int zonecfg_add_attr(zone_dochandle_t, struct zone_attrtab *);
19937 extern int zonecfg_delete_attr(zone_dochandle_t, struct zone_attrtab *);
19938 extern int zonecfg_modify_attr(zone_dochandle_t, struct zone_attrtab *,
19939     struct zone_attrtab *);
19940 extern int zonecfg_lookup_attr(zone_dochandle_t, struct zone_attrtab *);
19941 extern int zonecfg_get_attr_boolean(const struct zone_attrtab *,
19942     boolean_t *);
19943 extern int zonecfg_get_attr_int(const struct zone_attrtab *, int64_t *);
19944 extern int zonecfg_get_attr_string(const struct zone_attrtab *, char *,
19945     size_t);
19946 extern int zonecfg_get_attr_uint(const struct zone_attrtab *, uint64_t *);
19947 
19948 /*
19949  * ZFS configuration.
19950  */
19951 extern int zonecfg_add_ds(zone_dochandle_t, struct zone_dstab *);
19952 extern int zonecfg_delete_ds(zone_dochandle_t, struct zone_dstab *);
19953 extern int zonecfg_modify_ds(zone_dochandle_t, struct zone_dstab *,
19954     struct zone_dstab *);
19955 extern int zonecfg_lookup_ds(zone_dochandle_t, struct zone_dstab *);
19956 
19957 /*
19958  * cpu-set configuration.
19959  */
19960 extern int zonecfg_add_pset(zone_dochandle_t, struct zone_psettab *);
19961 extern int zonecfg_delete_pset(zone_dochandle_t);
19962 extern int zonecfg_modify_pset(zone_dochandle_t, struct zone_psettab *);
19963 extern int zonecfg_lookup_pset(zone_dochandle_t, struct zone_psettab *);
19964 
19965 /*
19966  * mem-cap configuration.
19967  */
19968 extern int zonecfg_delete_mcap(zone_dochandle_t);
19969 extern int zonecfg_modify_mcap(zone_dochandle_t, struct zone_mcaptab *);
19970 extern int zonecfg_lookup_mcap(zone_dochandle_t, struct zone_mcaptab *);
19971 
19972 /*
19973  * Temporary pool support functions.
19974  */
19975 extern int zonecfg_destroy_tmp_pool(char *, char *, int);
19976 extern int zonecfg_bind_tmp_pool(zone_dochandle_t, zoneid_t, char *, int);
19977 extern int zonecfg_bind_pool(zone_dochandle_t, zoneid_t, char *, int);
19978 extern boolean_t zonecfg_warn_poold(zone_dochandle_t);
19979 extern int zonecfg_get_poolname(zone_dochandle_t, char *, char *, size_t);
19980 
19981 /*
19982  * Miscellaneous utility functions.
19983  */
19984 extern int zonecfg_enable_rcapd(char *, int);
19985 
19986 /*
19987  * attach/detach support.
19988  */
19989 extern int zonecfg_get_attach_handle(const char *, const char *,
19990     const char *, boolean_t, zone_dochandle_t);
19991 extern int zonecfg_attach_manifest(int, zone_dochandle_t,
19992     zone_dochandle_t);
19993 extern int zonecfg_detach_save(zone_dochandle_t, uint_t);
19994 extern boolean_t zonecfg_detached(const char *);
19995 extern void zonecfg_rm_detached(zone_dochandle_t, boolean_t forced);
19996 extern int zonecfg_dev_manifest(zone_dochandle_t);
19997 extern int zonecfg_devperms_apply(zone_dochandle_t, const char *,
19998     uid_t, gid_t, mode_t, const char *);
19999 extern void zonecfg_set_swinv(zone_dochandle_t);
20000 extern int zonecfg_add_pkg(zone_dochandle_t, char *, char *);
20001 
20002 /*
20003  * External zone verification support.
20004  */
20005 extern int zonecfg_verify_save(zone_dochandle_t, char *);
20006 
20007 /*
20008  * '*ent' iterator routines.
20009  */
20010 extern int zonecfg_setfsent(zone_dochandle_t);
20011 extern int zonecfg_getfsent(zone_dochandle_t, struct zone_fstab *);
20012 extern int zonecfg_endfsent(zone_dochandle_t);
20013 extern int zonecfg_setnwifent(zone_dochandle_t);
20014 extern int zonecfg_getnwifent(zone_dochandle_t, struct zone_nwiftab *);
20015 extern int zonecfg_endnwifent(zone_dochandle_t);
20016 extern int zonecfg_setdevent(zone_dochandle_t);
20017 extern int zonecfg_getdevent(zone_dochandle_t, struct zone_devtab *);
20018 extern int zonecfg_enddevent(zone_dochandle_t);
20019 extern int zonecfg_setattrent(zone_dochandle_t);
20020 extern int zonecfg_getattrent(zone_dochandle_t, struct zone_attrtab *);
20021 extern int zonecfg_endattrent(zone_dochandle_t);
20022 extern int zonecfg_setrctlent(zone_dochandle_t);
20023 extern int zonecfg_getrctlent(zone_dochandle_t, struct zone_rctltab *);
20024 extern int zonecfg_endrctlent(zone_dochandle_t);
20025 extern int zonecfg_setdsent(zone_dochandle_t);
20026 extern int zonecfg_getdsent(zone_dochandle_t, struct zone_dstab *);
20027 extern int zonecfg_enddsent(zone_dochandle_t);
20028 extern int zonecfg_getpsetent(zone_dochandle_t, struct zone_psettab *);
20029 extern int zonecfg_getmcapent(zone_dochandle_t, struct zone_mcaptab *);
20030 extern int zonecfg_getpkgdata(zone_dochandle_t, uu_avl_pool_t *,
20031     uu_avl_t *);
20032 extern int zonecfg_setdevperment(zone_dochandle_t);
20033 extern int zonecfg_getdevperment(zone_dochandle_t,
20034     struct zone_devpermtab *);
20035 extern int zonecfg_enddevperment(zone_dochandle_t);
20036 extern int zonecfg_setadminent(zone_dochandle_t);
20037 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *);
20038 extern int zonecfg_endadminent(zone_dochandle_t);
20039 
20040 /*
20041  * Privilege-related functions.
20042  */
20043 extern int zonecfg_default_privset(priv_set_t *, const char *);
20044 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *,
20045     char **);
20046 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **);
20047 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *);
20048 
20049 /*
20050  * Higher-level routines.
20051  */
20052 extern int zone_get_brand(char *, char *, size_t);
20053 extern int zone_get_rootpath(char *, char *, size_t);
20054 extern int zone_get_devroot(char *, char *, size_t);
20055 extern int zone_get_zonepath(char *, char *, size_t);
20056 extern int zone_get_state(char *, zone_state_t *);
20057 extern int zone_set_state(char *, zone_state_t);
20058 extern char *zone_state_str(zone_state_t);
20059 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t);
20060 extern int zonecfg_get_uuid(const char *, uuid_t);
20061 extern int zonecfg_default_brand(char *, size_t);
20062 
20063 /*
20064  * Iterator for configured zones.
20065  */
20066 extern FILE *setzoneent(void);
20067 extern char *getzoneent(FILE *);
20068 extern struct zoneent *getzoneent_private(FILE *);
20069 extern void endzoneent(FILE *);
20070 
20071 /*
20072  * File-system-related convenience functions.
20073  */
20074 extern boolean_t zonecfg_valid_fs_type(const char *);
20075 
20076 /*
20077  * Network-related convenience functions.
20078  */
20079 extern boolean_t zonecfg_same_net_address(char *, char *);
20080 extern int zonecfg_valid_net_address(char *, struct lifreq *);
20081 extern boolean_t zonecfg_ifname_exists(sa_family_t, char *);
20082 
20083 /*
20084  * Rctl-related common functions.
20085  */
20086 extern boolean_t zonecfg_is_rctl(const char *);
20087 extern boolean_t zonecfg_valid_rctlname(const char *);
20088 extern boolean_t zonecfg_valid_rctlblk(const rctlblk_t *);
20089 extern boolean_t zonecfg_valid_rctl(const char *, const rctlblk_t *);
20090 extern int zonecfg_construct_rctlblk(const struct zone_rctlvaltab *,
20091     rctlblk_t *);
20092 
20093 /*
20094  * Live Upgrade support functions.  Shared between ON and install gate.
20095  */
20096 extern FILE *zonecfg_open_scratch(const char *, boolean_t);
20097 extern int zonecfg_lock_scratch(FILE *);
20098 extern void zonecfg_close_scratch(FILE *);
20099 extern int zonecfg_get_scratch(FILE *, char *, size_t, char *, size_t, char *,
20100     size_t);
20101 extern int zonecfg_find_scratch(FILE *, const char *, const char *, char *,
20102     size_t);
20103 extern int zonecfg_reverse_scratch(FILE *, const char *, char *, size_t,
20104     char *, size_t);
20105 extern int zonecfg_add_scratch(FILE *, const char *, const char *,
20106     const char *);
20107 extern int zonecfg_delete_scratch(FILE *, const char *);
20108 extern boolean_t zonecfg_is_scratch(const char *);
20109 
20110 /*
20111  * zoneadmd support functions.  Shared between zoneadm and brand hook code.
20112  */
20113 extern void zonecfg_init_lock_file(const char *, char **);
20114 extern void zonecfg_release_lock_file(const char *, int);
20115 extern int zonecfg_grab_lock_file(const char *, int *);
20116 extern boolean_t zonecfg_lock_file_held(int *);
20117 extern int zonecfg_ping_zoneadmd(const char *);
20118 extern int zonecfg_call_zoneadmd(const char *, zone_cmd_arg_t *, char *,
20119     boolean_t);
20120 extern int zonecfg_insert_userauths(zone_dochandle_t, char *, char *);
20121 extern int zonecfg_remove_userauths(zone_dochandle_t, char *, char *,
20122     boolean_t);
20123 extern int zonecfg_add_admin(zone_dochandle_t, struct zone_admintab *,
20124     char *);
20125 extern int zonecfg_delete_admin(zone_dochandle_t,
20126     struct zone_admintab *, char *);
20127 extern int zonecfg_modify_admin(zone_dochandle_t, struct zone_admintab *,
20128     struct zone_admintab *, char *);
20129 extern int zonecfg_delete_admins(zone_dochandle_t, char *);
20130 extern int zonecfg_lookup_admin(zone_dochandle_t, struct zone_admintab *);
20131 extern int zonecfg_authorize_users(zone_dochandle_t, char *);
20132 extern int zonecfg_update_userauths(zone_dochandle_t, char *);
20133 extern int zonecfg_deauthorize_user(zone_dochandle_t, char *, char *);
20134 extern int zonecfg_deauthorize_users(zone_dochandle_t, char *);
20135 extern boolean_t zonecfg_valid_auths(const char *, const char *);
20136 # 47 "../common/instzones_lib.h" 2
20137 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 1
20138 /*
20139  * CDDL HEADER START
20140  *
20141  * The contents of this file are subject to the terms of the
20142  * Common Development and Distribution License (the "License").
20143  * You may not use this file except in compliance with the License.
20144  *
20145  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20146  * or http://www.opensolaris.org/os/licensing.
20147  * See the License for the specific language governing permissions
20148  * and limitations under the License.
20149  *
20150  * When distributing Covered Code, include this CDDL HEADER in each
20151  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20152  * If applicable, add the following below this CDDL HEADER, with the
20153  * fields enclosed by brackets "[]" replaced with your own identifying
20154  * information: Portions Copyright [yyyy] [name of copyright owner]
20155  *
20156  * CDDL HEADER END
20157  */
20158 /*
20159  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
20160  * Use is subject to license terms.
20161  */
20162 
20163 
20164 
20165 
20166 #pragma ident "%Z%%M%	%I%	%E% SMI"
20167 
20168 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20169 /*
20170  * CDDL HEADER START
20171  *
20172  * The contents of this file are subject to the terms of the
20173  * Common Development and Distribution License (the "License").
20174  * You may not use this file except in compliance with the License.
20175  *
20176  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20177  * or http://www.opensolaris.org/os/licensing.
20178  * See the License for the specific language governing permissions
20179  * and limitations under the License.
20180  *
20181  * When distributing Covered Code, include this CDDL HEADER in each
20182  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20183  * If applicable, add the following below this CDDL HEADER, with the
20184  * fields enclosed by brackets "[]" replaced with your own identifying
20185  * information: Portions Copyright [yyyy] [name of copyright owner]
20186  *
20187  * CDDL HEADER END
20188  */
20189 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20190 /*	  All Rights Reserved  	*/
20191 
20192 
20193 /*
20194  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20195  * Use is subject to license terms.
20196  *
20197  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20198  * Copyright 2016 Joyent, Inc.
20199  */
20200 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2
20201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 1
20202 /*
20203  * CDDL HEADER START
20204  *
20205  * The contents of this file are subject to the terms of the
20206  * Common Development and Distribution License (the "License").
20207  * You may not use this file except in compliance with the License.
20208  *
20209  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20210  * or http://www.opensolaris.org/os/licensing.
20211  * See the License for the specific language governing permissions
20212  * and limitations under the License.
20213  *
20214  * When distributing Covered Code, include this CDDL HEADER in each
20215  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20216  * If applicable, add the following below this CDDL HEADER, with the
20217  * fields enclosed by brackets "[]" replaced with your own identifying
20218  * information: Portions Copyright [yyyy] [name of copyright owner]
20219  *
20220  * CDDL HEADER END
20221  */
20222 /*
20223  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
20224  * Use is subject to license terms.
20225  */
20226 
20227 
20228 
20229 
20230 #pragma ident "%Z%%M%	%I%	%E% SMI"
20231 
20232 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20233 /*
20234  * CDDL HEADER START
20235  *
20236  * The contents of this file are subject to the terms of the
20237  * Common Development and Distribution License (the "License").
20238  * You may not use this file except in compliance with the License.
20239  *
20240  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20241  * or http://www.opensolaris.org/os/licensing.
20242  * See the License for the specific language governing permissions
20243  * and limitations under the License.
20244  *
20245  * When distributing Covered Code, include this CDDL HEADER in each
20246  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20247  * If applicable, add the following below this CDDL HEADER, with the
20248  * fields enclosed by brackets "[]" replaced with your own identifying
20249  * information: Portions Copyright [yyyy] [name of copyright owner]
20250  *
20251  * CDDL HEADER END
20252  */
20253 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20254 /*	  All Rights Reserved  	*/
20255 
20256 
20257 /*
20258  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20259  * Use is subject to license terms.
20260  *
20261  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20262  * Copyright 2016 Joyent, Inc.
20263  */
20264 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 2
20265 
20266 
20267 
20268 
20269 
20270 typedef uint64_t ctevid_t;
20271 
20272 /*
20273  * Contract parameter maximum size, in bytes
20274  */
20275 
20276 
20277 /*
20278  * Common event types
20279  */
20280 
20281 
20282 /*
20283  * Level of status detail requested
20284  */
20285 
20286 
20287 
20288 
20289 /*
20290  * Values for ctev_flags.
20291  */
20292 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h"
20293 typedef enum ctstate {
20294  CTS_OWNED, /* contract is owned by a process */
20295  CTS_INHERITED, /* contract has been inherited by its parent */
20296  CTS_ORPHAN, /* contract has no parent */
20297  CTS_DEAD /* contract has been destroyed */
20298 } ctstate_t;
20299 
20300 typedef enum ct_typeid {
20301  CTT_PROCESS, /* process contract */
20302  CTT_DEVICE, /* device contract */
20303  CTT_MAXTYPE
20304 } ct_typeid_t;
20305 
20306 typedef struct ct_event {
20307  ctid_t ctev_id;
20308  uint32_t ctev_pad1;
20309  ctevid_t ctev_evid;
20310  ct_typeid_t ctev_cttype;
20311  uint32_t ctev_flags;
20312  uint32_t ctev_type;
20313  uint32_t ctev_nbytes;
20314  uint32_t ctev_goffset;
20315  uint32_t ctev_pad2;
20316  char *ctev_buffer;
20317 } ct_event_t;
20318 
20319 typedef struct ct_status {
20320  ctid_t ctst_id;
20321  zoneid_t ctst_zoneid;
20322  ct_typeid_t ctst_type;
20323  pid_t ctst_holder;
20324  ctstate_t ctst_state;
20325  int ctst_nevents;
20326  int ctst_ntime;
20327  int ctst_qtime;
20328  uint64_t ctst_nevid;
20329  uint_t ctst_detail;
20330  size_t ctst_nbytes;
20331  uint_t ctst_critical;
20332  uint_t ctst_informative;
20333  uint64_t ctst_cookie;
20334  char *ctst_buffer;
20335 } ct_status_t;
20336 
20337 typedef struct ct_param {
20338  uint32_t ctpm_id;
20339  uint32_t ctpm_size;
20340  void *ctpm_value;
20341 } ct_param_t;
20342 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2
20343 
20344 
20345 
20346 
20347 
20348 typedef void *ct_stathdl_t;
20349 typedef void *ct_evthdl_t;
20350 
20351 /*
20352  * Common routines
20353  */
20354 extern int ct_tmpl_activate(int);
20355 extern int ct_tmpl_clear(int);
20356 extern int ct_tmpl_create(int, ctid_t *);
20357 extern int ct_tmpl_set_cookie(int, uint64_t);
20358 extern int ct_tmpl_get_cookie(int, uint64_t *);
20359 extern int ct_tmpl_set_critical(int, uint_t);
20360 extern int ct_tmpl_get_critical(int, uint_t *);
20361 extern int ct_tmpl_set_informative(int, uint_t);
20362 extern int ct_tmpl_get_informative(int, uint_t *);
20363 
20364 extern int ct_ctl_adopt(int);
20365 extern int ct_ctl_abandon(int);
20366 extern int ct_ctl_ack(int, ctevid_t);
20367 extern int ct_ctl_nack(int, ctevid_t);
20368 extern int ct_ctl_qack(int, ctevid_t);
20369 extern int ct_ctl_newct(int, ctevid_t, int);
20370 
20371 extern int ct_status_read(int, int, ct_stathdl_t *);
20372 extern void ct_status_free(ct_stathdl_t);
20373 
20374 extern ctid_t ct_status_get_id(ct_stathdl_t);
20375 extern zoneid_t ct_status_get_zoneid(ct_stathdl_t);
20376 extern const char *ct_status_get_type(ct_stathdl_t);
20377 extern id_t ct_status_get_holder(ct_stathdl_t);
20378 extern ctstate_t ct_status_get_state(ct_stathdl_t);
20379 extern int ct_status_get_nevents(ct_stathdl_t);
20380 extern int ct_status_get_ntime(ct_stathdl_t);
20381 extern int ct_status_get_qtime(ct_stathdl_t);
20382 extern ctevid_t ct_status_get_nevid(ct_stathdl_t);
20383 extern uint_t ct_status_get_informative(ct_stathdl_t);
20384 extern uint_t ct_status_get_critical(ct_stathdl_t);
20385 extern uint64_t ct_status_get_cookie(ct_stathdl_t);
20386 
20387 extern int ct_event_read(int, ct_evthdl_t *);
20388 extern int ct_event_read_critical(int, ct_evthdl_t *);
20389 extern int ct_event_reset(int);
20390 extern int ct_event_reliable(int);
20391 extern void ct_event_free(ct_evthdl_t);
20392 
20393 extern uint_t ct_event_get_flags(ct_evthdl_t);
20394 extern ctid_t ct_event_get_ctid(ct_evthdl_t);
20395 extern ctevid_t ct_event_get_evid(ct_evthdl_t);
20396 extern uint_t ct_event_get_type(ct_evthdl_t);
20397 extern int ct_event_get_nevid(ct_evthdl_t, ctevid_t *);
20398 extern int ct_event_get_newct(ct_evthdl_t, ctid_t *);
20399 
20400 /*
20401  * Process contract routines
20402  */
20403 extern int ct_pr_tmpl_set_transfer(int, ctid_t);
20404 extern int ct_pr_tmpl_set_fatal(int, uint_t);
20405 extern int ct_pr_tmpl_set_param(int, uint_t);
20406 extern int ct_pr_tmpl_set_svc_fmri(int, const char *);
20407 extern int ct_pr_tmpl_set_svc_aux(int, const char *);
20408 
20409 extern int ct_pr_tmpl_get_transfer(int, ctid_t *);
20410 extern int ct_pr_tmpl_get_fatal(int, uint_t *);
20411 extern int ct_pr_tmpl_get_param(int, uint_t *);
20412 extern int ct_pr_tmpl_get_svc_fmri(int, char *, size_t);
20413 extern int ct_pr_tmpl_get_svc_aux(int, char *, size_t);
20414 
20415 extern int ct_pr_event_get_pid(ct_evthdl_t, pid_t *);
20416 extern int ct_pr_event_get_ppid(ct_evthdl_t, pid_t *);
20417 extern int ct_pr_event_get_signal(ct_evthdl_t, int *);
20418 extern int ct_pr_event_get_sender(ct_evthdl_t, pid_t *);
20419 extern int ct_pr_event_get_senderct(ct_evthdl_t, ctid_t *);
20420 extern int ct_pr_event_get_exitstatus(ct_evthdl_t, int *);
20421 extern int ct_pr_event_get_pcorefile(ct_evthdl_t, const char **);
20422 extern int ct_pr_event_get_gcorefile(ct_evthdl_t, const char **);
20423 extern int ct_pr_event_get_zcorefile(ct_evthdl_t, const char **);
20424 
20425 extern int ct_pr_status_get_param(ct_stathdl_t, uint_t *);
20426 extern int ct_pr_status_get_fatal(ct_stathdl_t, uint_t *);
20427 extern int ct_pr_status_get_members(ct_stathdl_t, pid_t **, uint_t *);
20428 extern int ct_pr_status_get_contracts(ct_stathdl_t, ctid_t **, uint_t *);
20429 extern int ct_pr_status_get_svc_fmri(ct_stathdl_t, char **);
20430 extern int ct_pr_status_get_svc_aux(ct_stathdl_t, char **);
20431 extern int ct_pr_status_get_svc_ctid(ct_stathdl_t, ctid_t *);
20432 extern int ct_pr_status_get_svc_creator(ct_stathdl_t, char **);
20433 
20434 /*
20435  * Device contract routines
20436  */
20437 int ct_dev_tmpl_set_minor(int, char *);
20438 int ct_dev_tmpl_set_aset(int, uint_t);
20439 int ct_dev_tmpl_set_noneg(int);
20440 int ct_dev_tmpl_clear_noneg(int);
20441 int ct_dev_tmpl_get_minor(int, char *, size_t *);
20442 int ct_dev_tmpl_get_aset(int, uint_t *);
20443 int ct_dev_tmpl_get_noneg(int, uint_t *);
20444 int ct_dev_status_get_aset(ct_stathdl_t, uint_t *);
20445 int ct_dev_status_get_noneg(ct_stathdl_t, uint_t *);
20446 int ct_dev_status_get_dev_state(ct_stathdl_t, uint_t *);
20447 int ct_dev_status_get_minor(ct_stathdl_t, char **);
20448 # 48 "../common/instzones_lib.h" 2
20449 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 1
20450 /*
20451  * CDDL HEADER START
20452  *
20453  * The contents of this file are subject to the terms of the
20454  * Common Development and Distribution License (the "License").
20455  * You may not use this file except in compliance with the License.
20456  *
20457  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20458  * or http://www.opensolaris.org/os/licensing.
20459  * See the License for the specific language governing permissions
20460  * and limitations under the License.
20461  *
20462  * When distributing Covered Code, include this CDDL HEADER in each
20463  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20464  * If applicable, add the following below this CDDL HEADER, with the
20465  * fields enclosed by brackets "[]" replaced with your own identifying
20466  * information: Portions Copyright [yyyy] [name of copyright owner]
20467  *
20468  * CDDL HEADER END
20469  */
20470 
20471 /*
20472  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
20473  */
20474 
20475 
20476 
20477 
20478 
20479 /*
20480  * Module:	instzones_api.h
20481  * Group:	libinstzones
20482  * Description:	This module contains the libinstzones API data structures,
20483  *		constants, and function prototypes.
20484  */
20485 
20486 /*
20487  * required includes
20488  */
20489 
20490 /* System includes */
20491 
20492 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1
20493 /*
20494  * CDDL HEADER START
20495  *
20496  * The contents of this file are subject to the terms of the
20497  * Common Development and Distribution License, Version 1.0 only
20498  * (the "License").  You may not use this file except in compliance
20499  * with the License.
20500  *
20501  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20502  * or http://www.opensolaris.org/os/licensing.
20503  * See the License for the specific language governing permissions
20504  * and limitations under the License.
20505  *
20506  * When distributing Covered Code, include this CDDL HEADER in each
20507  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20508  * If applicable, add the following below this CDDL HEADER, with the
20509  * fields enclosed by brackets "[]" replaced with your own identifying
20510  * information: Portions Copyright [yyyy] [name of copyright owner]
20511  *
20512  * CDDL HEADER END
20513  */
20514 /*	Copyright (c) 1988 AT&T	*/
20515 /*	  All Rights Reserved	*/
20516 
20517 /*
20518  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20519  *
20520  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
20521  * Use is subject to license terms.
20522  */
20523 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
20524 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
20525 /*
20526  * CDDL HEADER START
20527  *
20528  * The contents of this file are subject to the terms of the
20529  * Common Development and Distribution License (the "License").
20530  * You may not use this file except in compliance with the License.
20531  *
20532  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20533  * or http://www.opensolaris.org/os/licensing.
20534  * See the License for the specific language governing permissions
20535  * and limitations under the License.
20536  *
20537  * When distributing Covered Code, include this CDDL HEADER in each
20538  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20539  * If applicable, add the following below this CDDL HEADER, with the
20540  * fields enclosed by brackets "[]" replaced with your own identifying
20541  * information: Portions Copyright [yyyy] [name of copyright owner]
20542  *
20543  * CDDL HEADER END
20544  */
20545 
20546 /*
20547  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20548  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
20549  */
20550 
20551 /*	Copyright (c) 1988 AT&T	*/
20552 /*	  All Rights Reserved  	*/
20553 
20554 /*
20555  * User-visible pieces of the ANSI C standard I/O package.
20556  */
20557 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
20558 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
20559 /*
20560  * CDDL HEADER START
20561  *
20562  * The contents of this file are subject to the terms of the
20563  * Common Development and Distribution License (the "License").
20564  * You may not use this file except in compliance with the License.
20565  *
20566  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20567  * or http://www.opensolaris.org/os/licensing.
20568  * See the License for the specific language governing permissions
20569  * and limitations under the License.
20570  *
20571  * When distributing Covered Code, include this CDDL HEADER in each
20572  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20573  * If applicable, add the following below this CDDL HEADER, with the
20574  * fields enclosed by brackets "[]" replaced with your own identifying
20575  * information: Portions Copyright [yyyy] [name of copyright owner]
20576  *
20577  * CDDL HEADER END
20578  */
20579 
20580 /*
20581  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20582  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
20583  */
20584 
20585 /*	Copyright (c) 1988 AT&T	*/
20586 /*	  All Rights Reserved  	*/
20587 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
20588 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 1
20589 /*
20590  * CDDL HEADER START
20591  *
20592  * The contents of this file are subject to the terms of the
20593  * Common Development and Distribution License, Version 1.0 only
20594  * (the "License").  You may not use this file except in compliance
20595  * with the License.
20596  *
20597  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20598  * or http://www.opensolaris.org/os/licensing.
20599  * See the License for the specific language governing permissions
20600  * and limitations under the License.
20601  *
20602  * When distributing Covered Code, include this CDDL HEADER in each
20603  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20604  * If applicable, add the following below this CDDL HEADER, with the
20605  * fields enclosed by brackets "[]" replaced with your own identifying
20606  * information: Portions Copyright [yyyy] [name of copyright owner]
20607  *
20608  * CDDL HEADER END
20609  */
20610 /*	Copyright (c) 1988 AT&T	*/
20611 /*	  All Rights Reserved  	*/
20612 
20613 
20614 
20615 
20616 
20617 #pragma ident "%Z%%M%	%I%	%E% SMI"
20618 
20619 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 1
20620 /*
20621  * CDDL HEADER START
20622  *
20623  * The contents of this file are subject to the terms of the
20624  * Common Development and Distribution License (the "License").
20625  * You may not use this file except in compliance with the License.
20626  *
20627  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20628  * or http://www.opensolaris.org/os/licensing.
20629  * See the License for the specific language governing permissions
20630  * and limitations under the License.
20631  *
20632  * When distributing Covered Code, include this CDDL HEADER in each
20633  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20634  * If applicable, add the following below this CDDL HEADER, with the
20635  * fields enclosed by brackets "[]" replaced with your own identifying
20636  * information: Portions Copyright [yyyy] [name of copyright owner]
20637  *
20638  * CDDL HEADER END
20639  */
20640 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20641 /*	  All Rights Reserved  	*/
20642 
20643 
20644 /*
20645  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20646  *
20647  * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
20648  */
20649 
20650 
20651 
20652 
20653 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
20654 /*
20655  * CDDL HEADER START
20656  *
20657  * The contents of this file are subject to the terms of the
20658  * Common Development and Distribution License (the "License").
20659  * You may not use this file except in compliance with the License.
20660  *
20661  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20662  * or http://www.opensolaris.org/os/licensing.
20663  * See the License for the specific language governing permissions
20664  * and limitations under the License.
20665  *
20666  * When distributing Covered Code, include this CDDL HEADER in each
20667  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20668  * If applicable, add the following below this CDDL HEADER, with the
20669  * fields enclosed by brackets "[]" replaced with your own identifying
20670  * information: Portions Copyright [yyyy] [name of copyright owner]
20671  *
20672  * CDDL HEADER END
20673  */
20674 
20675 /*
20676  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
20677  * Copyright 2016 Joyent, Inc.
20678  *
20679  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
20680  * Use is subject to license terms.
20681  */
20682 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
20683 
20684 
20685 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ttydev.h" 1
20686 /*
20687  * CDDL HEADER START
20688  *
20689  * The contents of this file are subject to the terms of the
20690  * Common Development and Distribution License, Version 1.0 only
20691  * (the "License").  You may not use this file except in compliance
20692  * with the License.
20693  *
20694  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20695  * or http://www.opensolaris.org/os/licensing.
20696  * See the License for the specific language governing permissions
20697  * and limitations under the License.
20698  *
20699  * When distributing Covered Code, include this CDDL HEADER in each
20700  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20701  * If applicable, add the following below this CDDL HEADER, with the
20702  * fields enclosed by brackets "[]" replaced with your own identifying
20703  * information: Portions Copyright [yyyy] [name of copyright owner]
20704  *
20705  * CDDL HEADER END
20706  */
20707 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20708 /*	  All Rights Reserved  	*/
20709 
20710 
20711 
20712 
20713 
20714 #pragma ident "%Z%%M%	%I%	%E% SMI"
20715 
20716 
20717 
20718 
20719 
20720 /*
20721  * Terminal definitions related to underlying hardware.
20722  */
20723 
20724 /*
20725  * Speeds
20726  */
20727 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
20728 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
20729 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20730 /*	  All Rights Reserved  	*/
20731 
20732 
20733 /*
20734  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
20735  * All rights reserved.  The Berkeley software License Agreement
20736  * specifies the terms and conditions for redistribution.
20737  */
20738 
20739 /*
20740  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20741  *
20742  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20743  * Use is subject to license terms.
20744  *
20745  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20746  */
20747 
20748 /*
20749  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
20750  */
20751 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
20752 
20753 
20754 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20755 /*
20756  * CDDL HEADER START
20757  *
20758  * The contents of this file are subject to the terms of the
20759  * Common Development and Distribution License (the "License").
20760  * You may not use this file except in compliance with the License.
20761  *
20762  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20763  * or http://www.opensolaris.org/os/licensing.
20764  * See the License for the specific language governing permissions
20765  * and limitations under the License.
20766  *
20767  * When distributing Covered Code, include this CDDL HEADER in each
20768  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20769  * If applicable, add the following below this CDDL HEADER, with the
20770  * fields enclosed by brackets "[]" replaced with your own identifying
20771  * information: Portions Copyright [yyyy] [name of copyright owner]
20772  *
20773  * CDDL HEADER END
20774  */
20775 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20776 /*	  All Rights Reserved  	*/
20777 
20778 
20779 /*
20780  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20781  * Use is subject to license terms.
20782  *
20783  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20784  * Copyright 2016 Joyent, Inc.
20785  */
20786 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
20787 
20788 
20789 
20790 
20791 
20792 /*
20793  * _POSIX_VDISABLE has been defined in <sys/termios.h> since the
20794  * introduction of the header. The POSIX standard, IEEE Std.
20795  * 1003.1-1988 also required  the existence of _POSIX_VDISABLE in
20796  * this header. Subsequent versions of the IEEE Standard as well
20797  * as the X/Open specifications required that _POSIX_VDISABLE be
20798  * defined in <unistd.h> while still allowing for it's existence
20799  * here. With the introduction of XPG6, _POSIX_VDISABLE can only
20800  * be defined in <unistd.h>.
20801  */
20802 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20803 /* required by termio.h and VCEOF/VCEOL */
20804 
20805 
20806 
20807 
20808 
20809 /* some defines required by POSIX */
20810 
20811 
20812 /*
20813  * types defined by POSIX. These are better off in types.h, but
20814  * the standard says that they have to be in termios.h.
20815  */
20816 typedef unsigned int tcflag_t;
20817 typedef unsigned char cc_t;
20818 typedef unsigned int speed_t;
20819 
20820 /*
20821  * Ioctl control packet
20822  */
20823 struct termios {
20824  tcflag_t c_iflag; /* input modes */
20825  tcflag_t c_oflag; /* output modes */
20826  tcflag_t c_cflag; /* control modes */
20827  tcflag_t c_lflag; /* line discipline modes */
20828  cc_t c_cc[19]; /* control chars */
20829 };
20830 
20831 /*
20832  * POSIX termios functions
20833  * These functions get mapped into ioctls.
20834  */
20835 
20836 
20837 
20838 extern speed_t cfgetospeed(const struct termios *);
20839 extern int cfsetospeed(struct termios *, speed_t);
20840 extern speed_t cfgetispeed(const struct termios *);
20841 extern int cfsetispeed(struct termios *, speed_t);
20842 extern int tcgetattr(int, struct termios *);
20843 extern int tcsetattr(int, int, const struct termios *);
20844 extern int tcsendbreak(int, int);
20845 extern int tcdrain(int);
20846 extern int tcflush(int, int);
20847 extern int tcflow(int, int);
20848 
20849 
20850 
20851 extern pid_t tcgetsid(int);
20852 
20853 
20854 
20855 
20856 
20857 /* control characters */
20858 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20859 /* 17 through 19 reserved for future use */
20860 
20861 /*
20862  * control characters form Xenix termio.h
20863  */
20864 
20865 
20866 
20867 
20868 
20869 
20870 /* S5 default control chars */
20871 /* CINTR, CERASE and CKILL modified to SunOS traditional values */
20872 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20873 /* input modes */
20874 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20875 /* output modes */
20876 # 255 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20877 /* control modes */
20878 # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20879 /*
20880  * 4.4BSD hardware flow control flags
20881  */
20882 
20883 
20884 
20885 
20886 
20887 /* line discipline 0 modes */
20888 # 327 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20889 /* Slots reserved for 386/XENIX compatibility - keyboard control */
20890 # 343 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20891 /*
20892  * Softcarrier ioctls
20893  */
20894 
20895 
20896 
20897 
20898 /* termios ioctls */
20899 # 363 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20900 /*
20901  * NTP PPS ioctls
20902  */
20903 
20904 
20905 
20906 
20907 /* Argument filled in by TIOCGPPSEV */
20908 struct ppsclockev {
20909  struct timeval tv;
20910  uint_t serial;
20911 };
20912 # 387 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20913 /* termios option flags */
20914 # 398 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20915 /* TIOC ioctls for BSD, ptys, job control and modem control */
20916 
20917 
20918 
20919 
20920 
20921 /* Slots for 386/XENIX compatibility */
20922 /* BSD includes these ioctls in ttold.h */
20923 # 421 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20924 /*
20925  * BSD ioctls that are not the same as XENIX are included here.
20926  * There are also some relevant ioctls from SUN/BSD sys/ttycom.h
20927  * BSD pty ioctls like TIOCPKT are not supported in SVR4.
20928  */
20929 # 449 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20930 /* POSIX job control ioctls */
20931 
20932 
20933 
20934 
20935 
20936 
20937 /* Miscellaneous */
20938 
20939 
20940 /* Modem control */
20941 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20942 /* pseudo-tty */
20943 
20944 
20945 
20946 
20947 
20948 /* Some more 386 xenix stuff */
20949 # 492 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20950 /* Slots for 386 compatibility */
20951 
20952 
20953 
20954 
20955 
20956 
20957 
20958 /*
20959  * These are retained for 386/XENIX compatibility.
20960  */
20961 
20962 
20963 
20964 
20965 
20966 /*
20967  * Returns a non-zero value if there
20968  * are characters in the input queue.
20969  *
20970  * XXX - somebody is confused here.  V7 had no such "ioctl", although XENIX may
20971  * have added it; 4BSD had FIONREAD, which returned the number of characters
20972  * waiting, and was supposed to work on all descriptors (i.e., every driver
20973  * should make a stab at implementing it).
20974  */
20975 
20976 
20977 
20978 /*
20979  * Speeds
20980  */
20981 # 551 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20982 /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */
20983 struct winsize {
20984  unsigned short ws_row; /* rows, in characters */
20985  unsigned short ws_col; /* columns, in character */
20986  unsigned short ws_xpixel; /* horizontal size, pixels */
20987  unsigned short ws_ypixel; /* vertical size, pixels */
20988 };
20989 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 2
20990 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
20991 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1
20992 /*
20993  * CDDL HEADER START
20994  *
20995  * The contents of this file are subject to the terms of the
20996  * Common Development and Distribution License (the "License").
20997  * You may not use this file except in compliance with the License.
20998  *
20999  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21000  * or http://www.opensolaris.org/os/licensing.
21001  * See the License for the specific language governing permissions
21002  * and limitations under the License.
21003  *
21004  * When distributing Covered Code, include this CDDL HEADER in each
21005  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21006  * If applicable, add the following below this CDDL HEADER, with the
21007  * fields enclosed by brackets "[]" replaced with your own identifying
21008  * information: Portions Copyright [yyyy] [name of copyright owner]
21009  *
21010  * CDDL HEADER END
21011  */
21012 
21013 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */
21014 /*
21015  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
21016  *
21017  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
21018  * Use is subject to license terms.
21019  * Copyright 2015 Joyent, Inc.  All rights reserved.
21020  */
21021 
21022 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
21023 /*	  All Rights Reserved	*/
21024 
21025 /*
21026  * University Copyright- Copyright (c) 1982, 1986, 1988
21027  * The Regents of the University of California
21028  * All Rights Reserved
21029  *
21030  * University Acknowledgment- Portions of this document are derived from
21031  * software developed by the University of California, Berkeley, and its
21032  * contributors.
21033  */
21034 
21035 
21036 
21037 
21038 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
21039 /*
21040  * CDDL HEADER START
21041  *
21042  * The contents of this file are subject to the terms of the
21043  * Common Development and Distribution License (the "License").
21044  * You may not use this file except in compliance with the License.
21045  *
21046  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21047  * or http://www.opensolaris.org/os/licensing.
21048  * See the License for the specific language governing permissions
21049  * and limitations under the License.
21050  *
21051  * When distributing Covered Code, include this CDDL HEADER in each
21052  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21053  * If applicable, add the following below this CDDL HEADER, with the
21054  * fields enclosed by brackets "[]" replaced with your own identifying
21055  * information: Portions Copyright [yyyy] [name of copyright owner]
21056  *
21057  * CDDL HEADER END
21058  */
21059 
21060 /*
21061  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
21062  * Copyright 2016 Joyent, Inc.
21063  *
21064  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
21065  * Use is subject to license terms.
21066  */
21067 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2
21068 
21069 
21070 
21071 
21072 
21073 
21074 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
21075 /*
21076  * CDDL HEADER START
21077  *
21078  * The contents of this file are subject to the terms of the
21079  * Common Development and Distribution License (the "License").
21080  * You may not use this file except in compliance with the License.
21081  *
21082  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21083  * or http://www.opensolaris.org/os/licensing.
21084  * See the License for the specific language governing permissions
21085  * and limitations under the License.
21086  *
21087  * When distributing Covered Code, include this CDDL HEADER in each
21088  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21089  * If applicable, add the following below this CDDL HEADER, with the
21090  * fields enclosed by brackets "[]" replaced with your own identifying
21091  * information: Portions Copyright [yyyy] [name of copyright owner]
21092  *
21093  * CDDL HEADER END
21094  */
21095 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21096 /*	  All Rights Reserved  	*/
21097 
21098 
21099 /*
21100  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21101  * Use is subject to license terms.
21102  *
21103  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21104  * Copyright 2016 Joyent, Inc.
21105  */
21106 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2
21107 
21108 
21109 /*
21110  * Protections are chosen from these bits, or-ed together.
21111  * Note - not all implementations literally provide all possible
21112  * combinations.  PROT_WRITE is often implemented as (PROT_READ |
21113  * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE).
21114  * However, no implementation will permit a write to succeed
21115  * where PROT_WRITE has not been set.  Also, no implementation will
21116  * allow any access to succeed where prot is specified as PROT_NONE.
21117  */
21118 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21119 /* sharing types:  must choose either SHARED or PRIVATE */
21120 
21121 
21122 
21123 
21124 /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */
21125 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21126 /* these flags not yet implemented */
21127 
21128 
21129 
21130 /* these flags are used by memcntl */
21131 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21132 /*
21133  * For the sake of backward object compatibility, we use the _MAP_NEW flag.
21134  * This flag will be automatically or'ed in by the C library for all
21135  * new mmap calls.  Previous binaries with old mmap calls will continue
21136  * to get 0 or -1 for return values.  New mmap calls will get the mapped
21137  * address as the return value if successful and -1 on errors.  By default,
21138  * new mmap calls automatically have the kernel assign the map address
21139  * unless the MAP_FIXED flag is given.
21140  */
21141 
21142 
21143 
21144 
21145 
21146 /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */
21147 
21148 
21149 
21150 
21151 
21152 /*
21153  * Values for mr_flags field of mmapobj_result_t below.
21154  * The bottom 16 bits are mutually exclusive and thus only one
21155  * of them can be set at a time.  Use MR_GET_TYPE below to check this value.
21156  * The top 16 bits are used for flags which are not mutually exclusive and
21157  * thus more than one of these flags can be set for a given mmapobj_result_t.
21158  *
21159  * MR_PADDING being set indicates that this memory range represents the user
21160  * requested padding.
21161  *
21162  * MR_HDR_ELF being set indicates that the ELF header of the mapped object
21163  * is mapped at mr_addr + mr_offset.
21164  *
21165  * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped
21166  * object is mapped at mr_addr + mr_offset.
21167  */
21168 
21169 /*
21170  * External flags for mr_flags field below.
21171  */
21172 
21173 
21174 
21175 
21176 /*
21177  * Internal flags for mr_flags field below.
21178  */
21179 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21180 typedef struct mmapobj_result {
21181  caddr_t mr_addr; /* mapping address */
21182  size_t mr_msize; /* mapping size */
21183  size_t mr_fsize; /* file size */
21184  size_t mr_offset; /* offset into file */
21185  uint_t mr_prot; /* the protections provided */
21186  uint_t mr_flags; /* info on the mapping */
21187 } mmapobj_result_t;
21188 # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21189 /*
21190  * large file compilation environment setup
21191  *
21192  * In the LP64 compilation environment, map large file interfaces
21193  * back to native versions where possible.
21194  */
21195 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21196 
21197 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21198 #pragma redefine_extname mmap64 mmap
21199 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21200 
21201 
21202 
21203 
21204 
21205 
21206 
21207 
21208 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21209 #pragma redefine_extname getpagesizes getpagesizes2
21210 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21211 
21212 
21213 
21214 
21215 
21216 /*
21217  * Except for old binaries mmap() will return the resultant
21218  * address of mapping on success and (caddr_t)-1 on error.
21219  */
21220 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21221 extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t);
21222 extern int munmap(caddr_t, size_t);
21223 extern int mprotect(caddr_t, size_t, int);
21224 extern int msync(caddr_t, size_t, int);
21225 extern int mlock(caddr_t, size_t);
21226 extern int munlock(caddr_t, size_t);
21227 extern int mincore(caddr_t, size_t, char *);
21228 extern int memcntl(caddr_t, size_t, int, caddr_t, int, int);
21229 extern int madvise(caddr_t, size_t, int);
21230 
21231 extern int getpagesizes(size_t *, int);
21232 extern int getpagesizes2(size_t *, int);
21233 extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *);
21234 /* guard visibility of uint64_t */
21235 
21236 extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *,
21237  uint_t *);
21238 
21239 
21240 /* transitional large file interface version */
21241 
21242 extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t);
21243 
21244 
21245 
21246 
21247 extern int mlockall(int);
21248 extern int munlockall(void);
21249 extern int shm_open(const char *, int, mode_t);
21250 extern int shm_unlink(const char *);
21251 
21252 
21253 
21254 extern int posix_madvise(void *, size_t, int);
21255 
21256 
21257 /* mmap failure value */
21258 
21259 
21260 
21261 
21262 
21263 
21264 
21265 /*
21266  * structure for memcntl hat advise operations.
21267  */
21268 struct memcntl_mha {
21269  uint_t mha_cmd; /* command(s) */
21270  uint_t mha_flags;
21271  size_t mha_pagesize;
21272 };
21273 # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21274 /*
21275  * advice to madvise
21276  *
21277  * Note, if more than 4 bits worth of advice (eg. 16) are specified then
21278  * changes will be necessary to the struct vpage.
21279  */
21280 # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21281 /* advice to posix_madvise */
21282 /* these values must be kept in sync with the MADV_* values, above */
21283 
21284 
21285 
21286 
21287 
21288 
21289 
21290 /* flags to msync */
21291 
21292      /* modified for UNIX98 compliance */
21293 
21294 
21295 
21296 
21297 
21298 /* functions to mctl */
21299 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21300 /* sub-commands for MC_HAT_ADVISE */
21301 
21302 
21303      /* for last bss adjacent to */
21304      /* brk area and brk area itself */
21305 
21306      /* processes main stack */
21307 
21308 
21309 
21310 
21311 /* flags to mlockall */
21312 
21313 
21314 
21315 
21316 
21317 
21318 /* definitions for meminfosys syscall */
21319 
21320 
21321 
21322 
21323 
21324 /* private structure for meminfo */
21325 typedef struct meminfo {
21326  const uint64_t *mi_inaddr; /* array of input addresses */
21327  const uint_t *mi_info_req; /* array of types of info requested */
21328  uint64_t *mi_outdata; /* array of results are placed */
21329  uint_t *mi_validity; /* array of bitwise result codes */
21330  int mi_info_count; /* number of pieces of info requested */
21331 } meminfo_t;
21332 # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21333 /*
21334  * info_req request type definitions for meminfo
21335  * request types starting with MEMINFO_V are used for Virtual addresses
21336  * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical
21337  * addresses
21338  */
21339 # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21340 /* maximum number of addresses meminfo() can process at a time */
21341 
21342 
21343 /* maximum number of request types */
21344 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21345 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
21346 /*
21347  * CDDL HEADER START
21348  *
21349  * The contents of this file are subject to the terms of the
21350  * Common Development and Distribution License (the "License").
21351  * You may not use this file except in compliance with the License.
21352  *
21353  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21354  * or http://www.opensolaris.org/os/licensing.
21355  * See the License for the specific language governing permissions
21356  * and limitations under the License.
21357  *
21358  * When distributing Covered Code, include this CDDL HEADER in each
21359  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21360  * If applicable, add the following below this CDDL HEADER, with the
21361  * fields enclosed by brackets "[]" replaced with your own identifying
21362  * information: Portions Copyright [yyyy] [name of copyright owner]
21363  *
21364  * CDDL HEADER END
21365  */
21366 
21367 /*
21368  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
21369  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
21370  */
21371 
21372 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
21373 /*	  All Rights Reserved  	*/
21374 
21375 /*
21376  * University Copyright- Copyright (c) 1982, 1986, 1988
21377  * The Regents of the University of California
21378  * All Rights Reserved
21379  *
21380  * University Acknowledgment- Portions of this document are derived from
21381  * software developed by the University of California, Berkeley, and its
21382  * contributors.
21383  */
21384 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21385 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
21386 /*
21387  * CDDL HEADER START
21388  *
21389  * The contents of this file are subject to the terms of the
21390  * Common Development and Distribution License (the "License").
21391  * You may not use this file except in compliance with the License.
21392  *
21393  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21394  * or http://www.opensolaris.org/os/licensing.
21395  * See the License for the specific language governing permissions
21396  * and limitations under the License.
21397  *
21398  * When distributing Covered Code, include this CDDL HEADER in each
21399  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21400  * If applicable, add the following below this CDDL HEADER, with the
21401  * fields enclosed by brackets "[]" replaced with your own identifying
21402  * information: Portions Copyright [yyyy] [name of copyright owner]
21403  *
21404  * CDDL HEADER END
21405  */
21406 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21407 /*	  All Rights Reserved  	*/
21408 
21409 
21410 /*
21411  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21412  * Use is subject to license terms.
21413  *
21414  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21415  * Copyright 2016 Joyent, Inc.
21416  */
21417 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21418 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 1
21419 /*
21420  * CDDL HEADER START
21421  *
21422  * The contents of this file are subject to the terms of the
21423  * Common Development and Distribution License, Version 1.0 only
21424  * (the "License").  You may not use this file except in compliance
21425  * with the License.
21426  *
21427  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21428  * or http://www.opensolaris.org/os/licensing.
21429  * See the License for the specific language governing permissions
21430  * and limitations under the License.
21431  *
21432  * When distributing Covered Code, include this CDDL HEADER in each
21433  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21434  * If applicable, add the following below this CDDL HEADER, with the
21435  * fields enclosed by brackets "[]" replaced with your own identifying
21436  * information: Portions Copyright [yyyy] [name of copyright owner]
21437  *
21438  * CDDL HEADER END
21439  */
21440 /*
21441  * Copyright 1991 Sun Microsystems, Inc.  All rights reserved.
21442  * Use is subject to license terms.
21443  */
21444 
21445 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21446 /*	  All Rights Reserved  	*/
21447 
21448 
21449 
21450 
21451 #pragma ident "%Z%%M%	%I%	%E% SMI"
21452 
21453 
21454 
21455 
21456 
21457 /*
21458  *	There are some inherent problems in having a single file
21459  *	ioctl.h, with both System V and BSD flags. Introducing
21460  *	BSD flags into this file creates compilation problems
21461  *	with flags such as ECHO, NL1 etc., if termio.h and ioctl.h
21462  *	are included by the same file. Since these two files can
21463  *	be only included by System V applications, /usr/inclule/sys/ioctl.h
21464  *	will be System V mode and all the BSD flags will be turned off
21465  *	using #ifdef BSD_COMP. This file will also exist in
21466  *	/usr/ucbinclude/sys/ioctl.h for BSD applications but without the
21467  *	BSD flags turned off. System V appliactions can use ioctl.h without
21468  *	any changes, System V applications requiring BSD flags should
21469  *	-D BSD_COMP when compiling (and be warned about the common
21470  *	flags between System V and BSD) and BSD applications should
21471  *	use /usr/ucbinclude/sys/ioctl.h.
21472  *
21473  */
21474 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h"
21475 /* BSD related defines */
21476 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21477 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1
21478 /*
21479  * CDDL HEADER START
21480  *
21481  * The contents of this file are subject to the terms of the
21482  * Common Development and Distribution License (the "License").
21483  * You may not use this file except in compliance with the License.
21484  *
21485  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21486  * or http://www.opensolaris.org/os/licensing.
21487  * See the License for the specific language governing permissions
21488  * and limitations under the License.
21489  *
21490  * When distributing Covered Code, include this CDDL HEADER in each
21491  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21492  * If applicable, add the following below this CDDL HEADER, with the
21493  * fields enclosed by brackets "[]" replaced with your own identifying
21494  * information: Portions Copyright [yyyy] [name of copyright owner]
21495  *
21496  * CDDL HEADER END
21497  */
21498 
21499 /*
21500  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
21501  */
21502 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21503 
21504 /*
21505  * C++ prefix
21506  */
21507 
21508 
21509 
21510 
21511 
21512 
21513 /* function prototypes */
21514 
21515 /* PRINTFLIKE1 */
21516 typedef void (*_z_printf_fcn_t)(char *a_format, ...);
21517 
21518 /* zone list structure */
21519 
21520 typedef struct _zoneListElement_t *zoneList_t;
21521 
21522 /* zone brand list structure */
21523 
21524 typedef struct _zoneBrandList zoneBrandList_t;
21525 
21526 /* flag for zone locking functions */
21527 
21528 typedef unsigned long ZLOCKS_T;
21529 
21530 /* flags for zone locking */
21531 
21532 
21533 
21534 
21535 
21536 
21537 /*
21538  * external function definitions
21539  */
21540 
21541 /* zones.c */
21542 
21543 extern boolean_t z_zones_are_implemented(void);
21544 extern void z_set_zone_root(const char *zroot);
21545 extern boolean_t z_zlist_is_zone_runnable(zoneList_t a_zoneList,
21546     int a_zoneIndex);
21547 extern boolean_t z_zlist_restore_zone_state(zoneList_t a_zoneList,
21548     int a_zoneIndex);
21549 extern boolean_t z_zlist_change_zone_state(zoneList_t a_zoneList,
21550     int a_zoneIndex, zone_state_t a_newState);
21551 extern char *z_get_zonename(void);
21552 extern zone_state_t z_zlist_get_current_state(zoneList_t a_zoneList,
21553     int a_zoneIndex);
21554 extern zone_state_t z_zlist_get_original_state(zoneList_t a_zoneList,
21555     int a_zoneIndex);
21556 extern int z_zoneExecCmdArray(int *r_status, char **r_results,
21557     char *a_inputFile, char *a_path, char *a_argv[],
21558     const char *a_zoneName, int *a_fds);
21559 extern int z_zone_exec(const char *zonename, const char *path,
21560     char *argv[], char *a_stdoutPath,
21561     char *a_stderrPath, int *a_fds);
21562 extern boolean_t z_create_zone_admin_file(char *a_zoneAdminFilename,
21563     char *a_userAdminFilename);
21564 extern void z_free_zone_list(zoneList_t a_zoneList);
21565 extern zoneList_t z_get_nonglobal_zone_list(void);
21566 extern zoneList_t z_get_nonglobal_zone_list_by_brand(zoneBrandList_t *);
21567 extern void z_free_brand_list(zoneBrandList_t *a_brandList);
21568 extern zoneBrandList_t *z_make_brand_list(const char *brandList,
21569     const char *delim);
21570 extern boolean_t z_lock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags);
21571 extern boolean_t z_non_global_zones_exist(void);
21572 extern boolean_t z_running_in_global_zone(void);
21573 extern void z_set_output_functions(_z_printf_fcn_t a_echo_fcn,
21574     _z_printf_fcn_t a_echo_debug_fcn,
21575     _z_printf_fcn_t a_progerr_fcn);
21576 extern int z_set_zone_spec(const char *zlist);
21577 extern int z_verify_zone_spec(void);
21578 extern boolean_t z_on_zone_spec(const char *zonename);
21579 extern boolean_t z_global_only(void);
21580 extern boolean_t z_unlock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags);
21581 extern boolean_t z_lock_this_zone(ZLOCKS_T a_lflags);
21582 extern boolean_t z_unlock_this_zone(ZLOCKS_T a_lflags);
21583 extern char *z_zlist_get_zonename(zoneList_t a_zoneList,
21584     int a_zoneId);
21585 extern char *z_zlist_get_zonepath(zoneList_t a_zoneList,
21586     int a_zoneId);
21587 extern char *z_zlist_get_scratch(zoneList_t a_zoneList,
21588     int a_zoneId);
21589 extern boolean_t z_umount_lz_mount(char *a_lzMountPoint);
21590 extern boolean_t z_mount_in_lz(char **r_lzMountPoint,
21591     char **r_lzRootPath,
21592     char *a_zoneName, char *a_gzPath,
21593     char *a_mountPointPrefix);
21594 extern boolean_t z_is_zone_branded(char *zoneName);
21595 extern boolean_t z_is_zone_brand_in_list(char *zoneName,
21596        zoneBrandList_t *brands);
21597 extern boolean_t z_zones_are_implemented(void);
21598 
21599 /* zones_exec.c */
21600 extern int z_ExecCmdArray(int *r_status, char **r_results,
21601     char *a_inputFile, char *a_cmd, char **a_args);
21602 /*VARARGS*/
21603 extern int z_ExecCmdList(int *r_status, char **r_results,
21604     char *a_inputFile, char *a_cmd, ...);
21605 
21606 /* zones_paths.c */
21607 extern char *z_make_zone_root(char *);
21608 extern void z_path_canonize(char *file);
21609 extern void z_canoninplace(char *file);
21610 
21611 /* zones_lofs.c */
21612 extern void z_destroyMountTable(void);
21613 extern int z_createMountTable(void);
21614 extern int z_isPathWritable(const char *);
21615 extern void z_resolve_lofs(char *path, size_t);
21616 
21617 /* zones_states.c */
21618 extern int UmountAllZones(char *mntpnt);
21619 
21620 /*
21621  * C++ postfix
21622  */
21623 # 49 "../common/instzones_lib.h" 2
21624 
21625 
21626 
21627 /*
21628  * C++ prefix
21629  */
21630 
21631 
21632 
21633 
21634 
21635 /* constants */
21636 
21637 
21638 /* macros */
21639 
21640 /*
21641  * argument array processing type
21642  */
21643 
21644 /*
21645  * This is the "argument array" definition that is returned by _z_new_args
21646  * and is used by _z_add_args, _z_free_args, etc.
21647  */
21648 
21649 struct _argArray_t {
21650  long _aaNumArgs; /* number of arguments set */
21651  long _aaMaxArgs; /* number of arguments allocated */
21652  char **_aaArgs; /* actual arguments */
21653 };
21654 
21655 typedef struct _argArray_t argArray_t;
21656 
21657 /*
21658  * lock objects
21659  */
21660 
21661 /*
21662  * this allows a root path to be prepended to a lock object; e.g.
21663  *   rootpath.%s/zone.%s/...
21664  */
21665 
21666 
21667 /* this locks a single zone (zone.name) */
21668 
21669 
21670 /* this locks all zones */
21671 
21672 
21673 /* this locks all packages, in all zones */
21674 
21675 
21676 
21677 
21678 
21679 /* paths to commands executed by this module */
21680 
21681 
21682 
21683 
21684 /* max message size for program output functions (echo, echo debug, progerr) */
21685 
21686 
21687 
21688 /* maximum number of retries when waiting for lock */
21689 
21690 
21691 
21692 /* delay (in seconds) between retries when waiting for lock */
21693 
21694 
21695 
21696 /* Size of buffer increments when reading from pipe */
21697 
21698 
21699 
21700 /* Maximum number of arguments to pkg_ExecCmdList */
21701 
21702 
21703 
21704 /*
21705  * These dynamic libraries are required in order to use the zones
21706  * functionality - if these libraries are not available at runtime,
21707  * then zones are assumed to NOT be available, and it is assumed that
21708  * the program is running in the global zone with no non-global zones.
21709  */
21710 # 147 "../common/instzones_lib.h"
21711 /*
21712  * Environment values used when running commands within a non-global zone
21713  */
21714 
21715 /* SHELL= */
21716 
21717 
21718 
21719 /* PATH= */
21720 
21721 
21722 
21723 /* error codes */
21724 
21725 
21726 /*
21727  * zone brand list structure
21728  */
21729 
21730 struct _zoneBrandList {
21731  char *string_ptr;
21732  struct _zoneBrandList *next;
21733 };
21734 
21735 /*
21736  * zone status structure - used to retrieve and hold status of zones
21737  */
21738 
21739 typedef unsigned long _zone_status_t;
21740 
21741 struct _zoneListElement_t {
21742  char *_zlName;
21743  char *_zlPath;
21744  char *_zlScratchName;
21745  char *_zlLockObjects;
21746  /*
21747 	 * the install "state" refers to the zone states listed in
21748 	 * /usr/include/libzonecfg.h that is stored in the zone_state_t
21749 	 * structure and returned from getzoneent_private() - such as:
21750 	 * ZONE_STATE_CONFIGURED, ZONE_STATE_INCOMPLETE,
21751 	 * ZONE_STATE_INSTALLED, ZONE_STATE_READY, ZONE_STATE_MOUNTED,
21752 	 * ZONE_STATE_SHUTTING_DOWN, ZONE_STATE_DOWN.
21753 	 */
21754  zone_state_t _zlOrigInstallState;
21755  zone_state_t _zlCurrInstallState;
21756  /*
21757 	 * the kernel "status" refers to the zone status listed in
21758 	 * /usr/include/sys/zone.h, returned by zone_get_state(),
21759 	 * and defined in the zone_status_t enum - such as:
21760 	 * ZONE_IS_UNINITIALIZED, ZONE_IS_READY, ZONE_IS_BOOTING,
21761 	 * ZONE_IS_RUNNING, ZONE_IS_SHUTTING_DOWN, ZONE_IS_EMPTY,
21762 	 * ZONE_IS_DOWN, ZONE_IS_DYING, ZONE_IS_DEAD.
21763 	 */
21764  zone_status_t _zlOrigKernelStatus;
21765  zone_status_t _zlCurrKernelStatus;
21766  /*
21767 	 * this is an internal state recorded about the zone (ZSF_xxx).
21768 	 */
21769  _zone_status_t _zlStatus;
21770 };
21771 
21772 typedef struct _zoneListElement_t zoneListElement_t;
21773 
21774 /* bits used in the _zoneListElement _zlStatus variable */
21775 
21776 
21777 
21778 
21779 /*
21780  * User-specified list of zones.
21781  */
21782 
21783 typedef struct zone_spec_s {
21784  struct zone_spec_s *zl_next;
21785  boolean_t zl_used;
21786  char zl_name[64];
21787 } zone_spec_t;
21788 
21789 /*
21790  * The global data structure used to hold all of the global (extern) data
21791  * used by this library.
21792  *
21793  * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED <--
21794  * --> ON THE ORDER OF THE STRUCTURE INITIALIZERS! <--
21795  */
21796 
21797 struct _z_global_data_t {
21798  char *_z_ObjectLocks; /* object locks held */
21799  char *_z_root_dir; /* root for zone lib fctns */
21800  int _z_SigReceived; /* received signal count */
21801  pid_t _z_ChildProcessId; /* child to propagate sigs to */
21802  zone_spec_t *_zone_spec; /* zones to operate on */
21803  _z_printf_fcn_t _z_echo; /* operational message fcn */
21804  _z_printf_fcn_t _z_echo_debug; /* debug message fcn */
21805  _z_printf_fcn_t _z_progerr; /* program error fcn */
21806 };
21807 
21808 typedef struct _z_global_data_t z_global_data_t;
21809 
21810 /*
21811  * When _INSTZONES_LIB_Z_DEFINE_GLOBAL_DATA is defined,
21812  * instzones_lib.h will define the z_global_data structure.
21813  * Otherwise an extern to the structure is inserted.
21814  *
21815  * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED ON <--
21816  * --> THE ORDER OF THE _z_global_data_t STRUCTURE!!! <--
21817  */
21818 # 272 "../common/instzones_lib.h"
21819 /* define structure extern */
21820 
21821 extern z_global_data_t _z_global_data;
21822 
21823 
21824 
21825 /* function prototypes */
21826 
21827 /*
21828  *  The following functions can be used by other libs, but not
21829  *  by applications.
21830  */
21831 
21832 /* ---> zones_states.c */
21833 
21834 boolean_t _z_make_zone_ready(zoneListElement_t *a_zlem);
21835 boolean_t _z_make_zone_down(zoneListElement_t *a_zlem);
21836 boolean_t _z_make_zone_running(zoneListElement_t *a_zlem);
21837 int UmountAllZones(char *mntpnt);
21838 void *_z_calloc(size_t size);
21839 void *_z_malloc(size_t size);
21840 void *_z_realloc(void *ptr, size_t size);
21841 void *_z_strdup(char *str);
21842 
21843 /* ---> zones_utils.c */
21844 
21845 /*PRINTFLIKE1*/
21846 void _z_program_error(char *fmt, ...);
21847 /*PRINTFLIKE1*/
21848 void _z_echo(char *fmt, ...);
21849 /*PRINTFLIKE1*/
21850 void _z_echoDebug(char *a_fmt, ...);
21851 int _z_is_directory(char *path);
21852 boolean_t _z_running_in_global_zone(void);
21853 boolean_t _z_zones_are_implemented(void);
21854 void _z_sig_trap(int a_signo);
21855 int _z_close_file_descriptors(void *a_fds, int a_fd);
21856 boolean_t _z_brands_are_implemented(void);
21857 
21858 
21859 /* ---> zones_locks.c */
21860 
21861 boolean_t _z_adjust_lock_object_for_rootpath(char **r_result,
21862    char *a_lockObject);
21863 boolean_t _z_acquire_lock(char **r_lockKey, char *a_zoneName,
21864    char *a_lock, pid_t a_pid, boolean_t a_wait);
21865 boolean_t _z_lock_zone(zoneListElement_t *a_zlst,
21866    ZLOCKS_T a_lflags);
21867 boolean_t _z_lock_zone_object(char **r_objectLocks,
21868    char *a_zoneName, char *a_lockObject,
21869    pid_t a_pid, char *a_waitingMsg,
21870    char *a_busyMsg);
21871 boolean_t _z_release_lock(char *a_zoneName, char *a_lock,
21872    char *a_key, boolean_t a_wait);
21873 boolean_t _z_unlock_zone(zoneListElement_t *a_zlst,
21874    ZLOCKS_T a_lflags);
21875 boolean_t _z_unlock_zone_object(char **r_objectLocks,
21876    char *a_zoneName, char *a_lockObject,
21877    char *a_errMsg);
21878 
21879 /* ---> zones_args.c */
21880 
21881 void _z_free_args(argArray_t *a_args);
21882 argArray_t *_z_new_args(int initialCount);
21883 /*PRINTFLIKE2*/
21884 boolean_t _z_add_arg(argArray_t *a_args, char *a_format, ...);
21885 int _z_get_argc(argArray_t *a_args);
21886 char **_z_get_argv(argArray_t *a_args);
21887 
21888 /* ---> zones_str.c */
21889 
21890 boolean_t _z_strContainsToken(char *a_string, char *a_token,
21891    char *a_separators);
21892 char *_z_strGetToken(char *r_sep, char *a_string,
21893    int a_index, char *a_separators);
21894 void _z_strRemoveLeadingWhitespace(char **a_str);
21895 void _z_strGetToken_r(char *r_sep, char *a_string,
21896    int a_index, char *a_separators, char *a_buf,
21897    int a_bufLen);
21898 void _z_strAddToken(char **a_old, char *a_new,
21899    char a_separator);
21900 void _z_strRemoveToken(char **r_string, char *a_token,
21901    char *a_separators, int a_index);
21902 /*PRINTFLIKE3*/
21903 void _z_strPrintf_r(char *a_buf, int a_bufLen,
21904    char *a_format, ...);
21905 /*PRINTFLIKE1*/
21906 char *_z_strPrintf(char *a_format, ...);
21907 
21908 /* ---> zones_exec.c */
21909 
21910 int _z_zone_exec(int *r_status, char **r_results, char *a_inputFile,
21911    char *a_path, char *a_argv[], const char *a_zoneName,
21912    int *a_fds);
21913 int _zexec(const char *a_zoneName,
21914    const char *path, char *argv[]);
21915 char *_zexec_add_env(char *name, char *value);
21916 int _zexec_init_template(void);
21917 char **_zexec_prep_env();
21918 
21919 /*
21920  * C++ postfix
21921  */
21922 # 52 "../common/zones_paths.c" 2
21923 # 1 "../common/zones_strings.h" 1
21924 /*
21925  * CDDL HEADER START
21926  *
21927  * The contents of this file are subject to the terms of the
21928  * Common Development and Distribution License (the "License").
21929  * You may not use this file except in compliance with the License.
21930  *
21931  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21932  * or http://www.opensolaris.org/os/licensing.
21933  * See the License for the specific language governing permissions
21934  * and limitations under the License.
21935  *
21936  * When distributing Covered Code, include this CDDL HEADER in each
21937  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21938  * If applicable, add the following below this CDDL HEADER, with the
21939  * fields enclosed by brackets "[]" replaced with your own identifying
21940  * information: Portions Copyright [yyyy] [name of copyright owner]
21941  *
21942  * CDDL HEADER END
21943  */
21944 /*
21945  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
21946  */
21947 
21948 
21949 
21950 
21951 
21952 
21953 
21954 /*
21955  * Module:	zones_strings.h
21956  * Group:	libinstzones
21957  * Description:	This header contains strings used in libinstzones
21958  *		library modules.
21959  */
21960 
21961 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
21962 /*
21963  * CDDL HEADER START
21964  *
21965  * The contents of this file are subject to the terms of the
21966  * Common Development and Distribution License (the "License").
21967  * You may not use this file except in compliance with the License.
21968  *
21969  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21970  * or http://www.opensolaris.org/os/licensing.
21971  * See the License for the specific language governing permissions
21972  * and limitations under the License.
21973  *
21974  * When distributing Covered Code, include this CDDL HEADER in each
21975  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21976  * If applicable, add the following below this CDDL HEADER, with the
21977  * fields enclosed by brackets "[]" replaced with your own identifying
21978  * information: Portions Copyright [yyyy] [name of copyright owner]
21979  *
21980  * CDDL HEADER END
21981  */
21982 /*
21983  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
21984  *
21985  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
21986  * Use is subject to license terms.
21987  */
21988 # 39 "../common/zones_strings.h" 2
21989 
21990 /*
21991  * C++ prefix
21992  */
21993 
21994 
21995 
21996 
21997 
21998 /* constants */
21999 # 58 "../common/zones_strings.h"
22000 /*
22001  * message strings
22002  */
22003 
22004 /* BEGIN CSTYLED */
22005 
22006 /*
22007  * I18N: these messages are debugging message and are only displayed
22008  * when special debugging output has been enabled - these messages
22009  * will never be displayed during normal product usage
22010  */
22011 # 121 "../common/zones_strings.h"
22012 /*
22013  * I18N: these messages are error messages that can be displayed
22014  * during the normal usage of the products
22015  */
22016 # 189 "../common/zones_strings.h"
22017 /*
22018  * I18N: these are messages that can be displayed during the normal
22019  * usage of the products
22020  */
22021 
22022 
22023 
22024 
22025 
22026 
22027 
22028 /*
22029  * I18N: these messages are warning messages that can be displayed
22030  * during the normal usage of the products
22031  */
22032 
22033 
22034 
22035 
22036 /* END CSTYLED */
22037 
22038 /*
22039  * C++ postfix
22040  */
22041 # 53 "../common/zones_paths.c" 2
22042 
22043 
22044 
22045 
22046 
22047 /*
22048  * *****************************************************************************
22049  * global external (public) functions
22050  * *****************************************************************************
22051  */
22052 
22053 /*
22054  * Name:	z_make_zone_root
22055  * Description:	Given its zonepath, generate a string representing the
22056  *              mountpoint of where the root path for a nonglobal zone is
22057  *              mounted.  The zone is mounted using 'zoneadm', which mounts
22058  *              the zone's filesystems wrt <zonepath>/lu/a
22059  * Arguments:	zone_path - non-NULL pointer to string representing zonepath
22060  * Returns:	char *	- pointer to string representing zonepath of zone
22061  *		NULL	- if zone_path is NULL.
22062  * Notes:	The string returned is in static storage and should not be
22063  *              free()ed by the caller.
22064  */
22065 char *
22066 z_make_zone_root(char *zone_path)
22067 {
22068  static char zone_root_buf[1024];
22069 
22070  if (zone_path == 0L)
22071   return (0L);
22072 
22073  (void) snprintf(zone_root_buf, 1024, "%s%slu/a", zone_path,
22074      (zone_path[0] != '\0' &&
22075      zone_path[strlen(zone_path) - 1] == '/') ? "" : "/");
22076 
22077  return (zone_root_buf);
22078 }
22079 
22080 void
22081 z_path_canonize(char *a_file)
22082 {
22083  char *pt;
22084  char *last;
22085  int level;
22086 
22087  /* remove references such as "./" and "../" and "//" */
22088  for (pt = a_file; *pt; /* void */) {
22089   if (((pt[0] == '.') && (!pt[1] || (pt[1] == '/')))) {
22090    (void) strcpy(pt, pt[1] ? pt+2 : pt+1);
22091   } else if (((pt[0] == '.') && (pt[1] == '.') && (!pt[2] || (pt[2] == '/')))) {
22092    level = 0;
22093    last = pt;
22094    do {
22095     level++;
22096     last += 2;
22097     if (*last) {
22098      last++;
22099     }
22100    } while (((last[0] == '.') && (last[1] == '.') && (!last[2] || (last[2] == '/'))));
22101    --pt; /* point to previous '/' */
22102    while (level--) {
22103     if (pt <= a_file) {
22104      return;
22105     }
22106     while ((*--pt != '/') && (pt > a_file))
22107      ;
22108    }
22109    if (*pt == '/') {
22110     pt++;
22111    }
22112    (void) strcpy(pt, last);
22113   } else {
22114    while (*pt && (*pt != '/')) {
22115     pt++;
22116    }
22117    if (*pt == '/') {
22118     while (pt[1] == '/') {
22119      (void) strcpy(pt, pt+1);
22120     }
22121     pt++;
22122    }
22123   }
22124  }
22125 
22126  if ((--pt > a_file) && (*pt == '/')) {
22127   *pt = '\0';
22128  }
22129 }
22130 
22131 void
22132 z_canoninplace(char *src)
22133 {
22134  char *dst;
22135  char *src_start;
22136 
22137  /* keep a ptr to the beginning of the src string */
22138  src_start = src;
22139 
22140  dst = src;
22141  while (*src) {
22142   if (*src == '/') {
22143    *dst++ = '/';
22144    while (*src == '/')
22145     src++;
22146   } else
22147    *dst++ = *src++;
22148  }
22149 
22150  /*
22151 	 * remove any trailing slashes, unless the whole string is just "/".
22152 	 * If the whole string is "/" (i.e. if the last '/' cahr in dst
22153 	 * in the beginning of the original string), just terminate it
22154 	 * and return "/".
22155 	 */
22156  if ((*(dst - 1) == '/') && ((dst - 1) != src_start))
22157   dst--;
22158  *dst = '\0';
22159 }
22160